AC 800M, open TCP/IP protocols?
For some background, I am an automation engineering student and for a project idea I need to be able to connect to AC 800M over TCP/IP and read/write values.
I have been googling some and I have stumbled upon industry specific protocols for master/slave configurations or communication protocols for controller-controller but my requirement is very simple and I would like to be able to build my own solution without installing or buying extra hardware/software (not because I am cheap, I just don't see the point, I am not going to build a controller for a nuclear plant so my requirements for safety, security and reliability are very lax).
Is there any way to connect to this controller over TCP/IP and just read/write raw data? I want to be able to plug it to a switch, get an IP and have my application (not on the 800M) do the heavy lifting, I just need data from the controller.
Thanks in advance!
Voted best answer
Is there any way to connect to this controller over TCP/IP and just read/write raw data?
YES, the AC 800M comes with both a UDP and TCP communication library (see
If you are bound to use AC 800M, it is indeed possible to have it to exchange data with a foreign device over UDP or TCP.
TCPClientConnectIt is used to open and close a TCP connection to a remote TCP server.
TCPServerConnectIt is used when the controller acts as TCP server waiting for connection requests initiated by other TCP clients on the network.
It writes a struct of dints or dwords to a receiving device.
TCPPReadIt reads a struct of dints or dwords from a sending device.
I also agree with Rob Lyon; there are cheaper and more simple controllers. Speaking for myself, I have chosen Raspberry PI, 1-wire for IO and Mosquitto - an IOT broker with plugins for many different programming languages for data exchange between different uinits. The broker stores and relays data from clients connecting to it, very lightweight.
The 800M is probably the wrong controller to choose for this kind of project. Basically, everything you want to do is already "in the box". All the Ethernet data exchange with the controller is done using an OPC server, which comes with the Programming Tool. anything else requires Hardware ( eg, Profinet, Profibus, Ethernet IP, etc) and specialist tools to write the drivers which are not available outside of ABB internal development departments. Only the COM3 serial port can be programmed using Control Builder.
Have a look at the AC500 series of PLCs, An AC500 Eco, with TCP/IP port, has much more flexibility on how you program it. Otherwise, a Raspberry PI or Arduino controller gives you the freedom to do what ever you want with the ethernet ports.
Industrial standards are there for a reason. After 20 years of programming PLC's the last thing you want to do is write and debug another comms protocol. Ultimately, buying an off-the-shelf finished solution is cheaper and faster in a real plant. As a student, your time is free. Mine isnt. And a few hours of writing and testing software very quickly far exceeds the cost of buying a profinet module.
> "my requirements for safety, security and reliability are very lax" - The fact that you are a student is irrelevant. Safety, security and reliability are CRITICAL to the operation of ANY plant. It doesnt have to be a nuclear power plant to have the capability to hurt someone. Do not develop the habit of thinking you can get away with doing half a job at this stage of your learning.