This is the first blog post in our series on “Industrial AMRs Inside-Out”, Each post of the series will talk about one or more components that go into making an AMR.
If you are working on Industrial robots, then you would have definitely heard about PLCs. And if like me, you are from pure robotics background, then you might have wondered, how is PLC related to robotics? why do we even need it? I have never used PLC before to make a (non-industrial) robot, then why now?
Here I will try to answer a few of those questions.
- What is a PLC?
- Do we need PLC to make industrial mobile robots?
- What PLCs should we use for our robot?
1. What is a PLC?
PLC is an acronym for Programmable Logic Controller. A PLC is a combination of a CPU and Input/Output (I/O) modules. Most of the PLC designs are modular, which means, you can stack multiple I/O modules in a single PLC. The I/O modules can be placed at different physical locations and connected through data cables.
You can find more info about them here
The way I look at it, PLCs are specialised computers with a simplified process of programming. Anyone with basic training can program PLCs for various tasks. And this is indeed amazing.
How you program your PLC depends on who is the manufacturer of the PLC. The most popular is ladder logic. You can find more info about ladder logic programming here.
You can write the programs based on ladder logic on desktop/laptop computers, connected to PLC via ethernet or USB.
Communicating with a PLC
PLC Communication protocols differ from one manufacturer to another. These protocols are sometimes proprietary. If your industrial robot needs to communicate with a PLC in the plant, or if your robot has a PLC on itself, make sure you know which protocol the PLC uses. PLCs using proprietary protocols could throw a wrench on your robot designs. For robot makers, I would suggest selecting a PLC that uses ModBus TCP/IP for communication. ModBus is a popular open-protocol, in the field of process automation and SCADA. ROS drivers are also available for it.
You can find more information about how Modbus works, here.
2. Do we need a PLC for making the robot?
Ideally, whatever you can do with a PLC, you can achieve the same with an Industrial PC (IPC) and a micro-controller. Here are a couple of reasons for using PLCs in an industrial robot (or make the industrial robot compatible with communicating with PLCs):
- The robot needs to communicate with other machines so that it works synchronously with the rest of the factory/warehouse automation process.
- Customers (factory/warehouse) need components from specific manufacturers to ensure quality, compatibility, and safety in the operating environment. I would be surprised if you could sell a robot built around an Arduino micro-controller to a top-tier industry.
3. What are the different PLCs available and which should we use for our robot?
There are three leading manufacturers of PLC:
2. Allen Bradley (Rockwell Automation’s brand)
They develop PLCs which can handle all kinds of automation in a plant.
Apart from them, there are a variety of other manufacturers such as:
3. Schneider electric
And the list goes on. You can find more details about the differences in the brand in this video.
Now, if you have the freedom to select a PLC for your robot, I would suggest going for the ones which allow ModBus TCP/IP for communication. If that’s not possible, try to figure out if there is any package or library available to communicate with the PLC. Otherwise, it will be hard to integrate your PLC with your IPC.
At Mowito, we have successfully worked with Seimens’ S7 series and Mitsubishi Q03UDE PLC, and their interfaces could be found on our GitHub page here and here respectively. We are constantly updating them. If you are facing trouble running your AMR with a PLC, give us a shout at firstname.lastname@example.org. We will be happy to help.