Comprehensive FANUC FOCAS library with examples and production-ready multi-machine monitoring tools.
For production environments, use FOCAS Monitor:
# Download latest release from GitHub Releases
# Extract focasmonitor package
cd focasmonitor
focasmonitor.exe --machines=machines.txt --monitor --interval=30For development and testing:
# Extract fanuc-examples package
cd fanuc-examples
fanuc_example.exe --ip=192.168.1.100 --port=8193 --info=allEach CI/CD run produces three downloadable artifacts:
focasmonitor-{sha}- Production multi-machine monitoring applicationfanuc-examples-{sha}- Legacy single-machine example applicationfanuc-focas-complete-{sha}- Complete package with both applications
Additionally, the workflow creates timestamped GitHub releases on successful builds:
focasmonitor-build-YYYYMMDD-HHMMSS-{commit}.zip- Versioned production packagefanuc-examples-build-YYYYMMDD-HHMMSS-{commit}.zip- Versioned examples packagefanuc-focas-complete-build-YYYYMMDD-HHMMSS-{commit}.zip- Complete versioned package
All packages include the complete set of 14 FANUC FOCAS library DLLs supporting all machine series.
- Single Workflow: One GitHub Actions workflow handles both examples and production code
- Cross-Platform Testing: Build on Linux, test on Windows
- Automatic Releases: Every push/PR creates timestamped release packages
- Complete DLL Coverage: All 14 FANUC library DLLs included in every package
# Build examples
cd examples/c
make all
# Build FOCAS Monitor
cd focasmonitor
make all/focasmonitor/- Production multi-machine monitoring application/examples/- Legacy examples and development tools/.github/workflows/- Unified CI/CD pipeline/*.dll- Complete FANUC FOCAS library collection (14 DLLs)
- Windows 7 or later (32-bit or 64-bit)
- Network connectivity to FANUC CNC machines
- FANUC machines with FOCAS support enabled
/focasmonitor/README.md- Production application documentation/focasmonitor/DEPLOYMENT.md- Deployment guide/examples/c/README.md- Legacy examples documentation
Build the base image:
docker build .Build example containers:
docker build examples/c/DockerfileLink appropriate libfwlib*.so (based on platform) to libfwlib32.so.1 and libfwlib32.so:
# On Linux x86_64:
ln -s libfwlib32-linux-x64.so.1.0.5 libfwlib32.soSee individual example folders for detailed platform-specific instructions.