I took the openPLCv3 and installed it on the Acqua A5 procesorboard with debian stretch version.
Is working fine I installed it as Linux (./ install.sh linux). After these steps I created my own I/O driver so that I can programming them with the PLCopen Editor.
I don't use the onModule GPIO's. I have several PCA9555 I2C-expander, one IC for digital Input and one IC for the digital outputs, one MCP3424 for 4x 18bit analog inputs (0-10V/0-20mA) and one MCP3421 1x 18bit analog input these IC's are added into the system.
Important, is that you have the module for pca953x build as module or in the kernel before.
Like "echo pca9555 0x20 > /sys/bus/i2c/devices/i2c-0/new_device"
The same I did with the mcp3424/mcp3421 and the kernel driver is mcp34xx what is needed for them to bring it into the system.
means: xx <type><addr> > <create the new device here at i2c-0
and then are these GPIO's in the system and you can use them like usual GPIO's.
1. export (according 0x20 addr. are from GPIO496-512)
2. direction (input/output)
3. value (1/0 for output)
All these inputs/outputs I wrote into that file: hardware_layer.cpp
(next post I will put the configuration with explaination ...)
- integrate mcp4728 (Quad-DAC via I2C) what isn't in the kernel as module.
- integrate 3x RS485 for several protocol's like Modbus RTU/BACnet mstp/etc.
- Example program
- Modbus TCP connected to Node-Red as Dashboard(Scada) instead of ScadaBR
- integrate SNMPv1/2/3
- BACnet TCP/IP