Troubleshooting
Common Issues
Control program won’t start
Symptom: acctl control start or acctl push control --start fails.
Check:
- Is the server running?
sudo systemctl status autocore_server - Is there a build error? Check the output of
acctl push controlfor Rust compiler errors. - Is the project loaded?
acctl statusshould show your project as active.
Tick signal lost
Symptom: Control program starts but does not cycle. Logs show “Tick wait failed”.
Fix: The server should auto-reset timers. If not, restart the server:
sudo systemctl restart autocore_server
Variables not updating in the HMI
Check:
- Is the control program running?
acctl control status - Is the variable being written in
process_tick? Add a log statement to verify. - Is the WebSocket connected? Check the browser console for connection errors.
Hardware not responding (EtherCAT/Modbus)
Check:
- Is the module enabled in
project.json? Check"enabled": true. - Is the module executable configured in
config.ini? - Is the module running?
acctl cmd system.get_domainslists all connected modules. - Check module logs:
acctl logs --followwill show output from all modules. - For EtherCAT: Is the network cable connected? Is the correct interface configured?
- For Modbus: Can you ping the device? Is the IP address and port correct?
Build errors after changing project.json
Fix: Regenerate the global memory struct:
acctl push project
acctl codegen
acctl push control --start
“Permission denied” when starting the server
Fix: The server may need network capabilities to bind to port 80:
# If using systemd (default installation)
sudo systemctl start autocore_server
# If running manually
sudo setcap cap_net_bind_service=+ep /opt/autocore/bin/autocore_server
Diagnostic Commands
| Command | What It Shows |
|---|---|
acctl status | Server version, active project, available projects |
acctl control status | Control program state (running/stopped/error) |
acctl logs --follow | Live log stream from control program and modules |
acctl cmd system.get_domains | All registered domains (modules, services) |
acctl cmd gm.read --name <var> | Current value of a variable |
sudo systemctl status autocore_server | Server process status |
sudo journalctl -u autocore_server -f | Server system log (systemd) |