Allen Bradley PLC programming course.
Enroll Today!
Siemens PLC programming course
Register for FREE!
Back to tutorials

Connecting an Allen Bradley PLC to a Siemens HMI

Letácio Lins
Learning Path
No items found.
Table of Contents


The presence of several suppliers of automation equipment can bring much-needed flexibility to manufacturing facilities when looking to reduce cost and navigate supply chain issues that limit the availability of certain components.

However, establishing communication between devices of different brands can be tricky.

Given that Siemens and Rockwell dominate the world of industrial automation, in this tutorial, you will learn how to establish communication between Allen Bradley PLCs and Siemens HMIs.

Industrial Communication

Establishing a mechanism of communication is required to ensure the interchange of data between devices. To do so, it's crucial to understand the key distinctions between the many types of industrial communication, which include the physical medium (cables or wireless means) and communication protocols (the technology used in data treatment, transit, security, and disposition). Initially, leading original equipment manufacturers (OEMs) like Allen Bradley, built distinct protocols and ways of communication that were specific to their equipment, which makes collaboration between devices from different brands challenging.

Allen Bradley PLC and Siemens HMI Protocols

Among the programmable HMI devices in TIA Portal, there are the Basic and Comfort HMIs and the Advanced and Professional supervisory systems, which are PC-based solutions. If the specified HMI has a Profibus DP network interface, it is possible to assign a DF1 communication driver to the HMI, for communication with SLC500, PLC5, and Micrologix PLCs. If the intention is to communicate with more modern PLCs, such as CompactLogix and ControlLogix, via Ethernet/IP Driver, it is possible to use Profinet HMIs (Siemens industrial protocol based on the Ethernet standard). Communication via EtherNet/IP is also possible with newer Micrologix and SLC500 PLCs, which have EtherNet/IP network ports.

Understanding Data Structures

It is extremely important to understand how devices recognize and replicate their program data (input, output information, and internal variables) in order to ensure communication between them. Older Rockwell PLCs have a data representation based on Data Files. Data Files are composed of a letter, which represents the data type, followed by an integer number, element number, and, if applicable, subordinate elements.

As for the latest PLCs, that can be programmed via RSLogix5000, the data is mapped according to arbitrary tags created by the program developer. This free representation makes data linking straightforward and simple.

Establishing DF1 and Ethernet/IP Connections

Before mapping the PLC data to the HMI, it is necessary to establish the type of connection to be used. This connection indicates the data source and the communication driver to be used. It is possible to create a new connection in the Connections tab of the project tree in Tia Portal.

To determine a serial communication, select the Allen-Bradley DF1 communication driver, select the CPU used (MicroLogix, SLC500, SLC501/502, SLC50x, and PLC5), and enter the network settings defined in the PLC: Baud rate, Data bits, Parity, Stop Bits.

NOTE: Pay attention to the network interface used. Serial communication can only be used in conjunction with serial network interfaces (in the case of siemens, MPI/DP), while for the communication driver based on the Ethernet protocol, the HMI must contain a PROFINET (PN) network interface.

Communication using this driver also allows utilizing the DH+ and DH485 protocols, via the KF2 and KF3 modules, respectively, supporting up to 4 simultaneous communications. Below, a Siemens table shows the connection possibilities for the DF1 driver.

The serial cables used must meet the pinouts stipulated below, for MicroLogix, PLC5, and SLC05 CPUs.

As for using the Allen-Bradley Ethernet/IP communication driver, the connection configuration is much simpler. After selecting the I/O Driver, determine the CPU type from the two available groups: CPUs programmed in RsLogix5000 (ControlLogix, CompactLogix) and CPUs programmed in RsLogix500 (SLC, MicroLogix). Finally, enter the PLC IP address.

Now that the communication type has been determined, the data to be exchanged with the PLC must be created in a tag table, present in the HMI tags tab from the project tree.

Add a new tag and assign the desired connection.

The PLC tags that use the Data Files structure must follow the representation that we discussed earlier. Below we have examples of tags of the most common data types. An array-type tag creates an array of data of the same Data Type, starting at the position of the element defined in the Address column and having the number of elements determined in the Data Type.

When mapping the tags of modern PLCs, care must be taken to associate the address with the syntax and data type exactly the same as what is defined in the PLC. To access a binary section of any element (bit 2 of an INT variable, for example), you must indicate the desired bit after a “/”. Here, a very interesting feature of Tia Portal becomes possible: dynamic association of variables! It consists of associating the tag whose address is contained within any string, either from the PLC or the HMI's internal tag (It's handy, for example, to read any tag that a user enters in a String type HMI's I/O Field! ).

Creating an OPC Connection

In times when the need for open and embracing communication standards has been more and more evident, OPC (Open Platform Communications) standard is a tempting option. In addition to the communication drivers previously mentioned, for PC-based systems (WinCC Advanced and WinCC Professional), there is also the possibility of acquiring the PLC tags using the HMI as an OPC Client and collecting data from an OPC Server. The RsLinx software, for example, is a Rockwell OPC Server that can easily acquire data from every PLC mentioned in this tutorial, but to access it with any OPC Client, you must buy the paid version of RsLinx.

To create an OPC DA (Data Access) connection, go to the Connections tab and create a new connection using the OPC communication driver. It is feasible to select the OPC Server in real-time if the server is active and accessible, otherwise, the data must be entered manually. It is important to remember that for the OPC DA, you must enable the computer's DCOM settings.

Similarly, the connection using OPC UA is developed upon the OPC UA communication driver. Just add the URL, name, and credentials (if any) of the desired OPC server.

OPC DA tags are based on COM, and uses Windows VARIANT type for representing data values. Data types are arranged according to the following data sizes:

  • VT_BOOL - 1 bit
  • VT_I1 - 1 byte
  • VT_UI1 - 1 byte
  • VT_I2 - 2 bytes
  • VT_UI2 - 2 bytes
  • VT_I4 - 4 bytes
  • VT_UI4 - 4 bytes
  • VR_R4 - 4 bytes
  • VT_R8 - 8 bytes
  • VT_DATE - 8 bytes

Tags created based on the OPC UA connection have predefined usual data types.


Siemens HMIs provide communication drivers that make the exchange of information with Rockwell PLCs as simple and direct as it should be, showing that the use of their devices is very easy for the developer, even in cases where not all field instruments are from Siemens. The TIA Portal development interface is intuitive and allows the development of connections, creation of tags, and data mapping in a very practical way, with pre-defined configuration solutions and interactive items, such as dragging and dropping to expand the creation of new tags and to attach object elements to one another.

Back to tutorials

Ready To Learn More?

Level-up your career with unlimited access to practical, in-depth technical courses taught by industry experts. Explore our courses