ainfirdaus
OpenPLC is great.

Mr, in my industry, PLCs have IO modular, for example DO module, DI module, AI module, AO module, and module for sensors like thermocouple. Will you make slave modular IO concept?

As comparation, you can visit http://www.outseal.com plc based on arduino made by Indonesian. It has modular IO using I2C and I hope OpenPLC so.

Thank you

Firdaus from Indonesia
Quote 0 0
thiagoralves
It is modular. Just add more slave devices. You can add as many Arduinos, ESP8266, Sonoff, etc as you want. Also buy any industrial hardware that can talk Modbus, and add it to OpenPLC using the slave devices menu.
Quote 0 0
ainfirdaus
So, I can use 2 arduino with one host? And how to set the address?
Quote 0 0
thiagoralves
Yes. Just add two at the slave devices web page. The addressing is cumulative, which means that the addresses for the second device starts where the address of the first one ended. Take a look at the esp8266 example:  https://www.openplcproject.com/getting-started-esp8266 (just scroll down to "Add a Slave Device to OpenPLC")
Quote 0 0
ainfirdaus
Thanks for your answer
Quote 0 0
ainfirdaus
Hi Mr, I want to modificate 1st arduino as DI, 2nd arduino as DO, 3rd arduino as AI, and the last arduino as AO(not pwm, but using DAC IC). What files must be modificated?

I want to make modular using arduino but not using some arduinos that DI, DO, AI in one arduino. Separately
Quote 0 0
thiagoralves
You will have to change the firmware on each Arduino to reflect the IO points you want. Then on OpenPLC runtime, instead of choosing Arduino on the device type list, you will have to pick generic modbus RTU and fill out the information manually about the size of the registers  
Quote 0 0
luu
Hi Thiagoralves! 
I don't understand what is the difference between "Arduino" and "Generic modbus RTU" device type?
i appreciate that!
Quote 0 0
thiagoralves
"Arduino" comes pre-configured to be used with Arduino boards. "Generic Modbus RTU" should be used with any other Modbus RTU device. In this case, the configuration must be provided by the user.
Quote 1 0