Basics 05: Expanding PLC IOs with OpenPLC Slave Devices
HTML-код
- Опубликовано: 15 сен 2024
- On Basics 05: you will explore OpenPLC's Slave Devices module to expand your PLC's IOs. For this video, we will be using a Raspberry Pi, which is quite limited in number of IOs, as the main PLC running OpenPLC Runtime. The Raspberry Pi's IOs are then expanded using an Arduino Uno board connected to the Pi's USB port.
Configuring Slave Devices 01:38
Adding multiple Slaves 08:11
Configuring poll rate 10:26
Adding Arduino Uno to Raspberry Pi 11:46
Burning Arduino firmware 12:30
Writing PLC program 17:14
Testing the circuit 24:28
openplcproject...
Please consider supporting OpenPLC by joining our Patreon: / openplc
OpenPLC Friends:
Freewave
FACTS Engineering
Excellent
Friends, would you look at this! It is truly wonderful
Excellent explanation.
Thanks for this project.
Love the functionality! Keep up the good work!
Good content this helped in my final year project.
Good job this is useful for project reducing cost and programming in ladder logic
Friends,
With plc5 addressing location 126:5 would be node 1, chassis 2, slot 6, terminal 5 . Those units were gigantic!
Thank you
What about shift register for inputs and outputs?
I already used this Way in ldmicro , I expanded io pins to many shift registers pins only by using only 3 pins from AVR microcontroller
for information ldmicro is for programming microcontroller by ladder (AVR,pic,arm,Arduino and esp)
Hey ! Great video !
Is it possible to make the Rapsberry/Arduino system you presented at 24:33 independent from the host PC ? For example, have the OpenPLC runtime running on the Raspberry and the Arduino connected on it too, while using an battery as power supply ?
The system is totally independent from the PC. In that case, the host is actually the Raspberry Pi itself. The PC is used only to create the PLC program and upload it to the Pi. The usb cable you see connected to the Pi is used only for power.
Ooh I see, I thought there were two cables both connected to the PC. I didn’t catch that it was a single cable looping on itself ^^ Thanks !
Hi, a have a question.
For example can i use 2 pcs Esp32 for this method?
Yes, you can
Would it be possible to connect a USB Zigbee add-on radio and use it for inputs and outputs? Would you nee to write custom drivers or is there something already made?
If you can make your Zigbee module talk Modbus then yes, you can
What about shift register for inputs and outputs
I used this Way in ldmicro ,I can expand Io pins using many shift registers
For information ldmicro is for programming microcontroller by ladder
Shift registers are a “hardware-way” to expand IO. It is common to find them internally on many commercial PLCs. This is a more “external/software” way to expand IO using off the shelf devices. But anyway, OpenPLC can support shift registers as well, as long as the IO driver is written on a PLC block :) It might come on future versions of the Editor
My question is do you have a handbook about of using openplc editor I'm interested in how to use the analog inputs in my Arduino UNO
There is a problem with the Arduino Mega. By adding Arduino Mega as slave we should have:
24 Discrete Inputs
24 Coils
8 Input Registers
0 Holding Register - Read
12 Holding Register - Write
Instead they are automatically taken
24 Discrete Inputs
16 Coils
16 input registers
0 Holding Register - Read
12 Holding Register - Write
I tried to manually add the device but every time I get the error message: "Please fill out all the fields before saving!"
How do I make a canbus available in the ladder diagram?
It would be super cool if openplc had can-fd communication which is true real time communication with very low latency.
Seed have can-fd hat for raspberry and work great but we need glue for openplc !!!
SocketCAN with can-utils is also very good with can-fd and it work on raspberry
Interesting
Can open plc monitor IOs states from editor(online)?
Not yet. This is a feature that will come in the future
"slave" devices is outdated terminology, considered racist. You'll notice that the SPI protocol has renamed its MOSI and MISO leads, which used to be "Master In Slave Out" and vice versa, to PICO and POCI, "Peripheral IN, Controller OUT" and vice versa. You might want to consider updating your terminology, too.
Good to see wokeness finally arriving in harsh industrial environments. jk
You will read the word slave in almost every industrial bus (CANopen, EtherCat, DeviceNet, Profibus, Modbus, aso.) documentation / software /wiki article.
So i don’t think it’s that outdated ;-)
@@nilscarstensen3844 so maybe SPI is leading the way, but it isn't an excuse for others to lag.
@@TomLeg change will take a while. It will really suck doing troubleshooting with a customer while using another terminology than him and the software-tool he’s using.
Changing that word is not going to make the world less racist.
What a troll 🤣