A BeagleBone Black that answers ping but never appears in CODESYS Scan Network has no CODESYS runtime running on it: the scan looks for runtimes, ping only tests the Linux network stack. Install CODESYS Control for BeagleBone SL as a Debian package, deploy and start it with the runtime deploy tool, rescan, and activate the license before the unlicensed runtime stops after 2 hours.
A BeagleBone Black that answers ping but never appears under Scan Network has no CODESYS runtime running on it. Ping tests the Linux network stack. Scan Network asks a different question: it lists devices that answer the CODESYS discovery query, and only a running runtime answers that. A stock Debian image ships none, so the list stays empty no matter how many times you rescan. The fix is to install CODESYS Control for BeagleBone SL, deploy and start it with the runtime deploy tool, then rescan. Plan the license at the same time: an unlicensed runtime stops after 2 hours, and a board that vanishes mid-shift for that reason reads like a network fault.
Why ping works and the scan list stays empty
Ping and Scan Network test different layers. Ping checks that the board's Linux network stack answers an ICMP echo request. Scan Network sends the CODESYS discovery query onto the local network segment and lists whatever answers. Only a running CODESYS runtime answers that query.
The vendor describes CODESYS Control for BeagleBone SL as the package that adds a CODESYS-programmable PLC to a BeagleBone Black's Linux environment, delivered as a Debian package you deploy from the CODESYS development system. A stock Debian image, including the 2016-01-24 image, carries none of it. Until that package is installed and its runtime process is started, there is nothing on the board for the scan to find, and an empty list is the correct answer to the question the scan asked.
Ping passing while a factory protocol stays silent is a pattern that recurs across a plant network; Fix CODESYS PROFINET ports not detected after a ping works the same split on PROFINET traffic.
Symptoms and what each one points to
| Symptom | What it points to | First check |
|---|---|---|
| Ping OK, never in the scan list | Runtime not installed, or installed but not started | Confirm what the board is actually running |
| Board was visible, then vanished after about 2 hours of running | Unlicensed demo runtime reached its documented 2-hour stop | Restart it to finish the test, then license it |
| Ping OK, runtime running, scan still empty | PC-side discovery: extra adapters, firewall, or a router between PC and board | Disable spare adapters, allow the gateway through the firewall, or type the IP in directly |
| Scan lists the device but the IDE reports a device mismatch | IDE add-on and deployed runtime on different releases | Align versions, then follow the safe mismatch fix |
| Ping fails | Network problem before CODESYS is involved | Fix link, IP address and switch first |
What will not fix it
These reactions come up every time an empty list appears, and none of them touches the cause:
- Re-pinging and swapping cables. The ping already works, so layers 1 to 3 are fine.
- Reflashing the Debian image. A clean image has no CODESYS runtime either, so the board returns to exactly this state.
- Changing the PC's IP address or subnet. Worth doing only when ping fails, which it does not here.
- Re-adding the device in the project tree. The tree entry is a project object; Scan Network discovers running runtimes, and an added object starts nothing on the board.
- Turning off the firewall. Try this only after the runtime is confirmed running, and turn it back on afterward.
Install and start the runtime
- Install the CODESYS Control for BeagleBone SL package into the CODESYS development system from the CODESYS Store. The IDE needs both the runtime component and the board's device description before it can deploy anything.
- Open the runtime deploy tool, the vendor's documented tool for start, stop and update on this target, and give it the board's IP address and the Linux login credentials you set when you prepared the image. Use your own credentials from image preparation; do not rely on published defaults.
- Deploy the runtime to the board. It installs as a Debian package.
- Start the runtime with the same tool and confirm the tool reports success.
- In the IDE, open the Device editor's Communication Settings tab and click Scan Network. Select the entry that appears and confirm; the device name shown comes from the runtime. Log in and download a small test application to prove the channel end to end.
Keep versions on one release. The install, license and deploy tool help pages are published per release, for example version 4.2.0.0, and newer releases such as 4.11.0.0 update the underlying runtime toolkit. If the IDE reports a device mismatch after login, Fix a PLC runtime device mismatch safely walks the safe path back to a working pair.
Example: a 2016-01-24 Debian board that pings but never scans
Inputs. A BeagleBone Black flashed with the Debian image dated 2016-01-24, on the same switch as the PC; ping answers; Scan Network returns an empty list; the board runs stock Debian with no CODESYS package installed; the vendor's documented demo limit is 2 hours of runtime without a license; the referenced help set is version 4.2.0.0. For the worked numbers below, take the illustrative addresses PC 192.168.1.10 and board 192.168.1.50 on one Ethernet switch, with a subnet mask of 255.255.255.0 on both.
Rule. Scan Network lists boards that answer the CODESYS discovery query. A started runtime answers it; a stock Linux image has nothing that does. Ping tests the path between PC and board and says nothing about runtimes.
Arithmetic. Deploy the package and start the runtime at 09:00. Rescan at 09:05: the board appears, because a runtime is now listening. Leave it unlicensed and keep working: the documented limit is 2 hours of running time, so the runtime stops at 09:00 + 2 h = 11:00. A rescan at 11:10 is empty again. Elapsed since start: 11:10 - 09:00 = 2 h 10 min, which is past the 2-hour mark, so the empty list at 11:10 is the license timer, not the cable.
Result. The device appears within seconds of the first start and disappears at the 2-hour mark.
Decision. A board that was never visible is missing its runtime: install and start it. A board that vanished at about 2 hours of running has hit the demo limit: activate the license before the board goes into a machine. Restarting covers short bench work; in service, the license is the fix.
If the scan is still empty with the runtime running
First confirm what the board is actually running, because an empty list has two causes that look identical from the IDE; Check if a CODESYS runtime is running or stopped settles the first one. Then work through these in order:
- Put the PC and the board on the same layer-2 segment. Discovery queries stay on the local segment and routers do not forward them, while ping crosses routers, which is exactly how you get ping-passes-scan-fails across a subnet boundary.
- Disable the PC adapters that are not on the board's segment: Wi-Fi, virtual adapters, a second LAN port. Rescan with only the right adapter up.
- Type the board's IP address into the Communication Settings address field and log in. That skips the discovery query and tests the runtime connection directly.
- Allow the CODESYS gateway and the IDE through the PC firewall for the network profile in use, then undo temporary rules once commissioning is done.
- Remove stale gateway device entries. If you changed the board's IP or redeployed the runtime, the IDE may still be matching a node address that no longer exists; delete the old entries and rescan.
License it before the 2-hour stop
An unlicensed runtime stops after 2 hours of running time; the vendor documents that limit and the licensing route on this target's help pages. The license is activated on a software-based license container, a soft container, that stays permanently connected to the controller. Buy the license through the CODESYS Store or an authorized distributor, activate it on the board as the help page describes, then restart the runtime.
Rescan, log in, and let the board run past the 2-hour mark: still online at 2 h means the license is active. During commissioning, note the time when a running program drops offline; a drop at the 2-hour mark is the demo limit, and a drop at a random time is a network or power question.
Confirm the fix holds
- Scan Network lists the board by its runtime device name, not only as an address you typed in.
- Login succeeds, and a test application downloads and starts.
- The board is still online past the 2-hour mark, which shows the license is active.
- After a power cycle the runtime comes back and the device reappears in a fresh scan. If it does not, start it with the deploy tool and configure the boot-time start; the deploy tool documentation for this target covers how the runtime starts and stops.
Recommendation: When a BeagleBone Black answers ping and Scan Network stays empty, treat it as a missing runtime, not a network problem: install the CODESYS Control for BeagleBone SL package from the CODESYS Store, deploy and start it with the runtime deploy tool, rescan from the Device editor's Communication Settings tab, and log in. Put the license on before the board goes into a machine, because the unlicensed runtime stops after 2 hours and a stopped runtime reads exactly like a network fault mid-shift.
Questions
Can I connect to the BeagleBone by typing its IP address instead of scanning?
Yes. In the Device editor's Communication Settings, enter the board's IP address in the address field and log in. That skips the discovery query entirely, which helps when a router sits between the PC and the board or the PC has several active network adapters. Once the login works, download and start the application exactly as you would with a scanned connection, and confirm the device stays online.
How do I tell a demo-mode stop from a network fault?
Note how long the runtime had been running when the board dropped off the scan list. A drop at roughly 2 hours of runtime matches the unlicensed demo limit documented for CODESYS Control for BeagleBone SL. A drop at a random time, while ping still answers, points at power, cable or switch trouble. Compare the elapsed time against the 2-hour mark before you change anything on the network.
Does the runtime come back after the BeagleBone reboots?
Only if the board is set to start the runtime at boot. If the scan list is empty again after a power cycle, start the runtime with the deploy tool's documented commands, configure the boot-time start, then rescan and confirm the device reappears by its runtime name. The deploy tool documentation for this target covers how the runtime starts and stops.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.