Connecting PLC to arduino

I made some search to find some information about the communication between the Arduino device and a Industrial PLC.
I want to receive in my PLC ( Siemens s7-300) the torque signal from the servo motor connected to the arduino (Uno R3) device.
I have the ethernet connection in both devices.

Anyone have a similar experience about that ?

As a said, I made some search and a found just a couple topics about this subject and any of this information was helpful.
Thanks for sharing your time to help me.

A web publishing API is available

If your needs are near realtime, you may wish to use a publish-subscription model (pub-sub) where the Arduino manages a webserver and the PLC subscribes to the published data. You may find this PP of interest: Arduino and the real time web

Just having Ethernet (physical) does not provide for the upper-level protocols associated with information transfer.


Hey, mrburnette.
Thanks for sharing this information. I don’t know if it will be useful for me, because I was expecting something more physical directly.
Thanks again.

Ah, instant gratification! I know, we all want it.

But you must realize that the ethernet connection is simply a physical connection, take a look (Google) OSI Stack. The "connection" is at the bottom of the stack!

There are some articles that I have seen that build sockets beneath the Sessions layer for data transfer, but usually such things pertain to Winsock or Java running on host PCs. I'm not saying it cannot be done, but I do not suspect it can be done easily. Essentially, you would need code that did handshaking over the network link without creating an IP address or route. This document may get you started if you are truly intent on building a physical connection:

Good luck. IF you succeed, be sure to post "How I did it"

mrburnette , Thanks again for reply the post.
I will dedicate a time to find a kind of solution for that case.

Thanks for sharing your time :wink:

MrBurnette is correct ... just because you have the Ethernet jack doesn't mean you will be able to make it communicate with an Arduino. My experience with Rockwell PLC's is they use "Ethernet-I/PP. Siemens has their own flavor but you can purchase protocol converters that go between PLC brands. The problem is, to make a device robust, the PLC essentially has to "own" it. In other words, it has to know when the Arduino's wires are cut and the device goes away. So you will spend many hours hacking this.

Wouldn't an easier solution consist of buying an Analog Module for the PLC and reading your motor torque from that? Many motor drives have a voltage proportional to torque output. If you are using a Siemens motor drive, check to see if it doesn't directly report that parameter to the PLC. In the Rockwell world, that is all built in and accessible for you. -- Rob