Local IO
neXo I/O modules are daisy-chained on the nXPlc bus connector and show up in CODESYS under the IO-Locali node. Every input and output is a channel you map to a variable, like the I/O of any other device.
Available modules
Section titled “Available modules”| Module | Product code | Channels |
|---|---|---|
| NXE1016 | 1115 | 16 digital inputs, IN1…IN16 |
| NXE1016 | 1123 | 16 digital inputs, IN1…IN16 |
| NXE2016 | 1131 | 16 digital outputs, OUT1…OUT16 |
The IO-Locali node
Section titled “The IO-Locali node”The IO-Locali node is always there under the nXPlc, even with no modules connected. Modules go under it in chain order: the first one under the node is the module closest to the nXPlc.
Two ways to add them:
- Scan: download the application, log in, then right-click IO-Locali → Scan for Devices → Scan Devices. The dialog lists the modules found, in the right order; Copy All Devices to Project adds them to the project.
- By hand: right-click IO-Locali → Add Device, useful to prepare the project without the board.
Mapping
Section titled “Mapping”Double-click a module → I/O Mapping tab. Every channel is a BIT: type a name in the Variable column or map it to an existing variable.
(* module 1: NXE2016 outputs, module 2: NXE1016 inputs *)xMotor := xRun AND NOT xEmergency; (* xMotor -> OUT1 of module 1 *)xRun := xStartButton; (* xStartButton <- IN1 of module 2 *)Diagnostics
Section titled “Diagnostics”At startup the nXPlc compares the modules found on the bus with the project, position by position. A module’s node turns red and the device Log says why when:
| Situation | Log message |
|---|---|
| no module in that position | modulo N configurato (…) ma assente sul bus |
| a different module is there | in posizione N c'e' il modulo X, configurato Y |
| the module is older than the required revision | modulo N (…) in revisione R, richiesta almeno M |
| the module stops answering | il modulo N (…) non risponde |
The application keeps running and the other modules work normally. The inputs of a faulty module read FALSE, and its outputs are no longer updated.
A module that stops answering is retried every second without stopping the others: if you just unplugged and replugged it, it comes back by itself and the Log says di nuovo in linea.
Minimum revision
Section titled “Minimum revision”Each module has a Revisione minima (minimum revision) parameter in its parameter tab. With 0, the default, any revision is fine; with a higher number, an older module goes into error. Use it when the application relies on a feature introduced in a specific revision.
On stop
Section titled “On stop”On every new download, and when the application stops, all module outputs go to FALSE.