0% found this document useful (0 votes)
15 views752 pages

Exor Protocols (2020!02!21)

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 752

Communication Protocols

User Manual

Version
© 2009-2020 Exor International S.p.A.
© 2009-2020 Exor International S.p.A.

Subject to change without notice

The information contained in this document is provided for informational purposes only.
While efforts were made to verify the accuracy of the information contained in this
documentation, it is provided 'as is' without warranty of any kind.

Third-party brands and names are the property of their respective owners.

Microsoft®, Windows®, Windows XP, Windows Vista, Windows 7, Windows 8,


Windows 10 and Visual Studio are either registered trademarks or trademarks of the
Microsoft Corporation in the United States and other countries. Other products and
company names mentioned herein may be the trademarks of their respective owners.

The example companies, organizations, products, domain names, e-mail addresses,


logo, people, places, and events depicted herein are fictitious. No association with any
real company, organization, product, domain name, e-mail address, logo, person, place
or event is intended or should be inferred.
Contents

ABB Mint Controller HCP 3 Koyo DL 341

A-B ENET 11 Koyo DL ETH 347

A-B DF1 22 KNX TP/IP 352

A-B DH-485 34 Lenze CANopen 372

BACnet 47 Modbus RTU 377

Beckhoff ADS 104 Modbus RTU Server 392

CAN Direct v2.0x 118 Modbus TCP 406

CANopen HMI 128 Modbus TCP Server 423

CANopen SDO 135 Mitsubishi FX ETH 434

CODESYS V2 ETH 141 Mitsubishi FX SER 449

CODESYS V2 SER 154 Mitsubishi iQ/Q/L ETH 458

CODESYS V3 ETH 163 Mitsubishi iQ/Q/L SER 467

Control Techniques Modbus TCP 175 Omron FINS ETH 473

CT Modbus CMP ETH 179 Omron FINS SER 484

Delta Modbus RTU 187 OPC UA Client 493

Direct Serial 198 Panasonic FP 507

Direct Socket 206 Ping 514

DMX512 Digital Multiplex 217 ProConOS ETH 519

Ethernet/IP CIP 222 Profibus DP 528

Fatek FACON ETH 247 Profibus DP S7 532

Fatek FACON SER 254 Rexroth IndraControl 578

GE Intelligent Platforms SNP 260 ROBOX BCC/31 584

GE Intelligent Platforms SRTP 271 ROC Plus 593

GE SRTP 281 SAIA S-BUS 599

Hitachi SER 292 SAIA S-BUS ETH 611

Hitachi ETH 297 Simatic S7 PPI 621

IDEC Maintenance 301 Siemens S7 Optimized 628

J1939 311 Simatic S7 ETH 643

Jetter Ext ETH 322 Simatic S7 MPI 685

Keyence KV 330 System Variables 722

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 1
Uni-Telway 724

Variables 732

EXOR XPLC 737

2 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
ABB Mint Controller HCP
This communication protocol allows the HMI devices to connect to the ABB motion and servo drive devices using the HCP
and HCP2 communication protocols.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Node ID Node ID assigned to the controller device.

Protocol Two protocols are available:


Type
l HCP
l HCP2

Timeout Time delay in milliseconds between two retries in case of missing response from the server device.
(ms)

Retry Number of times a certain message will be sent to the controller before reporting the communication error
count status.

PLC PLC model you are going to connect to.


Models

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 3
ABB Mint Controller HCP

Element Description

PLC The protocol allows the connection of multiple controllers to one HMI device. To set-up multiple connections,
Network check “PLC network” checkbox and enter the node ID per each slave you need to access.

Comm... If clicked displays the communication parameters setup dialog.

4 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Element Description

Port Serial port selection.

l COM1= device PLC port.


l COM2= computer/printer port.

Baudrate, Parity, Data Bits, Stop bits Serial line parameters.

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Data types
The ABB Mint Controller HCP driver provides the support for two Memory Types which are referring to the same physical
memory area in the Mint controller:

l Comms: should only be used with floating point values. The Mint program on the ABB controller should use
COMMS to access this data.
l CommsInteger: allows a variety of integer-based data types to be selected.

If the Mind controller program uses... then...

COMMS keyword for a tag setup to use the only the bottom 23 bits will be accurate (due to floating point
Commsinteger memory type precision of the COMMS keyword).

COMMSINTEGER keyword for a tag setup to use the the value is precise for the full 32 bits.
Commsinteger memory type

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 5
ABB Mint Controller HCP

See "Programming concepts" section in the main manual.

Tag Conversion
Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:

6 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Value Description

25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Locate the .xml file exported from Tag Editor and click Open.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 7
ABB Mint Controller HCP

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

8 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags from tag
dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new dictionary
import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box item selected.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported by this communication driver:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 9
ABB Mint Controller HCP

Error Cause Action

NAK The controller replies with a not -


acknowledge.

Timeout A request is not replied within the specified Check if the controller is connected and properly
timeout period. configured to get network access.

Line An error on the communication parameter Check if the communication parameter settings of
Error setup is detected (parity, baud rate, data the controller is compatible with the device
bits, stop bits). communication setup.

Invalid The device did received a response with Ensure the data programmed in the project are
response invalid format or contents from the consistent with the controller resources.
controller.

General Unidentifiable error. Should never be Contact technical support.


Error reported.

10 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
A-B ENET
The A-B ENET communication protocol is normally used on the Allen-Bradley controllers via Ethernet communication.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

IP Ethernet IP address of the controller.


Address

Port Port number used by the Ethernet interface.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 11
A-B ENET

Element Description

Timeout Time delay in milliseconds between two retries in case of missing response from the controller.

PLC Enable access to multiple networked controllers. For every controller (slave) set the proper
Network option.

Controller configuration
The PLC has to be correctly configured to match the IP address configured in the Protocol Editor. Normally the PLC
configuration can be left as default.

12 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Configuring 1761-NET-ENI
Here is the procedure to configure the 1761-NET-ENI module using the Allen Bradley’s ENI/ENIW Utility. The procedure
requires a 1761-CBL-PM02 communication cable.

1. Connect the 8 pin din to the port 2 on the NET-ENI device and the 9 pin female D-shell to the computer COM port.

2. Connect the SLC 5/0x controller and go online.


3. In the Utility Settings tab, set COM Port and Baud Rate.

4. In the ENI IP Addr tab, select the correct ENI Series from the list and set ENI IP Address, Subnet Mask and
Baud Rate, if needed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 13
A-B ENET

5. Save the configuration to the NET-ENI device.

Two separate memory areas are reserved for saving the configuration : ENI/RAM (for temporary configurations) and
ENI/ROM (for permanent configurations).

Logical I/O addressing


When addressing Allen Bradley I/O data, the panel uses logical addressing rather than physical addressing. While physical
addressing refers to the element number as the slot number, logical addressing refers to the first element for the first I/O
card of a specific file type.

Communication Protocols addressing depends on the mapping of the PLC CPU memory and not on the slot number,
therefore you should be careful when changing the configuration in order to avoid remapping.

Use the RSLogix 500 I/O Configuration tool layout of the PLC I/O to configure I/O as in the example.

14 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: When using a module with a configurable I/O size (for example, Devicenet Scanner) make sure you
configure it to the largest possible size or you will have to remap it if you need to allocate more space.

Use the Data File Browser to see how the PLC allocates memory.

This example shows how to configure the Communication Protocols Tag for pointing to PLC resource O:1/19 (O1:1.1/3 in
word terms).

The following figure shows the Communication Protocols Tag configuration.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 15
A-B ENET

The Communication Protocols Tag configured in the example above points on the element shown in the following figure.

Examples
I:0/19 (I1:0.1/3 in word terms) – 20th Input on CPU

16 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Parameter Setting

File Type Disc In

File Num 1

Data Type Boolean

In the Data File Browser, word 0.1 is Word 1:

Element 1

Sub Index 3

I:1/15 (I1:1.0/15 in word terms) - Last Input on Slot 1 Input Card

Parameter Setting

File Type Disc In

File Num 1

Data Type Boolean

In the Data File Browser, word 1.0 is Word 8:

Element 8

Sub Index 15

I:4.0 (I1:4.0 in word terms) - First Analog Input

Parameter Setting

File Type Disc In

File Num 1

Data Type Short

In the Data File Browser, word 4.0 is Word 10:

Element 10

Sub Index -

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 17
A-B ENET

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Tag Import
Exporting Tags from PLC
The A-B Ethernet tag import filter accepts symbol files with extension “.csv” created by the Rockwell RSLogix 500.

To create the file select Tool > Database > ASCII Export

18 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
From CSV tab select the data to be exported and give a name to the output csv file.

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 19
A-B ENET

The following dialog shows which importer type can be selected.

Importer Description

RSLogix500 v1.0 Requires an .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

20 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Check if the data programmed in the project are
response format or contents from the controller. consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 21
A-B DF1

A-B DF1
The A-B DF1 communication driver has been designed to connect HMI devices to a Allen-Bradley controllers through serial
communication.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Node ID Serial node associated to the PLC.

Checksum It can be BCC or CRC, depending on PLC settings.


type

PLC PLC models available:


Models
l PLC3
l PLC5/10/12/15/25
l PLC5/40/40L
l PLC5/60/60L
l SLC500 Fixed I/O

22 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l SLC500 Modular I/O


l Micrologix 1000
l Micrologix 1500
l Ultra5000

Comm... If clicked displays the communication parameters setup dialog.

Element Parameter

Port Serial port selection.

l COM1: device PLC port.


l COM2: computer/printer port on panels with 2 serial ports or
optional Plug-In module plugged on Slot 1/2 for panels with 1
serial port on-board.

l COM3: optional Plug-In module plugged on Slot 3/4 for panels


with 1 serial port on-board.

Baudrate, Parity, Serial line parameters.


Data Bits, Stop
bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 23
A-B DF1

Tag Editor Settings


In Tag Editor select the protocol A-B DF1.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

24 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Memory Type Description


Type
Disc Out Discrete output value. O resource on PLC.

Disc In Discrete input value. I resource on PLC.

Status Status value. S resource on PLC.

Bit Bit value. B resource on PLC.

Timer Timer value. T resource on PLC.

Counter Counter value. C resource on PLC.

Control Control value. R resource on PLC.

Integer Integer value. N resource on PLC.

Float Float value. F resource on PLC.

Element Represents the line of the resource while monitoring PLC values.

Subindex Represents the column of the resource while monitoring PLC values.

File Num Instance of resource of the PLC.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets (byte[], short[]…).

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 25
A-B DF1

Element Description

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Sub Allows to point to specific part of a resource:


Element
l 0 (entire resource)
l PRE
l ACC
l LEN
l POS

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB

26 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Exporting Tags from PLC
The A-B DF1 tag import filter accepts symbol files with extension “.csv” created by the Rockwell RSLogix 500.

To create the file select Tool > Database > ASCII Export

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 27
A-B DF1

From CSV tab select the data to be exported and give a name to the output csv file.

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

28 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The following dialog shows which importer type can be selected.

Importer Description

RSLogix500 v1.0 Requires an .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 29
A-B DF1

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Logical I/O addressing


When addressing Allen Bradley I/O data, the panel uses logical addressing rather than physical addressing. While physical
addressing refers to the element number as the slot number, logical addressing refers to the first element for the first I/O
card of a specific file type.

Communication Protocols addressing depends on the mapping of the PLC CPU memory and not on the slot number,
therefore you should be careful when changing the configuration in order to avoid remapping.

Use the RSLogix 500 I/O Configuration tool layout of the PLC I/O to configure I/O as in the example.

30 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: When using a module with a configurable I/O size (for example, Devicenet Scanner) make sure you
configure it to the largest possible size or you will have to remap it if you need to allocate more space.

Use the Data File Browser to see how the PLC allocates memory.

This example shows how to configure the Communication Protocols Tag for pointing to PLC resource O:1/19 (O1:1.1/3 in
word terms).

The following figure shows the Communication Protocols Tag configuration.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 31
A-B DF1

The Communication Protocols Tag configured in the example above points on the element shown in the following figure.

Examples
I:0/19 (I1:0.1/3 in word terms) – 20th Input on CPU

32 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Parameter Setting

File Type Disc In

File Num 1

Data Type Boolean

In the Data File Browser, word 0.1 is Word 1:

Element 1

Sub Index 3

I:1/15 (I1:1.0/15 in word terms) - Last Input on Slot 1 Input Card

Parameter Setting

File Type Disc In

File Num 1

Data Type Boolean

In the Data File Browser, word 1.0 is Word 8:

Element 8

Sub Index 15

I:4.0 (I1:4.0 in word terms) - First Analog Input

Parameter Setting

File Type Disc In

File Num 1

Data Type Short

In the Data File Browser, word 4.0 is Word 10:

Element 10

Sub Index -

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 33
A-B DH-485

A-B DH-485
The A-B DH-485 communication driver has been designed to connect HMI devices to a Allen-Bradley controllers through
serial communication.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Panel ID Serial node associated to the HMI.

Slave ID Serial node associated to the PLC.

MaxID Represent the maximum ID available in the serial network.

PLC PLC models available:


Models
l SLC500 Fixed I/O
l SLC500 Modular I/O

34 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l Micrologix 1000
l Micrologix 1500

Comm... If clicked displays the communication parameters setup dialog.

Element Parameter

Port Serial port selection.

l COM1: device PLC port.


l COM2: computer/printer port on panels with 2 serial ports or
optional Plug-In module plugged on Slot 1/2 for panels with 1
serial port on-board.

l COM3: optional Plug-In module plugged on Slot 3/4 for panels


with 1 serial port on-board.

Baudrate, Parity, Serial line parameters.


Data Bits, Stop
bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

PLC Netwo IP address for all controllers in multiple connections. PLC Network must be selected to
rk enable multiple connections.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 35
A-B DH-485

Element Description

Tag Editor Settings


In Tag Editor select the protocol A-B DH-485.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

36 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Memory Type Description


Type
Disc Out Discrete output value. O resource on PLC.

Disc In Discrete input value. I resource on PLC.

Status Status value. S resource on PLC.

Bit Bit value. B resource on PLC.

Timer Timer value. T resource on PLC.

Counter Counter value. C resource on PLC.

Control Control value. R resource on PLC.

Integer Integer value. N resource on PLC.

Float Float value. F resource on PLC.

String String value. STR resource on PLC.

Element Represents the line of the resource while monitoring PLC values.

Subindex Represents the column of the resource while monitoring PLC values.

File Num Instance of resource of the PLC.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 37
A-B DH-485

Element Description

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets (byte[], short[]…).

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

38 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Sub Allows to point to specific part of a resource:


Element
l 0 (entire resource)
l PRE
l ACC
l LEN
l POS

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 39
A-B DH-485

Element Description

Value Description

> GHEFCDAB Example:


32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Exporting Tags from PLC
The A-B DF1 tag import filter accepts symbol files with extension “.csv” created by the Rockwell RSLogix 500.

To create the file select Tool > Database > ASCII Export

40 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
From CSV tab select the data to be exported and give a name to the output csv file.

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 41
A-B DH-485

The following dialog shows which importer type can be selected.

Importer Description

RSLogix500 v1.0 Requires an .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

42 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Logical I/O addressing


When addressing Allen Bradley I/O data, the panel uses logical addressing rather than physical addressing. While physical
addressing refers to the element number as the slot number, logical addressing refers to the first element for the first I/O
card of a specific file type.

Communication Protocols addressing depends on the mapping of the PLC CPU memory and not on the slot number,
therefore you should be careful when changing the configuration in order to avoid remapping.

Use the RSLogix 500 I/O Configuration tool layout of the PLC I/O to configure I/O as in the example.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 43
A-B DH-485

Note: When using a module with a configurable I/O size (for example, Devicenet Scanner) make sure you
configure it to the largest possible size or you will have to remap it if you need to allocate more space.

Use the Data File Browser to see how the PLC allocates memory.

This example shows how to configure the Communication Protocols Tag for pointing to PLC resource O:1/19 (O1:1.1/3 in
word terms).

The following figure shows the Communication Protocols Tag configuration.

44 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The Communication Protocols Tag configured in the example above points on the element shown in the following figure.

Examples
I:0/19 (I1:0.1/3 in word terms) – 20th Input on CPU

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 45
A-B DH-485

Parameter Setting

File Type Disc In

File Num 1

Data Type Boolean

In the Data File Browser, word 0.1 is Word 1:

Element 1

Sub Index 3

I:1/15 (I1:1.0/15 in word terms) - Last Input on Slot 1 Input Card

Parameter Setting

File Type Disc In

File Num 1

Data Type Boolean

In the Data File Browser, word 1.0 is Word 8:

Element 8

Sub Index 15

I:4.0 (I1:4.0 in word terms) - First Analog Input

Parameter Setting

File Type Disc In

File Num 1

Data Type Short

In the Data File Browser, word 4.0 is Word 10:

Element 10

Sub Index -

46 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
BACnet
The BACnet communication driver has been designed to connect HMI devices to BACnet networks and supports IP and
MS/TP communication.

The HMI device operates as a BACnet device.

Implementation details
This implementation of the BACnet communication protocol allows integrating HMIs in a BACnet network and exchange
data between HMI and other devices connected to the BACnet network. HMIs provide client capability for displaying
properties of BACnet objects in real time using BACnet/IP or MS/TP network types.

BACnet communication protocol can be:

l Configured as BACnet IP: communication with BACnet devices is established over Ethernet using HMI Ethernet
port;
l Configured as BACnet MS/SP: communication with BACnet devices is established over serial line, using HMI
serial port;

Communication protocol configuration allows defining HMI BACnet ID and object name used to identify HMI in BACnet
network.

BACnet object properties are reachable from HMI using explicit Tag configuration. A single Tag represents a single
property for a BACnet object.

Using the property Present_Value (85) in Tag configuration, the Tag will be connected to the current value of a specific
object (for example in the case of analog values, it will be the measured value).

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 47
BACnet

Element Description

Panel Device ID Identifies the HMI device in the network.

Object Name BACnet Object Name for the HMI device.

Description HMI device description, for documentation purposes.

Media Type of communication of the protocol.

l MS/TP: Master-Slave/Token-Passing communication (RS-485).

48 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l IP: based on standard UDP/IP communication.

Timeout (ms) Time delay in milliseconds between two retries in case of missing response from the
BACnet device.

Panel Node * MS/TP address. Physical device address on the link; it is not passed through routers.

COV Lifetime (s) Desired lifetime of the subscription in seconds before the it shall be automatically
cancelled.. A value of zero indicates an indefinite lifetime, without automatic
cancellation.

Max Master * Highest allowable address for master nodes. Must be less than or equal to 127.

Max Info Frames Maximum number of information frames the node may send before it must pass the
* token. Max Info Frames may have different values on different nodes and may be used
to allocate more or less of the available link bandwidth to particular nodes.

Max MS/TP Maximum length of APDU (Application Layer Protocol Data Unit), which means the
APDU * actual packet length on BACnet network. This value cannot exceed 480 (default value).

Max IP APDU ** Maximum length of APDU (Application Layer Protocol Data Unit), which means the
actual packet length on BACnet network. This value cannot exceed 1476 (default
value).

Time Sync Represent the interval between every time synchronization, in seconds. If left to 0, time
Interval (s) synchronization is disabled.

Time Sync UTC Option to synchronize time in UTC format. If disabled, local time format used.

PLC Models Reserved for future use.

Comm... * If clicked displays the communication parameters setup dialog.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 49
BACnet

Element Description

Element Description

Port Communication port.

Baudrate, Parity, Data bits, Stop bits Communication parameters.

Mode Communication mode. Available modes:

l RS-232
l RS-485
l RS-422

Analog Value Number of Analog Value objects to be instanced in BACnet Server.


Count *** Min: 0
Max: 200

Binary Value Number of Binary Value objects to be instanced in BACnet Server.


Count *** Min: 0
Max: 200

Multi State Number of Multi State Value objects to be instanced in BACnet Server.
Value Count *** Min: 0
Max: 200

Notification Number of Notifications Class objects to be instanced in BACnet Server.


Class Count *** Min: 0
Max: 200

IP UDP Port ** Port number for IP communication.

Local IP ** IP Address of the network adapter to use for protocol. Not required if the device has only
one Ethernet adapter.

Note *: Available only if media is set to MS/TP.

Note **: Available only if media is set to IP.

Note ***: Check Using BACnet Server chapter.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select BACnet from the Driver list: the tag definition dialog is displayed.

50 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elemen
Description
t

Object Type of BACnet object to be referenced. Available object types:


Type
l Device
l Analog Input
l Analog Output
l Analog Value
l Binary Input
l Binary Output
l Binary Value
l Multi-state Input
l Multi-state Output
l Multi-state Value
l Integer Value
l Positive Integer Value
l Large Analog Value

Device ID of the device containing the object.


ID

Data Data type for display presentation. Available data types:


Type
l boolean

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 51
BACnet

Elemen
Description
t

l int
l unsignedInt
l float
l double
l string
l binary
l boolean[]

These data types are data types as defined in the software.

The equivalence with BACnet data types is shown in the table:

Software
BACnet data type Notes
data type

BOOLEAN Boolean -

INTEGER Int -

UNSIGNED_INTEGER unsignedInt -

REAL Float -

BIT_STRING boolean-x x = size

CHARACTER_ string-x x = size


STRING

OCTET_STRING binary-x x = size

DATE int or -
unsignedInt

TIME int or -
unsignedInt

BACnetObjectIdentifier int or Use conversions instance and objType


unsignedInt for proper display

Arraysi l In case of array tag, this property represents the number of array elements.
ze l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conver Conversion to be applied to the tag.


sion

52 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elemen
Description
t

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 53
BACnet

Elemen
Description
t

Value Description

0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Object BACnet ID of the object to be referenced.


Instanc
e

Object Numeric value of the property to be referenced (example: the value 85 means present-value for
Propert most standard objects).
y The table below specifies all the BACnet Object Properties.

Val Val Val Val


Property Property Property Property
ue ue ue ue

accepted- 175 effective- 32 max-info- 63 reason-for- 100


modes period frames halt

acked- 0 elapsed- 33 max- 64 recipient-list 102


transitions active- master
time

ack- 1 error-limit 34 max-pres- 65 records- 140


required value since-
notification

action 2 event- 35 max- 167 record-count 141


enable segment

54 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elemen
Description
t

Val Val Val Val


Property Property Property Property
ue ue ue ue

s-
accepted

action-text 3 event- 36 member- 159 reliability 103


state of

active-text 4 event- 130 minimum- 66 relinquish- 104


time- off-time default
stamps

active-vt- 5 event-type 37 minimum- 67 required 105


sessions on-time

active-cov- 152 event- 83 minimum- 68 resolution 106


subscriptio parameter output
ns s

adjust- 176 exception- 38 minimum- 136 scale 187


value schedule value

alarm-value 6 fault- 39 minimum- 150 scale-factor 188


values value-
timestam
p

alarm- 7 feedback- 40 min-pres- 69 schedule- 174


values value value default

all 8 file- 41 mode 160 segmentatio 107


access- n-supported
method

all-writes- 9 file-size 42 model- 70 setpoint 108


successful name

apdu- 10 file-type 43 modificati 71 setpoint- 109


segment- on-date reference
timeout

apdu- 11 firmware- 44 notificatio 17 slave- 171


timeout revision n-class address-
binding

application- 12 high-limit 45 notificatio 137 setting 162


software- n-
version threshold

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 55
BACnet

Elemen
Description
t

Val Val Val Val


Property Property Property Property
ue ue ue ue

archive 13 inactive- 46 notify- 72 silenced 163


text type

attempted- 124 in-process 47 number- 73 start-time 142


samples of-APDU-
retries

auto-slave- 169 input- 181 number- 74 state-text 110


discovery reference of-states

average- 125 instance- 48 object- 75 status-flags 111


value of identifier

backup- 153 integral- 49 object-list 76 stop-time 143


failure- constant
timeout

bias 14 integral- 50 object- 77 stop-when- 144


constant- name full
units

buffer-size 126 last-notify- 173 object- 78 system- 112


record property- status
reference

change-of- 15 last- 157 object- 79 time-delay 113


state-count restore- type
time

change-of- 16 life-safety- 166 operation- 161 time-of- 114


state-time alarm- expected active-time-
values reset

client-cov- 127 limit- 52 optional 80 time-of- 115


increment enable state-count-
reset

configurati 154 limit- 182 out-of- 81 time- 116


on-files monitorin service synchronizat
g-interval ion-
recipients

controlled- 19 list-of- 53 output- 82 total-record- 145


variable- group- units count
reference members

56 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elemen
Description
t

Val Val Val Val


Property Property Property Property
ue ue ue ue

controlled- 20 list-of- 54 polarity 84 tracking- 164


variable- object- value
units property-
references

controlled- 21 list-of- 55 prescale 185 units 117


variable- session-
value keys

count 177 local-date 56 present- 85 update- 118


value interval

count- 178 local-time 57 priority 86 update-time 189


before-
change

count- 179 location 58 pulse-rate 186 utc-offset 119


change-
time

cov- 22 log-buffer 131 priority- 87 valid- 146


increment array samples

cov-period 180 log- 132 priority- 88 value-before- 190


device- for-writing change
object-
property

cov- 128 log-enable 133 process- 89 value-set 191


resubscript identifier
ion-interval

database- 155 log- 134 profile- 168 value- 192


revision interval name change-time

date-list 23 logging- 183 program- 90 variance- 151


object change value

daylight- 24 logging- 184 program- 91 vendor- 120


savings- record location identifier
status

deadband 25 low-limit 59 program- 92 vendor-name 121


state

derivative- 26 maintenan 158 proportion 93 vt-classes- 122


constant ce- al- supported

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 57
BACnet

Elemen
Description
t

Val Val Val Val


Property Property Property Property
ue ue ue ue

required constant

derivative- 27 manipulat 60 proportion 94 weekly- 123


constant- ed- al- schedule
units variable- constant-
reference units

description 28 manual- 170 protocol- 96 window- 147


slave- object- interval
address- types-
binding supported

description- 29 maximum- 61 protocol- 139 window- 148


of-halt output revision samples

device- 30 maximum- 135 protocol- 97 zone- 165


address- value services- members
binding supported

device-type 31 maximum- 149 protocol- 98


value- version
timestamp

direct- 156 max-apdu- 62 read-only 99


reading length-
accepted

Array Index for subscribing elements in BACnet arrays.


Index
l -1 means read all elements
l 0 to n means read the specified element

Priority Array example


To read a priority array object it is necessary to set Object Property = 87 and Array Index has to
refer to the priority item to be read.
The following figure shows how to read the 16th item of a priority array.

58 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elemen
Description
t

Write Write requests priority level. The value is in the range 1-16. 0 is interpreted as 16.
Priority

COV Enable the Change Of Value notification.

Clear/Set Priority
The system offers actions for a more flexible handling of Write Priority.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 59
BACnet

Action Description

BACnetClearPriority Clears the priority array at the position associated to the BACnet tag passed
as parameter.

This action has immediate effect on the BACnet device.

BACnetClearAllPriorities Clears all positions in the priority array.

This action has immediate effect on the BACnet device.

BACnetSetPriority Overrides the Write Priority value configured in the BACnet tag definition.

This action has two parameters:

l TagName: name of the BACnet tag.


l TagPriority: new value of Write Priority for the BACnet tag passed as
parameter.

This action only overrides the value of Write Priority in the BACnet tag
definition and does not perform any communication with the BACnet device.
Any write command that will be performed to the Present Value property of the
BACnet device identified by the tag, will be performed using the new Write
Priority value.

The priority value will be valid until:

l A new call to the BACnetSetPriority action changes it.


l The HMI device is restarted. The value of WritePriority defined in the
project is valid in this case.

Tag Import
BACnet object information can be imported from BACnet EDE (Engineering Data Exchange) files. The EDE file must have
the .csv extension.

The importer uses the characters “,” and “;” as delimiters. They are considered as reserved characters and you cannot use
them in file name.

Use the hierarchical importer to have a ordered list of BACnet objects and properties.

Tags will be created using the string specified in the column object-name of the EDE file. The importer will add the device
ID as a prefix to avoid duplication of tag names.

Note: The importer will ask to locate the State-Texts, Unit-Texts and Object-Types files. Click Cancel to ignore.

Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

60 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

BACnet EDE v1.0 Requires a .csv file.


Linear
All variables will be displayed at the same level.

BACnet EDE v1.0 Requires a .csv file.


Hierarchical
All variables will be displayed according to BACnet EDE Hierarchical view.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 61
BACnet

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

For tags referring to BACnet objects of type Calendar or Schedule the tag refresh rate is set to “Manual”.

The following BACnet object properties are required for operation of the widgets.

Object Tags to import

Calendar Date_List

Schedule Weekly_Schedule

Exception_Schedule

Default_Value

Effective_Period

DEVICE Object Properties


A BACnet network scanner can detect properties when exploring the network and obtaining data from HMI device.

This are the supported DEVICE object properties:

62 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Property Description

Object_Identifier BACnetObjectIdentifier

Object_Name CharacterString

Object_Type BACnetObjectType

System_Status BACnetDeviceStatus

Vendor_Name CharacterString

Vendor_Identifier Unsigned16

Model_Name CharacterString

Firmware_Revision CharacterString

Application_Software_Version CharacterString

Protocol_Version Unsigned

Protocol_Revision Unsigned

Protocol_Services_Supported BACnetServicesSupported

Protocol_Object_Types_Supported BACnetObjectTypesSupported

Object_List BACnetARRAY[N]of BACnetObjectIdentifier

Max_APDU_Length_Accepted Unsigned

Segmentation_Supported BACnetSegmentation

APDU_Timeout Unsigned

Number_Of_APDU_Retries Unsigned

Device_Address_Binding List of BACnetAddressBinding

Database_Revision Unsigned

BACnet Alarm Events


The special “protAlarm:BACN” trigger mode, available from the Alarms Editor, give the possibility to receive alarm events
from the BACnet native alarms module.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 63
BACnet

Property Description

deviceID Identifies the BACnet device in the network.

notificationClassID Notification Class ID to subscribe for the alarm events retrieving

processID Not used

activeMonday Define in which days keep active the alarm events subscription
activeTuesday
l False
activeWednesday
Subscription not active
activeThrusday
activeFriday l True
activeSaturday Subscription active
activeSunday

startHour Define the time window where the alarm events subscription will be active
startMinute
startSecond
endHour
endMinute
endSecond

The alarm widgets will report the alarm information that are provided from the BACnet device.

64 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
When the special “protAlarm:BACN” trigger mode is used, the widget of the active alarms show the timestamp
provided from the BACnet device while the widget of the historical alarms show the timestamp of when the alarm
events are received from the HMI device. Generally, both timestamps are the same but if you need to show the
timestamp from the BACnet device even inside the widget of the historical alarms you can add a new column
configured to use the “allSourceTimestamp” value from the alarm history widget.

BACnet alarm is a special alarm that require a double space to be stored inside the events buffer. This
means, for example, if the events buffer is configured to contain 1.000 events only the last 500 BACnet
events will be stored.

BACnet Trend Buffer


To use a BACnet trend object as a trend buffer:

1. Open the Trends Editor


2. Click the "Add PLC Trend" button (This button is enabled only when at least one BACnet protocol is configured)
3. Configure the below parameters to identify the BACnet trend object to use.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 65
BACnet

Property Description

Device ID Identifies the BACnet device in the network.

Object ID BACnet ID of the trend object to be referenced.

Bit Index When the data type is boolean, it is the index to select the bit to use inside the
BACnet bit_string. It is not used with the other data types.

Data type Specify the type of data of the BACnet trend object. The supported data types
are:

l boolean
l int
l unsignedInt
l float

Time Specification Time format used inside the selected BACnet trend object

l local
l global (UTC)

The trend buffer thus configured can then be used inside any trend widgets.

BACnet Calendar Widget


Use Calendar widget to display content of a BACnet Calendar object.

66 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Property Description

Date_List Connect to the "Date_List" tag of a BACnet calendar object in ReadOnly or


Read/Write.

Note: it can be connected to an alias which indexes a list of BACnet


calendar Date_List(s), in order to use one calendar widget for more
than one calendar object.

Operation of Calendar Widget


The widget shows data for one month.

Use the < and > buttons to select the month to be displayed. The date of first day of the month is shown.

Swing gesture can be used on the widget to select the date.

New

Press the button “New” to enter a new calendar item. The button is active only if the tag associated to the calendar has
been configured as Read/Write.

Calendar item Description

Single Click on a day to select a single day into the calendar

Range Click on the first day and on the last day to select a range of days into the

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 67
BACnet

Calendar item Description

calendar.

l Single click on a day to change previous selected last day of the range.
l Double click on a day to change previous selected first selected day of
the range.

MWD Select a Day or a Week for each year or each month.

Clear All

Press the button “Clear All” to clear the content of the calendar object. The button is active only if the tag associated to the
calendar has been configured as Read/Write. The button is configured to react to an onMouseHold event, to reduce risk of
data loss.

Refresh

Press the “Refresh” button to start a manual refresh of the data of the widget. Always press the Refresh button after
entering data in the calendar.

BACnet Schedule Widget


Use Schedule widget to display content of BACnet Schedule object.

68 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Property Description

Type Select the type of BACnet object controlled by the schedule.

Options are:

l Binary
l Real
l Multistate

Weekly_Schedule Attach to the Weekly_Schedule tag of the schedule object. The tag can be Read
Only or Read/Write.

Exception_Schedule Optionally attach to the Exception_Schedule tag of the schedule object. The tag
can be Read Only or Read/Write. Only attach this property if exceptions are used.

Default_Value Optionally attach to the Default_Value tag of the schedule object. The tag can be
Read Only or Read/Write. Only attach this property if default values are used.

Cal. 0 (Date_List) Optionally attach to the Date_List tag of the schedule widget in Read Only mode.
Use this options to show the “calendar reference” exceptions.

Note: An exception can be a single date, a date range, a mwd or a


calendar reference. In this last case, exception_list does not contain the
date information, but only time-value-priority and a reference to the
calendar. The date_list needed to show the scheduling into the widget is
stored into the relative BACNCalendar, and this is why we need this
datalink. If there is no need to show calendar exceptions in the schedule,
this property can be left void.

Note: If it is not attached to a calendar, it is not possible to insert


calendar exception. See BACNSchedKeypad for details.

Cal. 0 (Object_Name) Optionally attach to the property of the calendar. This name is used to identify the
calendar in the BACNSchedKeypad used to insert calendar exceptions. If Object_
Name is not attached, the calendar is identified with its instance number. This
property is used only if a Cal. 0 (Date_List) is attached to a calendar.

Cal. 1 (Date_List) Option for a second calendar.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 69
BACnet

Property Description

Cal. 1 (Object_Name) Option for a second calendar.

Value-color-text Map Defines the association value – Color/Text shown in the schedule. Use this option
to define all possible values available in the BACNSched keypad.

Operation of Schedule Widget


The widget shows data for one week.

Use the < and > buttons to select the week to be displayed. The date of first day and last day of the week is shown.

Swing gesture can be used on the widget to select the date.

New

Press the button “New” to enter a new schedule item. The button is active only if the tag associated to Weekly Schedule or
Exception Schedule has been configured as Read/Write.

70 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Schedule item Description

Weekly Select the day and click Weekly button, the following dialog box appears. Then
select the desired value and the time when it should be set. Press OK to
confirm the new item.

Exception Click on a day to select a single day into the calendar.


Single
On the next dialog select the time window, the desired value and its priority.

Exception Click on the first day and on the last day to select a range of days into the
Range calendar.

l Single click on a day to change previous selected last day of the range.
l Double click on a day to change previous selected first selected day of
the range.

On the next dialog select the time window, the desired value and its priority.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 71
BACnet

Schedule item Description

Exception Select a Day or a Week for each year or each month.


MWD
On the next dialog select the time window, the desired value and its priority.

Exception This option is available only if scheduler is linked to a calendar (configured as


Cal Ref Read/Write)

Select the time window, the desired value and its priority. Value will set on all
days defined from the calendar. If there are more calendars associated with
Scheduler widget, select the calendar to use.

Clear All

Press the button “Clear All” to clear the content of the schedule object. The button is active only if the tag associated to the
calendar has been configured as Read/Write. The button is configured to react to onMouseClick and onMouseHold events.
The onMouseHold event will clear all data in the schedule. The onMouseClick event will recall a dialog box for selection of
data to clear. It is needed to choice to clear weekly data or exception data.

Refresh

Press the “Refresh” button to start a manual refresh of the data of the widget. Always press the Refresh button after
entering data in the schedule.

BACnet Effective Period Widget


Use the Effective Period widget to feed information to the Effective_Period tag of a Schedule object, if this is requested.

Property Description

BACnet Effective_ Attach to the Effective_Period tag of the Schedule object


Period

72 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Operation of Effective Period Widget
The widget shows starting date and end date for the period.

Click on the area showing the dates to activate the data entry procedure showing the keypad BACNDateRange.

The keypad shows data for one month.

Use the < and > buttons to select the month to be displayed. The date of first day of the month is shown.

You may use the swing gesture on the widget to select the date.

Select the period clicking of first day and last day of the period. The Effective_Period is show with a different color.

The keypad offers three predefined options:

Option Description

Always The schedule will be always active.

All Month The selected period will be extended to all months.

All Year The selected period will be extended to all years.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 73
BACnet

Option Description

Refresh

Press the “Refresh” button to start a manual refresh of the data of the widget. Always press the Refresh button after
entering data in the widget.

BACnet Keypads
BACnet widgets require dedicated keypads for data entry.

Keypad Description

BACNCal Keypad for BACnet Calendar.

BACNDateRange Keypad for BACnet Effective_Period.

BACNDefVal Keypad for default value (embedded in the BACnet Schedule).

BACNSched Keypad for BACnet Schedule.

This keypad is context sensitive. It will show different options depending on


the type of schedule.

The system is configured to recall the appropriate keypad for each BACnet widget.

Using BACnet Server


BACnet protocol is capable to act as BACnet Server, by exposing BACnet objects.

To properly setup BACnet Server, it is needed to execute the following steps:

1. Configure objects to expose from Protocol Editor Settings.

74 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Objects configured in above image can be discovered by BACnet clients:

2. Create Tags that points to local BACnet objects, setting Device ID as the Device ID configured in Protocol Editor
Settings:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 75
BACnet

Device objects description

Property Name Code Default value Permanent Note Data Type

APDU timeout 11 Parameter Yes UnsignedInt

Application software version 12 Read-only String

Database version 155 Read-only UnsignedInt

Daylight saving status 24 Read-only Boolean

Read-only 28 Parameter Yes String

Device address binding 30 Read-only String

Firmware revision 44 Read-only String

Local date 56 Read-only UnsignedInt

Local time 57 Read-only UnsignedInt

Location 58 Parameter Yes String

76 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Property Name Code Default value Permanent Note Data Type

Max APDU length accepted 62 Read-only UnsignedInt

Max info frames 63 Parameter Yes Only if MSTP String

Max master 64 Parameter Yes Only if MSTP String

Model name 70 Read-only String

Number of APDU retries 73 Parameter Yes UnsignedInt

Object identifier 75 Parameter Yes UnsignedInt +


Conversion

Object list 76 Read-only UnsignedInt +


Conversion

Object name 77 Parameter Yes String

Object type 79 Read-only UnsignedInt

Protocol object types 96 Read-only Boolean(51)


supported

Protocol revision 139 Read-only UnsignedInt

Protocol services supported 97 Read-only Boolean(40)

Protocol version 98 Read-only UnsignedInt

Segmentation supported 107 Read-only UnsignedInt

System status 112 Read-only UnsignedInt

UTC offset 119 Read-only Int

Vendor identifier 120 Read-only UnsignedInt

Vendor name 121 Read-only String

Analog Value objects description

Property Name Code Default value Permanent Note Data Type

Acked transitions 0 Read-only Boolen(3)

COV increment 22 0 Yes Float

Deadband 25 0 Yes Float

Description 28 "ANALOG Yes String


VALUE n”

Event enable 35 0 Yes Boolean(3)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 77
BACnet

Property Name Code Default value Permanent Note Data Type

Event state 36 0 Read-only UnsignedInt

Event time stamps 130 Yes UnsignedInt(3)

High limit 45 0 Yes Float

Limit enable 52 0 Yes Boolean(2)

Low limit 59 0 Yes Float

Notification class 17 4194303 Yes UnsignedInt

Notify type 72 0 Yes UnsignedInt

Object identifier 75 2:n Read-only UnsignedInt +


Conversion

Object name 77 "ANALOG Yes String


VALUE n”

Object type 79 2 Read-only UnsignedInt

Out of service 81 0 Yes Boolean

Present value 85 0 Float

Priority array 87 Read-only 16 Single tag String

Reliability 103 0 Yes UnsignedInt

Relinquish default 104 0 Yes Float

Status flags 111 Read-only Boolean(4)

Time delay 113 0 Yes UnsignedInt

Units 117 98 Yes Units

Binary Value objects description

Property Name Code Default value Permanent Note Data Type

Acked transitions 0 Read-only Boolean(3)

Active text 4 Yes String

Alarm value 6 0 Yes Boolean

Description 28 "BINARY VALUE n" Yes String

Event enable 35 0 Yes Boolean(3)

Event state 36 0 Read-only UnsignedInt

78 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Property Name Code Default value Permanent Note Data Type

Event time stamps 130 Yes UnsignedInt(3)

Inactive text 46 Yes String

Notification class 17 4194303 Yes UnsignedInt

Notify type 72 0 Yes UnsignedInt

Object identifier 75 5:n Read-only UnsignedInt +


Conversion

Object name 77 "BINARY VALUE n" Yes String

Object type 79 5 Read-only UnsignedInt

Out of service 81 0 Yes Boolean

Polarity 84 0 Yes UnsignedInt

Present value 85 0 Boolean

Priority array 87 Read-only 16 Single tag String

Reliability 103 0 Yes UnsignedInt

Relinquish default 104 0 Yes Boolean

Status flags 111 Read-only Boolean(4)

Time delay 113 0 Yes UnsignedInt

Multi State Value objects description

Property Name Code Default value Permanent Note Data Type

Acked transitions 0 Read-only Boolean(3)

Alarm values 7 Yes Defines number UnsignedInt


of array elements

Array of alarm UnsignedInt(n)


values (0:n)

Description 28 "MULTI STATE Yes String


VALUE n"

Event enable 35 0 Yes Boolean(3)

Event state 36 0 Read-only UnsignedInt

Event time stamps 130 Yes UnsignedInt(3)

Fault values 39 Yes Defines number UnsignedInt


of array elements

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 79
BACnet

Property Name Code Default value Permanent Note Data Type

Array of fault UnsignedInt(n)


values (0:n)

Number of states 74 1 Yes UnsignedInt

Notification class 17 4194303 Yes UnsignedInt

Notify type 72 0 Yes UnsignedInt

Object identifier 75 19:n Read-only UnsignedInt +


Conversion

Object name 77 "MULTI STATE Yes String


VALUE n"

Object type 79 19 Read-only UnsignedInt

Out of service 81 0 Yes Boolean

Present value 85 0 UnsignedInt

Priority array 87 Read-only 16 Single tag String

Reliability 103 0 Yes UnsignedInt

Relinquish default 104 0 Yes UnsignedInt

State text 110 Yes UnsignedInt

Status flags 111 Read-only Boolean(4)

Time delay 113 0 Yes UnsignedInt

Notification Class objects description

Property Name Code Default value Permanent Note Data Type

Ack required 1 0 Yes Boolean(3)

Description 38 "NOTIFICATION CLASS Yes String


n"

Notification class 17 4194303 Yes UnsignedInt

Object identifier 75 15:n Read-only UnsignedInt +


Conversion

Object name 77 "NOTIFICATION CLASS Yes String


n"

Object type 79 15 Read-only UnsignedInt

Priority 86 255,255,255 Yes UnsignedInt(3)

Recipient list 102 Yes UnsignedInt(n)

80 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Example of usage
Once BACnet Server Tags are configured, they can be used in combination with Data Transfer feature.

Example: Modbus TCP/RTU Tags can be transferred to BACnet Tags (with same data type). In this way, all BACnet
clients can reach BACnet Server and see actual value of Modbus Tags, using BACnet Tags as interface.

JavaScript Interface
Beside Tag interface the user can access the protocol via JavaScript.

Although defined Tags can be accesses by JavaScript too, JavaScript can access directly to a Command interface
implemented in protocol. This interface does not require the definition of Tags and is direct to protocol resulting in more
efficiency.

The following commands are supported:

Command Description

scan (minID, maxID, <timeout>) Executes a scan for devices in the given range.

scan_status Get the scanning result.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 81
BACnet

Command Description

devices Get the list of devices.

objectCount (deviceID, objectType) Get the object count of given object types in given
device.

objectNames (start, count) Get the part of object names asked by previous
objectCount.

properties (deviceID, objectType, objectInstance) Get the properties of given device/object.

l scan
Scan the bus to find all present devices having ID in the range minID – maxID.
To scan the whole network use 0 and 999999 ad minID and maxID.
The optional timeout can be indicated in milliseconds. Default value is 2000 ms.
The function starts the scan operation; the function scan_status can be used to know the status of the operation.
The result of the operation is “scanning”.

l scan_status
Get the status of last started scan operation. It returns “scanning” or “finished”.
Scan operation finishes when the timeout time is expired

l devices
Get the list of devices found by latest scan operation. The result is a JSON string containing of each device:
- device name
- model name
- vendor name
- vendor ID

Example:

{"minID":0,"maxID":999999,"devices":[262000,1101],"deviceNames":
["DEV262000","S01101"],"modelNames":["HMI model","EY-AS525F001"],"vendorNames":
["Company Name","SAUTER"],"vendorIDs":[262,80]}

82 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l objects
Get the list of all objects from the devices having the given ID.
The list is returned as a JSON string containing for each object
- type
- instance number

type can be:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 83
BACnet

l OBJECT_ANALOG_INPUT = 0,

84 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_ANALOG_OUTPUT = 1,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 85
BACnet

l OBJECT_ANALOG_VALUE = 2,

86 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_BINARY_INPUT = 3,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 87
BACnet

l OBJECT_BINARY_OUTPUT = 4,

88 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_BINARY_VALUE = 5,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 89
BACnet

l OBJECT_CALENDAR = 6,

90 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_COMMAND = 7,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 91
BACnet

l OBJECT_DEVICE = 8,

92 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_EVENT_ENROLLMENT = 9,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 93
BACnet

l OBJECT_FILE = 10,

94 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_GROUP = 11,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 95
BACnet

l OBJECT_LOOP = 12,

96 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_MULTI_STATE_INPUT = 13,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 97
BACnet

l OBJECT_MULTI_STATE_OUTPUT = 14,

98 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l OBJECT_NOTIFICATION_CLASS = 15,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 99
BACnet

l OBJECT_PROGRAM = 16,
l OBJECT_SCHEDULE = 17,
l OBJECT_AVERAGING = 18,
l OBJECT_MULTI_STATE_VALUE = 19,
l OBJECT_TRENDLOG = 20,
l OBJECT_LIFE_SAFETY_POINT = 21,
l OBJECT_LIFE_SAFETY_ZONE = 22,
l OBJECT_ACCUMULATOR = 23,
l OBJECT_PULSE_CONVERTER = 24,
l OBJECT_EVENT_LOG = 25,
l OBJECT_GLOBAL_GROUP = 26,
l OBJECT_TREND_LOG_MULTIPLE = 27,
l OBJECT_LOAD_CONTROL = 28,
l OBJECT_STRUCTURED_VIEW = 29,
l OBJECT_ACCESS_DOOR = 30,
l OBJECT_TIMER = 31,
l OBJECT_ACCESS_CREDENTIAL = 32,
l OBJECT_ACCESS_POINT = 33,
l OBJECT_ACCESS_RIGHTS = 34,
l OBJECT_ACCESS_USER = 35,
l OBJECT_ACCESS_ZONE = 36,
l OBJECT_CREDENTIAL_DATA_INPUT = 37,
l OBJECT_NETWORK_SECURITY = 38,
l OBJECT_BITSTRING_VALUE = 39,
l OBJECT_CHARACTERSTRING_VALUE = 40,
l OBJECT_DATE_PATTERN_VALUE = 41,
l OBJECT_DATE_VALUE = 42,
l OBJECT_DATETIME_PATTERN_VALUE = 43,
l OBJECT_DATETIME_VALUE = 44,
l OBJECT_INTEGER_VALUE = 45,
l OBJECT_LARGE_ANALOG_VALUE = 46,
l OBJECT_OCTETSTRING_VALUE = 47,
l OBJECT_POSITIVE_INTEGER_VALUE = 48,
l OBJECT_TIME_PATTERN_VALUE = 49,
l OBJECT_TIME_VALUE = 50,
l OBJECT_NOTIFICATION_FORWARDER = 51,
l OBJECT_ALERT_ENROLLMENT = 52,
l OBJECT_CHANNEL = 53,
l OBJECT_LIGHTING_OUTPUT = 54,
l OBJECT_BINARY_LIGHTING_OUTPUT = 55,
l OBJECT_NETWORK_PORT = 56,

100 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Other types are manufacturer specific.

l objectCount
Returns the number of objects of a defined type in the device having the indicated ID.
If specified type is -1 the command will return the number of all objects.

Example:
objectCount 1101 -1
77

objectCount 1101 0
1

objectCount 1101 1
1

objectCount 1101 3
2

objectCount 1101 29
16

l objectNames
Returns a part of the objects listed by a previous objectCount command, from start index. The list contains only
counted objects according to filter previously used
The list is returned as a JSON string containing for each object
- type
- instance number
- name

Example:

{"deviceID":1101,"objects":[{"type":29,"instance":0,"name":"0x7400000"},
{"type":29,"instance":16,"name":"0x7400010"},
{"type":29,"instance":18,"name":"0x7400012"},
{"type":29,"instance":19,"name":"0x7400013"},
{"type":29,"instance":20,"name":"0x7400014"},
{"type":29,"instance":21,"name":"0x7400015"},
{"type":29,"instance":22,"name":"0x7400016"},
{"type":29,"instance":23,"name":"0x7400017"},
{"type":29,"instance":24,"name":"0x7400018"},
{"type":29,"instance":25,"name":"0x7400019"},
{"type":29,"instance":26,"name":"0x740001a"},
{"type":29,"instance":27,"name":"0x740001b"},
{"type":29,"instance":28,"name":"0x740001c"},
{"type":29,"instance":29,"name":"0x740001d"},
{"type":29,"instance":30,"name":"0x740001e"},
{"type":29,"instance":31,"name":"0x740001f"}]}

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 101
BACnet

l properties
Returns the list of properties available for object with given type and instance number in device having the given ID.
The list is returned as a JSON string containing for each object
- deviceID
- object type
- object instance
- list of available properties

Example:

{"deviceID":1101,"objectType":2,"objectInstance":1,
"properties":
[22,28,36,65,69,75,77,79,81,85,87,103,104,111,117,168,8309,8314,8332,8333]}

Example of usage:

var tagMgr = project.getWidget("_TagMgr");


var protID = "prot2"; // to be set according to protocol numbering
var params = String(fromId) + " " + String(toId) + " " + String
(timeout); // fromID and toID are min and max IDs

var json_str = tagMgr.invokeProtocolCommand(protID , "scan", params, state); //json_


str containts JSON string with scanned devices.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported by this communication driver:

Error Cause

Cannot bind to the device_id Cannot establish communication with the Device ID provided for this tag.

Cannot read the property The type of the property to write cannot be determined.
data type

write conversion error A conversion associated to this tag has failed.

Cannot write ICOM type …. A datatype selected for this tag is not compatible with the BACnet
BACnet type …. property to set.

Timeout on COV A request for COV subscription for this tag has timed out.
subscription

Timeout on waiting COV A COV notification has not been received for this tag whithin timeout.
update

102 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Cause

Can't get COV for this The selected property for COV notification is unsupported.
property

datagramItem conversion A conversion associated to a tag that is part of a datagram has failed.
error

Timeout waiting on response No response for a request of read or write property within timeout.

datagram element …., no No data available for a tag that is part of datagram.
data available

datagram element …., Read datagram element is of unsupported BACnet type.


Unsupported BACnet data
type

datagram element …., can't A Data Type selected for a tag which is part of a datagram is not
convert BACnet type to …. compatible with the BACnet property to read.

No data in response No data available for a tag.

Datagram element 'element_ The reading of indicated datagram element 'element_URI' was reported
URI' error: 'error_class': as error. The error descriptions error_class and error_code are included
error_code in the message.

datagram object does not The object of the received datagram item does not match the asked
match object.

datagram property does not The property of the received datagram item does not match the asked
match property.

BACnet abort: reason_of BACnet abort message was received. The reason of abort is given.
abort

BACnet reject: reason_of_ BACnet reject message was received. The reason of rejection is given.
rejection

BACnet error: error_class: BACnet error message was received. The error description is given as
error_code combination of error_class and error_code.

parameter 'parameter_name' The protocol parameter parameter_name value is out of range.


out of range

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 103
Beckhoff ADS

Beckhoff ADS
Beckhoff ADS protocol driver is used for communication with Beckhoff controllers through Ethernet connection. This
implementation of Beckhoff ADS protocol driver is based on the information published by Beckhoff.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol “Beckhoff ADS” from the list of available protocols.

Element Description

Alias Name to be used to identify nodes in the plc network configuration. The name will be added as a
prefix to each tag name imported for each network node.

Panel Specifies the AMS net ID of the panel; the first 4 bytes must match the panel IP address
AMS assigned to the HMI device. If panel has IP address 192.168.10.100 then AMS Net ID could be
Net ID 192.168.10.100.1.1

Panel Specifies the panel AMS port number to be used on panel.

104 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

AMS Using TwinCAT2, default Panel AMS Port is 32976.


Port
Using TwinCAT3, default Panel AMS Port is 32844.

Target Specifies the IP address of the target controller.


IP
Address

Target Specifies the Target AMS net ID of the target controller.


AMS
Net ID

Target Specifies the port number dedicated to the communication on target device.
AMS
Using TwinCAT2, default Target AMS Port is 801.
Port
Using TwinCAT3, default Target AMS Port is 851.

Timeout The number of milliseconds between retries when communication fails.

PLC Select the model which corresponds to the device to be connected. Model selection is very
models important to be set properly.

PLC The protocol allows the connection of multiple controllers to one operator panel. To set-up
Network multiple connections, check “PLC network” checkbox and enter the Target Controller settings for

every node.

TwinCAT2 Route Settings


Beckhoff controllers require some specific settings to allow connection from HMI devices.

In TwinCAT2 System Manager you need to configure Static Route.

First of all the system must be reset in Configuration Mode using the toolbar button as showed in the following figure.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 105
Beckhoff ADS

Then confirm to Restart TwinCAT2 System in Config Mode as in the figure below.

Once restarted, as in the next figure, follow these steps to add a new Route:

1. Open Route Settings.


2. Select Static Routes tab.
3. Click on [Add] button.

106 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Into Add Route Dialog user must set:

1. Route Name: a name useful to indentify the Route i.e. “HMI”, AmsNetId: The Panel AMS Net ID as configured into
Beckhoff ADS protocol, Transport Type: TCP/IP.
Address Info: Type in the Panel IP Address with “IP Address” option selected.
2. Target Route: Static.
3. Click on [Add Route] button. Note: no warning or message will be shown.
4. Click on [Close] button.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 107
Beckhoff ADS

Then the route will appear under Static Routes list.

TwinCAT3 Route Settings


Beckhoff controllers require some specific settings to allow connection from HMI devices. In TwinCAT3 XAE you need to
configure a Static Route.

First of all TwinCAT3 system must be reset in Configuration Mode using the toolbar button as showed in the following
figure.

108 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Then confirm to Restart TwinCAT3 System in Config Mode.

Once restarted, as in the next figure, follow these steps to add a new Route:

1. Open Routes.
2. Select Static Routes tab.
3. Click on [Add] button.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 109
Beckhoff ADS

Into Add Route Dialog user must set:

1. Route Name: a name useful to indentify the Route i.e. “HMI”, AmsNetId: The Panel AMS Net ID as configured into
Beckhoff ADS protocol, Transport Type: TCP/IP.
Address Info: Type in the Panel IP Address with “IP Address” option selected.
2. Target Route: Static.
3. Click on [Add Route] button. Note: no warning or message will be shown.
4. Click on [Close] button.

110 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Then the route will appear under Static Routes list.

Tag Import
Exporting Tags from PLC
The data in the Beckhoff system is based on tags.

The organization of the internal memory of the controller is not fixed but it is configured by the user at development time.
Each data item can be identified by a string called “tag”.

The TwinCAT development environment generates the list of tags created for each controller in the configuration of the
application.

The project in the panel must refer to the tag names assigned in the TwinCAT PLC Control programming software at
development time. The Designer Tag Editor supports direct import of the tag file generated by the Beckhoff software.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 111
Beckhoff ADS

To export tags defined for the selected controller, click on Project > Build as shown.

The TwinCAT PLC Control software will create a file with extension TPY.

112 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importing Tags in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Importer Description

TwinCAT v1.0 Requires a .tpy file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Note: the Beckhoff driver supports direct access to the PLC tags using the handles; this means that if no tags
are added to the PLC and the PLC program is just re-compiled, you do not need to re-import tags as the access
to them does not depend from the offset, but only from name.

Once the importer has been selected, locate the symbol file and click Open.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 113
Beckhoff ADS

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Using TwinCAT v1.0 Import Filter


When importing tags, the user can decide to import all the tags from the .tpy file or apply a filter importing only a subset of
them.

The figure below shows how to specify the filter. The filter consist in a string (no wildcards are supported). The import filter
will import only the tags having the specified string in the description.

If the description is applied to an “instance declaration” of a Function Block, all the tags within the block will be imported.

If the string is contained only as comment of some variables inside the Function Block, only that variables will be imported.

114 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
As an example for the use of the import filter, please see the following case.

FUNCTION_BLOCK FB_Motor
VAR_INPUT
bStartMotor: BOOL;
bReset: BOOL;
END_VAR
VAR_OUTPUT
bMotorOn: BOOL;
bAlarm: BOOL;(* HMI Thermal alarm *)
END_VAR
VAR
sData: STRING;
bResetStatistics: BOOL; (* HMI Reset statistics *)
END_VAR
VAR PERSISTENT
stStat: ST_MotorStats; (* HMI Motor statistics *)
END_VAR

Function block instances declaration:


VAR
fbMotor1: FB_Motor;
fbMotor2: FB_Motor; (* HMI only show Motor 2!! *)
END_VAR

The following tags will be imported:

l MAIN/fbMotor2/bAlarm
l MAIN/fbMotor2/bResetStatistics
l MAIN/fbMotor2/ST_MotorStats

Aliasing Tag Names in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 115
Beckhoff ADS

an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

Note: Aliasing tag names is only available when tags can be imported. Tags which are added manually in the
Tag Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you
modify the Alias string after the tag import has been completed, there will be no effect on the names already
present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported
again with the new prefix string.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

116 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 117
CAN Direct v2.0x

CAN Direct v2.0x


CAN Direct communication driver allows to communicate with CAN devices over CAN ports of HMI.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

CANport Indicates the CAN port used.

Allowed values are 0, 1, 2, 3 according to hardware platform.

CANbaud Indicates the baudrate.

Allowed values are 100, 125, 250, 500, 800, 1000.

PLC Models Fixed to default.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select CAN Direct from the protocol list: tag definition dialog is displayed.

118 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
There are two Tags type:

l FRAME
l VAR

FRAME definition

Element Description

Type This table refers to FRAME type

Datatype For FRAME type, there are two data type available:

Data Type Memory Space Limits

unsignedByte 8-bit data 0 ... 255


frame Mode

unsignedInt[3] Array of 32 bit integers


idx 0 frame Mode
idx 1 frame Length
idx 2 frame Time

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 119
CAN Direct v2.0x

Element Description

Conversion No conversion allowed for FRAME type

CAN frame ID 11 or 29 bit CAN frame identifier

Extended Frame checked: Frame is 29 bit type

not checked: Frame is 11 bit type

Frame Length 1..1024: Length of data, expressed in bytes. Default is 8

Mux Info Multiplexer information. If the frame is multiplexed it contains the following info:

Bit 0 to 15 position of multiplexer in frame (MSbit if multiplexer is big-endian)

Bit 16 to 21 size if multiplexer in bit (1 to 63)

Bit 22 set if multiplexer is big-endian

If frame is not multiplexed Mux Info contains 0

Bit Size of field (Grayed out) not available for frames

Frame MODE Indicates direction and transmission mode:

RX: received frame

TXall: frame is sent when all variables in frames are written

TXany: frame is sent when any variable in frame is written

TXperiod: frame is sent every TIME milliseconds

Validity Time or For RX frames: indicates the validity time of variables (0=forever), expressed in
Period milliseconds

For TX frames: indicates the sending period, expressed in milliseconds

Writing to elementsof the frame tag it is possible to control the behavior

idx 0 frame Mode it is possible to redefine the mode from RX to TX---- etc.

idx 1 frame Length it is possible to adapt frame length on the fly before sending the frame

idx 2 frame Time it is possible to redefine the sending time period for TXperiod mode or the timeout for Rx mode

in case of Mode = TXperiod and Time = 0 every write acceszs to the frame TAG will trigger a transmission of the frame

VAR definition

Element Description

Type This table refers to VAR type

Datatype For VAR type, available data types are:

120 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ...


127

short 16-bit data -32768 ...


32767

int 32-bit data -2.1e9 ...


2.1e9

int64 64-bit data -9.2e18 ...


9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ...


1.8e19

float IEEE single-precision 32-bit floating 1.17e-38


point type ... 3.4e38

double IEEE double-precision 64-bit floating 2.2e-308


point type ...
1.79e308

string Array of elements containing character code


defined by selected encoding

Conversion

BCD Swap Swap2 Swap4 Swap8 and Negate conversions are possible according to
DataType

CAN frame ID 11 or 29 bit CAN frame identifier. It must match the predefined FRAME Tag.

Mux Val If the frame is multiplexed each frame can contain different information according to
the value of multiplexed field. This filed define for which value of multiplexer this VAR
must be updated. In this case bit 0 of flags must be set. Otherwise tha VAR will be

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 121
CAN Direct v2.0x

Element Description

updated every time the frame is received

Start bit in frame Indicates the starting position int bits (0-63) of the data

Var size in bits Indicates the number of bits of data

Frame Mode (grayed out) not available for VAR

Flags Bit 0 indicates that the VAR is multiplexed

Bit1 indicates that VAR value is big-endian

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected

122 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Type Description

CANDirect v1.0 Requires a .sym file generated by WE ICCS SDK PLUS specifying inversion of
Linear direction and type 1, or by other Symbol editors like PCAN Symbol Editor

All variables will be displayed at the same level.

Vector DBC+ v1.0 Requires a .dbc file generated by Vector CANdb++ Editor
Linear
All the frames will be generated with type = Rx, so frames created for
transmission must be reedit after importation

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 123
CAN Direct v2.0x

Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Example of usage
Define TX Frame
In this example, Tag1 is declared as FRAME tag.

It sends a message to the ID 600 (258HEX) every 100 miliseconds.

124 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Define RX Frame
In data definition on CODESYS V2:

1. In sendpack object, define the frame ID (yellow)


2. In sendpack object, define the frame length
3. In "Data" array write the value that must be written

Declare Tag2 as FRAME type, with frame MODE set to RX. CAN frame ID must be the same as ID set in data definition
on CODESYS side (yellow).

Note: On protocol side, CAN frame ID is expressed in decimal format.

Declare Tag3, Tag4 and Tag5 as VAR type. CAN frame ID must be the same as ID set in data definition on
CODESYS side (yellow).

For each VAR tag, set the correct Start bit in frame property.

Refer to following image, which summerize the above example.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 125
CAN Direct v2.0x

JavaScript Interface
Beside Tag interface the user can access the protocol via JavaScript.

126 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Although defined Tags can be accesses by JavaScript too, JavaScript can access directly to a Command interface
implemented in protocol. This interface does not require the definition of Tags and is direct to protocol resulting in more
efficiency.

This interface provides the access to token queue and sending function. The following commands are supported:

Command Description

put Put the token to send contained in string parameter.

get Get the received token.

get_token_length Get the length of received token.

tokens_available Get number of tokens received.

token_ack Acknowledge reading token.

Using the command interface the following JS code should receive data:

var tagMgr = project.getWidget("_TagMgr");


var protID = "prot2"; // to be set according to protocol numbering

var avail = tagMgr.invokeProtocolCommand(protID, "tokens_available", "");


while (pasteInt(avail) > 0)
{
var str = tagMgr.invokeProtocolCommand(protID, "get", ""); // get the next
token
var status = tagMgr.invokeProtocolCommand(protID, "token_ack",""); //
acknowledge current token
avail = tagMgr.invokeProtocolCommand(protID, "tokens_available",""); // get
number of available tokens in queue
}

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 127
CANopen HMI

CANopen HMI
The CANopen HMI communication driver has been designed to connect HMI products to a CANopen network. A new
device communication profile has been developed for the HMI. This profile takes advantage from the advanced user
interface features of the products, while retaining the simple networking concept supported by the CANopen network.

The basic idea is create a client/server communication structure where the HMI is the client and the CANopen controller is
the server.

Connection to CANopen network requires the optional CANopen communication module. Verify the suitable version for
your HMI model.

Please note that changes in the controller protocol or hardware, which may interfere with the functionality of this driver, may
have occurred since this documentation was created. Therefore, always test and verify the functionality of the application.
To accommodate developments in the controller protocol and hardware, drivers are continuously updated. Please ensure
that the latest driver is used in the application.

CANopen HMI Profile


In this communication model the HMI initiates the communication sessions, acting as a source of messages.

The basic messages are PDO messages with the standard size of 8 bytes.

The COB-ID of the messages is defined in a way that makes clear, from the well-known CANopen rules, what is the target
of the PDO message.

The format of the PDO message has been defined according to a custom application layer protocol. This application layer
protocol defines a device-independent communication profile optimized for HMI applications.

When the CANopen master controller receives the PDO message, it will interpret its contents and produce a PDO
message with the response addressed to the HMI device.

The definition of this client/server relationship is independent of the CANopen Master in the sense that it can easily be
supported in any particular CANopen master system. The resulting solution is easily portable to any CANopen master.

The software IDE offers a user interface that adapts itself to show the typical addressing model of CANopen master
controller where the panel is going to be connected.

Adapting to different masters is possible using a profile customization file that may contain data definitions for different
controller types.

Profile Details
This chapter provides the specification of the HMI profile and describes the subset of the request/response formats used
by this implementation of the protocol.

The communication driver in the HMI generates PDO messages initiating communication request sessions as soon as the
HMI runtime requires data from the protocol.

The panel is using the first transmit PDO identified by the COB-ID 0x180 combined with the Node Number assigned to the
panel.

The communication profile uses only one transmit PDO and one receive PDO; the limited number of bytes available in
standard PDO message maybe limiting, in some cases, the driver capabilities especially in terms of performance.

Request Format: HMI to Controller (Transmit PDO)


The PDO message transmitted by the HMI is formatted according to the following table.

128 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Byte Byte Byte Byte
Byte 0 Byte 1 Byte 6 Byte 7
2 3 4 5

Offset Offset Data Data Data Data Data Length and Job Operation Type and
Low High 0 1 2 3 Number Controller ID

The request frame includes the following elements:

Offset Low Low byte of the offset (16 bits address) for the requested block of data

Offset High High byte of the offset (16 bits address) for the requested block of
data

Data 0 … Data 3 Data for Write Operations; not used in Read Operations

Data Length and Job Number Contains:

l number of requested bytes


l job Number indicator;

Operation Type and Controller Contains:


ID
l type of operation requested
l the Controller ID that identifies the target of the message;

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Data Data Job Job Job Job Job Job


Length [1] Length [0] Number [5] Number [4] Number [3] Number [2] Number [1] Number [0]

The “Data Length” parameter is coded in 2 bits and takes values between 1 and 4 according to the following rules:

00 1 bytes

01 2 bytes

10 3 bytes

11 4 bytes

Note that the elementary size of each data item depends on the Controller memory organization.

The “Job Number” occupies 6 bits and can have values between 0 and 63; the “Job number” parameter is placed as last
element in the PDO to ensure data consistency; the PLC program running the controller should constantly monitor the
value of the “Job Number” parameter and consider the received message as valid only when detecting a change in the
value of the “Job Number” field. “Job Number” is automatically increased at each new communication session (new request
frame).

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Operation Controller Controller Controller Controller Controller Controller Controller


Type ID [6] ID [5] ID [4] ID [3] ID [2] ID [1] ID [0]

The “Operation Type” uses one bit with the following definition:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 129
CANopen HMI

0 Read data is transferred from controller

1 Write data is transferred to controller

The “Controller ID” uses 6 bits; it represents the Node Number in the CANopen network of the master controller addressed
by the current request.

This parameter is required in case the CAN network has more than one master controller; the CANopen standard defines in
fact the COB-ID of the messages in a way that all the partners of the bus known the originator. In case more than one
master device is present in the same network, the “Controller ID” field will specify the target of each individual request
message. Only the master controller that recognizes in this field its own Node ID will consider the message and process
the PDO contents.

Response Format: Controller to Panel (Receive PDO)


The PDO message returned by the controller must be formatted as defined in the following table.

Byte Byte Byte Byte


Byte 0 Byte 1 Byte 6 Byte 7
2 3 4 5

Status Flag / Dummy – Data Data Data Data Data Length and Operation Type and
Error Code Always 0 0 1 2 3 Job Number Controller ID

The request frame consists of the following elements:

Status Flag / Error Contains the information related to the execution of the operation type of the request;
Code the next table shows the coding information

Data 0 … Data 3 Contain the data information returned to the panel in response to a Read request

Data Length and Job It is the copy of the corresponding field of the request frame
Number

Operation Type and It is the copy of the corresponding field of the request frame
Controller ID

Status Flag / Error Code

Operation Type in the Request Frame No Errors Error

Read 0x01 0x81

Write 0x02 0x82

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “CANopen HMI” from the list of available protocols.

The driver configuration dialog is shown in figure.

130 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Panel ID CANopen node ID assigned to the HMI

Controller CANopen Node ID assigned to the CAN controller device


ID

Baud Speed of the CANopen network


Rate (
kbps)

Timeout Maximum allowed time the driver will wait for a response from the PLC before reporting a
(s) communication error

Enable Use this option to enable a wait time between two communication requests
Update
Rate

Update Minimum interval time between two requests; it can be useful when the bus load needs to be
Rate (ms) properly controller and limited

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 131
CANopen HMI

Element Description

PLC The list allows selecting the controller model you are going to connect to. The selection will
Models influence the data range offset per each data type according to the specific controller memory
resources

PLC The protocol allows the connection of multiple controllers to one operator panel. To set-up
Network multiple connections, check “PLC network” checkbox and enter the node ID per each slave you
need to access.

Connecting the HMI to CODESYS V2 Controllers


This chapter describes all the steps you have to follow in order to establish a successful connection between the HMI and
CODESYS CANopen master controller.

The PLC support program has been developed with CODESYS programming software version 2.

PLC Library Call


The server function running in the PLC program has been designed in the form of Library called “HMI_Canh”, written using
the “ST” programming language. Proper working example is available on demand.

The Function Block parameters are the following:

MasterID CANopen Master Node number;

MinBound Lower limit of the PLC memory addressable (visible) by the HMI

MaxBound Upper limit of the PLC memory addressable (visible) by the HMI

HHIr Offset in the PLC memory where the PDO message received from the panel is mapped

HMIt Offset in the PLC memory where the PDO message to be sent to the panel is mapped

MemPt Offset in the PLC memory where the data is received

Status Status

132 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The PLC Function block support the use of more than one panel simply repeating the call of the same function for all the
additional units specifying before each call the proper calling parameters.

CODESYS V2 4PDO
In some cases it is useful to choose the model “CODESYS 4 PDO” where 4 PDO objects are used for transmission and 4
for reception. This solution may provide higher communication speed between the two devices.

To operate with 4 PDO the correct model should be set in HMI project and the PDOs for receive and transmit slots.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 133
CANopen HMI

Note: CANopen Master PLC Configuration must be configured properly. In case of “CODESYS 4 PDO”.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

Line Returned when an error on the communication parameter setup is detected (baud rate); ensure
Error the communication parameter settings of the controller is compatible with panel communication
setup

Invalid The panel did receive from the controller a response, but its format or its contents or its length is
response not as expected; ensure the data programmed in the project are consistent with the controller
resources.

CAN Make sure option module is correctly plugged


port not
found

CAN Make sure option module is not already in use


port in
use

General Error cannot be identified; should never be reported; contact technical support
error

134 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
CANopen SDO
CANopen SDO communication driver allows to communicate with CANopen Master devices over CAN ports of HMI.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

PanelID Indicates the ID of the panel as a slave in the CANopen network.

Allowed values are 1 to 127

CANport Indicates the CAN port used.

Allowed values are 0, 1, 2, 3 according to hardware platform.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 135
CANopen SDO

Element Description

CANbaud Indicates the baudrate.

Allowed values are 100, 125, 250, 500, 800, 1000.

Enable Allow handshaking with the CANopen Master during single or multiple write to PLC
Handshaking operations.

If selected the NewData Ready flag (obj 0x9000 sub1) will remain at 1 until Master will
read the indicated object, until a timeout.

Default is FALSE.

Timeout (s) Timeout for waiting for Master reading new data when Handshaking is enabled (in
seconds) .

Default is 2 seconds.

Use Select the compatibility with uniopDS403-04.EDS file.


uniopDS403-
If selected the object 0x9000 will be compatible with older versions.
04
Default is FALSE (use uniopDS403-04B).

PLC Models Fixed to default.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select CANopen SDO from the Driver list: tag definition dialog is displayed.

136 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Type Selects the internal data base in which the tag will be defined Possible values are:

l INT232 Data Base (any combination of binary and decimal values)


l FLOAT Data Base (single IEEE754 floating point values)

Datatype For INT32 Data Base type, the available types are:

Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

string Array of elements containing character code defined by selected


encoding

For FLOAT Data Base type the possible value is:

Data Type Memory Space Limits

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 137
CANopen SDO

Element Description

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the
string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8
or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.

138 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

GHEFCDAB Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

It is possible to import a Tag Editor exported xml

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 139
CANopen SDO

Type Description

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

140 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
CODESYS V2 ETH
CODESYS V2 ETH communication driver for supports communication through Ethernet connection with controllers based
on the CODESYS V2.3 version.

Protocol Editor settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

IP address Ethernet IP address of the controller.

Port Port number used by the CODESYS V2 Ethernet driver. The default value is set to 1200,
which is also the default setting of CODESYS-based controllers.

Block Size Maximum block size supported by your controller (limit is 1024 KB ).

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 141
CODESYS V2 ETH

Element Description

Timeout Time delay in milliseconds between two retries of the same message when communication
(ms) fails.

Protocol Protocol variant to be used. Please make sure you check which protocol variant is supported
type by the CODESYS runtime you want to connect.

Source Available only when TCP/IP Level 2 Route is selected in Protocol Type. The Destination is
Address, the node of the PLC and allows the protocol to read variables in a sub-network. The address is
Destination used to read variables when multiple PLCs are connected in a sub-network (serial network)
Address but only one have the Ethernet interface.

PLC Two PLC models are available.


Models
l Intel
l Motorola

PLC IP address for all controllers in multiple connections. PLC network check box must be
Network selected to enable multiple connections.

CODESYS V2 Ethernet driver supports connection to multiple controllers starting from version V1.60.

Note: CODESYS V2 Ethernet driver is recommended when creating projects for the internal controller iPLC
CODESYS. To use the CODESYS V2 Ethernet driver with iPLC, configure the IP address of the PLC as
localhost (127.0.0.1).

iPLC CODESYS supports communication with CODESYS V2 Ethernet driver with symbol based support starting from
V1.55 and above.

142 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Adding an alias name to a protocol
Tag names must be unique at project level, however, the same tag names might need to be used for different controller
nodes (for example when the HMI device is connected to two devices running the same application).

When creating a protocol you can add an alias name that will be added to tag names imported for this protocol.

In the example, the connection to a certain controller is assigned the name Node1. When tags are imported for this node,
all tag names will have the prefix Node1 making each of them unique at the network/project level.

Note: Aliasing tag names is only available for imported tags. Tags added manually in the Tag Editor cannot have
the Alias prefix in the tag name.
The Alias string is attached at the time of tag import. If you modify the Alias string after the tag import has been
completed, there will be no effect on names already present in the dictionary. When the Alias string is changed
and tags are re-imported, all tags will be re-imported with the new prefix string.

CODESYS software settings


When creating the project in CODESYS, select Download symbol file.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 143
CODESYS V2 ETH

Note: CODESYS V2 Ethernet communication driver supports the automatic symbol file (SDB) upload from the
PLC; any change in the tag offset due to new compilation of the PLC program does not require a symbol file re-
import. Tag file has to be re-imported only in case of tag rename or definition of new tags.

When the option Download symbol file is not available or cleared, the protocol can work only if the ProjectId tag is
imported. If the tag offset changes because of a new compilation of the PLC program, the symbol file must be re-imported.

Data types
The import module supports variables of standard data types and user defined data types.

144 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Supported l BOOL
data types l WORD
l DWORD
l INT
l UINT
l UDINT
l DINT
l STRING *
l REAL
l TIME
l DATE & TIME

and 1-dimensional ARRAY of the types above. See "Programming concepts" section in the main
manual.

Note *: String length for a STRING variable in PLC should be max 80 characters. Declare a
STRING variable either with a specified size (str: STRING(35) or default size (str: STRING)
which is 80 characters.

Unsupported l LWORD
data types l LINT
l LREAL

Tag conversion
Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 145
CODESYS V2 ETH

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

146 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Tag Import
Exporting Tags from PLC
When configuring PLC using the manufacturer’s configuration software, enable Symbol file (.sym extension) creation under
the CODESYS programming software:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 147
CODESYS V2 ETH

1. In the Project menu, click Options.


2. Click Symbol configuration.
3. Select Dump symbol entries.
4. Click OK.

Note: Click then Configure symbol file… and select Export variables of object. We recommend to clear the
check box and re-select to be sure about the proper settings.

In some cases, duplication of symbols for variables associated to integrated I/O modules in the “.sym” file may be
experienced. To remove the duplication selected the “PLC Configuration” voice from the objects list and uncheck the option
“Export variables of object”.

148 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importing Tags in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Importer Description

CODESYS2 sym v1.1 Requires a .sym file.


Linear
All variables will be displayed at the same level.

CODESYS2 sym v1.1 Requires a .sym file.


Hierarchical
All variables will be displayed according to CODESYS V2 Hierarchical view.

CODESYS2 sym_xml Requires a .sym_xml file.


v1.0
All variables will be displayed according to CODESYS V2 Hierarchical view.
Hierarchical

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 149
CODESYS V2 ETH

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Exporting tag arrays


In CODESYS V2 program tag arrays are split into individual elements and one tag for each element is created. In the
following example one array with 10 elements.

150 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: If Export array entries is selected, a tag for each element will be created and exported into the .sym file.
The entire tag list will be automatically imported into the Tag editor.

By clearing Export array entries only one tag for each one array can be created.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 151
CODESYS V2 ETH

Note: When Export array entries has been cleared, only one tag is created and exported into the .sym file. The
array is not automatically imported in the Tag editor and tags need to be manually configured in Tag editor.

All tag elements can be referenced in the editor using TagIndex in the Attach to Tag dialog.

152 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported by this communication driver:

Error Cause and action

Symbols file not present Check Symbol file and download again the PLC program.

“tag” not present in Symbols files Check if the Tag is present into the PLC project.

Time out on Acknoledge Controller didn’t send acknowledge.

Time out on last Acknoledge Controller didn’t sent last ack.

Time out on data reciving Controller does not reply with data.

Connection timeout Device not connected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 153
CODESYS V2 SER

CODESYS V2 SER
The CODESYS V2 SER communication driver has been designed for serial communication with controllers based on
CODESYS V2.3.

Please note that changes in the controller protocol or hardware, which may interfere with the functionality of this driver, may
have occurred since this documentation was created. Therefore, always test and verify the functionality of the application.
To accommodate developments in the controller protocol and hardware, drivers are continuously updated. Accordingly,
always ensure that the latest driver is used in the application.

Limitations
Max block size is 1024 byte.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “CODESYS Serial” from the list of available protocols.

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added
as a prefix to each tag name imported for each network node

Block Size Enter the max block size supported by your controller (limit is 1024 )

Timeout The number of milliseconds between retries when communication fails

Num of repeats This parameter defines the number of times a certain message will be sent to the
controller before reporting the communication error status.

A value of 1 for the parameter “No of repeats” means that the panel will eventually
report the communication error status if the response to the first request packet is not
correct.

154 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC Model Defines the byte order that will be used by the communication driver when sending
communication frames to the PLC

Port Serial port selection.

l COM1 is the PLC port.


l COM2 is PC/Printer port on panels with 2 serial ports or refers to the optional
plug-in module plugged in Slot 1/2 for panels with 1 serial port on-board.
l COM3 refers to the optional plug-in module plugged in Slot 3/4 for panels with 1
serial port on-board.

Baudrate, Parity, Communication parameters for the serial line.


Data bits, Stop
bits

CODESYS Software Settings


When creating the project in CODESYS, the option Download Symbol File (in Target Settings/General) must be checked.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 155
CODESYS V2 SER

Note: CODESYS Serial communication driver supports the automatic symbol file (SDB) upload from the PLC;
any change in the tag offset due to new compilation of the PLC program does not require a symbol file re-import.
Tag file has to be re-imported only in case of tag rename or definition of new tags.

When the option Download symbol file is not available or not checked, the protocol can work only if the ProjectId tag is
imported. Any change in the tag offset due to new compilation of the PLC program requires that symbol file is imported
again.

Standard Data Types


The following data types in the CODESYS programming tool are considered standard data types by the import module:

BOOL

WORD

DWORD

INT

UINT

UDINT

DINT

STRING

156 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
REAL

TIME

DATE & TIME

and 1-dimensional ARRAY of the types above.

The 64-bit data types LWORD, LINT and LREAL are not supported.

String length for a STRING variable in PLC should be max 80 characters. Declare a STRING variable either with a
specified size (str: STRING(35)) or default size (str: STRING) which is 80 characters.

Tag Conversion
Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 157
CODESYS V2 SER

Value Description

GHEFCDAB Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Tag Array
Tag Arrays are split into individual elements and one Tag for each element is created. The figure below shows an example
of one Array with 10 elements

158 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: When “Export array entries” is set, a tag for each element is created and exported into the SYM file. The
entire tag list is automatically imported into Tag Editor.

The amount of tags can be reduced and only one Tag for each one array can be created by removing the checkbox “Export
array entries”, see figure below.

Note: When “Export array entries” is not set, only one tag is created and exported into the SYM file. The Array
will not be automatically imported in Tag Editor and Tags need to be manually configured in Tag Editor

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 159
CODESYS V2 SER

All Tag elements can be referenced in the editor using “TagIndex” in the “Attach to Tag” dialog

Aliasing Tag Names in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”.

160 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: An Aliasing tag name is only available when tags can be imported. Tags which are added manually in the
Tag Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you
modify the Alias string after the tag import has been completed, there will be no effect on the names already
present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported
again with the new prefix string.

Tag Import
When configuring PLC using the manufacturer’s configuration software, make sure to enable Symbol file creation (file with
.SYM extension). It can be done under the CODESYS programming software, by selecting “Project\Option\Symbol
configuration” and mark the check box “Dump symbol entries” as shown in the picture below.

Note: Click then on the “Configure symbol file…” button and make sure the “Export variables of object” check
box is marked as shown in the following picture. We recommend to un-check the check box and mark it again to
be sure about the proper settings.

Select the driver in the Studio tag editor and click on the “Import tag” button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 161
CODESYS V2 SER

Locate the “.sym” file and confirm.

The tags present in the exported document are listed in the tag dictionary from where they can be directly added to the
project using the add tags button as shown in the following figure.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

Symbol file not present Check Symbol file and download again the PLC program

“tag” not present in Symbol file Check if the Tag is present in the PLC project

Time out on Acknowledge Controller didn’t send acknowledge

Time out on last Acknoledge Controller didn’t send last acknowledge

Time out on data receiving Controlled does not reply with data

Connection timeout Device not connected

162 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
CODESYS V3 ETH
The CODESYS V3 ETH communication driver supports communication thought Ethernet connection with controllers
based on the CODESYS V3 PLC software by the company 3S.

Note: To accommodate developments in the controller protocol and hardware, drivers are continuously updated.
Make sure the latest driver is used in the application.

Note: Changes in the controller protocol or hardware may have occurred since this documentation was created.
This may interfere with the functionality of this driver. Therefore, always test and verify the functionality of the
application.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a prefix
to each tag name imported for each network node.

IP Ethernet IP address of the controller


address

Full Since some implementations of CODESYS V3 at runtime require all four values of the IP address

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 163
CODESYS V3 ETH

Element Description

node to be specified in the protocol frames, this flag forces the protocol to create IP addresses using all
address four address fields of the IP.

Variable Variable List is the best method to achieve higher performance in the CODESYS V3
list communication protocol, as it allows requesting multiple data items in a single protocol session.
count
Since some implementations of CODESYS V3 at runtime have a limited number of Variable Lists
that can be allocated, this parameter allows you to set the maximum number of Variable Lists the
communication driver tries to create in the PLC.

PLC Byte order that will be used by the communication driver when sending communication frames to
Model the PLC.

Timeout Number of milliseconds between retries when communication fails.

PLC Enable access to multiple networked controllers. For every controller (slave) set the proper
Network option.

Note: Refer to the controller documentation to verify required values for the parameters Full node address or
Variable list count.

Tag Import
Exporting Tags from PLC
When creating the project using CODESYS V3, properly configure the symbol file to contain the required variables.

164 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
1. To add the Symbol configuration in CODESYS V3 project, right click on the Application item from the project tree,
then into the context menu select Add Object > Symbol configuration. The symbol configuration item will be added
to the project tree.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 165
CODESYS V3 ETH

2. Double click on Symbol configuration item, then click on "Build" button.

3. Symbol configuration item contains a list of all the variables available into the CODESYS V3 project, single
variables or groups of variables can be selected by checking the corresponding item in the list.

4. After the symbols have been configured, download the project or use the Generate code function (Build > Generate
code) to create an .xml file containing all the variables read to be imported in the Tag Editor.

Note: GVL global variables are listed in Symbols Configuration only if they are used in PLC program.
To always list global variables right click on GVL and select "Properties". From "Build" tab check "Link Always"
option.

166 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 167
CODESYS V3 ETH

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Importer Description

CODESYS3 xml v1.0 Requires an .xml file.


Linear
All variables will be displayed at the same level.

CODESYS3 xml v1.0 Requires an .xml file.


Hierarchical
All variables will be displayed according to CODESYS V3 Hierarchical view.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

168 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Adding an alias name to a protocol


Tag names must be unique at project level, however, the same tag names might need to be used for different controller
nodes (for example when the HMI device is connected to two devices running the same application).

When creating a protocol you can add an alias name that will be added to tag names imported for this protocol.

In the example, the connection to a certain controller is assigned the name Node1. When tags are imported for this node,
all tag names will have the prefix Node1 making each of them unique at the network/project level.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 169
CODESYS V3 ETH

Note: Aliasing tag names is only available for imported tags. Tags added manually in the Tag Editor cannot have
the Alias prefix in the tag name.
The Alias string is attached at the time of tag import. If you modify the Alias string after the tag import has been
completed, there will be no effect on names already present in the dictionary. When the Alias string is changed
and tags are re-imported, all tags will be re-imported with the new prefix string.

Data Types
The import module supports variables of standard data types and user defined data types.

170 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Supported l BOOL
data types l INT
l SINT
l UINT
l UDINT
l DINT
l STRING*
l REAL
l LREAL
l BYTE
l ULINT
l LINT

and 1-dimensional ARRAY of the types above. See "Programming concepts" section in the main
manual.

Note *: String length for a STRING variable in PLC should be max 80 characters. Declare a
STRING variable either with a specified size (str: STRING(35) or default size (str: STRING)
which is 80 characters.

Unsupported l LWORD
data types l LINT

Tag conversion
Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 171
CODESYS V3 ETH

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

172 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Application Status
The protocol provides the special data type Application Status which allows you to check or change the applications
status.

Functionality available only if supported by the CODESYS device

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 173
CODESYS V3 ETH

The tags pointing to Application Status must contains into field "Tag name" the name of the PLC application (frequently the
default name is "Application")

If the HMI device is connected to a network with more than one controller node, each node has its own Application Status
variable.

Application Status Description

0 RUNNING

1 STOPPED

2 HALTED ON BreakPoint

It is not possible to write 2 as new status

251 Reboot CODESYS device

252 Shutdown CODESYS

253 Reset ORIGIN

254 Reset COLD

255 Reset WARM

Communication Status
Current communication status can be displayed using System Variables. See "System Variables" section in the main
manual.

174 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Control Techniques Modbus TCP
Control Techniques Unidrive M Series are using Modbus TCP protocol where the device id should be always set to 0 or
255. This communication protocol is known as Control Techniques Modbus TCP. The HMI protocol identifies Control
Techniques Modbus TCP devices using their IP addresses

You should take note of these addresses as you assign them because you will need them later in the set-up phase of the
user interface application. The HMI protocol can be set to access to a different menu range

Different physical media, gateways, routers and hubs can be used in the communication network. Also, other devices can
independently make simultaneous use of the network. However, it is important to ensure that the traffic generated by these
devices does not degrade the communication speed (round-trip time) to an unacceptable level.

The implementation of the protocol operates as a Modbus TCP client only.

The HMI Control Techniques Modbus TCP protocol uses the standard port number 502 as the destination port.

The HMI Control Techniques Modbus TCP protocol supports the standard commonly referred as “Ethernet II”.

Protocol Editor Settings


Add (+) a new driver in the Protocol editor and select the protocol called “Control Techniques Modbus TCP” from the list of
available protocols.

The driver configuration dialog is shown in figure.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 175
Control Techniques Modbus TCP

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a prefix
to each tag name imported for each network node

IP Ethernet IP address of the controller


address

Port Port number used by the Modbus TCP driver; the default value can be changed when the
communication goes through routers or Internet gateways where the default port number is
already in use

Modbus This parameter define the communication protocol used and needs to be set in according with the
Mode setting made on the drive (parameter S.15.013). Modified mode is provided to allow register
numbers up to 255 to be addressed. If any menus with numbers above 63 should contain more
than 99 parameters, then these parameters cannot be accessed via Modbus.

Protocol Register address

Standard (menu number * 100) + parameter number - 1

where menu number ≤ 162 and parameter number ≤ 99

Modified (menu number * 256) + parameter number – 1

where menu number ≤ 63 and parameter number ≤ 255

Timeout Defines the time inserted by the protocol between two retries of the same message in case of
(ms) missing response from the server device. Value is expressed in milliseconds.

176 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC Selection of device models that may affect operation of the protocol.
Models
Currently only one model is available

PLC The protocol allows the connection of multiple controllers to one operator panel. To set-up
Network multiple connections, check “PLC network” checkbox and enter IP Address for all controllers.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The error codes supported by this communication driver are:

Error Notes

No response Returned when a request is not replied within the specified timeout period; ensure the
controller is connected and properly configured to get network access

Incorrect node The panel did receive from the controller a response with invalid node address
address in
response

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 177
Control Techniques Modbus TCP

Error Notes

The received The panel did receive from the controller a response with invalid format
message too short

Incorrect writing Controller did not accept write request; ensure the data programmed in the project are
data acknowledge consistent with the controller resources

178 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
CT Modbus CMP ETH
The CT Modbus CMP ETH communication protocol is known also as “Modbus over CTNet”

CMP stands for CTNet Message Protocol; it is a messaging system designed to implement distributed control
applications. The protocol permits exchange of parameters between Control Techniques drives and HMI devices, SCADA
systems or other computer applications.

CMP is normally encapsulated in an existing network protocol. CMP has been successfully encapsulated also into the
Modbus network. The communication protocol support implements the Modbus encapsulation of CMP.

Unidrive SP drives support the CTNet network using optional communication units called “SM Applications” modules.

Please note that changes in the communication protocol specifications or PLC hardware may have occurred since this
documentation was created. Some changes may eventually affect the functionality of this communication driver. Always
test and verify the functionality of your application. To fully support changes in PLC hardware and communication
protocols, communication drivers are continuously updated. Always ensure that the latest version of communication driver
is used in your application.

Concept of Operation
The network topology supported by the HMI communication protocol is shown in the figure below.

The HMI panel will communicate with a set of drives over the network; drives are addressed using their Modbus ID node
number.

Each drive can host up to three SM application boards; they may be used for CTNet communication.

The addressing model is based on a three level space; from the HMI point of view, each drive is identified with a unique ID
composed of a maximum of three numbers; the ID can be calculated looking to the network topology.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 179
CT Modbus CMP ETH

Protocol Editor Settings


Add (+) a driver in the Protocol Editor and select the protocol called “CT Modbus CMP ETH” from the list of available
protocols.

The CT Modbus CMP ETH driver supports three different protocol types:

l none
l CTNet
l Ethernet

The protocol type can be selected from the “Routing Type” combo box in the dialog.

180 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Some of the parameters of the dialog are common to all the protocol types, some others are specific.

The parameters common to all protocol types are the following:

Element Description

Modbus ID Valid slave node addresses are 1 through 247. In the request from the protocol master this
Slave Nr value indicates the target slave node.

Slot Nr This value gives the option slot to which the message is directed. The port/slot mapping is as
follows:

Port Message addressed to

1 Option in slot 1

2 Option in slot 2

3 Option in slot 3

IP address Ethernet IP address of the controller

Port Allows to change the default port number used by the Modbus TCP driver; it could be useful
whenever the communication goes through Routers or Internet gateways where the default
port number is already in use. Default value for this parameter is 502.

Routing The FC64 encapsulated protocol includes extra destination fields to be used for message
type routing between nodes on different networks. The combination of CMP destination port and
CMP destination subnode address or subnode addressing scheme fields, allows a Modbus
TCP server to decide whether to process a received message or retransmit the message
through another port onto a different communications network.

User can select one of the following routing methods:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 181
CT Modbus CMP ETH

Element Description

l None: means that the communication will be established directly to the drive. The
message is directed to a drive or to an option in the drive, and there is no routing onto a
subnetwork to be performed.
l CTNet: users can enter CTNet node number which represents the drive in the
subnetwork.
l Ethernet: SM-Ethernet modules will provide the capability to reroute messages on
Ethernet.

Routing When Ethernet routing method has been selected, you have to enter Routing IP Address,
CTNode ID Routing port, Routing Slave ID, Destination Port and Destination Subnode of the drive you
want to connect. For more information on routing, please check the drive user's manual or CT
Routing IP
Modbus specification.
Address

Routing
Port

Routing
Slave ID

Destination
Port

Destination
Subnode

PLC The protocol allows the connection of multiple drives to one operator panel. To set-up multiple
Network connections, check “PLC Network” checkbox and enter parameters for each drive you want to
connect.

PLC Model Selection of device models that may affect operation of the protocol.

Currently only one model is available

182 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Configuring the Drives
This protocol only supports Ethernet connection.

The Unidrive SP does not have a built-in Ethernet interface. So SM-Ethernet modules are required. The Modbus ID must be
set in each drive (parameter 00.37 or 11.23)

The “Reduce SP serial interface priority” parameter in the SM-Ethernet module should be set to “True” (parameter 15.37,
16.37 or 17.37 depending on which slot the SM-Ethernet module is found).

Addressing the Drives


The HMI will address the drives in different ways, depending on their position in the network.

In case the drive to be addressed is attached to the Modbus network and is the master of a CTNet network, it is sufficient
to specify its Modbus address.

In case the drive is a CTNet slave, it will require an address depending on its logical position in the network. The 3-digit
identifier is composed of the following elements:

l the first number is the Modbus Node ID of the drive master of the CTNet network
l the second number is the slot where the SM application card is plugged-in
l the third number is the CTNet node number of the drive.

When the drive master of the CTNet network has only one SM application unit, the slot information specified into the HMI
project is not relevant. In fact, the communication protocol supports an automatic recognition of the slot number; this
makes possible to move the SM application board to another slot, maintaining the same configuration at HMI project level.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 183
CT Modbus CMP ETH

Locate the .xml file exported from Tag Editor and click Open.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

184 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags from tag
dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new dictionary
import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the chapter
“system variables” about available types and their use.

The codes supported for this communication driver are:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 185
CT Modbus CMP ETH

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

Invalid The panel did receive from the controller a response, but its format or its contents or its length is
response not as expected; ensure the data programmed in the project are consistent with the controller
resources.

General Error cannot be identified; should never be reported; contact technical support
Error

186 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Delta Modbus RTU
Delta Modbus RTU communication driver has been designed to connect HMI devices to Delta PLC through Serial
connection.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 187
Delta Modbus RTU

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

Node ID Serial node associated to the PLC.

Timeout Time delay in milliseconds between two retries in case of missing response from the server
(ms) device.

delay Time delay in milliseconds between the end of the last received frame and the starting of a new
request. If set to 0, the new request will be issued as soon as the internal system is able to
reschedule it.

Num of Number of times a certain message will be sent to the controller before reporting the
repeats communication error status.

When set to 1 the panel will report the communication error if the response to the first request
packet is not correct.

Transmis l RTU: use RTU mode


sion l ASCII: use ASCII mode
Mode
Note: When PLC network is active, all nodes will be configured with the same
Transmission Mode.

PLC PLC model available:


Models
l DELTA DVP-PLC

PLC Net IP address for all controllers in multiple connections. PLC Network must be selected to enable
work multiple connections.

188 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Comm... If clicked displays the communication parameters setup dialog.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 189
Delta Modbus RTU

Element Description

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in module plugged on
slot#1 or slot#2
l COM3: Optional Plug-in module plugged on
slot#3 or slot#4

Baudrate, Parity, Data Bits, Stop Serial line parameters.


bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Tag Editor Settings


In Tag Editor select Delta Modbus RTU protocol.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

190 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Memory Type Description


Type
Input X resources. Corresponding to internal digital Input point.

Output Y resources. Corresponding to internal digital Output point.

Auxiliary Relay M resources. Corresponding to PLC internal memory.

Step Relay S resources.

Timer Contact T resources.

Counter Contact C resources.

Timer Value TV resources.

Counter Value CV resources.

Counter 32bit Value CV32 resources.

Data Register D resources.

Node Override ID see Special Data Types for mode details

Offset Starting address for the Tag. The possible range depend on PLC model selected.

Subindex This allows resource offset selection depending on the selected data type.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 191
Delta Modbus RTU

Element Description

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ...


point type 1.79e308

string Array of elements containing character code defined by


selected encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

192 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 193
Delta Modbus RTU

Element Description

Value Description


1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Node Override ID
The protocol provides the special data type Node Override ID which allows you to change the node ID of the slave at
runtime. This memory type is an unsigned byte.

The node Override ID is initialized with the value of the node ID specified in the project at programming time.

Node
Modbus operation
Override ID

0 Communication with the controller is stopped. In case of write operation, the request will be transmitted
without waiting for a reply.

1 to 254 It is interpreted as the value of the new node ID and is replaced for runtime operation.

255 Communication with the controller is stopped; no request messages are generated.

Note: Node Override ID value assigned at runtime is retained through power cycles.

194 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 195
Delta Modbus RTU

Type Description

DELTA PLC v1.0 Requires a .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

196 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 197
Direct Serial

Direct Serial
Direct Serial communication driver is a generic protocol that allows low level access to serial functions.

Using this protocol the application itself can realize some serial based protocol (RS-232/485/422) without requirement for a
development of a dedicated protocol.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

198 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Rx Token Prefix Indicates the prefix for read token, as string specified by hexadecimal characters.

Rx Token Suffix Indicates the suffix for read token, as string specified by hexadecimal characters.

Token Gap Indicates the period between tokens, in milliseconds.

Tx Token Prefix Indicates the prefix for sent token, as string specified by hexadecimal characters.

Tx Token Suffix Indicates the suffix for sent token, as string specified by hexadecimal characters.

Hexadecimal checked = tokens are in hexadecimal


Tokens
not checked = tokens are not in hexadecimal

Token Queue Size Indicates the number of tokens in the queue, as an integer value from 1 to 10000 (default: 100)

These parameters are determining the behavior of the driver during RX and TX operations, as defined in next
paragraphs. In addition the standard communication parameters are available.

All protocols parameters can be overwritten at runtime using the appropriate memory types, so the complete
setup can be achieved during runtime using Tags. Settings using memory types are saved to permanent storage
using standard procedures. The “Serial Done” memory type is used in order that all set parameters are
transferred to usage at once. If any of the serial parameter is changed the serial driver is re-programmed.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Direct Serial from the protocol list: tag definition dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 199
Direct Serial

Element Description

Memory Name Datatype Description


Type
Token To Send string Write only. Writing on this memory type sends the
given string to communication.

Token Received string Read only. Reading from this memory type gets the
front token from the receiving queue.

Length of Token Received unsignedInt Read only. Returns the length in bytes of the front
token from the receiving queue.

Tokens Available unsignedInt Read only. Gives the number of tokens in the
receiving queue.

Token Acknowledge boolean Write only. Writing to this memory type removes the
front token from the receiving queue.

Serial Baudrate unsignedInt Overrides serial baudrate parameter.

Serial Bits unsignedByte Overrides serial bits parameter.

Serial Stop Bits unsignedByte Overrides serial stop bit parameter.

Serial Parity unsignedByte Overrides serial parity parameter.

Serial Mode unsignedByte Overrides serial mode parameter.

Rx Token Prefix string Overrides protocol parameters. Check "Protocol


Editor Settings" from details.
Rx Token Suffix string

Token Gap unsignedInt

Tx Token Prefix string

Tx Token Suffix string

Hexadecimal Tokens boolean

Token Queue Size unsignedInt

Serial Done boolean Writing to this memory type transfers all new values
written in the other tags to protocol parameters, and
to permanent storage.

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

unsignedByte 8-bit data 0 ... 255

200 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Memory Space Limits

unsignedInt 32-bit data 0 ... 4.2e9

string Array of elements containing character code defined by selected


encoding

Note: to define arrays. select one of Data Type format followed by square brackets like “byte[]”,
“short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 201
Direct Serial

Element Description

Value Description

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Implementation Details

Receiving algorithm
The protocol applies a separate thread that receives the characters from specified serial port.

When tokens (substrings) are identified they are put into the receiving queue (as strings).

202 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Both ASCII and binary mode are available. When binary data can be present into receiving stream the Hexadecimal
Tokens parameter can be set. In this case tokens are stored in queue using hex string coding (each byte is stored using
two chars representing the hex value 0 to F). When defining the tags used to read tokens the appropriate string length
should be computed considering the binary mode.

The Token Queue Size parameter specifies the maximum number of tokens saved into the queue. When the queue
becomes full the oldest token is discarded.

The token identification is as follows:

l if the parameters specify a rx-prefix all characters before detecting the prefix are ignored

l if protocol specifies a rx-suffix it is used to detect the token end

l if rx-suffix is specified the parameter 'gap' specifies the timeout after which the token receiving is restarted

l if rx-suffix is not specified the parameter gap specifies the timeout that terminates the token (anything received up to
this interval). If within this time the rx-prefix is detected again the token is ended and stored and reception of a new
token is started

In summary we can have four combinations:

a. No rx-prefix and rx-suffix: the incoming stream is divided in tokens according to gap detection

b. Rx-prefix specified but no suffix: all the received chars before prefix are ignored. All the chars after prefix are stored
in a token till the gap detection

c. Rx-prefix and Rx-suffix specified: all the chars between prefix and suffix are stored in a token. All the chars received
before prefix or after suffix till the gap detection or till a new prefix are ignored

d. Rx-suffix specified but not RX-prefix: all the chars received till suffix are stored in a token. All the chars received
after suffix till the gap detection are ignored

The rx-prefix and rx-suffix parameters are specified as hex strings, so any characters can be specified (like DLE STX CR
LF etc...). i.e. to define the string “STR” as prefix the string “535452” must be used.

Before putting string to the receiving queue the prefix and suffix are removed (only 'payload' saved).

Transmission algorithm
The strings to be transmitted are prepared adding the “Tx-prefix” in front and the “Tx-suffix” in the end, if defined. Then the
whole string is transmitted immediately.

Interface to user project


Reading a tag defined as Token Received gets the front string from the queue. If there are no new tokens an empty string
is returned.

Reading a tag defined as Length of Token Received gets the length in bytes of the token.

Reading a tag defined as Tokens Available gets the number of tokens currently stored in the queue.

Writing to a tag defined as Token Acknowledge removes the token from queue and makes available the next token if
present.

Writing to a tag defined as Token To Send means immediate sending, without any queue used.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 203
Direct Serial

JavaScript Interface
Beside Tag interface the user can access the protocol via JavaScript.

Although defined Tags can be accesses by JavaScript too, JavaScript can access directly to a Command interface
implemented in protocol. This interface does not require the definition of Tags and is direct to protocol resulting in more
efficiency.

This interface provides the access to token queue and sending function. The following commands are supported:

Command Description

put Put the token to send contained in string parameter.

get Get the received token.

get_token_length Get the length of received token.

tokens_available Get number of tokens received.

token_ack Acknowledge reading token.

Using the command interface the following JS code should receive data:

var tagMgr = project.getWidget("_TagMgr");


var protID = "prot2"; // to be set according to protocol numbering

var avail = tagMgr.invokeProtocolCommand(protID, "tokens_available", "");


while (pasteInt(avail) > 0)
{
var str = tagMgr.invokeProtocolCommand(protID, "get", ""); // get the next
token
var status = tagMgr.invokeProtocolCommand(protID, "token_ack",""); //
acknowledge current token
avail = tagMgr.invokeProtocolCommand(protID, "tokens_available",""); // get
number of available tokens in queue
}

VCS access
The protocol supports the remote (virtual com port) access in exclusive mode.

When VCS is enabled the serial line usage is suspended and serial line becomes available for remote user. At the end the
protocol is restarted. The content of the token queue is lost.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

204 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Locate the Tag Editor Exported symbol file and click Open.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 205
Direct Socket

Direct Socket
Direct Socket protocol is a generic protocol that allows low level access to socket functions.

Using this protocol the application itself can realize some IP based protocol without requirement for a development of a
dedicated protocol.

Direct Socket protocol can be used as a standard (tag interface) protocol but also there is the appropriate implementation of
DoCommand interface to enable using protocol from JavaScript.

The protocol can be used only with client socket type.

The protocol supports just one client socket. In case that application requires many sockets there could be many protocols
installed, as the protocol supports multi-instance.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

206 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Protocol parameters define a way how the connection is set and how the tokens are exchanged. The parameters are
generally defined by the project. Many parameters can be accessed also as variables, allowing the runtime changes.

Element Description

Socket type Type of socket used for communication. Possible choices are UDP or TCP.

Remote IP Address String. Indicates the IP address of remote device.

Remote Port Integer. Indicates the port used by remote device.

Local IP Address String. Indicates the IP address of local device. Mandatory for UDP usage.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 207
Direct Socket

Element Description

Local Port Integer. Indicates the port used by local device. Mandatory for UDP usage.

Broadcast Type Type of broadcast used. Possible choices are Global or Local.

The following parameters are determining the behavior of the driver during RX and TX operations, as defined
Implementation Details chapter.

Element Description

Rx Token Prefix Indicates the prefix for read token, as string specified by hexadecimal characters.

Rx Token Suffix Indicates the suffix for read token, as string specified by hexadecimal characters.

Token Gap Indicates the period between tokens, in milliseconds.

Tx Token Prefix Indicates the prefix for sent token, as string specified by hexadecimal characters.

Tx Token Suffix Indicates the suffix for sent token, as string specified by hexadecimal characters.

Hexadecimal checked = tokens are in hexadecimal


Tokens
not checked = tokens are not in hexadecimal

Token Queue Size Indicates the number of tokens in the queue, as an integer value from 1 to 10000 (default: 100)

All protocols parameters can be overwritten at runtime using the appropriate memory types, so the complete
setup can be achieved during runtime using Tags. Settings using memory types are saved to permanent storage
using standard procedures. The “Done” memory type is used in order that all set parameters are transferred to
usage at once. If any parameter is changed the driver is re-programmed.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Direct Socket from the protocol list: tag definition dialog is displayed.

208 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 209
Direct Socket

Element Description

Memory Name Datatype Description


Type
Token To Send string Write only. Writing on this memory type sends the
given string to communication.

Token Received string Read only. Reading from this memory type gets
the front token from the receiving queue.

Length of Token Received unsignedInt Read only. Returns the length in bytes of the front
token from the receiving queue.

Tokens Available unsignedInt Read only. Gives the number of tokens in the
receiving queue.

Token Acknowledge boolean Write only. Writing to this memory type removes
the front token from the receiving queue.

Connect boolean Write only. Writing 1 to this variable enables the


connection.

Connection Status boolean Read only. Gives the status of the connection In
TCP mode it reflects effective connection with the
peer. In UDP mode it is TRUE as soon as Connect
is TRUE

Socket type string Overrides protocol parameters. Check "Protocol


Editor Settings" from details.
Remote IP Address string

Remote Port unsignedShort

Local IP Address strgin

Local Port unsignedShort

Broadcast Type string

Rx Token Prefix string

Rx Token Suffix string

Token Gap unsignedInt

Tx Token Prefix string

Tx Token Suffix string

Hexadecimal Tokens boolean

Token Queue Size unsignedInt

Done boolean Writing to a tag of this memory type transfers all


new values written in the other tags to protocol
parameters, and to permanent storage.

210 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

string Array of elements containing character code defined by selected


encoding

Note: to define arrays. select one of Data Type format followed by square brackets like “byte[]”,
“short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 211
Direct Socket

Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

212 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Implementation Details

Principle of operation
Protocol is parameterized by number of protocols parameters. The parameters define which socket type is used and the
host address.

The data access is based on ‘tokens’. Token is data string that can be surrounded by prefix and suffix.

The protocol receiving process reads data from the specified IP/port and identifies tokens. Identified tokens are put to the
queue from where they can be read by application. In the sending direction the application writes the token to protocol.

Protocol adds the defined tx_prefix/tx_suffix and sends data to the defined host.

Token extraction
The token extraction is slightly different for UDP and TCP sockets.

UDP protocols starts searching for tokens at the start of the received datagram. The search ends at the datagram end. If no
rx_prefix is specified the token starts at datagram start. If no rx_suffix is specified the token ends on the datagram end. By
specifying neither prefix nor suffix the whole datagram is delivered as a token. When both prefix and suffix are specified
there can be many tokens extracted from a single datagram.

TCP protocol starts searching for tokens immediately after the previous rx_prefix. The search ends either when suffix is
found or if the time gap without data is detected. If neither prefix nor suffix is specified the tokens will be all received data
separated by time gaps.

The tokens can be plain ASCII strings, or hexadecimal strings. This is defined by the parameter ‘hex_tokens’.

The prefix/suffix strings must always be in hexadecimal format.

Common behavior
Both ASCII and binary mode are available. When binary data can be present into receiving stream the Hexadecimal
Tokens parameter can be set. In this case tokens are stored in queue using hex string coding (each byte is stored using
two chars representing the hex value 0 to F). When defining the tags used to read tokens the appropriate string length
should be computed considering the binary mode.

The Token Queue Size parameter specifies the maximum number of tokens saved into the queue. When the queue
becomes full the oldest token is discarded.

The token identification is as follows:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 213
Direct Socket

l if the parameters specify a rx-prefix all characters before detecting the prefix are ignored
l if protocol specifies a rx-suffix it is used to detect the token end
l if rx-suffix is specified the parameter 'gap' specifies the timeout after which the token receiving is restarted
l if rx-suffix is not specified the parameter gap specifies the timeout that terminates the token (anything received up to
this interval). If within this time the rx-prefix is detected again the token is ended and stored and reception of a new
token is started

In summary we can have four combinations:

a. No rx-prefix and rx-suffix: the incoming stream is divided in tokens according to gap detection
b. Rx-prefix specified but no suffix: all the received chars before prefix are ignored. All the chars after prefix are stored
in a token till the gap detection
c. Rx-prefix and Rx-suffix specified: all the chars between prefix and suffix are stored in a token. All the chars received
before prefix or after suffix till the gap detection or till a new prefix are ignored
d. Rx-suffix specified but not RX-prefix: all the chars received till suffix are stored in a token. All the chars received
after suffix till the gap detection are ignored

The rx-prefix and rx-suffix parameters are specified as hex strings, so any characters can be specified (like DLE STX CR
LF etc...). i.e. to define the string “STR” as prefix the string “535452” must be used

Before putting string to the receiving queue the prefix and suffix are removed (only 'payload' saved).

Interface to user project


Reading a tag defined as Token Received gets the front string from the queue. If there are no new tokens an empty string
is returned.

Reading a tag defined as Length of Token Received gets the length in bytes of the token.

Reading a tag defined as Tokens Available gets the number of tokens currently stored in the queue.

Writing to a tag defined as Token Acknowledge removes the token from queue and makes available the next token if
present.

Writing to a tag defined as Token To Send means immediate sending, without any queue used.

Data traffic control


The TCP sockets can be controlled by variables “Connect” and “Connection Status”. If the bool variable “Connect” is set
the protocol will permanently try to make the connection to the specified host. If the TCP connection breaks it will be re-
established automatically. If the variable “Connect” is false the protocol will wait. The state of connection can be read by
variable Connection Status”.

For UDP there is no connection control. The socket is always connected and sends/receives data.

JavaScript Interface
Beside Tag interface the user can access the protocol via JavaScript.

Although defined Tags can be accesses by JavaScript too, JavaScript can access directly to a Command interface
implemented in protocol. This interface does not require the definition of Tags and is direct to protocol resulting in more
efficiency.

This interface provides the access to token queue and sending function. The following commands are supported:

214 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Command Description

set_ip_address <ip> <port> Specify the remote IP/port couple to use for connection.

If protocol is already connected it is disconnected from current peer and re-


connected to new one.

connect <ON|OFF> Enables/disables the connection.

get_stat Status of connection <connected|disconnected>.

put <string> Put the token to send contained in string parameter.

get Get the received token.

get_token_length Get the length of received token.

tokens_available Get number of tokens received.

token_ack Acknowledge reading token.

Using the command interface the following JS code should receive data:

var tagMgr = project.getWidget("_TagMgr");


var protID = "prot2"; // to be set according to protocol numbering

var avail = tagMgr.invokeProtocolCommand(protID, "tokens_available", "");


while (pasteInt(avail) > 0)
{
var str = tagMgr.invokeProtocolCommand(protID, "get", ""); // get the next
token
var status = tagMgr.invokeProtocolCommand(protID, "token_ack",""); //
acknowledge current token
avail = tagMgr.invokeProtocolCommand(protID, "tokens_available",""); // get
number of available tokens in queue
}

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Locate the Tag Editor Exported symbol file and click Open.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 215
Direct Socket

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

216 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
DMX512 Digital Multiplex
This document describes and specifies the implementation of DMX512 Digital Multiplex communication driver.

Purpose of implementation is to allow driving up to 512 channels connected to a RS485 serial line, or to merge additional
channels, or to overwrite existing channels to an existing DMX controller.

Possible topologies
Normal mode

In normal mode only Tx signal of the serial line is connected.

Merge mode

In merge mode the existing serial line must be opened and the origin line must be connected to Rx input.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 217
DMX512 Digital Multiplex

Element Description

Port COM port to be used. Serial line parameters are fixed.

Number of 1 - 512. Defines the number of channels transmitted in the multiplex flame.
Channels

Frame Delay 10 - 1000. Defines inter-frame delay to adapt to specifications of slaves. Delay is
(ms) applied at the end of frame so the real frame rate is determined by formula: (approx)

Time (microsec) = 120 + 20 + 40 x (nr of channels) + Frame Delay * 1000

Merge Mode Selects the Merge Mode in which the unit receives a frame from an external controller
and substitutes the values of some of the channels or add other channels in the end of
the frame

PLC Models Only "default" is available.

Tag Editor Settings


In Tag Editor select DMX512 Digital Multiplex protocol.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

218 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Each channel can be assigned to a Tag.

Element Description

memtype Memory Type Description

channel Only available memory type.

index Refer to channel number to point to.

datatype Data Type Memory Space Limits

short 16-bit data -32768 ... 32767

Channel behavior
Only available DataType is short (signed 16-bit data) so a Tag can assume values from -32768 to 32767. Anyway the
protocol uses only values from 0 to 255.

Other values are used in Merge Mode: when the channel overwrites an existing channel the negative values are used to
disable overwriting.

Value Normal Mode Merge Mode

0 to 255 0 to 255 0 to 255

> 255 255 255

<0 0 original value of channel in the incoming frame

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 219
DMX512 Digital Multiplex

It is possible to import a Tag Editor exported xml

Type Description

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

220 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 221
Ethernet/IP CIP

Ethernet/IP CIP
The protocol has been implemented according to the published Ethernet/IP specifications (available from www.odva.org).

The Ethernet/IP CIP driver has been designed to provide the best performance with the least amount of impact on the
system's overall performance. Although the Ethernet/IP CIP driver is fast, we suggest to use short Tag names. Tags are
read from and written to the device by specifying their symbolic name in the communications request, therefore the longer
the tag name is, the larger the request will be.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Field Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

IP Ethernet IP address of the controller.


Address

Slot CPU slot number for Logix 5000 models (typically 0). Refer to the controller documentation for
further details.

222 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Field Description

PLC PLC model used to import tags file.


Models

PLC Enable access to multiple networked controllers. For every controller (slave) set the proper
Network option.

Controller Model Logix 5000


The Ethernet/IP CIP driver allows to connect Allen-Bradley ControlLogix and CompactLogix Ethernet controllers.

Communication with ControlLogix® 5500 controllers can be accomplished through an Ethernet/IP communication module
for Ethernet such as the 1756-EN2T or 1756-ENET.

Ethernet communication with CompactLogix™ 5300 controllers requires a processor with a built-in Ethernet/IP port such
as the 1769-L32E.

All trademarks are the property of their respective owners.

The internal memory organization of the Logix CPUs is not fixed but configured by the user at development time. Each data
item can be identified by a string called “Tag”. The RSLogix 5000 software can then export to the application the list of Tags
created for each controller.

The project loaded on the HMI device must refer to Tag names assigned in RSLogix 5000 software at development time.
The Tag Editor supports direct import of the Tag file generated by RSLogix 5000 software in .CSV format.

The implementation of the Ethernet/IP driver also supports access to structured data types which can be imported from
.L5X files.

The driver supports access to both Controller and Program Tags.

Export CSV and L5X files using RSLogix5000


To export the .CSV Tag file:

1. From the Controller Organizer pane, right-click on Controller Tags.


2. Select Export Tags: the Export dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 223
Ethernet/IP CIP

3. Choose All from the Tags list to export all Tags.


4. Select the Save as type option to .CSV.
5. Click Export: all the Tags are exported to an .CSV file.

To export the .L5X data type file:

1. Choose File > Save As.


2. Select the Save as type option to .L5X.
3. Click Save: all the Tags are exported to an .L5X file.

224 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Import Files in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 225
Ethernet/IP CIP

Select Allen-Bradley RSLogix5000 v15 option.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

226 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Note: When importing the array data types, the importer is expanding them creating individual Tags per each
array element; this is valid for all the data types, except for arrays of boolean. In this case they are imported as
“boolean-32” and the single array element can be addressed using “Tag Index” parameter from “Attach to…”
dialog.

Module-Defined and User-Defined data types


RSLogix 5000 allows you to define Tags with several data types.

Data type group Description

Predefined Standard data types such as BOOL, DINT, SINT, INT


and other less common data types such as PID, COUNTER, TIMER.

Module-Defined Data type associated with I/O optional modules usually referenced by aliases.

User-Defined Custom data type defined by user

In order to import Predefined (with the exception of standard data types which are always imported) and Module-Defined
data type you need to edit the ETIPSpecialDataTypes.xml file located under languages\shared\studio\tagimport or
studio\tagimport depending on installed version.

In RSLogix5000 software:

1. From the Controller Organizer pane, select Controller Tags.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 227
Ethernet/IP CIP

2. Filter tags to display only Module-Defined Tags.

Only tags (alias) with data type belonging to optional I/O Modules will be displayed.

228 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In this example alias HYS_Point_IO_Rack_20:I refers to data type AB:1734_3SLOT:I:0. Expand this tag to see how this
data type is structured:

To make sure that HYS_Point_IO_Rack_20:I, and all his sub-tags, will be imported into the project, open the
ETIPSpecialDataTypes.xml file in any text editor and check if the AB:1734_3SLOT:I:0 data type is included. If so you can
proceed with the following data type. If not, you need to add it manually.

The structure is as in this example:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 229
Ethernet/IP CIP

where:

l aaa = Alias/Tag data type


l bbb = Sub-tag Name (it's sub-tag name part after dot)
l ccc = Sub-tag data type
l ddd = Array dimension (0 if it is not an array)
l eee = Style

In the example above:

3. Repeat step 2 for all Module-Defined data types.


4. Repeat the procedure from step 2, filtering Tags to display only Predefined Tags.

Controller Model Omron Sysmac


Data in NJ and CJ controllers can be accessed via CIP protocol.

Each data item can be identified by a string called “Tag”. Use appropriate programming tools for controller to export the list
of Tags.

NJ series controller are programmed using Sysmac Studio:

l NJ301-xxxx
l NJ501-xxxx

CJ series controller are programmed using CX-One:

l CJ2M CPU-3x
l CJ2H CPU 6x-EIP
l Any CPU with a CJ1W-EIP21 attached.

The project loaded on the HMI device must refer to the Tag names assigned in the programming software at development
time. The Tag Editor supports direct import of the Tag file generated by Sysmac Studio software in .NJF format or
generated by CX-One in the .CJF format.

All Tags to be accessed by the HMI device must be declared as Global Variables.

Export NJF files using Sysmac Studio


To export the .NJF Tag file:

1. In Sysmac Studio declare Tags as Global Variables.


2. Set the Network Publish attribute to Publish Only.

230 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
2. From the Tools menu, choose Export Global Variables > CX-Designer.

3. Click OK to confirm.
4. Cut and paste the content of the clipboard in any text editor.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 231
Ethernet/IP CIP

4. Save the file as .NJF.

Note: Using Notepad as text editor, make sure to save the text file with .NJF extension by selecting "Save as
type" as "All Files" although the file will be named *.njf.txt and it will not be visible from importer.

Export CJF file using CX-One


To export the .CJF Tag file:

1. In CX-One open the Symbols file in the project.


2. In the Edit Symbol dialog set the Net. Variables attribute to Publication.

232 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. Copy and paste all the Tags in any text editor.

4. Save the file as .CJF.

Note: Using Notepad as text editor, make sure to save the text file with .CJF extension by selecting "Save as
type" as "All Files" although the file will be named *.cjf.txt and it will not be visible from importer.

Export User Defined structures


To export the .CJS Tag file:

1. In CX-One open the Data Types file in the project.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 233
Ethernet/IP CIP

2. Copy and paste all the Tags in any text editor.

3. Save the file as .CJS.

Note: Using Notepad as text editor, make sure to save the text file with .CJS extension by selecting "Save as
type" as "All Files" although the file will be named *.cjs.txt and it will not be visible from importer.

234 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Import Files in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Select Omron Sysmac to import a .NJF Tags file or Omron CX-One to import a .CJF Tags file.

Once the importer has been selected, locate the Tags file and click Open. The system will ask for User Defined structures
.CJS file. If not required, skip the dialog by clicking on Cancel button.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 235
Ethernet/IP CIP

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Note: When importing the array data types, the importer is expanding them creating individual Tags per each
array element; this is valid for all the data types, except for arrays of boolean. In this case they are imported as
“boolean-32” and the single array element can be addressed using “Tag Index” parameter from “Attach to…”
dialog.

Controller Model Micro800


The Ethernet/IP CIP driver provides an easy and reliable way to connect to Allen-Bradley Micro800 controllers.

The scope of variables into a Micro800 controller can be local to a program or global:

Scope Description

Local Variables Program-scoped Tags. Tags are assigned to a specific program in the project and available only
to that program.

These Tags are not supported within this driver.

Global Variables Controller-scoped Tags. Tags belong to the controller in the project and are available to any
program in the project.

These Tags are supported within this driver.

236 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Export ISAXML file using Connected Component Workbench
To export .ISAXML global variables including I/O tags:

1. Select Device tab.


2. Expand Export item.
3. Select Export Device.

4. Click onExport Exchange File tab.


5. Click Export button.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 237
Ethernet/IP CIP

6. Choose a location where to save the export file and click Save.

7. When the export is completed successfully the output information is displayed:

238 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: CCW export file is a 7-zip compressed archive. Use a suitable zip utility to extract archive content into a
local folder.

Import Files in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Select Allen-Bradely CCW v15 option.

Directory structure extracted from 7z file is something like: “..\<folder_name>\Micro8xx\Micro8xx\”

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 239
Ethernet/IP CIP

Inside this last folder, select the Micro8xx.isaxml file as shown below:

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

240 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Adding an alias name to a protocol


Tag names must be unique at project level, however, the same tag names might need to be used for different controller
nodes (for example when the HMI device is connected to two devices running the same application).

When creating a protocol you can add an alias name that will be added to tag names imported for this protocol.

In the example, the connection to a certain controller is assigned the name Node1. When tags are imported for this node,
all tag names will have the prefix Node1 making each of them unique at the network/project level.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 241
Ethernet/IP CIP

Note: Aliasing tag names is only available for imported tags. Tags which are added manually in the Tag Editor do
not need to have the Alias prefix in the tag name.
The Alias string is attached on the import. If you modify the Alias string after the tag import has been completed,
there will be no effect on the names already present in the dictionary. When the Alias string is changed and tags
are re-imported, all tags will be re-imported with the new prefix string.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

242 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 243
Ethernet/IP CIP

Importer Description

Allen-Bradley L5X v1.1 Requires a .L5X file.


Hierarchical
Check Controller Model Logix 5000 for more details.

All variables will be displayed according to RSLogix5000 Hierarchical view.

Allen-Bradley Requires a .CSVand .L5X (optional) files.


RSLogix5000 v15
Check Controller Model Logix 5000 for more details.
Linear
All variables will be displayed at the same level.

Allen-Bradley CCW v15 Requires a .ISAXML file.


Linear
Check Controller Model Micro800 for more details.

All variables will be displayed at the same level.

Omron Sysmac v15 Requires a .NJF file.


Linear
Check Controller Model Omron Sysmac for more details.

All variables will be displayed at the same level.

244 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

Omron CX-One v15 Requires a .CJFand .CJS (optional) files.


Linear
Check Controller Model Omron Sysmac for more details.

All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 245
Ethernet/IP CIP

Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication status
Current communication status can be displayed using System Variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Ensure the data programmed in the project are
response format or contents from the controller . consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

246 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Fatek FACON ETH
The Fatek FACON ETH communication driver has been designed to connect HMI devices to a Fatek FACON PLC through
Ethernet connection.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

IP Address Ethernet IP address of the PLC.

Port Port number used to communicate with PLC.

station station number according to PLC configuration.

Timeout Time delay in milliseconds between two retries in case of missing response from the PLC.

PLC PLC model available:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 247
Fatek FACON ETH

Element Description

Models l FB Series

PLC Netwo IP address for all controllers in multiple connections. PLC Network must be selected to
rk enable multiple connections.

Tag Editor Settings


In Tag Editor select the protocol Fatek FACON ETH.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

248 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 249
Fatek FACON ETH

Element Description

Memory Memory Type Description


Type
Input Discrete X resources. Corresponding to External Digital Input Point.

Output Relay Y resources. Corresponding to External Digital Output


Point.

Internal Relay M resources. Corresponding to PLC internal memory.

Step Relay S resources.

Timer Discrete T resources.

Counter Discrete C resources.

Timer Register Current Time Value Register.

Counter Register Current Counter Value Register.

Data Register - HR R resources.

Data Register - DR D resources.

Run Boolean value. Corresponding to PLC status.

Node Override IP See Special Data Types for specifications.

Offset Starting address for the Tag. The possible range depend on PLC model selected.

SubIndex This allows resource offset selection depending on the selected data type.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets (byte[], short[]…).

250 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 251
Fatek FACON ETH

Element Description

Value Description

> GHEFCDAB Example:


32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the PLC at
runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the PLC IP specified in the project at programming time.

Node Override IP Modbus operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one PLC node, each node has its own Node Override IP
variable.

252 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Node Override IP values assigned at runtime are retained through power cycles.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 253
Fatek FACON SER

Fatek FACON SER


The Fatek FACON SER communication driver has been designed to connect HMI devices to a Fatek FACON PLC through
Serial connection.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Node ID Serial node associated to the PLC.

PLC Models PLC model available:

l FB Series

PLC Networ IP address for all controllers in multiple connections. PLC Network must be selected to
k enable multiple connections.

254 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Comm... If clicked displays the communication parameters setup dialog.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 255
Fatek FACON SER

Element Description

Element Parameter

Port Serial port selection.

l COM1: device PLC port.


l COM2: computer/printer port on panels with 2 serial ports or
optional Plug-In module plugged on Slot 1/2 for panels with 1
serial port on-board.

l COM3: optional Plug-In module plugged on Slot 3/4 for panels


with 1 serial port on-board.

Baudrate, Parity, Serial line parameters.


Data Bits, Stop
bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Tag Editor Settings


In Tag Editor select the protocol Fatek FACON SER.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

256 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Memory Type Description


Type
Input Discrete X resources. Corresponding to External Digital Input Point.

Output Relay Y resources. Corresponding to External Digital Output


Point.

Internal Relay M resources. Corresponding to PLC internal memory.

Step Relay S resources.

Timer Discrete T resources.

Counter Discrete C resources.

Timer Register Current Time Value Register.

Counter Register Current Counter Value Register.

Data Register - HR R resources.

Data Register - DR D resources.

Run Boolean value. Corresponding to PLC status.

Offset Starting address for the Tag. The possible range depend on PLC model selected.

SubIndex This allows resource offset selection depending on the selected data type.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets (byte[], short[]…).

Arraysize l In case of array tag, this property represents the number of array elements.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 257
Fatek FACON SER

Element Description

l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:

258 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

32FCFF54 → 54FFFC32 (in hexadecimal format)


855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 259
GE Intelligent Platforms SNP

GE Intelligent Platforms SNP


The GE Intelligent Platforms SNP driver can be used to connect the HMI device to the GE controllers through serial
connection using the native and proprietary SNP communication protocol.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

260 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elem
Description
ent

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each tag
name imported for each network node.

PLC PLC models available.


Mode
ls

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 261
GE Intelligent Platforms SNP

Elem
Description
ent

Proto Allows to select between SNP and SNP-X protocol.


col
type

Com If clicked displays the communication parameters setup dialog.


m...

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in module plugged on slot#1 or slot#2
l COM3: Optional Plug-in module plugged on slot#3 or slot#4

Baudrat Serial line parameters.


e,
Parity,
Data
Bits,
Stop
bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).

262 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elem
Description
ent

Element Parameter

l RS-422 (4 wires).

PLC Multiple controllers can be connected to one HMI device. To set-up multiple
Network connections, select PLC networkand click Add to configure each slave

Tag Editor Settings


In Tag Editor select the protocol GE Intelligent Platforms SNP.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 263
GE Intelligent Platforms SNP

Element Description

Memory Memory Type Description


Type
Register R resource on PLC.

Discrete Input I resource on PLC.

Discrete Output Q resource on PLC.

Discrete Global G resource on PLC.

Internal Coil M resource on PLC.

Temporary Coil T resource on PLC.

System Status S resource on PLC.

Analog Input AI resource on PLC.

Analog Output AQ resource on PLC.

Clear I/O Fault IOF resource on PLC.

Clear PLC Fault PLF resource on PLC.

Offset Offset address where tag is located. Offset range depends on specific memory type and
PLC model selected.

264 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets (byte[], short[]…).

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 265
GE Intelligent Platforms SNP

Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

266 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Exporting Tags from PLC
The GE Intelligent Platforms SRTP Ethernet driver support the Tag Import facility.

Variables can be exported by the controller programming software Proficy Machine Edition,

selecting “Variables” tab, then right mouse click and from context menu select the Export option as shown in following
figure.

In the following dialog select then the file name and the file location on the computer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 267
GE Intelligent Platforms SNP

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

268 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

Proficy Machine v1.0 Requires an .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 269
GE Intelligent Platforms SNP

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

270 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
GE Intelligent Platforms SRTP
The GE Intelligent Platforms SRTP driver can be used to connect the HMI device to the GE controllers through Ethernet
connection using the native and proprietary SRTP communication protocol.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “GE Intelligent Platforms SRTP” from the list of
available protocols.

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a prefix
to each tag name imported for each network node

IP The IP address of the Ethernet interface of the controller


Address

Port Communication Port number for the Ethernet interface

Timeout The time the protocol waits the answer from the controller before issuing a new retry.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 271
GE Intelligent Platforms SRTP

Element Description

PLC List of compatible controller models. Make sure to select the right model in this list when
Models configuring the protocol.

PLC The protocol supports connection to multiple controllers.


Network
To enable this, check the "PLC Network" check box and provide the configuration per each node.

Data Types
The import module supports variables of standard data types as per the following list.

l BOOL
l BYTE (8-bits unsigned integers)
l DINT (32-bits signed integers)
l DWORD (32-bit bit strings, displayed as unsigned integers)
l INT (16-bit signed integers)
l REAL (32-bit floating point data)
l STRING (character string)
l UINT (16-bit unsigned integers)
l WORD (16-bit bit strings, displayed as unsigned integers)

Note: User defined structure and predefined structures are not supported. 64-bit data are also not supported

Tag Conversion
Conversion to be applied to the tag.

272 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 273
GE Intelligent Platforms SRTP

Value Description

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Special Data Types


The GE Intelligent Platforms SRTP driver provides one special data type called "Node Override IP".

The Node Override IP allows changing at runtime the IP address of the target controller you want to connect. This memory
type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

If the IP Override is set to 0.0.0.0, all the communication with the node is stopped, no request frames are generated
anymore.

If the IP Override has a value different from 0.0.0.0, it is interpreted as node IP override and the target IP address is
replaced at runtime with the new value.

In case the panel has been configured to access to a network of controllers, each node has its own Override variable.

Note: the IP Override values assigned at runtime are retained through power cycles.

274 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Aliasing Tag Names in Network Configurations
Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 275
GE Intelligent Platforms SRTP

Note: Aliasing tag names is only available when tags can be imported. Tags which are added manually in the
Tag Editor do not need to have the Alias prefix in the tag name. The Alias string is attached to the tag name only
at the moment the tags are imported using Tag Editor. If you modify the Alias string after the tag import has been
completed, there will be no effect on the names already present in the dictionary. When the Alias string is
changed and tags are imported again, all tags will be imported again with the new prefix string.

Tag Import
Exporting Tags from PLC
The GE Intelligent Platforms SRTP Ethernet driver support the Tag Import facility.

Variables can be exported by the controller programming software Proficy Machine Edition,

selecting “Variables” tab, then right mouse click and from context menu select the Export option as shown in following
figure.

276 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In the following dialog select then the file name and the file location on the computer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 277
GE Intelligent Platforms SRTP

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

278 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

Proficy Machine v1.0 Requires an .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 279
GE Intelligent Platforms SRTP

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The communication status can be displayed using the dedicated system variables. Please refer to the User Manual for
further information about available system variables and their use.

The status codes supported for this communication driver are:

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

Invalid The panel did receive from the controller a response, but its format or its contents or its length is
response not as expected; ensure the data programmed in the project are consistent with the controller
resources.

General Error cannot be identified; should never be reported; contact technical support
Error

280 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
GE SRTP
The GE SRTP communication driver has been designed to connect HMI devices to GE PLCs.

The driver allows symbolic communication with GE PLC model PacSystemRx3i.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a
prefix to each tag name imported for each network node.

IP address Ethernet IP address of the controller.

Port Port number used by the driver. The default value is 18245.

Timeout Time delay in milliseconds between two retries in case of missing response
from the server device.

PLC Models SAIA PLC models available:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 281
GE SRTP

Element Description

l 90-30 311
l 90-30 331
l 90-70 731/732
l 90-70 771/772
l 90-70 780/781/782/789/914/915/924/925/928/935
l 90-30 340/341
l 90-30 313
l 90-30 351/352/360/363/364
l 90-70 788
l 90-30 350/374
l VersaMax CPU001
l VersaMax CPU002
l VersaMax (CPU005, CPUE05)
l PACSystem RX3i

PLC Network Multiple controllers can be connected to one HMI device. To set-up multiple
connections, select PLC networkand click Add to configure each node

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select GE SRTP from the Driver list: tag definition dialog is displayed.

282 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 283
GE SRTP

Element Description

Memory Memory Type Description


Type
Register unsigned 16 bit data register (default)

Discrete Input 1 bit data input (default)

Discrete Output 1 bit data output (default)

Discrete Global 1 bit data global (default)

Internal Coil 1 bit data coil (default)

Temporary Coil 1 bit data coil (default)

System Status 1 bit data status

System Status A 1 bit data status

System Status B 1 bit data status

System Status C 1 bit data status

Analog Input unsigned 16 bit data input (default)

Analog Output unsigned 16 bit data output (default)

SYMBOL 1 bit data symbol (default)

Node Override IP unsigned 8 bit array (see Special Data Types for mode details)

Offset This parameter is the address on the physical memory of the controller. The range for any memory type
depends on the PLC model.

SubIndex This allows resource offset selection within the register.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square brackets.

284 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2 bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 285
GE SRTP

Element Description

Value Description

Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

286 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Tag Import
For GE PLC model PacSystemRx3i it is possible to create symbolic variables.

To create a new variable, right-click on the Variables View and select New Variable. To edit an existing variable, right-
click on it and then select Properties.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 287
GE SRTP

In both cases, the variable's Properties Inspector dialog will appear as shown below.

Important: In order for a symbolic variable to be visible to this driver, Publish must be set to External. The access must
be set to Read/Write.

To export these variables from PACSystem programming software, right click on Variable list (or on selected variables)
and click Export.

288 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In the Save as Type drop-down list, select Comma Separated Variable (*.csv) as the export file type. The dialogs should
appear as shown below.

Select the driver in the Studio tag editor and click on the “Import tag” button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 289
GE SRTP

Select Linear and locate the .csv file, then confirm.

The tags present in the exported document are listed in the tag dictionary from where they can be directly added to the
project using the add tags button as shown in the following figure.

In case of Online Changes performed on PLC side, the tag database must be updated manually to correctly
Read from PLC.
Write operations do not need a database update.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

290 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Check if the data programmed in the project are
response format or contents from the controller. consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 291
Hitachi SER

Hitachi SER
HMI devices can be connected to a Hitachi EH/EHV PLC as the network master using this communication driver.

This driver has been designed for serial connection to the programming port of the PLC.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Hitachi SER” from the list of available protocols.

The driver configuration dialog box is shown in figure.

Element Description

Alias Name to be used to identify nodes in network configurations. The name will
be added as a prefix to each tag name imported for each network node

PLC Select from the list the PLC model you are going to connect to. The selection
Models will influence the data range offset per each data type according to the
specific PLC memory resources.

PLC The protocol allows the connection of multiple controllers to one HMI. To set-
Network up multiple connections, check “PLC network” checkbox and create the list
of controllers pressing the “Add” button. You must specify the node ID for
each device you want to connect.

292 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Comms. Opens the serial port configuration parameters as shown in figure.

Port Serial port selection

Series 400 Series 500

com1 PLC Port Serial Port

com2 PC/Printer Port Option Module

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 293
Hitachi SER

Element Description

Baud Communication parameters for serial communication


rate,
Parity,
Data bits,
Stop bits

Mode Serial port mode; available options:

l RS-232,
l RS-485 (2 wires)
l RS-422 (4 wires)

Tag Name Aliasing in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

294 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Tag name aliasing is only available when tags can be imported. Tags which are added manually in the Tag
Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you
modify the Alias string after the tag import has been completed, there will be no effect on the names already
present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported
again with the new prefix string.

Tag Import
The Hitachi SER communication driver supports importing tags from the PLC programming software. The tag import filter
accepts symbol files with extension “.txt” created by the Actwin-H programming tool.

In the Actwin-H Software, click on the menu “Operations” then “Export symbol list” and then select the project which should
be exported as shown in figure.

In the Tag Editor select the driver and click on the “Import tag” button to start the importer

Locate the “.TXT” file and confirm.

The tags present in the exported document are listed in the tag dictionary from where they can be directly added to the
project using the add tags button as shown in figure.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 295
Hitachi SER

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured for communication

Line Returned when an error on the communication parameter setup is detected (parity, baud rate,
Error data bits, stop bits); ensure the communication parameter settings of the controller is compatible
with panel communication setup

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

296 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Hitachi ETH
This communication driver has been designed to support communication to Hitachi controllers with Ethernet connection.
Hitachi controllers must either have an on-board Ethernet port (EHV CPU) or be equipped with an appropriate Ethernet
interface (EH-ETH, ET-ETH2 or OB- ETH).

The communication driver supports both TCP/IP and UDP/IP communication protocols.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Hitachi ETH” from the list of available protocols.

The driver configuration dialog is shown in figure.

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a
prefix to each tag name imported for each network node

IP address Ethernet IP address of the controller

Port Port number used for the communication. Default value 3004 and it corresponds to the default
setting of Hitachi controllers.

Enable Introduces a wait time between two communication requests


waiting

Time Wait time between two requests if enable waiting option has been activated

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 297
Hitachi ETH

Element Description

between
request

Connection UDP: use communication based on UDP/IP protocol


type
TCP: use communication based on TCP/IP protocol

PLC Select from the list the PLC model you are going to connect to. The selection will influence
Models the data range offset per each data type according to the specific PLC memory resources.

PLC To set-up multiple connections, check “PLC network” checkbox and create the list of
Network controllers pressing the “Add” button. The IP address for each device you want to connect
must be specified.

Controller Configuration
The PLC must to be properly configured to support either UPD/IP or TCP/IP communication using port numbers 3004,
3005, 3006 or 3007.

Tag Name Aliasing in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

298 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Tag name aliasing is only available when tags can be imported. Tags which are added manually in the Tag
Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you
modify the Alias string after the tag import has been completed, there will be no effect on the names already
present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported
again with the new prefix string.

Tag Import
The Hitachi ETH communication driver supports importing tags from the PLC programming software. The tag import filter
accepts symbol files with extension “.txt” created by the Actwin-H programming tool.

In the Actwin-H Software, click on the menu “Operations” then “Export symbol list” and then select the project which should
be exported as shown in figure.

In the tag editor select the driver and click on the “Import tag” button to start the importer

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 299
Hitachi ETH

Locate the “.TXT” file and confirm.

The tags present in the exported document are listed in the tag dictionary from where they can be directly added to the
project using the add tags button as shown in figure.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured for communication

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

300 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
IDEC Maintenance
IDEC Maintenance communication driver has been designed to connect HMI devices to IDEC PLC through Serial or
Ethernet connection.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

Node ID Serial node associated to PLC.

Media Allows the selection of transport Media.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 301
IDEC Maintenance

Element Description

l select Serial to connect via serial line


l select Ethernet to connect via TCP/IP

IP address IP address of PLC (only available if Ethernet media is selected)

Port Port number of PLC

Timeout Time delay in milliseconds between retries in case of missing response


(ms)

PLC PLC model available:


Models
l FC6A - MicroSmart Plus
l FC6A - MicroSmart
l FC5A - MicroSmart Pentra
l FC4A - MicroSmart
l FT1A - SmartAxis

PLC Netwo Enable configuration of multiple connections.


rk

302 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Comm... If clicked displays the communication parameters setup dialog (only available if Serial media
is selected)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 303
IDEC Maintenance

Element Description

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in module plugged on
slot#1 or slot#2
l COM3: Optional Plug-in module plugged on
slot#3 or slot#4

Baudrate, Parity, Data Bits, Stop Serial line parameters.


bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Tag Editor Settings


In Tag Editor select IDEC Maintenance protocol.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

304 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 305
IDEC Maintenance

Element Description

Memory Memory Type Description


Type
I - Input I resources. Corresponding to internal digital Input point.

Q - Output Q resources. Corresponding to internal digital Output point.

M - Internal Relay M resources. Corresponding to PLC internal memory.

R - Shift Register S resources. Corresponding to PLC shift registers.

T - Timer T resources. Corresponding to PLC timers.

TC - Timer Current Value TC resources. Corresponding to PLC timer current values.

TP - Timer Preset Value TP resources. Corresponding to PLC timer preset values.

C - Counter C resources. Corresponding to PLC counters.

CC - Counter Current CC resources. Corresponding to PLC counter current


Value values.

CP - Counter Preset Value CP resources. Corresponding to PLC counter preset


values.

D - Data register D resources. Corresponding to PLC data registers.

Offset Starting address for the Tag. The possible range depend on PLC model selected.

Subindex This allows resource offset selection depending on the selected data type.

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

306 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Memory Space Limits

double IEEE double-precision 64-bit floating 2.2e-308 ...


point type 1.79e308

string Array of elements containing character code defined by


selected encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 307
IDEC Maintenance

Element Description

Value Description

25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

308 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The following dialog shows which importer type can be selected.

Type Description

WindLDR v1.0 Requires a .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 309
IDEC Maintenance

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

310 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
J1939
Use this communication driver to connect HMI devices to CAN networks including devices communicating with SAE
J1939.

Please note that changes in the communication protocol specifications or J1939 hardware may have occurred since this
documentation was created. Some changes may eventually affect the functionality of this communication driver. Always
test and verify the functionality of your application. To fully support changes in J1939 hardware and communication
protocols, communication drivers are continuously updated. Always ensure that the latest version of communication driver
is used in your application.

Protocol Editor Settings


Select Add [+] in Protocol Editor and select J1939.

The driver configuration dialog is shown in figure.

Element Description

CAN Configure the CAN Channel.


Channel
CAN interface is available only with a proper option module.

UN31 platforms allow only one module, select Can0.

UN30 platforms allow up to two modules, select Can0 or Can1.

ISO ECU Identifier of the equipment in the J1939 network (in case several HMI are coexisting in the

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 311
J1939

Element Description

Instance network)

ISO Identifier of the function in the network (in case more than one device is providing the same
Function functionality)
Instance

Claiming Default value of the address of the equipment used as starting value for the Address Claim
Address algorithm

Baud Rate Baud rate of the CAN bus (typical is 250)


(kbps)

Timeout Timeout for the validity of received values. After the time indicated since last reception any
(ms) value is declared “old” and its quality changed to “bad”. The value 0 disables the timeout check

Tag Editor Settings


In Tag Editor select the protocol “J1939” from the list of defined protocols and add a tag using [+] button. Tag settings can
be defined using the following dialog:

312 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

string Array of elements containing character code defined by


selected encoding

Note: to define arrays, select one of Data Type format followed by square
brackets like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes
available in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property


is set to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one
character requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 313
J1939

Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFG swap4: Swap bytes in a double word.


H ->
Example:
GHEFCDA
32FCFF54 → 54FFFC32 (in hexadecimal format)
B
855441236 → 1426062386 (in decimal format)

ABC...NOP swap8: Swap bytes in a long word.


->
Example:
OPM...DAB
142.366 → -893553517.588905 (in decimal format)
0 10000000110
00011100101110110110010001011010000111001010110000
01

1 10000011100
10101010000101000101101101101100101101100001001111
01
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from
0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

314 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Parameter Parameter Group Number value


Group Number

Index Index value

Selector Type When adding tags it can be necessary to duplicate them to read data coming from
several devices generating same physical quantity. In this case the Address of the tag
must be edited. The Tag Editor dialog is shown in figure:

In case of duplication of the tag, the selection of incoming data can be done using one of
following methods:

NONE Selector Type not selected

INSTANCE uses a defined bitfield value in data of PGN to distinguish


between the possible sources. The value of received bitfield is
compared with parameter “Vehicle System / Instance” for
matching

DEVICE uses the source address to find out the device sending the
PGN based on Address Claim algorithm. The devices are
selected based on parameter “ISO function”

ADDRESS uses directly the source address as it is to select the source.


The received source address is compared with parameter “ISO
Ecu – Function Instance”

ISO Ecu- Instance of ISO Ecu-Function checked with Selector Type “DEVICE”
Function
Instance

ISO Function ISO Function parameter

Vehicle Vehicle System / Instance parameter used with Selector Type “INSTANCE”
System/Instance

J1939 PGN Definition File


J1939 can connect hundreds of different devices offering access to thousands of different physical values. The standard
defines several hundred PGNs for various applications. However, many devices use manufacturer-specific PGN
definitions.

In order to manage this complex application scenario, the J1939 driver loads the PGN definition table at startup from a
configuration file. The file with the PGN definition table is “J1939_pgnTable.csv” located in the folder “target\protocols\”; it is
loaded automatically from disk when downloading the project.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 315
J1939

The file containing the PGN defined by the standard protocol specification is placed in the proper folder when the driver is
installed. It can be edited adding or removing PGN definitions. The user must respect the following rules:

l the file contains most of the PGN defined by the standard. Custom PGN and SPN can be added assigning free
indexes.
l description of a PGN is composed by a PGN declaration line followed by a list of Field description lines

PGN declaration line


PGN: Name, PGN number, DefaultPriority, DefaultRate, InstanceIndex, Direction [, PGN
request rate]

Name Name of the PGN

PGN number Number code of PGN

DefaultPriority Transmission priority (output PGN)

DefaultRate Transmission rate (output PGN)

Instance Index Index of instance (output PGN)

Direction INPUT/OUTPUT

PGN request Optional parameter. Time in milliseconds. If PGN not received in the meanwhile, it is
rate requested

Example of PGN declaration:

PGN: Torque/Speed Control 1, 0, 3, 100, 0, INPUT

// Torque/Speed Control 1 id PGN nr.0, its default priority is 3 and default transmission rate is 100 ms. Instance Index is 0
and direction is INPUT

Field declaration line


FieldIndex, FieldName, FieldPosition, FieldBitSize, SPN Conversion, AccessType,
FieldDataType

FieldIndex Index of field in the PGN

FieldName Name of the field

FieldPosition N (1 to 8) byte position

N.M (1.1 to 8.8) bit position

N-M (N from 1 to 7, M from 2 to 8) byte range

FieldBitSize 1-64

number of bits of the field

SPN SPN conversion is indicated by "SPN"index es. SPN79


Conversion
SPN0 indicates a raw copy of data

AccessType Defines usage of field in combination with PGN direction.

316 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
If PGN direction is declared as OUTPUT, the fields can be only used for write operations.

If PGN direction is declared as INPUT the fields can always be read. In case they are
written the behavior is described below.

PGN Access
Behavior
Direction Type

OUTPUT WRITE the PGN is sent immediately with current value of the
fields

READ_ the PGN is sent as soon as all the fields are written with
ONLY a fresh value

REPLY

INPUT READ_ Error


ONLY

REPLY the PGN is sent only if it was received almost once, with
update value of the written field

WRITE the PGN is sent immediately with current value of the


fields

FieldDataType Boolean

boolean-nn

byte

unsignedByte

short

unsignedShort

int

unsignedInt

float

double

string-nn

Example of Field declaration:

1, Engine Override Control Mode, 1.1, 2, SPN0, READ_ONLY, unsignedByte

SPN declaration line


SPN: index, constK, constL, type [,bigEndian]

index index of SPN

constK SPN conversion parameters

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 317
J1939

constL the conversion applied when reading is:

var(type) = raw value * constK + constL

the conversion applied when writing is:

raw value = (var(type) - constL) / constK

type bits

char

uchar

short

ushort

int

uint

float

double

longlong

ulonglong

float80

bigEndian Optional parameter. Defines if endianity conversion is needed on raw data before applying the
SPN conversion.

0 default endianity, do not change

1 apply endianity transformation

Example of SPN declaration:

SPN:, 79, 0.03125, -273, short, 1

Tag Import
The J1939 driver can import tag information from any CSV file, following same rules of PGN definition file and maintain
several dictionaries for different scenarios.

The user can also import the whole “J1939_pgnTable.csv” and use only one large dictionary.

Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected

318 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Type Description

J1939 v1.0 Requires a .csv file.


Linear
All variables will be displayed at the same level.

J1939 DBC+ v1.0 Requires a .dbc file generated by Vector CANdb++ Editor
Linear
All the frames will be generated with type = Rx, so frames created for transmission
must be reedit after importation

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

The tags resulting from the import process may be used as they are if there is only one source for such value in the
network. When several sources are supplying the same value the associated tags must be duplicated and named using
one of the addressing methods shown in the Tag Editor chapter.

Communication Diagnostic
The error types supported for this communication driver are:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 319
J1939

Error Class Error Notes

Configuration Errors invalid CAN channel

cannot read MACID

Unable to access the PGN Table

Unable to get the PGN file path

SPN conversion not supported

Sending PGN with dynamic field length not supported

Preparing PGN field for sending failed

Writing a read-only tag

The output PGN can't be read

invalid offset in PGN

Not byte boundary on dynamic field

Something wrong with the PGN data block size

Too many bits to use

Not byte boundary on dynamic field

SPN conversion not supported

Runtime Errors Communication Failure > Can't send the APL PGN message

Not Connected > The PGN for the command reply has not been received yet

Not Connected > PGN block not registered

Not Connected > the value never received

Timeout Error > timeout on the value refresh

320 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Class Error Notes

Tag Definition Errors there must be 7 tag specification fields

PGN field missing

SPN definition not found in the table

index field missing

ecuFunctionInstance field missing

function field missing

classOrInstance field missing

icomType field missing

Can't access protocol common parameters

Can't access protocol node parameters

Can't access model

Can't access memory type

strError.c_str()

not allowed icom type

invalid natural data type for this memory type

invalid field 'selector type'

PGN definition not found in the table

The field not found in this PGN

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 321
Jetter Ext ETH

Jetter Ext ETH


The Jetter Ext ETH driver has been developed to communicate with Jetter devices using the PCOM7 protocol.

The HMI protocol identifies Jetter devices using their IP addresses. You should take note of these addresses as you
assign them because you will need them later in the set-up phase of the user interface application.

Different physical media, gateways, routers and hubs can be used in the communication network. Also, other devices can
independently make simultaneous use of the network. However, it is important to ensure that the traffic generated by these
devices does not degrade the communication speed (round-trip time) to an unacceptable level. Too slow communication
between the device and the Jetter device may result in low display update rate.

Protocol Editor Settings


Add (+) a new driver in the Protocol editor and select the protocol called “Jetter Ext ETH” from the list of available protocols.

The driver configuration dialog is shown in the following figure.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each tag
name imported for each network node.

IP Ethernet IP address of the PLC.


address

Local Allows to specify the source Port used from the HMI to communicate with PLC.
Port

322 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC An unique PLC model is available: JetControl 3xx pcom7.


Models

PLC The protocol allows the connection of multiple controllers to one HMI device. To set-up multiple
Network connections, check “PLC network” checkbox and enter IP Address for all PLCs.

Tag Editor Settings


Into Tag editor select the protocol “Jetter Ext ETH” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 323
Jetter Ext ETH

Element Description

Memory Area of PLC where tag is located.


Type

Offset Offset address where tag is located.

SubInd This allows resource offset selection within the register.


ex

Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

324 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Memory Space Limits

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

string Refer to “String data type chapter”

Note: to define arrays, select one of Data Type format followed by square brackets like
“byte[]”, “short[]”…

Arraysi l In case of array tag, this property represents the number of array elements.
ze l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conver Conversion to be applied to the tag.


sion

Depending on data type selected, the Allowed list shows one or more conversions, listed below.

Value Description

Inv bits Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate Set the opposite of the tag value.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 325
Jetter Ext ETH

Element Description

Value Description

Example:
25.36 → -25.36

AB -> BA Swap nibbles of a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB Swap bytes of a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> Swap bytes of a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> Swap bytes of a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD Separate the byte in two nibbles, and reads them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

New Format Jetter “string” data format

Select the conversion and click on plus button. The selected item will be added on Configured
list.

If more conversions are configured, they will be applied in order (from top to bottom of
Configured list).

Use the arrow buttons to order the configured conversions.

326 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Special data types
The Jetter Ext ETH driver provides one special data type called "Node Override IP".

The Node override IP allows changing at runtime the IP address of the controller. This memory type is an array of 4
unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

If the Node Override IP is set to 0.0.0.0, all the communication with the slave is stopped, no request frames are generated
anymore.

If the Node Override IP has a value different from 0.0.0.0, it is interpreted as node IP override and the controller IP address
is replaced runtime with the new value.

In case the device has been configured to access to a network of controllers, each node has its own Node Override IP
variable.

Note:the Node Override IP values assigned at runtime are retained through power cycles

String data type


The Jetter devices allow to define within the programming software two different type of string variables: “Regstring” is the
old format while “string” is the new format, both these formats are supported by the Jetter Ext ETH driver.

When “Regstring” format is used the corresponding Tag must be configured simply selecting string as data type as shown
in the following figure, no further steps are required.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 327
Jetter Ext ETH

When “string” format is used once selected the string data type in the Tag definition dialog it is necessary, as shown in the
following figure, to add a New Format conversion.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

328 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Notes

No response Returned when a request is not replied within the specified timeout period; ensure the
controller is connected and properly configured to get network access

Incorrect node The device did receive from the controller a response with invalid node address
address in
response

The received The device did receive from the controller a response with invalid format
message too short

Incorrect writing Controller did not accept write request; ensure the data programmed in the project are
data acknowledge consistent with the controller resources

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 329
Keyence KV

Keyence KV
Keyence KV communication driver has been designed to connect HMI devices to KEYENCE PLCs through Serial or
Ethernet connection.

Please note that changes in the communication protocol specifications or PLC hardware may have occurred since this
documentation was created. Some changes may eventually affect the functionality of this communication driver. Always
test and verify the functionality of your application. To fully support changes in PLC hardware and communication
protocols, communication drivers are continuously updated. Always ensure that the latest version of communication driver
is used in your application.

Setting-up the PLC for Communication


Keyence KV PLC’s do not require any particular setup-up for communication at the programming port.

Protocol Editor Settings


Add (+) a driver in the Protocol Editor and select the protocol called “Keyence KV” from the list of available protocols.

The driver configuration dialog is shown in figure.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

Media Allows the selection of transport Media.

330 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l select Serial to connect via serial line


l select Ethernet to connect via TCP/IP

IP IP Address of the controller. Only available for Ethernet Media.


address

Port Port number used by PLC. The default value is 8501. Only available for Ethernet Media.

Timeout Time delay in milliseconds between two retries in case of missing response from PLC.
(ms)

Number Number of times a communication session is repeated before declaring reporting


of retries communication error.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 331
Keyence KV

Element Description

PLC The list allows selecting the PLC model. The selection will influence the data range offset per
Models each data type according to the specific PLC memory resources.

Available models:

l KV10/16
l KV24
l KV40/80
l KV300
l KV700
l KV1000
l KV3000/5000/5500
l KV7300/7500
l KV8000

Comm… Opens the serial port configuration dialog box. Only available for Serial Media.

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in
module plugged on slot#1 or
slot#2
l COM3: Optional Plug-in
module plugged on slot#3 or
slot#4

Baudrate, Parity, Data Bits, Stop bits Serial line parameters.

332 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Editor Settings
Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select ROBOX BCC/31 from the Driver list: tag definition dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 333
Keyence KV

Element Description

Memory Type Resource where tag is located on PLC.

Available resources are:

l Logic Input Bit


l Logic Input Word
l Logic Output Bit
l Logic Output Word
l Phis Input Bit
l Phys Input Word
l Phys Output Bit
l Phys Output Word
l Non Volatile I32
l Non Volatile Double
l Non Volatile string
l Volatile I32
l Volatile Double
l Volatile string
l Parameter I32
l Parameter Double
l Axis Parameter I32
l Axis Parameter Double
l Alarm Mask
l Alarm Code
l Alarm string

Offset Offset address where tag is located.

Offset addresses are six digits composed by one digit data type prefix + five digits resource address.

SubIndex This allows resource offset selection within the selected memory type.

Axis Index Allows to select Axis index. Available only for Axis memory types.

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

334 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Memory Space Limits

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ... 1.79e308


point type

string Array of elements containing character code defined by selected


encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets like
“byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the
string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8
or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 335
Keyence KV

Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

336 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Locate the .xml file exported from Tag Editor and click Open.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 337
Keyence KV

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags from tag
dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new dictionary
import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

338 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Searches tags in the dictionary basing on filter combo-box item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Description

Timeout Returned when a request is not replied within the specified timeout period; ensure the
controller is connected and properly configured to get network access

Timeout Returned when a request is not replied within the specified timeout period between chars
receiving in frame, should never be reported; contact technical support
response
characters

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 339
Keyence KV

Error Description

Line Error Returned when an error on the communication parameter setup is detected (parity, baud
rate, data bits, stop bits); ensure the communication parameter settings of the controller is
compatible with panel communication setup

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller
resources

340 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Koyo DL
The Koyo DL driver has been developed for the communication with Koyo DL series controllers trough serial connection.

Protocol Editor Settings


Add (+) a new driver in the Protocol editor and select the protocol called “Koyo DL” from the list of available protocols.

The driver configuration dialog is shown in the following figure:

Element Description

Node ID Controller Node ID

PLC Models The driver supports communication with different DL controllers. Please check directly
in the programming IDE software for a complete list of supported controllers.

PLC Network The protocol allows the connection of multiple controllers to one operator panel. To set-
up multiple connections, check “PLC network” checkbox and configure all controllers.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 341
Koyo DL

Element Description

Comm… Gives access to the serial port configuration parameters as shown in the figure below.

Port Serial port selection for eTOP series operator panels:

Series 400 Series 500/600

com1 PLC Port Onboard Serial Port

com2 PC/Printer Port Optional Module on slot #1 or #2

com3 Not available Optional Module on slot #3 or #4

342 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Baud rate, Parity, Communication parameters for serial communication


Data bits, Stop
bits

Mode Serial port mode; available options:

l RS-232,
l RS-485 (2 wires)
l RS-422 (4 wires)

Tag Editor Settings


Into Tag editor select the protocol “Koyo DL” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

Element Description

Memory Memory resource where tag is located.


Type

Offset Offset address where tag is located.

SubIndex This allows resource offset selection within the register.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 343
Koyo DL

Element Description

Data Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

double IEEE double-precision 64-bit 2.2e-308 ... 1.79e308


floating point type

string Array of elements containing character code defined by selected


encoding.

binary Arbitrary binary data

Note: to define arrays, select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

344 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 345
Koyo DL

Element Description

Value Description


1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

346 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Koyo DL ETH
The Koyo DL ETH driver has been developed for the connection of Koyo DL series controllers trough Ethernet.

Protocol Editor Settings


Add (+) a new driver in the Protocol editor and select the protocol called “Koyo DL ETH” from the list of available protocols.

The driver configuration dialog is shown in the following figure:

Element Description

Address Allow to select which address type to use


Type

IP When Address Type is “IP”, define the controller IP Address


Address

Device ID When Address Type is “ID”, define the controller Device ID

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 347
Koyo DL ETH

Element Description

Device When Address Type is “Name”, define the controller name


Name

UDP Port UDP port of controller

use new If PLC Model is “EBC” allow to use the new EBC Mode
EBC
Mode

Timeout Defines the time inserted by the protocol between two retries of the
(ms)
same message in case of missing response from the server device.

Value is expressed in milliseconds.

Retry Defines the number of times a certain message will be sent to the controller before reporting the
count communication error status.

A value of 1 for this parameter means the HMI will eventually report the communication error
status if the response to the first request packet is not correct.

PLC The driver supports communication with different DL controllers. Please check directly in the
Models programming IDE software for a complete list of supported controllers.

PLC The protocol allows the connection of multiple controllers to one operator panel. To set-up
Network multiple connections, check “PLC network” checkbox and configure all controllers.

348 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Editor Settings
Into Tag editor select the protocol “Koyo DL” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

Element Description

Memory Memory resource where tag is located.


Type

Offset Offset address where tag is located.

SubIndex This allows resource offset selection within the register.

Data Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 349
Koyo DL ETH

Element Description

Data Type Memory Space Limits

32-bit floating point type

double IEEE double-precision 64-bit 2.2e-308 ... 1.79e308


floating point type

string Array of elements containing character code defined by selected


encoding.

binary Arbitrary binary data

NOTE: to define arrays, select one of Data Type format followed by square
brackets like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

350 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 351
KNX TP/IP

KNX TP/IP
KNX is the association that promotes the KNX communication standard, designed for applications in home and building
automation systems.

The KNX standard, approved as European Standard EN 50090, EN 13321-1, is based on the communication stack of EIB
with some extensions. EIB is the acronym for European Installation Bus.

Additional information and further details can be found in the KNX web site www.knx.org.

The network communication media supported by the HMI panels are:

l TP-1: twisted pair, type 1, which corresponds to a bus line operating at 9600 bit/s.
l IP: network connection via TCP/IP over Ethernet network.

Note: Connection to KNX systems in TP Mode requires the optional KNX communication module PLCM02.
Verify the suitable version of communication module for your HMI model.

The EIB is an event-driven decentralized automation system.

The information to be transmitted over the bus is organized in “telegrams” sent by a source to one or more destination
devices.

The bus line of EIB systems carries both data and power for the devices. The data is modulated over the DC voltage of the
power supply.

HMI panels are not powered from the network and they still need the usual power supply.

The planning, design and commissioning of KNX installations are normally done using the ETS configuration software. This
software tool is supplied by the KNX organization. ETS is a registered trademark of KNX.

This document contains the information required to use ETS in combination with the HMI panels.

All KNX compliant devices come with a device descriptor delivered as a file to be imported in the configuration tool.

The model adopted by HMIs corresponds to a KNX device with no objects. For what concerns the ETS, the only function
supported by the HMI panels is the device physical address assignment.

Protocol Editor Settings


Add (+) a driver in the Protocol Editor and select the protocol called “KNX TP/IP” from the list of available protocols.

The protocol parameters can be selected from the dedicated dialog box:

352 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The Individual Phisical Address can be assigned on the HMI screen at the first download of the project
configured for the KNX protocol. This is the Phisical Address that identifies the panel in the KNX network. The
default address value is: 15.15.255.

Note: As any other KNX device, also the HMI device must have unique Individual Address in the KNX network
and it must correspond to the real point in the network where the HMI device is connected.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to
each tag name imported for each network node.

Media Allows the selection of the transport Media.

l select TP to connect to the KNX network using the optional KNX communication
module PLCM02
l select IP to connect to the KNX network via TCP/IP

IndividualAddr Physical Address High Part (Area)


essH

IndividualAddr Physical Address Medium Part (Line)


essM

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 353
KNX TP/IP

Element Description

IndividualAddr Physical Address Low Part (Device)


essL

PLC Models Allows to choose if KNX telegrams have two or three stage addressing. This selection
have to be made basing on KNX device used.

l Two-stage addressing = KNX telegrams are composed by GoupAddressH /


GroupAddressL
l Three-stage addressing = KNX telegrams are composed by GoupAddressH /
GroupAddressM / GroupAddressL

Search Interval Available only when Media property is set to IP.


(s) The KNX driver will re-evaluate the network with period “Search Interval” (default: 300
seconds). On searching the network, the KNX driver will discover the tunneling endpoints
that are available at that time. Endpoints will therefore be registered as possible sources /
destinations for group address operations. Depending on endpoints settings or endpoints
temporary unavailability the available sources / destinations for group address operations
may vary. Thus the capability for the KNX driver to re-evaluate periodically its knowledge
about the network.

Router Available only when Media property is set to IP.


IP address This option allows to define the KNX router IP address. If this property is left "0.0.0.0", a
multicast request is sent (with timing specified in Search Interval property) via TCP/IP to
find a valid KNX TCP interface.

PLC Network This option allows to define a network of devices, by specifying Alias, Router IP address
and PLC Model for each node.

354 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Comm... If clicked displays the communication parameters setup dialog.

Element Description

Polling Time Defines how often the tags with Polling attribute enabled are
requested to the network (seconds).

Transmission Defines the interval of time between two consecutive write


Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Rate operations performed by the operator panel (milliseconds). 355
KNX TP/IP

Element Description

Element Description

Polling Time Defines how often the tags with Polling attribute enabled are
requested to the network (seconds).

Transmission Defines the interval of time between two consecutive write


Rate operations performed by the operator panel (milliseconds).

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select KNX TP/IP from the Driver list: tag definition dialog is displayed.

356 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory KNX resource where tag is located.


Type
Memory Type KNX Data Type KNX Datapoint Type

BIT Bit 1.0xx

1BIT 1 Bit Controlled 2.0xx

3BIT 3 Bits Controlled 3.007

CS Character Set 4.00x

OU Octet, Unsigned 5.00x


17.001
18.001

OS Octet, Signed 6.001


6.010

2OU 2 Octets, Unsigned 7.0xx

2OS 2 Octets, Signed 8.0xx

2OF 2 Octets, Float 9.0xx

TIM Time 10.001

DAT Date 11.001

STR String 16.000


16.001

4OU 4 Octets, Unsigned 12.001

4OS 4 Octets, Signed 13.0xx

4OF 4 Octets, Float 14.0xx

ACC Access 15.000

U1 Uncertain (1 byte) Uncertain

U2 Uncertain (2 Bytes) Uncertain

U3 Uncertain (3 Bytes) Uncertain

U4 Uncertain (4 Bytes) Uncertain

Programming Mode Check "Special Data Types" chapter for details

Individual Address

For some KNX Datapoint Types it may be needed to apply the “Scaling” functionality,
available from Tag editor. The next figure shows an example of scaling conversion for Percent
values of dimmer actuators (Datapoint Type 5.001 DPT_Scaling). Applying this Scaling

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 357
KNX TP/IP

Element Description

conversion, the “0/0/1 % Value” tag manage values in range 0÷100 instead of standard range
0÷255 of Unsigned Octet.

GroupAddre High Group Address of KNX resource.


ssH Range: 0 - 31

GroupAddre Middle Group Address of KNX resource.


ssM Range: 0 - 2047

Available only if PLC Model property is set to Three-stage addressing.


Check "Protocol Editor Settings" chapter for details.

GroupAddre Low Group Address of KNX rerource.


ssL Range: 0 - 255

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

string Array of elements containing character code defined by selected


encoding

Note: to define arrays. select one of Data Type format followed by square brackets like “byte
[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2

358 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

bytes.

Conversion Conversion to be applied to the Tag.

Depending on data type selected, the Allowed list shows one or more conversions, listed below.

Value Description

Inv bits Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate Set the opposite of the tag value.

Example:
25.36 → -25.36

AB -> BA Swap nibbles of a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB Swap bytes of a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> Swap bytes of a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> Swap bytes of a long word.


OPM...DAB
Example:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 359
KNX TP/IP

Element Description

Value Description

142.366 → -893553517.588905 (in decimal format)


0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD Separate the byte in two nibbles, and reads them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

KNX_DATE Check "Special Data Types" chapter for details

KNX_TIME

KNX_DayOfWeek

Select the conversion and click on plus button. The selected item will be added on Configured list.

If more conversions are configured, they will be applied in order (from top to bottom of Configured list).

Use the arrow buttons to order the configured conversions.

Polling If checked, this option allows to force continuous read requests from the HMI to the Tag. The timing of
polling requests is defined from "Polling Time" option available in "Comm..." window.
Check "Protocol Editor Settings" chapter for details.

Special Data Types

Programming Mode
Programming Mode is a special device operating mode that allows changing some system parameters. It is common to
most KNX TP devices.

Programming Mode for Individual Address programming via ETS can be set directly in the HMI device.

The first time a HMI project made for the KNX TP communication driver is downloaded to an HMI panel, the unit is
assigned the specified Physical Address.

Programming Mode for the HMI panel can be enabled by placing on the screen a widget assigned to the Programming Mode
internal variable.

At present there are no database files that can be imported in ETS, so the HMI device can’t be programmed using ETS
software. The Programming Mode is available only for future functions.

360 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The “Programming Mode” value can be 0 or 1.

Individual Address
The Individual Address can be displayed placing on the HMI screen an object for “Individual Address” data type.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 361
KNX TP/IP

The Individual Address can be alternatively assigned directly on HMI screen with a write operation to the internal variable.

Please note that, as any other KNX device, also the HMI device must have unique Individual Address in a KNX network.

In the following figure an example of how the individual address in hex format has to be interpreted.

Note: The max value for Individual address is 15.15.255

Date
The Date data type requires a special data conversion.

The correct visualization of the date information from this tag can be achieved using the widget dedicated to handle
“DateTime” data source.

362 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Time
The Time data type requires a special data conversion.

The correct visualization of the time information from this tag can be achieved using the widget dedicated to handle “Time”
data source.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 363
KNX TP/IP

Note: In the “DateTime” widget it is important to set properly the “Time Spec” property in order to avoid the
influence on the visualization of the HMI clock timezone and DST settings; Select Number format properly.

Note: Write operation from HMI to KNX network will be executed only with “No Day” information.

Day of Week
The Day of Week data type is part of Time telegram and requires a special data conversion.

Note: This object is in read-only mode

364 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Dimming function
3 Bits Controlled data type has to be used to operate a dimming function.
This is a 4 bit data where the 1st bit is used to determine if increment or decrement the value and the remaining 3 bits
determines the percentage of dimming applied.

The Tag will represent a fixed percentage value (from 0% to 100%) of increasing or decreasing of a particular device value.

The table below reports the action performed for each value assumed by the Tag.
For example, to increase the dimmed value of 25% it is necessary to write into the Tag that manages the dimming the
binary value “1011”, which in decimal code, corresponds to “11”.

Direction Data Action

0 001 Down 100%

0 010 Down 50%

0 011 Down 25%

0 100 Down 12%

0 101 Down 6%

0 110 Down 3%

0 111 Down 1%

1 001 Up 100%

1 010 Up 50%

1 011 Up 25%

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 365
KNX TP/IP

Direction Data Action

1 100 Up 12%

1 101 Up 6%

1 110 Up 3%

1 111 Up 1%

As mentioned before to increase the dimmed value by 25% it is necessary to write 11 in the corresponding Tag.
To do this a Write Tag action programmed as shown in the next figure must be created.

Tag Import
Exporting Tags from PLC
The KNX TP/IP driver supports the Tag import facility. The import filter accepts symbol files with extension “.esf” created
by the ETS programming tools.

The ETS configuration software can export the database information related to group addresses.

To export database information select “Extract data” from the File menu of ETS software.

366 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Select the option “Export to OPC Server” to export data in “.esf” format.

Clicking on “Export...” creates the “.esf” file to be imported in the Tag Editor.

Exporting Tags from PLC using ETS5


From ETS5 programming software click on Extras > Export OPC

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 367
KNX TP/IP

In next step select location and file name for .esf file.

368 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importing Tags in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 369
KNX TP/IP

Importer Description

ETS v1.0 Requires a .esf file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

370 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The communication status can be displayed using the dedicated system variables. Please refer to the User Manual for
further information about available system variables and their use.

The status codes supported for this communication driver are:

Error Notes

Timeout Request is not replied within the specified timeout period; ensure the controller is
connected and properly configured for network access

Response The tag requested by the panel may be not available in the system or communication
error session completed with errors

General Error Error cannot be identified; should never be reported; contact technical support

Internal Unrecognized error


software error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 371
Lenze CANopen

Lenze CANopen
The Lenze CANopen communication driver has been designed to connect HMI products to Lenze controllers using the
CANopen network. A new device communication profile has been developed to takes advantage from the advanced user
interface features of the software, while retaining the simple networking concept supported by the CANopen network.

Connection to CANopen networks requires the optional CANopen communication module.

Please note that changes in the controller protocol or hardware, which may interfere with the functionality of this driver, may
have occurred since this documentation was created. Therefore, always test and verify the functionality of the application.
To accommodate developments in the controller protocol and hardware, drivers are continuously updated. Please ensure
that the latest driver is used in the application.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Lenze CANopen” from the list of available protocols.

The protocol configuration dialog is shown in figure.

372 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a
prefix to each tag name imported for each network node

Node ID CANopen Node ID assigned to the slave device

Baud Speed of the CANopen network


Rate (
kbps)

Scan Scan time is dependent upon your specific process or application requirements and the
Time (ms) capabilities of your controller.

Timeout Maximum allowed time the driver will wait for a response from the device before reporting a
(ms) communication error

SendSync The Sync-Producer provides the synchronization-signal for the Sync-Consumer. When the
Sync-Consumers receive the signal they start carrying out their synchronous tasks.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 373
Lenze CANopen

Element Description

PLC This version supports only one device model.


Models

PLC The protocol allows the connection of multiple controllers to one operator panel. To set-up
Network multiple connections, check “PLC network” checkbox and enter the node ID per each slave you
need to access.

Aliasing Tag Names in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

374 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Aliasing tag names is only available when tags can be imported. Tags which are added manually in the
Tag Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you
modify the Alias string after the tag import has been completed, there will be no effect on the names already
present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported
again with the new prefix string.

Tag Import
The Lenze CANopen driver supports the Tag import facility. The import filter accepts symbol files with extension “.eds”
provided by Lenze, the device manufacturer.

In Tag Editor select the communication driver and click on the “Import tag” button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 375
Lenze CANopen

Locate the “.eds” file and confirm.

The tags present in the exported document are listed in the tag dictionary from where they can be directly added to the
project using the “add tags” button as shown in figure.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

No response Returned when a request is not replied within the specified timeout period; ensure the
controller is connected and properly configured to get network access

Invalid Request is not replied within the specified timeout period; ensure the controller is
access to var connected and properly configured for network access

Wrong The panel did receive from the controller a response, but its format or its contents or its
answer frame length is not as expected; ensure the data programmed in the project are consistent with
from server the controller resources.

Var is too The panel did receive from the controller a response, but its length exceeded the max
long length admitted ensure the data programmed in the project are consistent with the
controller resources.

376 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Modbus RTU
The operator panels can be connected to a Modbus network as the network master using this communication driver.

Implementation details
The Modbus RTU implementation supports only a subset of the Modbus standard RTU function codes.

Code Function Description

01 Read Coil Status Reads multiple bits in the device Coil area

02 Read Input Status Read the ON/OFF status of the discrete inputs (1x reference) in the slave

03 Read Holding Registers Read multiple Registers

04 Read Input Registers Reads the binary contents of input registers (3x reference) in the slave

05 Force Single Coil Forces a single Coil to either ON or OFF

06 Preset Single Register Presets a value in a Register

16 Preset Multiple Registers Presets value in multiple Registers

Note: Communication speed with controllers is supported up to 115200 baud.

Note: Floating point data format is IEEE standard compliant.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 377
Modbus RTU

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to
each tag name imported for each network node.

Node ID Modbus node of the slave device.

Timeout (ms) Time delay in milliseconds between two retries in case of missing response from the server
device.

Delay (ms) Time delay in milliseconds between the end of the last received frame and the starting of a
new request. If set to 0, the new request will be issued as soon as the internal system is
able to reschedule it.

Num of Number of times a certain message will be sent to the controller before reporting the
repeats communication error status.

When set to 1 the panel will report the communication error if the response to the first
request packet is not correct.

378 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Max read Maximum length in bytes of a data block request. It applies only to read access of Holding
block Registers.

Max read bit Maximum length in bits of a block request. It applies only to read access of Input Bits and
block Output Coils.

Write Modbus function for write operations to Holding Registers. Select between the function 06
Holding (preset single register) and function 16 (preset multiple registers).
Register
If function 06 is selected, the protocol will always use function 06 for writing to the
controller, even when writing to multiple consecutive registers.

If function 16 is selected, the protocol will always use function 16 to write to the controller,
even for a single register write request and the Max read block size parameter of the query
is set to 2. The use of function 16 may result in higher communication performance.

Write Coils Modbus function for write operations to Output Coils. Select between the function 05 (write
single coil) and function 15 (write multiple coils).

If Modbus function 05 is selected, the protocol will always use function 05 for writing to the
controller, even when writing to multiple consecutive coils.

If Modbus function 15 is selected, the protocol will always use function 15 to write to the
controller, even for a single coil write request. The use of function 15 may result in higher
communication performance.

Transmission l RTU: use RTU mode


Mode l ASCII: use ASCII mode

Note: When PLC network is active, all nodes will be configured with the same
Transmission Mode.

PLC Models Allows to select between different PLC models:

l Modicon Modbus (1-based): Modbus implementation where all resources starts


with offset 1.
l Generic Modbus (0-based): Modbus implementation where all resources starts
with offset 0.
l Enron Modbus (1-based): Extends Modicon Mobdus implementation with 32 bit
registers memory area.
l Enron Modbus (0-base): Extends Generic Modbus implementation with 32 bit
registers memory area.

Note: The address range used in the Modbus frames is always between 0 and
65535 for the Holding Registers and between 0 and 65535 for Coils.

Comm... If clicked displays the communication parameters setup dialog.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 379
Modbus RTU

Element Description

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in
module plugged on slot#1
or slot#2
l COM3: Optional Plug-in
module plugged on slot#3
or slot#4

Baudrate, Parity, Data Bits, Stop bits Serial line parameters.

Mode Serial port mode. Available


modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

PLC Network Multiple controllers can be connected to one HMI device. To set-up multiple connections,
select PLC networkand click Add to configure each slave

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Modbus RTU from the protocol list: tag definition dialog is displayed.

380 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 381
Modbus RTU

Element Description

Memory Modbus resource where tag is located.


Type
Memory Type Description

Coil Status Coils

Input Status Discrete Input

Input Registers Input Registers

Holding Registers Holding Registers

32 bit Registers 32 bit registers memory area.

Available only for Enron Modbus PLC Models

Node Override ID

Modicon Mode

Serial Baudrate
protocol parameter (see Special Data Types for mode
Serial Parity
details)
Serial Stop Bits

Serial Mode

Serial Done

Offset Offset address where tag is located.

Offset addresses are six digits composed by one digit data type prefix + five digits resource
address.

Generic
Studio Modicon Modbus
Memory Type
Offset range Offset range Offset
range

Coil Status 0 – 65535

Input Status 100000 – 165535


0–
Input Registers 300000 – 365535 1 – 65536
65535
Holding Registers 400000 – 465535

32 bit Registers 0 – 65535

SubIndex This allows resource offset selection within the register.

382 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ...


point type 1.79e308

string Array of elements containing character code defined by


selected encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversio Conversion to be applied to the tag.


n

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 383
Modbus RTU

Element Description

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

384 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description


1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Node Override ID
The protocol provides the special data type Node Override ID which allows you to change the node ID of the slave at
runtime. This memory type is an unsigned byte.

The node Override ID is initialized with the value of the node ID specified in the project at programming time.

Node
Modbus operation
Override ID

0 Communication with the controller is stopped. In case of write operation, the request will be transmitted
without waiting for a reply.

1 to 254 It is interpreted as the value of the new node ID and is replaced for runtime operation.

255 Communication with the controller is stopped; no request messages are generated.

Note: Node Override ID value assigned at runtime is retained through power cycles.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 385
Modbus RTU

Modicon Mode
The protocol provide a special data type that can be used to override the Modicon Mode parameter at runtime.

Modicon Mode Description

0 Generic Modbus (0-based). Register indexes start from 0.

1 Modicon Modbus (1-based). Register indexes start from 1.

Note: Modicon Mode parameter value assigned at runtime is retained through power cycles.

386 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Serial Parameters Override
The protocol provide special data types that can be used to override the serial parameters at runtime.

Parameter Description

Serial Baudrate unsigned 32 bit value for baudrate overriding. Possible values are 150, 300, 600, 1200, 2400, 4800,
9600, 19200, 38400, 57600, 115200.

Serial Parity unsigned 8 bit value for parity overriding. Possible values are described in the following list.

Value Description

0 none parity

1 even parity

2 odd parity

Serial Stop Bits unsigned 8 bit value for stop bits overriding. Possible values are 1, 2.

Serial Mode unsigned 8 bit value for serial mode overriding. Possible values are described in the following list.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 387
Modbus RTU

Parameter Description

Value Description

0 RS-232 mode

1 RS-485 mode

2 RS-422 mode

Serial Done Set to 1 to overwrite the communication line parameters. The parameters are processed all together
only when this variable is set to value 1

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

388 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Type Description

Modbus Generic csv Requires a .csv file.


v1.0
All variables will be displayed at the same level.
Linear

DELTA PLC csv v1.0 Requires a .csv file.

All variables will be displayed at the same level.

Schneider Unity v1.0 Requires a .uny file.


Linear
The file containing symbols must be exported in .txt format and later renamed as
.uny. The importer considers only variables located at fixed address and
disregards arrays of strings. All other arrays, except for boolean type, are
expanded.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 389
Modbus RTU

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Modbus Generic csv file structure


This protocol supports the import of tag information when provided in .csv format according to the following format:

NodeID, TagName, MemoryType, Address, DataFormat,...,[Comment]

Note: Fields in brackets are optional as well as fields between Data Format and Comment.

390 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Field Description

NodeID Node the tag belongs to

TagName Tag description

MemoryType l OUTP
l INP
l IREG
l HREG

Address Offset compatible with Modbus notation

DataFormat Data type in internal notation. See "Programming concepts" section in the main manual.

Comment Optional additional description.

Tag file example


Example of .csv line:

2,Holding Register 1, HREG, 400001, unsignedShort,

Note: This line has no comment. When the Comment is missing, the comma as a terminator character is
mandatory.

Communication status
Current communication status can be displayed using System Variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Error Cause Action

No response No reply within the specified timeout. Check if the controller is connected and
properly configured to get network access.

Incorrect node The device received a response with an invalid -


address in node address from the controller .
response

The received The device received a response with an invalid -


message too short format from the controller .

Incorrect writing The controller did not accept a write request. Check if project data is consistent with the
data acknowledge controller resources.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 391
Modbus RTU Server

Modbus RTU Server


Modbus RTU Server communication driver allows connecting the HMI device as a slave in a Modbus RTU network.
Standard Modbus messages are used for information exchange.

This approach allows connecting HMI devices to SCADA systems through the universally supported Modbus RTU
communication protocol.

Principle of operation
This communication driver implements a Modbus RTU slave unit in the HMI device. A subset of the complete range of
Modbus function codes is supported. The available function codes allow data transfer between the master and the slave.

The following diagram shows the system architecture.

The HMI device is actually simulating the communication interface of a PLC: Coils and Registers are respectively boolean
and 16 bit integers.

The device always access data in its internal memory. Data can be transferred to and from the Modbus Master only on
initiative of the Master itself.

Implementation details
This Modbus RTU slave implementation supports only a subset of the standard Modbus function codes.

Code Function Description

01 Read Coil Status Reads multiple bits in the device Coil area.

03 Read Holding Registers Read multiple device Registers.

392 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Code Function Description

05 Force Single Coil Forces a single device Coil to either ON or OFF.

06 Preset Single Register Presets a value in a device Register.

08 Loopback Diagnostic Test Only sub function 00 (Return Query Data) is supported.

15 Force Multiple Coils Forces multiple device Coils to either ON or OFF.

16 Preset Multiple Registers Presets value in multiple device Registers.

17 Report Slave ID Returns diagnostic information of the controller present at the slave
address.

23 Read Write Multiple Read & presets values in multiple device Registers
Registers

Exception Codes

Code Description

01 Illegal Function. the function code received in the query is not supported

02 Illegal Data Address. Data Address received in the query exceeds the predefined data range
(see Tag Definition for detailed ranges of all types).

03 Illegal Data Value. A sub function other than 00 is specified in Loopback Diagnostic Test (Code
08).

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 393
Modbus RTU Server

Elem
Description
ent

Modb Modbus node ID. Every Modbus server device in the network must have its own Modbus ID.
us ID

Enron If selected, allows to define the first register address and the number of registers for 32 bit registers
32bit memory area.
regist
Note: 32 bit registers are available only for Enron Modbus PLC Models.
ers

32 bit registries memory area definition.

32bit Start value represents the first register address.


reg
Size value represents the number of registries.
Start
Note: A request to one of the registries inside this area gives a 4 byte answer.
32bit
reg
Size

PLC Allows to select between different PLC models:


Model
l Modicon Modbus (1-based): Modbus implementation where all resources starts with offset
s
1.
l Generic Modbus (0-based): Modbus implementation where all resources starts with offset
0.
l Enron Modbus (1-based): Extends Modicon Mobdus implementation with 32 bit registers
memory area.
l Enron Modbus (0-base): Extends Generic Modbus implementation with 32 bit registers
memory area.

394 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Elem
Description
ent

Note: The address range used in the Modbus frames is always between 0 and 65535 for
the Holding Registers and between 0 and 65535 for Coils.

Com If clicked, displays the communication parameters setup dialog.


m...
You have to set parameters according to the values programmed in Modbus Master.

Element Description

Uart Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in module plugged on
slot#1 or slot#2
l COM3: Optional Plug-in module plugged on
slot#3 or slot#4

Baudrate, Parity, Data bits, Serial line parameters.


Stop bits

Mode Serial port mode. Available options:

l RS-232
l RS-485 (2 wires)
l RS-422 (4 wires)

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 395
Modbus RTU Server

1. To add a tag, click +: a new line is added.


2. Select Modbus RTU Server from the protocol list: tag definition dialog is displayed.

396 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Modbus resource where tag is located.


Type
Memory Type Modbus Resource

Coil Status Coils

Input Status Discrete Input

Input Registers Input Registers

Holding Registers Holding Registers

32 bit Registers 32 bit registers memory area.

Available only for Enron Modbus PLC Models

Node Override ID

Modicon Mode

Serial Baudrate
protocol parameter (see Special Data Types for mode
Serial Parity
details)
Serial Stop Bits

Serial Mode

Serial Done

Offset Offset address where tag is located.

Offset addresses are six digits composed by one digit data type prefix + five digits resource
address.

Generic
Studio Modicon Modbus
Memory Type
Offset range Offset range Offset
range

Coil Status 0 – 65535

Input Status 100000 – 165535


0–
Input Registers 300000 – 365535 1 – 65536
65535
Holding Registers 400000 – 465535

32 bit Registers 0 – 65535

SubIndex This allows resource offset selection within the register.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 397
Modbus RTU Server

Element Description

Data type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ...


point type 1.79e308

string Array of elements containing character code defined by


selected encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize When configuring array or string tags, this option define the amount of array elements or
characters of the string.

Conversio Conversion to be applied to the tag.


n

Depending on data type selected, the list Allowed shows one or more conversion types.

398 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 399
Modbus RTU Server

Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Node Override ID
The protocol provides the special data type Node Override ID which allows you to change the node ID of the slave at
runtime. This memory type is an unsigned byte.

The node Override ID is initialized with the value of the node ID specified in the project at programming time.

Node Override
Modbus operation
ID

0 Communication with the slave is stopped. In case of write operation, the device will not respond to
request frames.

1 to 255 It is interpreted as the value of the new node ID and is replaced for runtime operation.

Note: Node Override ID value assigned at runtime is retained through power cycles.

Modicon Mode
The protocol provide a special data type that can be used to override the Modicon Mode parameter at runtime.

400 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Modicon Mode Description

0 Generic Modbus (0-based). Register indexes start from 0.

1 Modicon Modbus (1-based). Register indexes start from 1.

Note: Modicon Mode parameter value assigned at runtime is retained through power cycles.

Serial Parameters Override


The protocol provide special data types that can be used to override the serial parameters at runtime.

Parameter Description

Serial Baudrate unsigned 32 bit value for baudrate overriding. Possible values are 150, 300, 600, 1200, 2400, 4800,
9600, 19200, 38400, 57600, 115200.

Serial Parity unsigned 8 bit value for parity overriding. Possible values are described in the following list.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 401
Modbus RTU Server

Parameter Description

Value Description

0 none parity

1 even parity

2 odd parity

Serial Stop Bits unsigned 8 bit value for stop bits overriding. Possible values are 1, 2.

Serial Mode unsigned 8 bit value for serial mode overriding. Possible values are described in the following list.

Value Description

0 RS-232 mode

1 RS-485 mode

2 RS-422 mode

Serial Done Set to 1 to overwrite the communication line parameters. The parameters are processed all together
only when this variable is set to value 1

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

402 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The following dialog shows which importer type can be selected.

Type Description

Modbus Generic csv Requires a .csv file.


v1.0
All variables will be displayed at the same level.
Linear

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 403
Modbus RTU Server

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Modbus Generic csv file structure


This protocol supports the import of tag information when provided in .csv format according to the following format:

NodeID, TagName, MemoryType, Address, DataFormat,...,[Comment]

Note: Fields in brackets are optional as well as fields between Data Format and Comment.

404 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Field Description

NodeID Node the tag belongs to

TagName Tag description

MemoryType l OUTP
l INP
l IREG
l HREG

Address Offset compatible with Modbus notation

DataFormat Data type in internal notation. See "Programming concepts" section in the main manual.

Comment Optional additional description.

Tag file example


Example of .csv line:

2,Holding Register 1, HREG, 400001, unsignedShort,

Note: This line has no comment. When the Comment is missing, the comma as a terminator character is
mandatory.

Communication status
Current communication status can be displayed using system variables. This communication protocol acts as server and
doesn't return any specific Protocol Error Message.

See "System Variables" section in the main manual.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 405
Modbus TCP

Modbus TCP
Various Modbus TCP-capable devices can be connected to HMI devices. To set-up your Modbus TCP device, please refer
to the documentation you have received with the device.

The implementation of the protocol operates as a Modbus TCP client only.

Implementation details
This Modbus TCP implementation supports only a subset of the Modbus TCP standard function codes.

Code Function Description

01 Read Coil Status Reads multiple bits in the HMI device Coil area.

02 Read Input Status Reads the ON/OFF status of the discrete inputs (1x reference) in the
slave.

03 Read Holding Registers Reads multiple registers.

04 Read Input Registers Reads the binary contents of input registers (3x reference) in the slave.

05 Force Single Coil Forces a single coil to either ON or OFF.

06 Preset Single Register Writes a value to one register.

15 Write Multiple Coils Writes each coil in a sequence of coils to either ON or OFF.

16 Preset Multiple Writes values to a block of registers in sequence.


Registers

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

406 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to
each tag name imported for each network node.

IP address Address of the controller.

Port Port number used by the Modbus TCP driver. The default value is 502 and can be changed
when the communication goes through routers or Internet gateways where the default port
number is already in use.

use UDP/IP If selected, the protocol will use connectionless UDP datagrams.

Encapsulat If selected, the protocol will use serial RTU protocol over Ethernet instead of Modbus TCP
ed RTU protocol, independently from TCP or UDP usage.

Timeout Time delay in milliseconds between two retries in case of missing response from the server
(ms) device.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 407
Modbus TCP

Element Description

Modbus ID Usually used when communicating over Ethernet-to-serial gateways and then interpreted as
the Slave ID. This value is simply copied into the Unit Identifier field of the Modbus TCP
communication frame. This must correspond to server configuration. In most cases, server
answers to Modbus ID 1, so this parameter can be left 1.

Max read Maximum length in bytes of a data block request. It applies only to read access of Holding
block Registers.

Max read bit Maximum length in bits of a block request. It applies only to read access of Input Bits and
block Output Coils.

Write Modbus function for write operations to Holding Registers. Select between the function 06
Holding (preset single register) and function 16 (preset multiple registers).
Register
If 06 is selected, the protocol will always use function 06 for writing to the controller, even
when writing to multiple consecutive registers.

If 16 is selected, the protocol will always use function 16 to write to the controller, even for a
single register write request and the Max read block size parameter of the query is set to 2.
The use of function 16 may result in higher communication performance.

If Auto is selected, the protocol will use both function 06 or function 16 depending on number
of registries to be written.

Write Coils Modbus function for write operations to Output Coils. Select between the function 05 (write
single coil) and function 15 (write multiple coils).

If Modbus function 05 is selected, the protocol will always use function 05 for writing to the
controller, even when writing to multiple consecutive coils.

If Modbus function 15 is selected, the protocol will always use function 15 to write to the
controller, even for a single coil write request. The use of function 15 may result in higher
communication performance.

408 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC Models Allows to select between different PLC models:

l Modicon Modbus (1-based): Modbus implementation where all resources starts


with offset 1.
l Generic Modbus (0-based): Modbus implementation where all resources starts with
offset 0.
l Enron Modbus (1-based): Extends Modicon Mobdus implementation with 32 bit
registers memory area.
l Enron Modbus (0-base): Extends Generic Modbus implementation with 32 bit
registers memory area.

Note: The address range used in the Modbus frames is always between 0 and
65535 for the Holding Registers and between 0 and 65535 for Coils.

PLC IP address for all controllers in multiple connections. PLC Network must be selected to
Network enable multiple connections.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 409
Modbus TCP

Element Description

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Modbus TCP from the Driver list: tag definition dialog is displayed.

410 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Modbus resource where tag is located.


Type
Memory Type Modbus Resource

Coil Status Coils

Input Status Discrete Input

Input Registers Input Registers

Holding registers Holding Registers

32 bit Registers 32 bit registers memory area.

Available only for Enron Modbus PLC Models

Node Override IP

Node Override Port


protocol parameter (see Special Data Types for mode details)
Node Override ID

Modicon Mode

Offset Offset address where tag is located.

Offset addresses are six digits composed by one digit data type prefix + five digits resource address.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 411
Modbus TCP

Element Description

Studio Modicon Generic Modbus


Memory Type
Offset range Offset range Offset range

Coil Status 0 – 65535

Input Status 100000 – 165535

Input Registers 300000 – 365535 1 – 65536 0 – 65535

Holding Registers 400000 – 465535

32 bit Registers 0 – 65535

SubIndex This allows resource offset selection within the register.

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ... 1.79e308


point type

string Array of elements containing character code defined by selected


encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets like “byte[]”,
“short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

412 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 413
Modbus TCP

Element Description

Value Description

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

414 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Node Override Port


The protocol provides the special data type Node Override Port which allows you to change the network Port of the target
controller at runtime.

This memory type is unsigned short.

Node Override Port is initialized with the value of the controller Port specified in the project at programming time.

Node Override Port Modbus operation

0 Communication with the controller is stopped, no request frames are generated anymore.

Different from 0 It is interpreted as the value of the new port and is replaced for runtime operation.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override Port
variable.

Note: Node Override Port values assigned at runtime are retained through power cycles.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 415
Modbus TCP

Node Override ID
The protocol provides the special data type Node Override ID which allows you to change the node ID of the slave at
runtime. This memory type is an unsigned byte.

The node Override ID is initialized with the value of the node ID specified in the project at programming time.

Node
Modbus operation
Override ID

0 Communication with the controller is stopped. In case of write operation, the request will be transmitted
without waiting for a reply.

1 to 254 It is interpreted as the value of the new node ID and is replaced for runtime operation.

255 Communication with the controller is stopped; no request messages are generated.

Note: Node Override ID value assigned at runtime is retained through power cycles.

416 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Modicon Mode
The protocol provide a special data type that can be used to override the Modicon Mode parameter at runtime.

Modicon Mode Description

0 Generic Modbus (0-based). Register indexes start from 0.

1 Modicon Modbus (1-based). Register indexes start from 1.

Note: Modicon Mode parameter value assigned at runtime is retained through power cycles.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 417
Modbus TCP

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

418 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Type Description

Modbus Generic csv Requires a .csv file.


v1.0
All variables will be displayed at the same level.
Linear

DELTA PLC csv v1.0 Requires a .csv file.

All variables will be displayed at the same level.

CODESYS2 sym v1.0 Requires a .sym file.


Linear
All variables will be displayed at the same level.

After selecting the .sym file, the following dialog will appear for PLC model
selection.

Kollmorgen txt v1.0 Requires a .txt file.


Linear
All variables will be displayed at the same level.

Schneider Unity v1.0 Requires a .uny file.


Linear

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 419
Modbus TCP

Type Description

The file containing symbols must be exported in .txt format and later renamed as
.uny. The importer considers only variables located at fixed address and
disregards arrays of strings. All other arrays, except for boolean type, are
expanded.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

420 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Modbus Generic csv file structure


This protocol supports the import of tag information when provided in .csv format according to the following format:

NodeID, TagName, MemoryType, Address, DataFormat,...,[Comment]

Note: Fields in brackets are optional as well as fields between Data Format and Comment.

Field Description

NodeID Node the tag belongs to

TagName Tag description

MemoryType l OUTP
l INP
l IREG
l HREG

Address Offset compatible with Modbus notation

DataFormat Data type in internal notation. See "Programming concepts" section in the main manual.

Comment Optional additional description.

Tag file example


Example of .csv line:

2,Holding Register 1, HREG, 400001, unsignedShort,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 421
Modbus TCP

Note: This line has no comment. When the Comment is missing, the comma as a terminator character is
mandatory.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Error Cause Action

No response No reply within the specified timeout. Check if the controller is connected and
properly configured to get network access.

Incorrect node The device received a response with an -


address in invalid node address from the controller .
response

The received The device received a response with an -


message too invalid format from the controller .
short

Incorrect writing The controller did not accept a write Check if project data is consistent with the
data acknowledge request. controller resources.

422 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Modbus TCP Server
Modbus TCP Server communication driver allows connecting the HMI device as a server in a Modbus TCP network. It is
possible for Modbus TCP clients to connect then to multiple HMI panels acting as servers. Standard Modbus TCP
messages are used for information exchange.

This approach allows connecting HMI devices to SCADA systems through the universally supported Modbus TCP
communication protocol.

Principle of operation
This communication driver implements a Modbus TCP Server unit in HMI device. A subset of the complete range of
Modbus function codes is supported. The available function codes allow data transfer between clients on the TCP network
and the server. The HMI device acts as a server in the network. It can exchange data with up to 32 clients. This means that
up to 32 clients can be connected to the HMI device at the same time. If all the 32 available connections are in use, any
further attempt to connect by a client will be refused by the system.

The following diagram shows the system architecture.

The device simulates the communication interface of a PLC: Coils and Registers data types are respectively boolean and
16 bit integers.

The device always access data in its internal memory. Data can be transferred to and from the Modbus Client only on the
initiative of the client itself.

Implementation details
This Modbus TCP Server implementation supports only a subset of the Modbus standard function codes.

Code Function Description

01 Read Coil Status Reads multiple bits in the device Coil area.

02 Read Input Status Reads multiple bits in the device Coil area.

03 Read Holding Registers Read multiple device Registers.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 423
Modbus TCP Server

Code Function Description

04 Read Input Registers Read multiple device Registers.

05 Force Single Coil Forces a single device Coil to either ON or OFF.

06 Preset Single Register Presets a value in a device Register.

15 Force Multiple Coils Forces multiple device Coils to either ON or OFF.

16 Preset Multiple Registers Presets value in multiple device Registers.

23 Read Write Multiple Registers Read & presets values in multiple device Registers

Note: For both PLC models the Read Coil Status and Read Input Status function codes both access the same
Coil memory area in the HMI device memory. The Read Holding Registers and Read Input Registers function
codes both access the same Register area in the HMI device memory.

Exception Codes

Code Description

01 Illegal Function. the function code received in the query is not supported

02 Illegal Data Address. Data Address received in the query exceeds the predefined data
range (see Tag Editor Settings for detailed ranges of all types).

03 Illegal Data Value. A sub function other than 00 is specified in Loopback Diagnostic
Test (Code 08).

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

424 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Modbus ID Modbus node ID of the HMI device. Every Modbus server device in the network must have its own
Modbus ID.

Port Port number used by the Modbus TCP protocol. Default value is 502. Set the value accordingly to the
port number used by your Modbus TCP Network.

use UDP/IP If selected, the protocol will use connectionless UDP datagrams.

Encapsulated If selected, the protocol will use serial RTU protocol over Ethernet instead of Modbus TCP protocol,
RTU independently from TCP or UDP usage.

Enron 32bit If selected, allows to define the first register address and the number of registers for 32 bit registers
registers memory area.

Note: 32 bit registers are available only for Enron Modbus PLC Models.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 425
Modbus TCP Server

Element Description

32 bit registries memory area definition.

32bit reg Start value represents the first register address.


Start
Size value represents the number of registries.
32bit reg Size
Note: A request to one of the registries inside this area gives a 4 byte answer.

PLC Models Allows to select between different PLC models:

l Modicon Modbus (1-based): Modbus implementation where all resources starts with offset 1.
l Generic Modbus (0-based): Modbus implementation where all resources starts with offset 0.
l Enron Modbus (1-based): Extends Modicon Mobdus implementation with 32 bit registers
memory area.
l Enron Modbus (0-base): Extends Generic Modbus implementation with 32 bit registers
memory area.

Note: The address range used in the Modbus frames is always between 0 and 65535 for the
Holding Registers and between 0 and 65535 for Coils.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Modbus TCP Server from the protocol list: tag definition dialog is displayed.

426 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Modbus resource where tag is located.


Type
Memory Type Modbus Resource

Coil Status Coils

Input Status Discrete Input

Input Registers Input Registers

Holding Registers Holding Registers

32 bit Registers 32 bit registers memory area.

Available only for Enron Modbus PLC Models.

Modicon Mode protocol parameter (see Special Data Types for mode details)

Offset Offset address where tag is located.

Offset addresses are six digits composed by one digit data type prefix + five digits resource
address.

Generic
Studio Modicon Modbus
Memory Type
Offset range Offset range Offset
range

Coil Status 0 – 65535

Input Status 100000 – 165535


0–
Input Registers 300000 – 365535 1 – 65536
65535
Holding Registers 400000 – 465535

32 bit Registers 0 – 65535

SubIndex This allows resource offset selection within the register.

Data type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 427
Modbus TCP Server

Element Description

Data Type Memory Space Limits

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ...


point type 1.79e308

string Array of elements containing character code defined by


selected encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

428 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 429
Modbus TCP Server

Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Modicon Mode
The protocol provide a special data type that can be used to override the Modicon Mode parameter at runtime.

Modicon Mode Description

0 Generic Modbus (0-based). Register indexes start from 0.

1 Modicon Modbus (1-based). Register indexes start from 1.

Note: Modicon Mode parameter value assigned at runtime is retained through power cycles.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

430 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

Modbus Generic csv Requires a .csv file.


v1.0
All variables will be displayed at the same level.
Linear

CODESYS2 sym v1.0 Requires a .sym file.


Linear
All variables will be displayed at the same level.

After selecting the .sym file, the following dialog will appear for PLC model
selection.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 431
Modbus TCP Server

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Modbus Generic csv file structure


This protocol supports the import of tag information when provided in .csv format according to the following format:

NodeID, TagName, MemoryType, Address, DataFormat,...,[Comment]

Note: Fields in brackets are optional as well as fields between Data Format and Comment.

432 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Field Description

NodeID Node the tag belongs to

TagName Tag description

MemoryType l OUTP
l INP
l IREG
l HREG

Address Offset compatible with Modbus notation

DataFormat Data type in internal notation. See "Programming concepts" section in the main manual.

Comment Optional additional description.

Tag file example


Example of .csv line:

2,Holding Register 1, HREG, 400001, unsignedShort,

Note: This line has no comment. When the Comment is missing, the comma as a terminator character is
mandatory.

Communication status
The HMI device is a server station in the Modbus TCP network. The current implementation of the protocol doesn't report
any communication error code apart from standard communication error codes related to the proper driver loading.

See "System Variables" section in the main manual.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 433
Mitsubishi FX ETH

Mitsubishi FX ETH
Mitsubishi FX ETH implements the MELSEC-F (or MC) communication protocol that can be used with FX CPUs as
described in the Mitsubishi document “FX3U-ENET USER’S MANUAL”, chapter 8 “Communication using MC protocol”.

Note: Mitsubishi FX3U controller must be equipped with the appropriate Ethernet module: FX3U-ENET

Protocol Editor Settings


Add [+] a driver in the Protocol editor and select the protocol called “Mitsubishi FX ETH” from the list of available protocols.

Element Description

IP Ethernet IP address of the controller


address

Port Specifies the port number (decimal) used in the communication with the PLC.

434 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC Defines the PLC model connected


Model

PLC The protocol allows the connection of multiple controllers to one operator panel. To set-up
Network multiple connections, check “PLC network” checkbox and enter IP Address for all controllers.

Controller Settings with GX Developer


The Mitsubishi FX system must be properly configured for Ethernet communication using the Mitsubishi FX Configurator.
Click on “Operational settings” as shown at point (1) in the following figure:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 435
Mitsubishi FX ETH

Into Operational Settings dialog, verify the “Communication data code” is set to “Binary code”,

Then type-in the Controller IP Address and confirm with [End] button.

436 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Click now on “Initial settings” as shown at point (2) of Figure below:

For proper communication between HMI and controller it is required to change “Destination existence confirmation starting
interval” from the default value of 1200 to 10ms.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 437
Mitsubishi FX ETH

In case of communication error, this avoid controller keeps alive the connection for a too long time before to allow a new
connection from the HMI.

Click now on “Open settings” as shown at point (3) of Figure below

The next figure shows the “Ethernet open settings” configuration.

The detailed explanation of the meaning of each setting is available in Chapter 5.5 of the Mitsubishi “FX3U-ENET USER’S
MANUAL”.

“Host station Port No.” defined here is the same must be used into Protocol Editor Settings chapter.

438 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: the usage of more than one panel communicating with the same controller requires to define proper
settings in the “Open settings” configuration dialog: one connection per each panel must be configured with
proper properties

Controller Settings with GX Works2


The Mitsubishi FX system must be properly configured for Ethernet communication inside GX Works2 programming suite.
FX Parameter dialog can be recalled with double-click on PLC Parameter:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 439
Mitsubishi FX ETH

Then select “Ethernet Port” tab where is possible to configure IP Address.

Verify the “Communication data code” is set to “Binary code” as shown below:

Then click on “Open Settings” button to recall the “Ethernet Port Open Setting” dialog.

440 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
“Host station Port No.” defined here is the same must be used into Protocol Editor Settings chapter.

Note: For FX3GE Controller, the Open System must be set as “Data Monitor” and Port set to 1025.

Note: the usage of more than one panel communicating with the same controller requires to define proper
settings in the “Open settings” configuration dialog: one connection per each panel must be configured with
proper properties.

Tag Editor Settings


Into Tag editor select the protocol “Mitsubishi FX ETH” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 441
Mitsubishi FX ETH

Element Description

Resources Area of PLC where tag is located

Offset Offset address where tag is located.

SubIndex This allows resource offset selection within the register.

Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

string Refer to “String data type chapter”

Note: to define arrays, select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

442 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 443
Mitsubishi FX ETH

Element Description

Value Description

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Exporting Tags from PLC
The Mitsubishi FX Ethernet tag import accepts symbol files with extension “csv” created by the Mitsubishi GX Works2 (Not
from GX Developer).

The “.csv” file can be exported from the Project tree, as shown in the following figure.

1. Right-click on the Global variable list that need to be exported,


2. Select “Write to CSV File…”

444 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Into following dialog select the file name and location:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 445
Mitsubishi FX ETH

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

446 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

GX Works2 v1.0 Requires a .csvfile.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 447
Mitsubishi FX ETH

Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

448 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Mitsubishi FX SER
The HMI operator panels can be connected to Mitsubishi FX PLC as the network master using this communication driver.

The protocol has been designed to connect to the programming port of the PLC.

Please note that changes in the communication protocol specifications or PLC hardware may have occurred since this
documentation was created. Some changes may eventually affect the functionality of this communication driver. Always
test and verify the functionality of your application. To fully support changes in PLC hardware and communication
protocols, communication drivers are continuously updated. Always ensure that the latest version of communication driver
is used in your application.

Protocol Editor Settings


Add [+] a driver in the Protocol editor and select the protocol called “Mitsubishi FX SER” from the list of available protocols.

Element Description

PLC Models The list allows selecting the PLC model you are going to connect to. The selection will
influence the data range offset per each data type according to the specific PLC
memory resources.

Comm… Gives access to the serial port configuration parameters as shown in the figure below.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 449
Mitsubishi FX SER

Element Description

Port Serial port selection:

Port Series 400 Series 500/600

com1 PLC Port Onboard Serial Port

com2 PC/Printer Port Optional Module on slot #1 or #2

com3 Not available Optional Module on slot #3 or #4

Baud rate, Communication parameters for serial communication


Parity, Data bits,
Stop bits

Mode Serial port mode; available options:

RS-232,

RS-485 (2 wires)

RS-422 (4 wires)

Tag Editor Settings


Into Tag editor select the protocol “Mitsubishi FX ETH” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

450 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Resources Area of PLC where tag is located

Offset Offset address where tag is located.

SubIndex This allows resource offset selection within the register.

Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

string Refer to “String data type chapter”

Note: to define arrays, select one of Data Type format followed by square brackets
like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 451
Mitsubishi FX SER

Element Description

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

452 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Exporting Tags from PLC
The Mitsubishi FX Serial tag import accepts symbol files with extension “csv” created by the Mitsubishi GX Works2 (Not
from GX Developer).

The “.csv” file can be exported from the Project tree, as shown in the following figure.

1. Right-click on the Global variable list that need to be exported,


2. Select “Write to CSV File…”

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 453
Mitsubishi FX SER

Into following dialog select the file name and location:

454 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importing Tags in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Importer Description

GX Works2 v1.0 Requires a .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 455
Mitsubishi FX SER

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

456 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Notes

Line Returned when an error on the communication parameter setup is detected (parity, baud rate,
Error data bits, stop bits); ensure the communication parameter settings of the controller is compatible
with panel communication setup

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 457
Mitsubishi iQ/Q/L ETH

Mitsubishi iQ/Q/L ETH


The Mitsubishi iQ/Q/L ETH driver supports communication with Mitsubishi controllers with integrated Ethernet port and
with external Ethernet card (QJ71E71-100).

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Mitsubishi iQ/Q/L ETH” from the list of available
protocols.

The driver configuration dialog is shown as in the following figure:

Element Description

IP Ethernet IP address of the controller


address

Port Specifies the port number (decimal) used in the communication with the PLC.

458 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC The driver supports communication with different Mitsubishi iQ, Q and L controllers.
Model
Note: PLC Model selection has only effect on range values of variables. If a particular
model is not present in the list, try selecting a similar one. If range values of variables
are the same, the communication will be correctly established.

PLC The protocol allows the connection of multiple controllers to one HMI device. To set-up multiple
Network connections, check “PLC network” checkbox and create your network using the command “Add”
per each slave device you need to include in the network.

Controller Settings
GX Works2
The Mitsubishi Q system must be properly configured for Ethernet communication using the Mitsubishi GX Developer
software version 7 or higher, from GX Works2 software.

The Figure below shows an example of network configuration for Ethernet communication.

Please note that the communication protocol supports only Binary code communication.

The PLC system must be configured to accept incoming data from the external device.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 459
Mitsubishi iQ/Q/L ETH

In the GX Developer Software open “Parameters”, “Network Param” and select Ethernet/ CC IE/ MELSECNET”. Add the
number of connections of the operator panels you want to configure in the network.

When using the Mitsubishi CPU with external Ethernet card (QJ71E71-100) the connections have to be configured
according to the following figure as "Unpassive":

When the “Existence confirmation” setting has been set to Confirm, the TCP connection will be closed when it is not used
(connection lost); by default the TCP port remains open and it is not possible to reconnect.

Note: The GX Developer software allows entering the conventional representation settings (decimal or
hexadecimal) for the port number; in the above figure it is in hexadecimal.

In the next figures there are 2 examples about how to set “Initial settings” for 5 and 15 seconds timeout.

460 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
When using Mitsubishi CPU with integrated Ethernet port the "Open System" settings should be changed to "MC
connection"

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 461
Mitsubishi iQ/Q/L ETH

Note: The number format for Host Station Port No. is hexadecimal, not decimal.

GX Works3
The Mitsubishi Q system must be properly configured for Ethernet communication using GX Works3 software.

The communication driver is based on SLMP function.

SLMP (Seamless Message Protocol) is a protocol for accessing SLMP-compatible devices from an external device (such
as HMI) using TCP or UDP through Ethernet.

From GX Works3 software, Ethernet port parameters must be set from Module parameter > Ethernet Port > Basic
Settings > Own Node Settings.

462 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
SLMP Connection Module must be added in Module parameter > Ethernet Port > Basic Settings > External Device
Configuration > Detailed Settings > Ethernet Configuration (Built-in Ethernet Port). Port No. parameter must be
the same as per Port parameter from Protocol Editor Settings (see images below).

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 463
Mitsubishi iQ/Q/L ETH

Note: To actually get communication with HMI it is necessary to initialize the PLC after the above settings have
been applied.
To initialize the PLC it possibile to use the Run/Stop/Reset switch or by simply rebooting the PLC.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

464 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The following dialog shows which importer type can be selected.

Importer Description

GX Works2/GX Works3 Requires a .csvfile.


v1.0
All variables will be displayed at the same level.
Linear

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 465
Mitsubishi iQ/Q/L ETH

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

466 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Mitsubishi iQ/Q/L SER
The Mitsubishi iQ/Q/L SER driver supports communication with Mitsubishi controllers with integrated serial port.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Mitsubishi iQ/Q/L SER” from the list of available
protocols.

The driver configuration dialog is shown as in the following figure:

Element Description

Alias Name identifying PLC. The name will be added as a prefix to each tag name.

timeout Time delay in milliseconds between two retries in case of missing response from the device.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 467
Mitsubishi iQ/Q/L SER

Element Description

PLC The driver supports communication with different Mitsubishi iQ, Q and L controllers.
Model
Note: PLC Model selection has only effect on range values of variables. If a particular
model is not present in the list, try selecting a similar one. If range values of variables
are the same, the communication will be correctly established.

Comm If clicked displays the communication parameters setup dialog.

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in module
plugged on slot#1 or slot#2
l COM3: Optional Plug-in module
plugged on slot#3 or slot#4

Baudrate, Parity, Data Bits, Stop bits Serial line parameters.

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Mitsubishi iQ/Q/L SER” from the list of available
protocols.

468 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The driver configuration dialog is shown as in the following figure:

Element Description

Alias Name identifying PLC. The name will be added as a prefix to each tag name.

timeout Time delay in milliseconds between two retries in case of missing response from the device.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 469
Mitsubishi iQ/Q/L SER

Element Description

PLC The driver supports communication with different Mitsubishi iQ, Q and L controllers.
Model
Note: PLC Model selection has only effect on range values of variables. If a particular
model is not present in the list, try selecting a similar one. If range values of variables
are the same, the communication will be correctly established.

Comm If clicked displays the communication parameters setup dialog.

Element Parameter

Port Serial port selection.

l COM1: On-board port


l COM2: Optional Plug-in module
plugged on slot#1 or slot#2
l COM3: Optional Plug-in module
plugged on slot#3 or slot#4

Baudrate, Parity, Data Bits, Stop bits Serial line parameters.

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

470 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The following dialog shows which importer type can be selected.

Importer Description

Mitsubishi v1.1 Requires a .csvfile generated by GX Works2/GX Works3 software.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 471
Mitsubishi iQ/Q/L SER

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

472 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Omron FINS ETH
This driver supports the FINS protocol via Ethernet connection. For a list of models that support the FINS Communications
Service, refer to the manufacturer's website.

Protocol Editor Settings

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a prefix
to each tag name imported for each network node

IP The Ethernet IP address of the controller connected to the operator panel


address

Port Defines the port number used in the communication with the PLC. The UDP Port number must

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 473
Omron FINS ETH

Element Description

match the value specified in the PLC configuration; the default value is 9600. Most applications
will use the default value.

Network Parameters that define the FINS address of the device.


Node
There is a conversion rule to determine the IP address of a device starting from the FINS address
Unit
in the Omron network.

When using the FINS communication service, it is necessary to specify the node addressing
according to the FINS addressing scheme. Even in this case, data must be sent and received on
the Ethernet network using IP addresses. Therefore, IP addresses are converted from FINS
addresses.

There are three ways to convert the FINS addresses into the corresponding IP address; they are:

l Automatic generation (default)


l IP address table
l Combined method (uses Automatic and IP address table)

The Omron documentation contains all the details related to determine the IP address of the
controller depending on the FINS address assigned to it. The next chapter shows an example of
controller configuration based on IP address table.

Panel The Panel Network/Node/Unit parameters assigned to HMI should be compatible with the ones
Network assigned in the Omron network to the PLC:

Panel l Network Number must match the one specified for the PLC
Node l Node Number should match the last number of the IP address of the HMI; in the figure
Panel above the panel has been configured with IP address 192.168.2.15.
Unit l Unit represent the possible different network cards over the same node; for the HMI
should be always set to zero since there is always only one communication unit.

The protocol supports the connections to multiple controllers.

To enable this, check the "PLC Network" check box and provide the configuration per each node.

474 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Controller Settings
PLC must be properly configured to handle the communication with HMI.

Below an example of configuration based on a real scenario.

Configuration windows in this chapter are depending on PLC model.


Following lines must be used as guidelines for any specific configuration.

Example Setup
HMI IP address = 192.168.2.16

PLC IP address = 192.168.2.18

In Ethernet configuration Tab:

1. Make sure that last number of IP address is the same of FINS Node No.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 475
Omron FINS ETH

In FINS/UDP Setting

2. Set Conversion to "IP address table"

3. Set FINS/UDP Options to "Destination IP is changed dynamically"

4. Insert HMI IP address

476 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
IP Address Table can contain more than one address.
In these cases make sure that index of IP addresses is consecutive:
001 192.168.002.016
002 192.168.002.017
003 192.168.002.033

Add PC IP address in IP Address Table described above to allow communication between PLC and online
Simulation.

In protocol editor

5. Set the IP address of PLC

6. Insert last number of HMI IP address in panel node parameter

7. Insert last number of PLC IP address in node parameter

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 477
Omron FINS ETH

Tag Import
Exporting Tags from PLC
The Omron FINS Ethernet driver can import tag information from CX-Programmer PLC programming software. The tag
import filter accepts symbol files with extension “.cxr” created by the Omron programming tool.

The “.cxr” files can be exported from the symbol table utility.

See in figure how to access the Symbol Table (if configured) from the Omron programming software.

478 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importing Tags in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 479
Omron FINS ETH

The following dialog shows which importer type can be selected.

Importer Description

CX-Programmer v1.1 Requires a .cxrfile.


Linear
All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

480 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Aliasing Tag Names in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 481
Omron FINS ETH

Note: aliasing tag names is only available when tags can be imported. Tags which are added manually in the Tag
Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you
modify the Alias string after the tag import has been completed, there will be no effect on the names already
present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported
again with the new prefix string.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge; can be returned also in case the
network/node/unit parameters contained in the PLC response are not matching with panel
configuration

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

482 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Notes

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller
resources. The same error can be returned also in case the PLC could not complete the
processing of the panel request and sent back to the panel and invalid/not completed response.

Cnt error Returned when a specific control character in the protocol frame received does not match with
the corresponding one in the request; verify the proper settings of the controller network
configuration

General Error cannot be identified; should never be reported; contact technical support
Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 483
Omron FINS SER

Omron FINS SER


This driver supports the FINS protocol via serial connetcion. For a list of models that support the FINS Communications
Service, refer to the manufacturer's website.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

PLC PLC models available:


Models
l CJx/CSx/CP1x

Comm... If clicked displays the communication parameters setup dialog.

484 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Element Parameter

Port Serial port selection.

l COM1: device PLC port.


l COM2: computer/printer port on panels with 2 serial ports or
optional Plug-In module plugged on Slot 1/2 for panels with 1
serial port on-board.

l COM3: optional Plug-In module plugged on Slot 3/4 for panels


with 1 serial port on-board.

Baudrate, Parity, Serial line parameters.


Data Bits, Stop
bits

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Tag Editor Settings


In Tag Editor select the protocol Omron FINS SER.

Add a tag using [+] button. Tag setting can be defined using the following dialog:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 485
Omron FINS SER

Element Description

Memory Memory Type Description


Type
I/O area Corresponds to CIO resource on PLC

Auxiliary area Corresponds to A resource on PLC

Holding area Corresponds to H resource on PLC

Timer completion flags Corresponds to T resource on PLC

Timer PVs Corresponds to TPV resource on PLC

DM area Corresponds to D resource on PLC

Counter completion area Corresponds to C resource on PLC

Counter CVs Corresponds to CVS resource on PLC

EM area Corresponds to E resource on PLC

Work area Corresponds to W resource on PLC

Index registers Corresponds to IR resource on PLC

Data registers Corresponds to DR resource on PLC

Offset Starting address for the Tag. The possible range depend on memory type selected.

486 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Subindex This parameter allow to select a single part of the resource if the selected data type is shorter
than the resource data type

Data block Instance of resource of the PLC.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets (byte[], short[]…).

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 487
Omron FINS SER

Element Description

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.

488 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

> GHEFCDAB Example:


32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Exporting Tags from PLC
The Omron FINS SER driver can import tag information from CX-Programmer PLC programming software. The tag import
filter accepts symbol files with extension “.cxr” created by the Omron programming tool.

The “.cxr” files can be exported from the symbol table utility.

See in figure how to access the Symbol Table (if configured) from the Omron programming software.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 489
Omron FINS SER

Importing Tags in Tag Editor


Select the driver in Tag Editor and click on the Import Tags button to start the importer.

490 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The following dialog shows which importer type can be selected.

Importer Description

CX-Programmer v1.1 Requires a .cxr file.


Linear
All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 491
Omron FINS SER

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

492 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
OPC UA Client
The OPC UA Client communication driver has been designed to connect HMI devices to OPC UA servers.

This implementation of the protocol operates as a client only.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 493
OPC UA Client

Element Description

PLC Network Enable access to multiple networked controllers. For every controller set proper
options.

Alias Name identifying nodes in network configurations. The name will be added as a prefix
to each tag name imported for each network node.

IP Address IP address of the server.

Port Port number where the server is listening.

Timeout (ms) Time delay in milliseconds between two retries in case of no response from the server
device.

Security Mode Type of authentication:

l None: Certificates are not used


l Sign: Certificates only used for authentication with server.
l SignAndEncrypt: Certificates used for authentication with server and data
encryption.

Security Policy Encryption level to use (used only when Security Mode is active).

l Basic256
l Basic256Sha256

Username Authentication with user name and password


Password

Server Certificate Certificate for OPC UA Server.

Server certificate can be downloaded using tag importer. See "Remote


OPC UA Server certificate" on page 504

Client Certificate Certificate used by OPC UA client. If blank, a certificate is automatically generated.

Client Private Key Key used by OPC UA client. If blank, a key is automatically generated.

PLC Models No options available.

Notes:

l Before choosing security options, be aware that not all security modes might be supported by the OPC UA server.
Make sure to use security mode that is supported.
l When working within a private network you do not need to provide devices' certificates because you trust used
devices. On a public network, instead, the certificate will give you a guarantee of the identity of devices.

External Certificate

ASCII version of the certificate (usually a file with .pem extension) is required.

Edit the certificate files and then copy and paste the full text of your certificate to the certificate fields.

Step 1: Remove header and footer lines

494 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Step 2: Remove all Newline characters

Step 3: Copy and paste the single text line of the certificate to the protocol dialog

Script to generate a Certificate

If you want to use your own certificate, note that the certificate must include the “Subject Alternative Name (SAN)”
parameters as required by the OPC UA standard.

Here is an example of how to generate certificate files using a public OpenSSL-Win32 library (Reference:
https://www.openssl.org/)

@echo off
set OpenSSL="C:\Program Files (x86)\OpenSSL-Win32\bin\openssl.exe"
set NodeName=HMI-Client

rem Generate an RSA key


%OpenSSL% genrsa -out client-key.pem 2048

rem Creating Certificate Signing Requests


%OpenSSL% req -new -key client-key.pem -out client.csr -subj
"/ST=Italy/C=IT/L=Verona/O=CompanyName/OU=R&D Team/CN=OPCUAClient@%NodeName%

rem Creating Certificate (.pem)


echo subjectAltName=URI:urn:%NodeName%:CompanyName:OPCUAClient > san.txt
echo
keyUsage=digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment,keyCertSign
>> san.txt
echo extendedKeyUsage=critical,serverAuth,clientAuth >> san.txt
echo authorityKeyIdentifier=keyid,issuer >> san.txt
echo basicConstraints=CA:TRUE >> san.txt

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 495
OPC UA Client

%OpenSSL% x509 -req -days 3650 -in client.csr -signkey client-key.pem -out
client.crt -extfile san.txt

rem Convert Certificate (.der)


%OpenSSL% x509 -in client.crt -outform der -out client.der

rem Not necessary files


del san.txt

pause

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. Select OPC UA Client from the protocol list.

2. To add a tag, click +: tag definition dialog is displayed.

496 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l double
l time
l uint64
l int64
l string
l binary

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square
brackets.

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 497
OPC UA Client

Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

498 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Tag name Name of tag to be used in communication.

Note: Tag properties result from import process. In most cases manual creation of new tags is not necessary.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 499
OPC UA Client

Node Override Port


The protocol provides the special data type Node Override Port which allows you to change the network Port of the target
controller at runtime.

This memory type is unsigned short.

Node Override Port is initialized with the value of the controller Port specified in the project at programming time.

Node Override Port Modbus operation

0 Communication with the controller is stopped, no request frames are generated anymore.

Different from 0 It is interpreted as the value of the new port and is replaced for runtime operation.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override Port
variable.

Note: Node Override Port values assigned at runtime are retained through power cycles.

500 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Adding an alias name to a protocol
Tag names must be unique at project level, however, the same tag names might need to be used for different controller
nodes (for example when the HMI device is connected to two devices running the same application).

When creating a protocol you can add an alias name that will be added to tag names imported for this protocol.

In the example, the connection to a certain controller is assigned the name Node1. When tags are imported for this node,
all tag names will have the prefix Node1 making each of them unique at the network/project level.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 501
OPC UA Client

Note: Aliasing tag names is only available for imported tags. Tags added manually in the Tag Editor cannot have
the Alias prefix in the tag name.
The Alias string is attached at the time of tag import. If you modify the Alias string after the tag import has been
completed, there will be no effect on names already present in the dictionary. When the Alias string is changed
and tags are re-imported, all tags will be re-imported with the new prefix string.

Importing tags
Tags for OPC UA Client protocol must be imported from OPC UA servers.

Path: ProjectView> Config > double-click Tags

1. Select OPC UA Client in the list of available protocols.


2. Click Import Tags.
3. Select Hierarchical importer.
4. Enter address of the server.
5. Choose Security and Authentication mode.
6. Click Browse to connect and retrieve tag dictionary from the OPC UA server.
7. The OPC UA Server will provide its own certificate. You have to accept the certificate to continue and retrieve data.
8. When the discovery process has been completed, click OK to create the dictionary with the tags.

502 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Remote URI Address of OPC UA Server in the form: opc:tcp:<IPAddress>:<Port>

Example:

l opc.tcp://192.168.44.165:4840

Security Mode Type of authentication:

l None: No authentication with server and no data encryption.


l Sign: Certificates only used for authentication with server.
l SignAndEncrypt: Certificates used for authentication with server and data
encryption.

Security Policy Encryption level to use (used only when Security Mode is active).

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 503
OPC UA Client

Element Description

l Basic128Rsa15
l Basic256
l Basic256Sha256

Username Authentication with user name and password


Password

Client Certificate Certificate used by OPC UA client. If blank, a certificate is automatically generated.

The certificate is used by the importer only if requested by the server

Client Private Key Key used by OPC UA client. If blank, a key is automatically generated.

To be allowed to retrieve data from the OPC UA Server you must provide the required security parameters.
Dialog will be filled automatically with the parameters provided by protocol editor settings (you can simply accept
the proposed values)

Remote OPC UA Server certificate

When OPC UA Server provides its own certificate, you have the option to:

504 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
l Accept temporarily
Certificate is accepted for current working session only.
l Accept permanently
Certificate is accepted and copied to computer. Any future import request for the same OPC UA Server will be
accepted automatically without asking confirmation.

The certificate file will be copied inside the folder:


%AppData%\Roaming\...\studio\OPCUA\pki\trusted\certs

l Copy to clipboard
ASCII format of the certificate is copied to the clipboard to allow you to verify its authenticity, save and insert it into
protocol configuration (if required).

To verify a certificate, use a text editor to paste it from the clipboard to a text file with the extension .crt.
You can then double-click the .crt file to allow Windows to view the properties of certificate.

l Cancel
Cancel the import operation

Communication status
Current communication status can be displayed using System Variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 505
OPC UA Client

Error Description

Connecting <Error description> Error during connection

Connection while reading: <Error description> Error encountered when connecting for read operation

Bad status while reading: <Error description> Error in read operation

Connection while writing: <Error description> Error encountered when connecting for write operation

Bad status writing: <Error description> Error in write operation

OPC UA client for given node ID not found Wrong node ID information

<Error description> can be one of the following:

Error Notes

BadTimeout Timeout error. No answer from server.

BadSecurityChecksFailed Error during exchange of certificates. Typically occurs when the server does
not accept the client certificate as trusted.

BadCertificatexxxInvalid Error in client or server certificate.

BadNodeUnknown The tag (node) does not exist.

BadAttributeNotFound Attempt to access an invalid attribute.

BadNotWritable Attempt to write to a read-only attribute.

506 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Panasonic FP
The operator panels can be connected to a Panasonic FP PLC as the network master using this communication driver.

This driver has been designed for connection to the programming port of the PLC.

Please note that changes in the communication protocol specifications or PLC hardware may have occurred since this
documentation was created. Some changes may eventually affect the functionality of this communication driver. Always
test and verify the functionality of your application. To fully support changes in PLC hardware and communication
protocols, communication drivers are continuously updated. Always ensure that the latest version of communication driver
is used in your application.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Panasonic FP” from the list of available protocols.

The driver configuration dialog is shown in the following figure.

Element Description

Node ID Node number of the slave device

PLC The list allows selecting the PLC model you are going to connect to. The selection will influence
Models the data range offset per each data type according to the specific PLC memory resources.

Comm… Recalls the serial port configuration parameters as shown in the figure below.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 507
Panasonic FP

Element Description

Port Serial port selection.

COM1 is the PLC port.

COM2 is PC/Printer port on panels with two serial ports or refers to the optional

Plug-In module plugged on Slot 1 (or 2) for panels with one serial port on-board.

COM3 refers to the optional Plug-In module plugged on Slot 3 (or 4) for panels with one serial port
on-board.

Baud Communication parameters for serial communication


rate

Parity

Data bits

Stop
bits

508 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Mode Serial port mode. Available options:

RS-232,

RS-485 (2 wires)

RS-422 (4 wires)

PLC The protocol supports connection to multiple controllers.


Network
To enable this, check the "PLC Network" check box and provide the configuration per each
node.

Tag Import
Exporting Tags from PLC
The Panasonic FP driver supports the Tag Import facility. The symbol file can be exported by the controller programming
software FPWIN.

In FPWIN menu, click on “Project > Export > Variables as CSV file”, then you can choose if you want to export only the
Global variables or All project variables.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 509
Panasonic FP

If you choose to export only the Global variables, FPWIN will show the window of the following picture that allow to
customize the elements of the exported csv file.

Then, in the “Export to file” window, choose the “CSV file (Unicode)” format.

510 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importing Tags in Tag Editor
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 511
Panasonic FP

Importer Description

FPWIN v1.0 Requires a .csv file.


Linear
All variables will be displayed at the same level.

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

512 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured to get network access

Line Returned when an error on the communication parameter setup is detected (parity, baud rate,
Error data bits, stop bits); ensure the communication parameter settings of the controller is compatible
with panel communication setup

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

General Error cannot be identified; should never be reported; contact technical support
Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 513
Ping

Ping
Ping communication driver allows to send ping commands to a specific IP address.

The purpose of this communication driver are:

l test a connection between the HMI and another device in the same network
l check internet connectivity by executing ping commands to a public IP address (example 8.8.8.8)

In case it is needed to send ping commands to many IP addresses at the same time, it is possible to create many
instances of Ping protocol:

Ping communication driver is not counted as physical protocol.


Refer to Table of functions and limits from main manual in "Number of physical protocols" line.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

514 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

IP address Destination IP address to which ping commands are sent.

Protocol Network protocol used to send ping commands (default is ICMP).

Port Network port used for sending ping commands (fixed to 53 for ICMP Protocol).

Timeout (ms) Polling time between each ping command sent.

PLC Models Fixed to default.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Ping from the protocol list: tag definition dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 515
Ping

Eleme
Description
nt

Memor Name Description


y Type
Node Override IP If defined, this Tag allows to change the destination IP address to
which ping commands are sent, at runtime.

Status Represents the result of last ping command:

l 0 = last ping command failed


l 1 = last ping command got response

Last ping time Represents the result of last ping time, expressed in milliseconds.

Data Data Type Memory Space Limits


Type
boolean 1-bit data 0 ... 1

unsignedByte[] 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

string Express the number of characters used to specify the destination


IP address
Example: string[15] --> xxx.xxx.xxx.xxx

Arraysi This property represents the maximum number of bytes available in the string or in the array Tag.
ze
Note: number of bytes corresponds to number of string chars if Encoding property is set to UTF-8
or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one char requires 2
bytes.

516 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The system will require a generic XML file exported from Tag Editor by appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 517
Ping

Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

518 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
ProConOS ETH
The ProConOS ETH driver has been developed for the connection to ProConOS compatible controllers via Ethernet.

Yaskawa MPiec controllers that can communiucate using ProConOSdriver are:

l MP2300Siec
l MP2310iec

For such models it is possible to export variables to be imported in Tag Editor (see Tag Import chapter).

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “ProCoNos ETH” from the list of available protocols.

Element Description

Alias Name to be used to identify nodes in network configurations. The name will be added as a
prefix to each tag name imported for each network node

IP Address Controller IP address

Port Controller port number for Ethernet interface

Motorola This option is used to identify if the PLC you’re working with is a Big Endian type (default,
Byte Order option checked), or Little Endian (option unchecked).

Timeout The time the protocol waits the answer from the controller before issuing a new retry.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 519
ProConOS ETH

Element Description

PLC Models List of compatible controller models. Make sure to select the right model in this list when
configuring the protocol.

PLC The protocol supports connection to multiple controllers.


Network
To enable this, check the "PLC Network" check box and provide the configuration

per each node.

Data Types
The import module supports variables of standard data types as per the following list.

l BOOL
l SINT (8-bits signed integers)
l INT (16-bit signed integers)
l DINT (32-bits signed integers)
l USINT (8-bits unsigned integers)
l BYTE (8-bits unsigned integers)
l UINT (16-bit unsigned integers)
l WORD (16-bit bit strings, displayed as unsigned integers)
l UDINT (32-bits unsigned integers)
l DWORD (32-bit bit strings, displayed as unsigned integers)
l REAL (32-bit floating point data)
l LREAL (64-bit floating point data)
l TIME
l STRING (character string)

520 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Conversion
Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 521
ProConOS ETH

Value Description


1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Special Data Types


The ProCoNos Ethernet driver provides one special data type called "Node Override IP".

The Node Override IP allows changing at runtime the IP address of the target controller you want to connect. This memory
type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

If the IP Override is set to 0.0.0.0, all the communication with the node is stopped, no request frames are generated
anymore.

If the IP Override has a value different from 0.0.0.0, it is interpreted as node IP override and the target IP address is
replaced at runtime with the new value.

In case the panel has been contabld to access to a network of controllers, each node has its own Override variable.

Note: the IP Override values assigned at runtime are retained through power cycles.

522 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Aliasing Tag Names in Network Configurations
Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 523
ProConOS ETH

Note: Aliasing tag names is only available when tags can be imported. Tags which are added manually in the
Tag Editor do not need to have the Alias prefix in the tag name. The Alias string is attached to the tag name only
at the moment the tags are imported using Tag Editor. If you modify the Alias string after the tag import has been
completed, there will be no effect on the names already present in the dictionary. When the Alias string is
changed and tags are imported again, all tags will be imported again with the new prefix string.

Tag Import
The ProCoNos Ethernet driver support the Tag Import facility.

The symbol file can be exported by the controller programming software.

To import the tags from IEC project:

524 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
1. Select the Tags tab from ProjectView
2. Click the "Import tag" button
3. In the Tag Import window click the "OK" button to select the .csv file
4. Point to the "sr.csv" file from the IEC project

The Path is “ProjectFolder > C > Configuration > R > Resource”

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 525
ProConOS ETH

5. After “sr.csv” file import, select the "DT" Directory for Data Types.

If the IEC project contains custom data types you have to select the "DT" folder from IEC Project to correctly import
all the Tags.

6. Now all the variables are available as Dictionary in project. Select the desired variables and add to the tag list as
shown in the figure below.

526 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Status
The communication status can be displayed using the dedicated system variables. Please refer to the User Manual for
further information about available system variables and their use.

The status codes supported for this communication driver are:

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

Invalid The panel did receive from the controller a response, but its format or its contents or its length is
response not as expected; ensure the data programmed in the project are consistent with the controller
resources.

General Error cannot be identified; should never be reported; contact technical support
Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 527
Profibus DP

Profibus DP
The Profibus DP communication driver has been designed to connect HMI products to a Profibus DP network as slave
nodes. With the Profibus DP driver, the HMI simply exchanges Input and Output data with the Master. It is up to the Master
to make sense of this data.

Connection to Profibus DP network requires the optional Profibus DP communication module. Verify the suitable version
for your HMI model.

Please note that changes in the controller protocol or hardware, which may interfere with the functionality of this driver, may
have occurred since this documentation was created. Therefore, always test and verify the functionality of the application.
To accommodate developments in the controller protocol and hardware, drivers are continuously updated. Please ensure
that the latest driver is used in the application.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “Profibus DP” from the list of available protocols.

The driver configuration dialog is shown in figure.

Element Description

Panel Node ID The Profibus node ID assigned to the HMI

Configuring the HMI as a Slave Node


The Profibus DP master must be configured to communicate with the slaves devices present in the network. To configure
the Master System you will generally need a software package available from the manufacturer of the Master System.
Before the master configuration software can recognize the the HMI device as slave, it must be included in the catalog of
devices. For this purpose it is available a device description file in the standard GSD format. The device description file is
EX9649AX.GSD. It must be installed following the instructions of the network configuration software you are using.

One of the fundamental steps of the configuration of a slave station in a Profibus DP system is the mapping of the slave’s
I/O buffers in the memory of the master.

The HMI panels support Input / Output buffer sizes of 8, 16 or 32 bytes and they expect that both the Input and the Output
areas are configured to the same size, i.e. both 8 bytes, either 16 bytes or both 32 bytes. The HMI panels will automatically
detect the buffer size used by the master.

The feature generally referred to as Response Monitoring should always be disabled in the master for the HMI panel slaves.

528 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Editor Settings

1. Studio allows you to access the HMI panel “Output Buffer”, the area containing data sent from the PLC, as well as
the HMI panel “Input Buffer”, the area containing data to be sent to the PLC. The data in the Output Buffer is read
only, while the data in the Input Buffer is read write. The Address Offset range (in bytes) for these 2 types is from 0 -
31. It should be borne in mind, however, that that Input / Output buffer range configured in the PLC for the panel can
be either in the range 0 - 7, 0 - 15 or 0 - 31.
2. In addition to the Input Buffer and the Output Buffer Designer also allows you to access the “Internal Work Buffer”
data type. This buffer is purely an internal buffer in the panel. The panel sets aside 256 bytes for this buffer. The data
in this buffer is neither read from nor written to the PLC. It is purely a work area.

Tag Conversion
Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 529
Profibus DP

Value Description

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Special Data Types


The Profibus DP communication driver provides one special data type called "Node Override".

The Node Override ID allows changing at runtime the value of Panel Node ID. This memory type is an unsigned byte.

The Node Override ID is initialized to the value defined as Panel Node ID in the project at programming time.

The communication with the master is described in the table.

530 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Node Override ID
Behavior
value

0 The communication with the master is stopped

1 to 255 If Node Override ID has a value different from 0, it is interpreted as the new node ID
for the slave device.

Note: the Node Override values assigned at runtime are retained through power cycles

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

Invalid The panel did receive from the controller a response, but its format or its contents or its length is
response not as expected; ensure the data programmed in the project are consistent with the controller
resources.

General Error cannot be identified; should never be reported; contact technical support
error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 531
Profibus DP S7

Profibus DP S7
The Profibus DP S7 communication driver has been designed to connect the HMI products to a Profibus DP network as
slave nodes. This communication driver has been specially created to offer optimal data exchange features for Profibus DP
networks where the bus master is a Siemens Simatic S7 PLC.

This Technical Note gives the technical details for a successful connection.

A Profibus DP network can contain multiple nodes. A node in a Profibus DP network can be either a Master or a Slave. The
Masters in the network have a group of Slaves assigned to them. A Master is able to exchange data with the Slaves that
are under its control.

The HMI panel is always a Slave device in a Profibus DP network and it is only able to exchange data with a single Master
PLC. The HMI has a complex communication profile, as it needs to access data in the Master PLC memory. This
communication profile is not something normally available for Profibus DP Slave devices. To enable the HMI to
communicate under this profile, a set of special function blocks must be added to the PLC program in the Master PLC.
These special function blocks are required by the PLC to process the requests from the HMI. These special function blocks
use a Data Block, called the Comm DB, within the Master PLC to store configuration information. This approach has the
advantage that it offers to the HMI slave device full access to the data in the PLC, as if the HMI device was directly
connected to the programming port of the PLC.

Note: Connection to Profibus DP network requires the optional Profibus communication module. Verify the
suitable version for your HMI model.

Please note that changes in the controller protocol or hardware, which may interfere with the functionality of this driver, may
have occurred since this documentation was created. Therefore, always test and verify the functionality of the application.
To accommodate developments in the controller protocol and hardware, drivers are continuously updated. Please ensure
that the latest communication driver is used in the application.

Protocol Editor Settings


Add [+] a driver in the Protocol Editor and select the protocol called “Profibus DP S7” from the list of available protocols.

The driver configuration dialog is shown in figure.

532 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Panel Node The Profibus node ID assigned to the HMI.


ID

PLC Models List of compatible controller models. Make sure to select the correct PLC model in this list
when configuring the protocol.

Configuring HMI as a slave station with STEP7


The Master PLC must be configured to communicate with Profibus DP slaves. You can do this with the STEP 7
programming software. This package configures the Profibus DP network attached to the Master PLC (or to the CP
communication processor) so that it exchanges data with the specified Slaves. With this package you can select different
types of Slaves such as HMI, distributed I/O, drives, etc.

Note: Step7 versions 5.5 SP1 has been used to create the examples included in this Tech Note. Using another
version of the Step7 software package may require changes to the procedures described in this document.

Adding the DDB file to your system


A Profibus DP Slave type file (GSD) is available for the Profibus DP configuration. The filename is EX9649AX.GSD; this
file contains the description of the HMI devices as Profibus DP Slaves.

To include the file in the system, follow the procedure:

1. Select your station


2. Double click on “Hardware” to open “HW Config” editor
3. From menu Options select “Install GSD File…” and follow the wizard

This will enable STEP 7 to recognize the HMI panels as an element of the class ‘Additional Field Devices’.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 533
Profibus DP S7

Network configuration
The basic steps of the Profibus DP configuration are described below.

Create a new Step7 project or open an existing project.

Configure the system (Hardware Configuration) using components from the Hardware Catalog

Create and configure the Profibus DP network.

534 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 535
Profibus DP S7

The Operator Panels will then be available for selection in the Hardware Catalog as shown in the figure below. Note that the
DDB Files must have been updated as described in chapter 1.1.

Select the Device from Hardware catalog and Drag & Drop it to the Bus line, once added assign the Address properly

536 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Once the HMI devices have been included in the Profibus DP network configuration, you will have to open the slave
configuration and enter the required parameters. 2 or 4 blocks must be configured in the DP image area for the device
depending on the size of the buffer (16 or 32 bytes) which has been selected in the previous step. The HMI panels can work
with a DP image size of 16 bytes or 32 bytes. Using 32 bytes will offer improved communication performance at the
expense of an increased memory usage in the process image area

Configure the blocks in the DP image area. If buffer size of 16 bytes is selected, unused blocks are automatically set to
‘Empty slot’.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 537
Profibus DP S7

538 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
The configuration procedure must be repeated for all the HMI devices to be included as slaves in the Profibus DP network.
Finally the network configuration will have to be transferred to the master PLC.

Using the function blocks in the master PLC


To make possible for the HMI device to access all the data in the Master PLC, some support from the PLC program is
required. It is accomplished by adding to the user PLC application some special program modules. Samples of these
program modules required to support Profibus DP communication are available.

The core functionality is provided by one special function block must be added to the user’s program. The complete support
includes also 2 Data Blocks.

The Function Block and the other blocks are available in the form of ready-to-run sample projects. Function and Data
Blocks may be extracted from the sample projects for integration into the user’s project.

Apart from adding the special blocks to the PLC program you also need to cyclically call FB1. You can do this by adding a
call to FB1 in OB1.

It is important that FB1 is called cyclically; you should not call it only one time, as the function block only processes the
requests from the slave devices when it is called.

The HMI devices will not be able to communicate with the Master PLC if it is in STOP mode as the special function block
will not be called.

Note: if you have multiple HMI devices connected to the Master PLC you do NOT need to call FB1 once for each
panel. One call to the FB1 for every cycle of the PLC program is sufficient to process all the HMI slave devices
in the Profibus DP network attached to the Master PLC.

Sample PLC programs


Sample PLC programs are available on our website in Software section.

Click on Profibus DP S7 example projects to start the download, as shown in picture below.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 539
Profibus DP S7

Creating the comm data block


The Comm DB (Communication Data Block) is used to provide the program modules supporting Profibus DP
communication with information on:

l the number of HMI devices configured as Profibus DP slaves and


l the addresses for the Input and Output data of the slave devices in the Master PLCs memory.

The Comm DB has 2 distinct parts; the first part contains information about the configuration of the Profibus DP network of
the PLC while the second part contains information about the various HMI devices that are connected to this port. Basically
this information is a duplication of the data that you enter in the Profibus Master with Step7.

The Profibus DP Port part is placed in the first 14 bytes of the Comm DB and has the following format:

DBB0 Number of Panels

DBB1 Frame Length

DBB2 Data Type for Input Buffer

DBB3 Data Type for Output Buffer

DBW4 DB Number (Input Buffer)

DBW6 Input Area Base (Input Buffer)

DBW8 DB Number (Output Buffer)

DBW10 Output Area Base (Output Buffer)

DBB12 Sequence Type

DBB13 Reserved for Internal Use

Number total number of HMI panels that have to communicate with the Master PLC.
of Panels

Frame size of the Profibus buffers used to communicate with the Master. Two buffer sizes are
Length supported: 16 bytes and 32 bytes. Enter the appropriate number in this location. Input and
Output buffers always have the same size

Data type of PLC data where the Profibus DP input buffer for the panels is located.
Type for
Input Value Data Type
Buffer
0 DB

4 I

The Input buffer contains the information received by the Master from the slave.

540 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Data type of PLC data where the Profibus DP output buffer for the panels is located.
Type for
Output Value Data Type
Buffer
0 DB

5 Q

The Output buffer contains the information written by the Master to be sent to a Slave.

DB if the location specified for the Input Buffer is a DB, enter here the DB number
Number
(Input
Buffer)

Input offset in the Input Buffer where the data for the panels starts.
Area
Base
(Input
Buffer)

DB if the location specified for the Output Buffer is a DB, enter here the DB number.
Number
(Output
Buffer)

Output offset in the Output Buffer where the data for the panels starts.
Area
Base
(Output
Buffer)

Sequence specifies how you want to handle the case of having Number of Panels set to greater than 1. If
Type you set this item to 0 then the function block will process the requests from all the HMI panels
before returning. If you set this item to 1 then the function block will process the request from
only a single panel before returning, it will then process the request for the next panel on the
subsequent call. This means that if Sequence Type is set to 0 the requests from the HMI panels
will be processed faster but the execution time of the PLC program will be longer. If the
increased execution time of the PLC program causes problems for your application you can set
Sequence Type to 1.

Reserved is actually used to keep track of which panel was processed last. This is used if Sequence
For Type is set to 1
Internal
Use

Note: in this chapter the terms ‘Input’ and ‘Output’ are referred to the Master PLC and not to the slaves. The
information entered in this section must be the same entered in the Profibus DP network configuration.

Following on from the header data comes the HMI panel data. The number of HMI panels connected to this port is specified
by ‘Number of Panels’. Each HMI panel is assigned 8 bytes in the Comm DB.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 541
Profibus DP S7

Note: each panel included in the Profibus DP network must have its descriptor in the Comm Data Block. All
descriptors have to be placed in consecutive memory locations.

The format of the data block for the individual slave devices has the following format:

DBW14 Input Area Offset

DBW16 Output Area Offset

DBB18 Reserved

DBB19 Reserved

DBB20 Error Code for Last Request

DBB21 Last Job Number

Input this number is added to the Input Area Base (in the header) to obtain the address where this input
Area data for this panel starts
Offset

Output this number is added to the Output Area Base (in the header) to obtain the address where this
Area output data for this panel starts
Offset

Error Error Code for the last communication request for this panel.
Code
The error codes have the following meaning:
for Last
Request
Error Code Meaning

0 No Request Received

1 Request Processed OK

2 Request Rejected

You do not need to set this element. The function blocks will actually write to this element to give
you an indication of the error status of the communication. This field is therefore just for
information.

Last Job Number for the last communication request for this panel. Every time the HMI panel makes a
Job request it includes the Job Number in the request to the PLC. This Job Number is incremented for
Number every new request. You do not need to set this element. This field is therefore just for information.

Example
As an example, imagine we have 2 HMI devices attached to a Master PLC that uses I/O addressing and 16 bytes Frame
Length. The Input address for the first panel is set to IB16 and the Output address to QB16. The Input address for the
second panel is set to IB32 and the Output address to QB32. The Comm DB would take the following form:

542 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
When you download a data block to the PLC or when you modify any values in the data block, you will have to make sure
that the modified values are also the current values into the PLC memory. To do this you should change the viewing mode
of the data block in the Step7 software from “Declaration View” to “Data View” as shown in the next figure.

When you are in Data View mode, the values in the column ‘Actual Value’ must match the values on the column ‘Initial
Value’. If there are some differences you have to correct the wrong value on the ‘Actual Value’ column and download again
the Data Block to the PLC. The ‘Actual Value’ column displays at any time the actual PLC data values.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 543
Profibus DP S7

544 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Direct Import of TIA Portal project
It is possible to import TIA Portal variables directly from TIA Portal project, by selecting "TIA Portal Project v12 or newer"
from import selection (refer to "Tag Import" chapter).

Data Blocks must be set as Not optimized:

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

3. In the General tab select Attributes and unselect Optimized block access.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 545
Profibus DP S7

Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

Export using TIA Portal v13, v14 or newer

Exporting Program blocks


These files refer to DB tags defined in Program blocks.

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

546 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. In the General tab select Attributes and unselect Optimized block access.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 547
Profibus DP S7

Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

4. Right-click on the Data Block and choose Generate source from blocks:

548 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
5. Save the file as DBxxx.db, where xxx=number of DB.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 549
Profibus DP S7

Exporting PLC tags


An Excel file refers to PLC tags.

1. Double-click Show all tags: the tag table is displayed.


2. Click the Export button and browse for path file.
3. Define file name.

550 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
4. Click Save to confirm.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 551
Profibus DP S7

5. Click OK to export.

Exporting PLC data types


To create the file, expand PLC data types item from TIA Portal project tree and right click on the user defined structure.
Then click on Generate source from blocks.

552 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In case of multiple PLC data types in PLC project, it is necessary to select them all from PLC data types list, right click
and select Generate source from blocks to create the .UDT file that contains all the PLC data types defined.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 553
Profibus DP S7

In the next step, give a name to the .UDT file and choose the path to where to save the file.

554 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
This file will content all the PLC data types and it can be used for importing tags in Tag Editor.

Check Tag Import chapter for more details.

Export using TIA Portal v10, v11, v12

Exporting Program blocks


These files refer to DB tags defined in Program blocks.

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 555
Profibus DP S7

3. In the General tab select Attributes and unselect Optimized block access.

556 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

4. Build the project to make sure TIA Portal calculates the tags offset.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 557
Profibus DP S7

5. Double-click on a DB name.
6. Expand the view of program block selected.
7. Select all rows.
8. Copy and paste into any text editor.
9. Save the file as DBxxx.tia, where xxx=number of DB.

Note: Make sure you use the Save As function or the file will be named DB2.tia.txt and will not be visible from
the importer.

10. Repeat from step 5 for all program blocks.

Note: Make sure that only the following columns are shown in DB editor before copying all data in the txt file

Exporting PLC tags


An Excel file refers to PLC tags.

1. Double-click Show all tags: the tag table is displayed.

558 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
2. Click the Export button and browse for path file.
3. Define file name.
4. Click Save to confirm.

5. Click OK to export.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 559
Profibus DP S7

Exporting PLC data types


To create the file, expand PLC data types item from TIA Portal project tree and right click on the user defined structure.
Then click on Generate source from blocks.

560 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In case of multiple PLC data types in PLC project, it is necessary to select them all from PLC data types list, right click
and select Generate source from blocks to create the .SCL file that contains all the PLC data types defined.

In the next step, give a name to the .SCL file and choose the path to where to save the file.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 561
Profibus DP S7

This file will content all the PLC data types and it can be used for importing tags in Tag Editor.

Check Tag Import chapter for more details.

Export using STEP7


The Simatic S7 ETH Tag importer accepts symbol files (ASCII format .asc) and source files (.awl extension) created by
the Simatic Step7. The symbol file can be previously exported using the Step7 symbol table utility.

Exporting Symbols table


Symbol files (.asc) can be exported from the symbol table utility.

562 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
1. From the Symbol Table menu in the Symbol Editor choose Export.
2. Assign a name and save the symbol table as ASCII file.

Exporting Sources
These files are created exporting source code.

1. Open any program block in the editor, "OB1" in this example.


2. From the File menu choose Generate Source: the following dialog is displayed:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 563
Profibus DP S7

1. Assign a name, "Sources" in the example, and click OK: the Generate source Sources dialog is displayed.

564 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
2. Click All > to generate source for all blocks.
3. Select the following options:

l Include reference blocks


l Sort according to program structure
l Symbolic address

4. Click OK to confirm: the "Sources" object is generated in the Step7 project as in the example.

5. Right click on the object and select Export Sources.

The generated .awl file can be imported in the Tag Editor.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 565
Profibus DP S7

Note: The .awl file contains additional information not included in the .asc file exported from the symbol table.

Make sure that reference to all data blocks is inserted in the symbol table. The tags from a data block are imported only if
the symbol table contains a line with the data block name and related comment.

Each entry enables the import filter to import the tags related to the specified data block.

Tag Editor Settings


Into Tag editor select the protocol “Simatic S7 ETH” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

566 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Area of PLC where tag is located


Type
Data Type Simatic Type

Internal Memory M

Data Block DB

Input I (E)

Output O (A)

Timer value T

Counter value C

Offset Offset address where tag is located

SubInd In case of Boolean data type, this is the offset of single bit
ex

Data If Memory Type is “Data Block”, this will identify the DB number
Block

Data Data Type Memory Space Limits


Type
boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

string Refer to “String data type channel”

Note: to define arrays, select one of Data Type format followed by square brackets like
“byte[]”, “short[]”…

Arraysi l In case of array tag, this property represents the number of array elements.
ze l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 567
Profibus DP S7

Element Description

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conver Conversion to be applied to the tag.


sion

Depending on data type selected, the Allowed list shows one or more conversions, listed below.

Value Description

Inv bits Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate Set the opposite of the tag value.

Example:
25.36 → -25.36

AB -> BA Swap nibbles of a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB Swap bytes of a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> Swap bytes of a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

568 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

ABC...NOP -> Swap bytes of a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD Separate the byte in two nibbles, and reads them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

S5timer(BCD) Used to support S5timer. Check Simatic S5timer special data type for
more details.

S5timer(BIN) Legacy transformation for S5timer in binary format.

Select the conversion and click on plus button. The selected item will be added on Configured
list.

If more conversions are configured, they will be applied in order (from top to bottom of
Configured list).

Use the arrow buttons to order the configured conversions.

String data type


In Simatic S7 PLC it's possible to define two different types of tags to manage string variables.

l as Array [1..xx] of Chars,


l as String[xx].

Step7 string declaration is showed in the following figure:

TIA Portal string declaration is showed in the following figure:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 569
Profibus DP S7

Note: Usage of String[xx] data type is allowed but a specific Conversion must be applied to the tag. Anyway
using tag importer to import tag dictionary from TIA Portal or Step7 string tags are automatically configured and
no changes/conversion are needed.

To manually add an "Array [1..xx] of Chars" data type tag, press the [+] button in the Tag Editor,

then select "string" as Data Type of the Tag and type the string length in the "Arraysize" field:

570 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
then click on [+/-] button to open the Conversion dialog.

Into conversion dialog:

l select the "S7 String" conversion type


l click on [+] button to add the conversion.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 571
Profibus DP S7

The conversion will be listed into the Configured window on the right.

Confirm with OK button.

Simatic S5timer data type


Simatic drivers support a special data type, called S5Timer.
The tag must be configured with a specific data type and a conversion must be applied to the Tag to correctly read/write a
Simatic S5Timer Variable.

Open the Tag Editor and add a Tag pressing the Plus button.

Select “unsignedInt” as Data Type of the Tag.

572 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Click on +/- button to open the Conversion dialog.

In the Conversion dialog select the S5timer(BCD) conversion type [A] then click on Plus button [B] to add the conversion,
the configured conversion will be listed into the Configured window on the right. Then confirm with OK.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 573
Profibus DP S7

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

574 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

TIA Portal Project v12 or Allows to import the whole TIA Portal project file using .apxx file (where "xx"
newer is the TIA Portal version, example: for TIA Portal 13 , file name is
Linear "project.ap13").

All variables will be displayed at the same level.

TIA Portal v13, v14 or Allows to import:


newer
l Program blocks using .db file
Linear
l PLC tags using .xlsx file
l PLC data types using .udt file

Check Export using TIA Portal v13, v14 or newer for more details.

All variables will be displayed at the same level.

TIA Portal v10, v11, v12 Allows to import:


Linear
l Program blocks using .tia file
l PLC tags using .xlsx file
l PLC data types using .scl file

Check Export using TIA Portal v10, v11, v12 for more details.

All variables will be displayed at the same level.

Step7 Allows to import:


Linear
l Symbols table .asc file
l Sources using .awl file

Check Export using STEP7 for more details.

All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 575
Profibus DP S7

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

576 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Notes

Invalid The panel did receive from the controller a response, but its format or its contents or its length is
response not as expected; ensure the data programmed in the project are consistent with the controller
resources.

General Error cannot be identified; should never be reported; contact technical support
error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 577
Rexroth IndraControl

Rexroth IndraControl
The Rextoth IndraControl communication driver has been designed to connect HMI devices to Bosch Rexroth PLC trough
ethernet connection.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to
each tag name imported for each network node.

IP address Ethernet IP address of the controller.

Port Port number used by the driver. The default value is 6042.

Timeout Time delay in milliseconds between two retries in case of missing response from the
server device.

PLC Models PLC models available:

578 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l CODESYS 3

PLC Network Multiple controllers can be connected to one HMI device. To set-up multiple connections,
select PLC networkand click Add to configure each node

Data Types
The import module supports variables of standard data types and user defined data types.

Supported l BOOL
data types l INT
l SINT
l UINT
l UDINT
l DINT
l STRING*
l REAL
l LREAL
l BYTE
l ULINT
l LINT

and 1-dimensional ARRAY of the types above. See "Programming concepts" section in the main
manual.

Note *: String length for a STRING variable in PLC should be max 80 characters. Declare a
STRING variable either with a specified size (str: STRING(35) or default size (str: STRING)
which is 80 characters.

Unsupported l LWORD
data types l LINT

Tag Conversion
Conversion to be applied to the tag.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 579
Rexroth IndraControl

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> OPM...DAB swap8: Swap bytes in a long word.

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

580 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag import
When creating the project using IndraWorks programming software, properly configure the symbol file to contain the
required variables.

Symbol configuration item contains a list of all the variables available into the IndraWorks project, single variables or
groups of variables can be selected and moved to Selected variables column.

1. After the symbols have been configured, download the project or use the Generate code function (Build > Generate
code) to create an .xml file containing all the variables read to be imported in the Tag Editor. The .xml file is created
in "C:\ProgramData\IW-Projects\0\Project\IndraLogic" by default.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 581
Rexroth IndraControl

2. Select the driver in the Tag Editor.

3. Click the Import Tags button to start the import process.

Select the importer by choosing from the list above.

Linear All variables will be displayed at the same level.

Hierarchical All variables will be displayed according to CODESYS V3 Hierarchical view

General Select this importer to read a general XML file exported from the Tag editor

582 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
4. Locate the .xml file and click OK: the tags included in the created document are listed in the tag dictionary.
5. To add the tags to the project click the Add tags button.

See "My first project" section in the main manual.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Check if the data programmed in the project are
response format or contents from the controller. consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 583
ROBOX BCC/31

ROBOX BCC/31
ROBOX BCC/31 communication driver has been designed to connect HMI devices to ROBOX BCC/31 PLC through
Ethernet connection.

Protocol Editor Settings

Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

IP Address of PLC.
address

Timeout Time delay in milliseconds between two retries in case of missing response from the server
(ms) device.

PLC Allows to select between different PLC models:


Models

584 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l Robox BBC/31

PLC IP address for all PLCs in multiple connections. PLC Network must be selected to enable
Network multiple connections.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select ROBOX BCC/31 from the Driver list: tag definition dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 585
ROBOX BCC/31

586 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Type Resource where tag is located on PLC.

Available resources are:

l Logic Input Bit


l Logic Input Word
l Logic Output Bit
l Logic Output Word
l Phis Input Bit
l Phys Input Word
l Phys Output Bit
l Phys Output Word
l Non Volatile I32
l Non Volatile Double
l Non Volatile string
l Volatile I32
l Volatile Double
l Volatile string
l Parameter I32
l Parameter Double
l Axis Parameter I32
l Axis Parameter Double
l Alarm Mask
l Alarm Code
l Alarm string

Offset Offset address where tag is located.

Offset addresses are six digits composed by one digit data type prefix + five digits resource address.

SubIndex This allows resource offset selection within the selected memory type.

Axis Index Allows to select Axis index. Available only for Axis memory types.

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 587
ROBOX BCC/31

Element Description

Data Type Memory Space Limits

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ... 1.79e308


point type

string Array of elements containing character code defined by selected


encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square brackets like
“byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the
string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8
or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

588 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 589
ROBOX BCC/31

Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

It is possible to import a Tag Editor exported xml

Type Description

Tag Editor exported Select this importer to read a generic XML file exported from Tag Editor by
xml appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

590 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

JavaScript Interface
Beside Tag interface the user can access the protocol via JavaScript.

Although defined Tags can be accesses by JavaScript too, JavaScript can access directly to a Command interface
implemented in protocol. This interface does not require the definition of Tags and is direct to protocol resulting in more
efficiency.

The following commands are supported:

Command Description

dir (node,path) Get directory of node starting from path.

readFile Get file from node.


(node,deviceFilePath,localFilePath)

writeFile Write file to node.


(node,deviceFilePath,localFilePath)

deleteFile Delete file into node.

Example of usage:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 591
ROBOX BCC/31

var tagMgr = project.getWidget("_TagMgr");


var protID = "prot2"; // to be set according to protocol numbering

var params = "0 /F@/file.ext /mnt/usbmemory/file.ext";


tagMgr.invokeProtocolCommand(protID, "writeFile", params, state);

592 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
ROC Plus
The HMI device can be connected to a ROC Plus network as the network master using this communication driver.
Communication with the ROC800 controllers is over an Ethernet or serial link. Please note that changes in the controller
protocol or hardware, which may interfere with the functionality of this driver, may have occurred since this documentation
was created. Therefore, always test and verify the functionality of the application. To accommodate developments in the
controller protocol and hardware, drivers are continuously updated.

Accordingly, always ensure that the latest driver is used in the application.

Protocol Editor Settings


Add (+) a driver in the Protocol editor and select the protocol called “ROC Plus” from the list of available protocols. The
driver configuration dialog is shown in figure.

Element Description

Media Specify if the HMI is connected to the controller via serial communication link or Ethernet
(TCP/IP)

TCP/IP Ethernet IP address of the controller


Address

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 593
ROC Plus

Element Description

TCP/IP Port Port number used by the ROC plus driver; the default value can be changed when the
communication goes through routers or Internet gateways where the default port number is
already in use

Panel Indicates the address of the HMI, this must be a unique number. 0 represents “broadcast
Address within group” and 240 is the “direct connect address.”

Panel Group Indicates the group code for the station address. This is user-configurable and usually set to
2.

Controller Indicates the address of the controller, this must be unique


Address

Controller Indicates the group code for the station address. This is user-configurable and usually set to
Group 2.

Operator ID Sets operator identification code for the communications port through which
communications are occurring. The operator identification is logged with an event, indicating
the operator responsible for creating the event.

Password A numerical value that is used as a password for the Operator Identifier

Access A value that is used to limit access to parameters.


Level

Timeout(ms) Defines the time inserted by the protocol between two retries of the same message in case
of missing response from the server device. Value is expressed in milliseconds.

PLC Models The driver supports the communication with a number of different Emerson controllers.
Please check directly in the programming IDE software for a complete list of supported
controllers.

PLC The protocol allows the connection of multiple controllers to one HMI device. To set-up
Network multiple connections, check “PLC network” checkbox and create your network using the
command “Add” per each slave device you need to include in the network.

Comm… Click on this button to configure the serial port on the panel to be used

594 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Port On UN20:

l com1 is the HMI port labeled “PLC”,


l com2 is the HMI port labeled “PC/Printer”

On UN31 or UN30:

l com1 is the integrated serial port,


l com2 is an add-on module plugged in Slot#1 or #2
l com3 is an add-on module plugged in Slot#3 or #4

Baudrate, Communication parameters for the serial line.


Parity, Data
bits, Stop
bits

Mode Serial port mode; options are:

l RS-232,
l RS-485 (2 wires)
l RS-422 (4 wires)

Tag Import
The ROC Plus driver, support the generic import of tags when provided in XML. Import procedure is described.

l make a copy of saved configuration file “.800” and rename as “.MDB”


l open the “.MDB” using Microsoft Access
l export the table "tConfigData" to a XML file choosing XML format

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 595
ROC Plus

l In the tag editor select the driver and click on the “Import tag” button to start the importer.

l Locate the “.XML” file and confirm. The tags present in the exported document are listed in the tag dictionary from
where they can be directly added to the project using the add tags button as shown in figure.

596 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

No response Returned when a request is not replied within the specified timeout period; ensure the
controller is connected and properly configured to get network access

Not expected The panel did receive from the controller a response with invalid Type Logical Parameter
response TLP

Can't find the The panel can’t get the physical location of the type or the logical number in the ROC800
TLP location

Not expected Controller did not accept write request; ensure the data programmed in the project are
number of consistent with the controller resources
items

Wrong The panel did receive from controller a response frame contains wrong data length
datagram data
length

PLC is in the Firmware Update Mode – Extremely limited functionality is available.


firmware
update mode

Not expected The panel did receive from the controller a response with invalid message length
response
length

Can't read port Security Access Mode for the port the request was not received
security mode

Can't read Logical Compatibility Mode was not received


compatibility
mode

Can't get IO The ROC Plus database is broken into individual parameters. Each database parameter
point types is uniquely associated by parameter number and point The panel did not receive the
requested Point Type

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 597
ROC Plus

Error Notes

Can't send the The panel cannot sent any request to the controller
request

Not expected The panel did receive from the controller a response with invalid Group/Unit
response
group/unit

Not expected The panel did receive from the controller a response contains an unexpected operation
opcode in the code action to perform.
response

Invalid format The panel did receive from the controller a response, but its format or its contents or its
received length is not as expected; ensure the data programmed in the project are consistent with
the controller resources.

Message The panel did receive from the controller a response contains an invalid checksum
checksum error

598 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
SAIA S-BUS
The SAIA S-BUS communication driver has been designed to connect HMI devices to SAIA PLCs through serial
connection.

HMIs from UN65 and UN70 platforms do not support PARITY mode on PLC configuration due hardware
incompatibility.
DATA mode is supported in all HMI platforms.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Node ID SAIA PLC node on the serial network.

Timeout (ms) Time delay in milliseconds between two retries in case of missing response
from the server device.

Retry count Defines the number of times a certain message will be sent to the controller
before reporting the communication error status.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 599
SAIA S-BUS

Element Description

data/parity protocol SAIA protocol mode:

l unchecked (default): parity mode


l checked: data mode

PLC Models SAIA PLC models available:

l PCD1
l PCD2
l PCD3

Comm... If clicked displays the communication parameters setup dialog.

Element Parameter

Port Serial port selection.

l COM1: device PLC port.


l COM2: computer/printer port on panels with 2
serial ports or optional Plug-In module plugged on
Slot 1/2 for panels with 1 serial port on-board.

l COM3: optional Plug-In module plugged on Slot


3/4 for panels with 1 serial port on-board.

Baudrate Serial baudrate. Available speeds:

l 9600.

600 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Element Parameter

l 19200.
l 38400.
l 57600.

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

PLC Network Multiple controllers can be connected to one HMI device. To set-up multiple
connections, select PLC networkand click Add to configure each node

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select SAIA S-BUS from the Driver list: tag definition dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 601
SAIA S-BUS

Element Description

Memory Memory Type Description


Type
R # -Register unsigned 32 bit data register (default)

C # -Counter unsigned 32 bit data counter (default)

T # -Timer unsigned 32 bit data timer (default)

F # -Flag 1 bit data flag

I # -Input 1 bit data input

O # -Output 1 bit data output

Data Block unsigned 32 bit data block (default)

Real Time Clock unsigned 8 bit real time clock (default) (see Special Data Types for mode details)

Node Override protocol parameter (see Special Data Types for mode details)

Offset Memory Type Offset PCD1 Offset PCD2 Offset PCD3

R # -Register 0 – 4095 0 – 4095 0 – 16383

C # -Counter 0 – 1599 0 – 1599 0 – 1599

T # -Timer 0 – 1599 0 – 1599 0 – 1599

F # -Flag 0 – 8191 0 – 8191 0 – 8191

I # -Input 0 – 512 0 – 8192 0 – 5120

O # -Output 0 – 512 0 – 8192 0 – 5120

Data Block 0 – 3333 0 – 3333 0 – 16383

Real Time Clock 1–8 1–8 1–8

Node Override 0 0 0

SubIndex This allows resource offset selection within the register.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float

602 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

l string

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square brackets.

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2 bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 603
SAIA S-BUS

Element Description

Value Description

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Real Time Clock


The protocol provides the special data type Real Time Clock which allows you to change the date and time on PLC. This
memory type is an unsigned byte.

Offset Description

1 Number of week

2 Day of week

3 Year

604 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Offset Description

4 Month

5 Day

6 Hours

7 Minutes

8 Seconds

It is also possible to use the Date/Time control widget to directly write in Real Time Clock variable.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 605
SAIA S-BUS

1. Define a Real Time Clock, as per above picture

606 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
2. Drag and drop the Date/Time control widget

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 607
SAIA S-BUS

3. From Property Pane, click on the + button beside Value property. Then locate the Real Time Clock variable from
Tag source, and select Read/Write option.

Node Override
The protocol provides the special data type Node Override which allows you to change the node ID of the slave at runtime.
This memory type is an unsigned byte.

The node Override is initialized with the value of the node ID specified in the project at programming time.

608 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Node
Description
Override

0 Communication with the controller is stopped. In case of write operation, the request will be transmitted
without waiting for a reply.

1 to 254 It is interpreted as the value of the new node ID and is replaced for runtime operation.

255 Communication with the controller is stopped; no request messages are generated.

Note: Node Override ID value assigned at runtime is retained through power cycles.

Communication Status
The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual
for further information about available system variables and their use.

The codes supported for this communication driver are:

Error Notes

NAK Returned in case the controller replies with a not acknowledge

Timeout Returned when a request is not replied within the specified timeout period; ensure the controller
is connected and properly configured for communication

Line Returned when an error on the communication parameter setup is detected (parity, baud rate,

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 609
SAIA S-BUS

Error Notes

Error data bits, stop bits); ensure the communication parameter settings of the controller is compatible
with panel communication setup

Invalid The panel did receive from the controller a response, but its format or its contents is not as
response expected; ensure the data programmed in the project are consistent with the controller resources

610 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
SAIA S-BUS ETH
The SAIA S-BUS ETH communication driver has been designed to connect HMI devices to SAIA PLCs through ethernet
connection.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

IP address Ethernet IP address of the controller.

Port Port number used by the driver. The default value is 5050.

Slave ID ID if the controller.

Timeout (ms) Time delay in milliseconds between two retries in case of missing response
from the server device.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 611
SAIA S-BUS ETH

Element Description

PLC Models SAIA PLC models available:

l PCD3

PLC Network Multiple controllers can be connected to one HMI device. To set-up multiple
connections, select PLC networkand click Add to configure each node

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select SAIA S-BUS ETH from the Driver list: tag definition dialog is displayed.

612 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Memory Type Description


Type
R # -Register unsigned 32 bit data register (default)

C # -Counter unsigned 32 bit data counter (default)

T # -Timer unsigned 32 bit data timer (default)

F # -Flag 1 bit data flag

I # -Input 1 bit data input

O # -Output 1 bit data output

Data Block unsigned 32 bit data block (default)

Real Time Clock unsigned 8 bit real time clock (default) (see Special Data Types for mode details)

Offset Memory Type Offset

R # -Register 0 – 16383

C # -Counter 0 – 1599

T # -Timer 0 – 1599

F # -Flag 0 – 8191

I # -Input 0 – 5120

O # -Output 0 – 5120

Data Block 0 – 16383

Real Time Clock 1–8

SubIndex This allows resource offset selection within the register.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l string

See "Programming concepts" section in the main manual.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 613
SAIA S-BUS ETH

Element Description

Note: To define arrays, select one of Data Type format followed by square brackets.

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2 bytes.

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)

614 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Real Time Clock


The protocol provides the special data type Real Time Clock which allows you to change the date and time on PLC. This
memory type is an unsigned byte.

Offset Description

1 Number of week

2 Day of week

3 Year

4 Month

5 Day

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 615
SAIA S-BUS ETH

Offset Description

6 Hours

7 Minutes

8 Seconds

It is also possible to use the Date/Time control widget to directly write in Real Time Clock variable.

616 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
1. Define a Real Time Clock, as per above picture

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 617
SAIA S-BUS ETH

2. Drag and drop the Date/Time control widget

618 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. From Property Pane, click on the + button beside Value property. Then locate the Real Time Clock variable from
Tag source, and select Read/Write option.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 619
SAIA S-BUS ETH

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Check if the data programmed in the project are
response format or contents from the controller. consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

620 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Simatic S7 PPI
HMI devices can be connected to the Siemens Simatic S7-200 family of PLCs. The communication is performed via the
PLC programming ports using the PPI and the PPI+ protocols.

This document describes the PPI+ protocol and includes the information needed for a successful connection.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

PLC Enable access to multiple networked controllers. For every controller (slave) set the proper
Network option.

Panel ID Node number of the operator panel.

Slave ID Node number of the connected PLC.

Max ID Available only if PPI+ protocol is in use. Contains the highest node number in PPI+ network.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 621
Simatic S7 PPI

Element Description

PPI+ Checked to use PPI+ protocol instead of PPI protocol.

Timeout Time delay in milliseconds between two retries of the same message when no answer is
(ms) received from the controller.

622 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC Several Siemens controllers are supported. Please check directly in the programming IDE
Models software for a complete list of supported controllers.

Comm… If clicked displays the communication parameters setup dialog.

Element Parameter

Port Serial port selection.

On UN20:

l COM1: device PLC port.


l COM2: PC/printer port

On UN31 or UN30:

l COM1: integrated serial port


l COM2: optional module plugged on Slot
1/2
l COM3: optional module plugged on Slot
3/4

Baudrate, Parity, Data Bits, Stop bits Serial line parameters.

Mode Serial port mode. Available modes:

l RS-232.
l RS-485 (2 wires).
l RS-422 (4 wires).

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 623
Simatic S7 PPI

Tag Editor Settings


In the Tag Editor select Simatic S7 PPI from the list of defined protocols and click + to add a tag.

Element Description

Memory Type Area of PLC where tag is located.

Offset Offset address where tag is located.

SubIndex In case of Boolean data type, this is the offset of single bit.

Data Type Available data types:

l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l string

See "Programming concepts" section in the main manual.

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character

624 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 625
Simatic S7 PPI

Element Description

Value Description

142.366 → -893553517.588905 (in decimal format)


0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

PPI+ Connectivity
HMI devices can be connected to more than one CPU S7-200, more than one operator panel can also be connected to the
same PLC.

Operator panels will not interfere with PPI+ communication between the PLC’s.

PPI+ protocol allows you to use more complex configurations than the standard PPI protocol.

Each PLC can execute read and write operations to and from other PLCs. At the same time more than one panel can be
connected on the PPI network and can access all the variables from all the PLCs.

626 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
PLC programming software can be used and online programming can be performed without interfering with the panel-PLC
communication .

Communication Status
Current communication status can be displayed using System Variables. See "System Variables" section in the main
manual.

Codes supported for this communication driver:

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Ensure the data programmed in the project are
response format or contents from the controller . consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 627
Siemens S7 Optimized

Siemens S7 Optimized
Siemens S7 Optimized communication driver has been designed to communicate with Siemens PLCs through Ethernet
connection.

PLC must either have an on-board Ethernet port or be equipped with an appropriate Ethernet interface (either built-in or with
a module).

This communication driver allows communication with PLCs which have been programmed using optimized Data Blocks.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

IP Ethernet IP address of PLC.


address

628 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Slot Number of the slot where the CPU is mounted.

PLC List of compatible PLCs.


Models

PLC Enable access to multiple networked PLCs. For every PLC set the proper option.
Network

S7-1200 and S7-1500 PLC configuration


S7-1200 (starting from firmware version 4.0) and S7-1500 PLC Series from Siemens have a built-in firewall; by default the
maximum protection level is enabled. To establish communication with these PLC models it is necessary to enable S7
communication with 3rd party devices; this setting is available in TIA Portal programming software.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 629
Siemens S7 Optimized

1. Open the PLC project in TIA Portal.


2. Select the PLC from the project tree and open PLC Properties.

630 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. In General > Protection choose a permission between the top three (make sure that the tick is present on HMI
column).

Note: If "No access" is selected, the communication with the panel will not be established.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 631
Siemens S7 Optimized

4. Scroll down the page and check "Permit access with PUT/GET communication from remote partner".

Note: If variables are defined in "Program blocks", DB must configured as "Optimized".

To check or change DB optimization, open DB Properties:

632 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In General > Attributes check "Optimized block access":

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 633
Siemens S7 Optimized

If check box "Optimized block access" is not available (grayed-out) it could be because DB is an "instance DB" linked to an
"optimized access FB".

After compiling the project, tag offsets will be shown close to variable name.

These settings can be applied to TIA Portal programming software, S7-1200 PLC family starting from PLC firmware
version 4.0 and S7-1500 PLC family.

Direct Import of TIA Portal project


It is possible to import TIA Portal variables directly from TIA Portal project, by selecting "TIA Portal Project v12 or newer"
from import selection (refer to "Tag Import" chapter).

Data Blocks must be set as Optimized:

1. Configure the Data Block as Optimized.


2. Right-click on the Data Block and choose Properties:

634 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. In the General tab select Attributes and select Optimized block access.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 635
Siemens S7 Optimized

Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

Tag Editor Settings


In the Tag Editor select “Simatic S7 ETH” from the list of defined protocols and click + to add a tag.

636 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Memory Area of PLC where tag is located.


Type
Type Description

PLC variable Variables imported from


TIA Portal project.

Node Override IP Check "Special data


type" chapter

Data Data Type Memory Space Limits


Type
boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ... 1.79e308


point type

string Array of elements containing character code defined by


selected encoding

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 637
Siemens S7 Optimized

Element Description

Arraysi l In case of array tag, this property represents the number of array elements.
ze l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conver Conversion to be applied to the tag.


sion

Depending on data type selected, the Allowed list shows one or more conversions, listed below.

Value Description

Inv bits Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate Set the opposite of the tag value.

Example:
25.36 → -25.36

AB -> BA Swap nibbles of a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB Swap bytes of a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> Swap bytes of a double word.

638 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

GHEFCDAB Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> Swap bytes of a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD Separate the byte in two nibbles, and reads them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select the conversion and click on plus button. The selected item will be added on Configured
list.

If more conversions are configured, they will be applied in order (from top to bottom of
Configured list).

Use the arrow buttons to order the configured conversions.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 639
Siemens S7 Optimized

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

640 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

TIA Portal Project v12 or Allows to import the whole TIA Portal project file using .apxx file (where "xx"
newer is the TIA Portal version, example: for TIA Portal 13 , file name is
Linear "project.ap13").

All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 641
Siemens S7 Optimized

Toolbar item Description

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported by this communication driver:

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Invalid The device did received a response with invalid Ensure the data programmed in the project are
response format or contents from the controller . consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

642 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Simatic S7 ETH
Simatic S7 ETH communication driver has been designed to communicate with Simatic controllers through Ethernet
connection.

The Simatic controller must either have an on-board Ethernet port or be equipped with an appropriate Ethernet interface
(either built-in or with a module).

Communication is based on the PG/OP (ISO on TCP) communication functions.

This documents describes the driver settings to be applied in programming IDE software and in S7 PLC programming
software.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each
tag name imported for each network node.

IP Ethernet IP address of the controller.


address

Slot Number of the slot where the CPU is mounted. 2 for S7-300, may take a higher value for S7-400

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 643
Simatic S7 ETH

Element Description

systems.

PLC List of compatible controller models. Make sure to select the correct PLC model in this list when
Models configuring the protocol.

PLC Enable access to multiple networked controllers. For every controller (slave) set the proper
Network option.

S7-1200 and S7-1500 PLC configuration


S7-1200 (starting from firmware version 4.0) and S7-1500 PLC Series from Siemens have a built-in firewall; by default the
maximum protection level is enabled. To establish communication with these PLC models it is necessary to enable S7
communication with 3rd party devices; this setting is available in TIA Portal programming software.

1. Open the PLC project in TIA Portal.


2. Select the PLC from the project tree and open PLC Properties.

644 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. In General > Protection choose a permission between the top three (make sure that the tick is present on HMI
column).

Note: If "No access" is selected, the communication with the panel will not be established.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 645
Simatic S7 ETH

4. Scroll down the page and check "Permit access with PUT/GET communication from remote partner".

Note: If variables are defined in "Program blocks", DB must configured as "Not optimized".

To check or change DB optimization, open DB Properties:

646 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In General > Attributes uncheck "Optimized block access":

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 647
Simatic S7 ETH

If check box "Optimized block access" is not available (grayed-out) it could be because DB is an "instance DB" linked to an
"optimized access FB".

After compiling the project, tag offsets will be shown close to variable name.

These settings can be applied to TIA Portal programming software, S7-1200 PLC family starting from PLC firmware
version 4.0 and S7-1500 PLC family.

Logo! PLC configuration


To configure communication with Logo! PLC:

1. Open the Logo!Soft Comfort project.


2. Select Tools > Ethernet Connections: the Configure Ethernet Connections dialog is displayed.

648 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. Right-click on Ethernet Connections and add a server connection.

4. Double-click on the newly created connection: the connection properties dialog is displayed.

5. Select the Connect with an operator panel (OP) (0BA7 model only, do noth check for Logo! 0BA8 model)
6. Select Accept all connection requests options.
7. In the Remote Properties (Client) section, set TSAP to 02.00.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 649
Simatic S7 ETH

Direct Import of TIA Portal project


It is possible to import TIA Portal variables directly from TIA Portal project, by selecting "TIA Portal Project v12 or newer"
from import selection (refer to "Tag Import" chapter).

Data Blocks must be set as Not optimized:

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

3. In the General tab select Attributes and unselect Optimized block access.

650 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

Export using TIA Portal v13, v14 or newer

Exporting Program blocks


These files refer to DB tags defined in Program blocks.

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 651
Simatic S7 ETH

3. In the General tab select Attributes and unselect Optimized block access.

652 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

4. Right-click on the Data Block and choose Generate source from blocks:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 653
Simatic S7 ETH

5. Save the file as DBxxx.db, where xxx=number of DB.

654 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Exporting PLC tags
An Excel file refers to PLC tags.

1. Double-click Show all tags: the tag table is displayed.


2. Click the Export button and browse for path file.
3. Define file name.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 655
Simatic S7 ETH

4. Click Save to confirm.

656 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
5. Click OK to export.

Exporting PLC data types


To create the file, expand PLC data types item from TIA Portal project tree and right click on the user defined structure.
Then click on Generate source from blocks.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 657
Simatic S7 ETH

In case of multiple PLC data types in PLC project, it is necessary to select them all from PLC data types list, right click
and select Generate source from blocks to create the .UDT file that contains all the PLC data types defined.

658 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In the next step, give a name to the .UDT file and choose the path to where to save the file.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 659
Simatic S7 ETH

This file will content all the PLC data types and it can be used for importing tags in Tag Editor.

Check Tag Import chapter for more details.

Export using TIA Portal v10, v11, v12

Exporting Program blocks


These files refer to DB tags defined in Program blocks.

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

660 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. In the General tab select Attributes and unselect Optimized block access.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 661
Simatic S7 ETH

Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

4. Build the project to make sure TIA Portal calculates the tags offset.

662 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
5. Double-click on a DB name.
6. Expand the view of program block selected.
7. Select all rows.
8. Copy and paste into any text editor.
9. Save the file as DBxxx.tia, where xxx=number of DB.

Note: Make sure you use the Save As function or the file will be named DB2.tia.txt and will not be visible from
the importer.

10. Repeat from step 5 for all program blocks.

Note: Make sure that only the following columns are shown in DB editor before copying all data in the txt file

Exporting PLC tags


An Excel file refers to PLC tags.

1. Double-click Show all tags: the tag table is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 663
Simatic S7 ETH

2. Click the Export button and browse for path file.


3. Define file name.
4. Click Save to confirm.

5. Click OK to export.

664 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Exporting PLC data types
To create the file, expand PLC data types item from TIA Portal project tree and right click on the user defined structure.
Then click on Generate source from blocks.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 665
Simatic S7 ETH

In case of multiple PLC data types in PLC project, it is necessary to select them all from PLC data types list, right click
and select Generate source from blocks to create the .SCL file that contains all the PLC data types defined.

In the next step, give a name to the .SCL file and choose the path to where to save the file.

666 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
This file will content all the PLC data types and it can be used for importing tags in Tag Editor.

Check Tag Import chapter for more details.

Export using STEP7


The Simatic S7 ETH Tag importer accepts symbol files (ASCII format .asc) and source files (.awl extension) created by
the Simatic Step7. The symbol file can be previously exported using the Step7 symbol table utility.

Exporting Symbols table


Symbol files (.asc) can be exported from the symbol table utility.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 667
Simatic S7 ETH

1. From the Symbol Table menu in the Symbol Editor choose Export.
2. Assign a name and save the symbol table as ASCII file.

Exporting Sources
These files are created exporting source code.

1. Open any program block in the editor, "OB1" in this example.


2. From the File menu choose Generate Source: the following dialog is displayed:

668 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
1. Assign a name, "Sources" in the example, and click OK: the Generate source Sources dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 669
Simatic S7 ETH

2. Click All > to generate source for all blocks.


3. Select the following options:

l Include reference blocks


l Sort according to program structure
l Symbolic address

4. Click OK to confirm: the "Sources" object is generated in the Step7 project as in the example.

5. Right click on the object and select Export Sources.

The generated .awl file can be imported in the Tag Editor.

670 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: The .awl file contains additional information not included in the .asc file exported from the symbol table.

Make sure that reference to all data blocks is inserted in the symbol table. The tags from a data block are imported only if
the symbol table contains a line with the data block name and related comment.

Each entry enables the import filter to import the tags related to the specified data block.

Tag Editor Settings


In the Tag Editor select “Simatic S7 ETH” from the list of defined protocols and click + to add a tag.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 671
Simatic S7 ETH

Element Description

Memory Area of PLC where tag is located.


Type
Data Type Simatic Type

Internal Memory M

Data Block DB

Input I (E)

Output O (A)

Timer value T

Counter value C

Offset Offset address where tag is located.

SubInd Resource offset within the register.


ex

Data Data block number for Data Block Memory Type.


Block

Data Available data types:


Type
l boolean
l byte
l short
l int
l unsignedByte
l unsignedShort
l unsignedInt
l float
l string

See "Programming concepts" section in the main manual.

Note: To define arrays, select one of Data Type format followed by square brackets.

672 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Arraysi l In case of array tag, this property represents the number of array elements.
ze l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conver Conversion to be applied to the tag.


sion

Depending on data type selected, the Allowed list shows one or more conversions, listed below.

Value Description

Inv bits Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate Set the opposite of the tag value.

Example:
25.36 → -25.36

AB -> BA Swap nibbles of a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB Swap bytes of a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> Swap bytes of a double word.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 673
Simatic S7 ETH

Element Description

Value Description

GHEFCDAB Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> Swap bytes of a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD Separate the byte in two nibbles, and reads them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

S5timer(BCD) Used to support S5timer. Check Simatic S5timer special data type for
more details.

S5timer(BIN) Legacy transformation for S5timer in binary format.

Select the conversion and click on plus button. The selected item will be added on Configured
list.

If more conversions are configured, they will be applied in order (from top to bottom of
Configured list).

Use the arrow buttons to order the configured conversions.

Adding an alias name to a protocol


Tag names must be unique at project level, however, the same tag names might need to be used for different controller
nodes (for example when the HMI device is connected to two devices running the same application).

When creating a protocol you can add an alias name that will be added to tag names imported for this protocol.

In the example, the connection to a certain controller is assigned the name Node1. When tags are imported for this node,
all tag names will have the prefix Node1 making each of them unique at the network/project level.

674 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Aliasing tag names is only available for imported tags. Tags added manually in the Tag Editor cannot have
the Alias prefix in the tag name.
The Alias string is attached at the time of tag import. If you modify the Alias string after the tag import has been
completed, there will be no effect on names already present in the dictionary. When the Alias string is changed
and tags are re-imported, all tags will be re-imported with the new prefix string.

String data type


In Simatic S7 PLC two different types of tags manage string variables:

l as Array [1..xx] of characters,


l as String[xx].

Step7 string declaration is shown in this example:

TIA Portal string declaration is shown in this example:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 675
Simatic S7 ETH

Note: When using String[xx] data type specific a conversion must be applied to the tag. If the tag dictionary is
imported from TIA Portal or Step7 using the import tool, however, conversion of the string tags is performed
automatically and no further action is required.

To add a string as an array of characters:

1. Press the + in the Tag Editor.

2. Select string as Data Type.


3. Enter string length in Arraysize.

4. Click OK to confirm.

To add a string data type:

1. Press the + in the Tag Editor.

676 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
2. Select string as Data Type.
3. Enter string length in Arraysize.

4. Click +/- to open the Conversion dialog.

5. In the conversion dialog select the S7 String conversion type.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 677
Simatic S7 ETH

6. Click + to add the conversion: the conversion will be listed into the Configured list on the right.
7. Click OK to confirm.

Simatic S5Timer data type


Simatic drivers support a special data type, the S5Timer data type.
The tag must be configured with a specific data type and a conversion must be applied to the tag to correctly read/write a
Simatic S5Timer Variable.

1. In the Tag Editor click + to add a tag.

2. Select unsignedInt as Data Type.

678 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. Click +/- to open the Conversion dialog.

4. In the conversion dialog select the S5timer(BCD) conversion type.


5. Click + to add the conversion: the conversion will be listed into the Configured list on the right.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 679
Simatic S7 ETH

6. Click OK to confirm.

Node Override IP
The protocol provides the special data type Node Override IP which allows you to change the IP address of the target
controller at runtime.

This memory type is an array of 4 unsigned bytes, one per each byte of the IP address.

The Node Override IP is initialized with the value of the controller IP specified in the project at programming time.

Node Override IP PLC operation

0.0.0.0 Communication with the controller is stopped, no request frames are generated
anymore.

Different from It is interpreted as node IP override and the target IP address is replaced runtime with
0.0.0.0 the new value.

If the HMI device is connected to a network with more than one controller node, each node has its own Node Override IP
variable.

Note: Node Override IP values assigned at runtime are retained through power cycles.

Hostname DNS or mDNS

In addition to the array of bytes, string memory type can be selected to be able use the DNS or mDNS hostname as an
alternative to the IP Address.

680 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 681
Simatic S7 ETH

Importer Description

TIA Portal Project v12 or Allows to import the whole TIA Portal project file using .apxx file (where "xx"
newer is the TIA Portal version, example: for TIA Portal 13 , file name is
Linear "project.ap13").

All variables will be displayed at the same level.

TIA Portal v13, v14 or Allows to import:


newer
l Program blocks using .db file
Linear
l PLC tags using .xlsx file
l PLC data types using .udt file

Check Export using TIA Portal v13, v14 or newer for more details.

All variables will be displayed at the same level.

TIA Portal v10, v11, v12 Allows to import:


Linear
l Program blocks using .tia file
l PLC tags using .xlsx file
l PLC data types using .scl file

Check Export using TIA Portal v10, v11, v12 for more details.

All variables will be displayed at the same level.

Step7 Allows to import:


Linear
l Symbols table .asc file
l Sources using .awl file

Check Export using STEP7 for more details.

All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

682 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication status
Current communication status can be displayed using system variables. See "System Variables" section in the main
manual.

Codes supported by this communication driver:

Error Cause Action

NAK The controller replies with a not acknowledge. -

Timeout A request is not replied within the specified timeout Check if the controller is connected and properly
period. configured to get network access.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 683
Simatic S7 ETH

Error Cause Action

Invalid The device did received a response with invalid Ensure the data programmed in the project are
response format or contents from the controller . consistent with the controller resources.

General Unidentifiable error. Should never be reported. Contact technical support.


Error

684 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Simatic S7 MPI
HMI products support direct Siemens MPI communication without any additional module.

The driver supports the standard communication speed 187Kbit/s.

here is a minimum requirement also for the version of operating system running in the HMI (this is normally referenced as
BSP version). See in user manual how to read the BSP version with the System Settings menu. The minimum
requirements are shown in the following table.

Platform BSP Version

UN30/31 v1.38 or newer

UN65/UN71 v1.0.300 or newer

UN60/UN70 v1.0.413 or newer

UN73 v1.0.142 or newer

Protocol Editor Settings


Add [+] a driver in the Protocol editor and select the “Simatic S7 MPI” protocol from the list of available protocols.

The protocol type can be selected from the dedicated combo box in the dialog.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 685
Simatic S7 MPI

Element Description

Alias Name to be used to identify nodes in the plc network configuration. The name will be added
as a prefix to each tag name imported for each network node.

Timeout Defines the time inserted by the protocol between two retries of the
(ms)
same message in case of missing response from controller.

Value is expressed in milliseconds.

Panel MPI MPI node number assigned to the device.


Address

Highest MPI The highest node number in the MPI network where the device is operating and
Address communicating.

PLC MPI The MPI address of the controller to which the device needs to communicate.
Address

PLC Models List of compatible controller models. Make sure to select the correct PLC model in this list
when configuring the protocol.

Comm… Click on this button to configure the serial port on the device to be used as MPI port (see
example in the following figure)

Communication parameters for Simatic S7 MPI are fixed at:

l Baud rate=187500
l Parity=Even
l Data=bits8
l Stop=bit1

On UN20:

l com1 is the HMI port labeled “PLC”,


l com2 is the HMI port labeled “PC/Printer”

686 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

On UN31 or UN30:

l com1 is the integrated serial port,


l com2 is an add-on module plugged in Slot#1 or #2
l com3 is an add-on module plugged in Slot#3 or #4

Note: The connection between device and PLC can be made with the following
two options:

1. Creating a custom cable following the scheme provided with document CA255
“eTOP400/500 serie PLC Port to MPI Port”
2. Using a standard MPI cable with ADP-0001 “MPI wiring adapter”

PLC The protocol supports connection to multiple controllers. To enable this option, check the
Network "PLC Network" check box and enter the configuration per each controller node.

Direct Import of TIA Portal project


It is possible to import TIA Portal variables directly from TIA Portal project, by selecting "TIA Portal Project v12 or newer"
from import selection (refer to "Tag Import" chapter).

Data Blocks must be set as Not optimized:

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 687
Simatic S7 MPI

3. In the General tab select Attributes and unselect Optimized block access.

688 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

Export using TIA Portal v13, v14 or newer

Exporting Program blocks


These files refer to DB tags defined in Program blocks.

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 689
Simatic S7 MPI

3. In the General tab select Attributes and unselect Optimized block access.

690 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

4. Right-click on the Data Block and choose Generate source from blocks:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 691
Simatic S7 MPI

5. Save the file as DBxxx.db, where xxx=number of DB.

692 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Exporting PLC tags
An Excel file refers to PLC tags.

1. Double-click Show all tags: the tag table is displayed.


2. Click the Export button and browse for path file.
3. Define file name.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 693
Simatic S7 MPI

4. Click Save to confirm.

694 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
5. Click OK to export.

Exporting PLC data types


To create the file, expand PLC data types item from TIA Portal project tree and right click on the user defined structure.
Then click on Generate source from blocks.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 695
Simatic S7 MPI

In case of multiple PLC data types in PLC project, it is necessary to select them all from PLC data types list, right click
and select Generate source from blocks to create the .UDT file that contains all the PLC data types defined.

696 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
In the next step, give a name to the .UDT file and choose the path to where to save the file.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 697
Simatic S7 MPI

This file will content all the PLC data types and it can be used for importing tags in Tag Editor.

Check Tag Import chapter for more details.

Export using TIA Portal v10, v11, v12

Exporting Program blocks


These files refer to DB tags defined in Program blocks.

1. Configure the Data Block as Not optimized.


2. Right-click on the Data Block and choose Properties:

698 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
3. In the General tab select Attributes and unselect Optimized block access.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 699
Simatic S7 MPI

Note: If the options Optimized block access is not enabled (checkbox grayed out) this might mean that the
Data Block is an "instance DB" linked to an "optimized access FB".

4. Build the project to make sure TIA Portal calculates the tags offset.

700 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
5. Double-click on a DB name.
6. Expand the view of program block selected.
7. Select all rows.
8. Copy and paste into any text editor.
9. Save the file as DBxxx.tia, where xxx=number of DB.

Note: Make sure you use the Save As function or the file will be named DB2.tia.txt and will not be visible from
the importer.

10. Repeat from step 5 for all program blocks.

Note: Make sure that only the following columns are shown in DB editor before copying all data in the txt file

Exporting PLC tags


An Excel file refers to PLC tags.

1. Double-click Show all tags: the tag table is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 701
Simatic S7 MPI

2. Click the Export button and browse for path file.


3. Define file name.
4. Click Save to confirm.

5. Click OK to export.

702 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Exporting PLC data types
To create the file, expand PLC data types item from TIA Portal project tree and right click on the user defined structure.
Then click on Generate source from blocks.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 703
Simatic S7 MPI

In case of multiple PLC data types in PLC project, it is necessary to select them all from PLC data types list, right click
and select Generate source from blocks to create the .SCL file that contains all the PLC data types defined.

In the next step, give a name to the .SCL file and choose the path to where to save the file.

704 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
This file will content all the PLC data types and it can be used for importing tags in Tag Editor.

Check Tag Import chapter for more details.

Export using STEP7


The Simatic S7 ETH Tag importer accepts symbol files (ASCII format .asc) and source files (.awl extension) created by
the Simatic Step7. The symbol file can be previously exported using the Step7 symbol table utility.

Exporting Symbols table


Symbol files (.asc) can be exported from the symbol table utility.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 705
Simatic S7 MPI

1. From the Symbol Table menu in the Symbol Editor choose Export.
2. Assign a name and save the symbol table as ASCII file.

Exporting Sources
These files are created exporting source code.

1. Open any program block in the editor, "OB1" in this example.


2. From the File menu choose Generate Source: the following dialog is displayed:

706 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
1. Assign a name, "Sources" in the example, and click OK: the Generate source Sources dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 707
Simatic S7 MPI

2. Click All > to generate source for all blocks.


3. Select the following options:

l Include reference blocks


l Sort according to program structure
l Symbolic address

4. Click OK to confirm: the "Sources" object is generated in the Step7 project as in the example.

5. Right click on the object and select Export Sources.

The generated .awl file can be imported in the Tag Editor.

708 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: The .awl file contains additional information not included in the .asc file exported from the symbol table.

Make sure that reference to all data blocks is inserted in the symbol table. The tags from a data block are imported only if
the symbol table contains a line with the data block name and related comment.

Each entry enables the import filter to import the tags related to the specified data block.

Tag Editor Settings


Into Tag editor select the protocol “Simatic S7 MPI” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 709
Simatic S7 MPI

Element Description

Memory Area of PLC where tag is located.


Type
Data Type Simatic Type

Internal Memory M

Data Block DB

Input I (E)

Output O (A)

Timer value T

Counter value C

Offset Offset address where tag is located.

SubInd In case of Boolean data type, this is the offset of single bit.
ex

Data If Memory Type is “Data Block”, this will identify the DB number.
Block

Data Data Type Memory Space Limits


Type
boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

string Refer to “String data type channel”

Note: to define arrays, select one of Data Type format followed by square brackets like
“byte[]”, “short[]”…

Arraysi l In case of array tag, this property represents the number of array elements.
ze l In case of string tag, this property represents the maximum number of bytes available in
the string tag.

710 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Note: number of bytes corresponds to number of string characters if Encoding property is set to
UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conver Conversion to be applied to the tag.


sion

Depending on data type selected, the Allowed list shows one or more conversions, listed below.

Value Description

Inv bits Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate Set the opposite of the tag value.

Example:
25.36 → -25.36

AB -> BA Swap nibbles of a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB Swap bytes of a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> Swap bytes of a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 711
Simatic S7 MPI

Element Description

Value Description

ABC...NOP -> Swap bytes of a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD Separate the byte in two nibbles, and reads them as decimal (from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

S5timer(BCD) Used to support S5timer. Check Simatic S5timer special data type for
more details.

S5timer(BIN) Legacy transformation for S5timer in binary format.

Select the conversion and click on plus button. The selected item will be added on Configured
list.

If more conversions are configured, they will be applied in order (from top to bottom of
Configured list).

Use the arrow buttons to order the configured conversions.

Aliasing Tag Names in Network Configurations


Tag names must be unique at project level; it often happens that the same tag names have to be used for different controller
nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include
also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has
an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at
project level.

The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by
the “Alias”. As shown in the figure below, the connection to a certain controller is assigned the name “Node1”. When tags
are imported for this node, all tag names will have the prefix “Node1” making each of them unique at the network/project
level.

712 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Note: Aliasing tag names are only available when tags can be imported. Tags which are added manually in the
Tag Editor do not need to have the Alias prefix in the tag name.
The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If Alias
string is modified after the tag import has been completed, there will be no effect on the names already present in
the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported again with
the new prefix string.

String data type


In Simatic S7 PLC it's possible to define two different types of tags to manage string variables.

l as Array [1..xx] of Chars.


l as String[xx].

Step7 string declaration is showed in the following figure:

TIA Portal string declaration is showed in the following figure:

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 713
Simatic S7 MPI

Note: Usage of String[xx] data type is allowed but a specific Conversion must be applied to the tag. Anyway
using tag importer to import tag dictionary from TIA Portal or Step7 string tags are automatically configured and
no changes/conversion are needed.

To manually add an "Array [1..xx] of Chars" data type tag, press the [+] button in the Tag Editor, then select "string" as
Data Type of the Tag and type the string length in the "Arraysize" field:

and confirm with OK button.

To manually add a "String[xx]" data type tag, press the [+] button in the Tag Editor, then select "string" as Data Type of the
Tag and type the string length in the "Arraysize" field,

714 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
then click on [+/-] button to open the Conversion dialog.

Into conversion dialog:

l select the "S7 String" conversion type


l click on [+] button to add the conversion.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 715
Simatic S7 MPI

The conversion will be listed into the Configured window on the right.

Confirm with OK button.

Simatic S5timer data type


Simatic drivers support a special data type, called S5Timer.
The tag must be configured with a specific data type and a conversion must be applied to the Tag to correctly read/write a
Simatic S5Timer Variable.

Open the Tag Editor and add a Tag pressing the Plus button.

Select “unsignedInt” as Data Type of the Tag.

716 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Click on +/- button to open the Conversion dialog.

In the Conversion dialog select the S5timer(BCD) conversion type [A] then click on Plus button [B] to add the conversion,
the configured conversion will be listed into the Configured window on the right. Then confirm with OK.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 717
Simatic S7 MPI

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

718 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Importer Description

TIA Portal Project v12 or Allows to import the whole TIA Portal project file using .apxx file (where "xx"
newer is the TIA Portal version, example: for TIA Portal 13 , file name is
Linear "project.ap13").

All variables will be displayed at the same level.

TIA Portal v13, v14 or Allows to import:


newer
l Program blocks using .db file
Linear
l PLC tags using .xlsx file
l PLC data types using .udt file

Check Export using TIA Portal v13, v14 or newer for more details.

All variables will be displayed at the same level.

TIA Portal v10, v11, v12 Allows to import:


Linear
l Program blocks using .tia file
l PLC tags using .xlsx file
l PLC data types using .scl file

Check Export using TIA Portal v10, v11, v12 for more details.

All variables will be displayed at the same level.

Step7 Allows to import:


Linear
l Symbols table .asc file
l Sources using .awl file

Check Export using STEP7 for more details.

All variables will be displayed at the same level.

Tag Editor exported xml Select this importer to read a generic XML file exported from Tag Editor by
appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 719
Simatic S7 MPI

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

Communication status
The communication status can be displayed using the dedicated system variables. Please refer to the User Manual for
further information about available system variables and their use.

The status codes supported for this communication driver are:

Error Notes

NAK Controller replies with a not acknowledge.

Timeout Request is not replied within the specified timeout period; ensure the controller is connected and
properly configured for network access

720 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Error Notes

Invalid The device did receive from the controller a response, but its format or its contents or its length
response is not as expected; ensure the data programmed in the project are consistent with the controller
resources.

General Error cannot be identified; should never be reported; contact technical support
Error

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 721
System Variables

System Variables
System Variables communication driver allows to create Tags that point to system information.

Refer to System Variables > Protocol chapter of User's Manual.

722 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Protocol Editor Settings
System Variables communication driver allows to create Tags that point to system information.

Refer to System Variables > Protocol chapter of User's Manual.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 723
Uni-Telway

Uni-Telway
Uni-Telway is a field bus used to communicate between devices of the same type according to a protocol defined by
Schneider Electric.

The physical access is based on a Serial Link transmission (half-duplex type). The electrical interface allows multi-point
mode connection.

Numerous proprietary or third-party devices can be used on this bus, which has become one of the industry standards.

The operator panels can be connected to a Uni-Telway controller using this communication driver.

Protocol Editor Settings


Add (+) a new driver in the Protocol editor and select the protocol called “Uni-Telway” from the list of available protocols.

The driver configuration dialog is shown in figure.

Element Description

panelNode Node of the panel into the Uni-Telway network.

Multiple Not used. Available for future implementation.


Connections

724 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Retry count This parameter defines the number of times a certain message will be sent to the
controller before reporting the communication error status.

A value of 1 for the parameter “Retry count” means that the panel will eventually
report the communication error status if the response to the first request packet is not
correct.

Network, Station, Controller’s parameters as defined into controller’s programming tool.


Gate, Module,
Channel

PLC Models The driver supports communication with different controllers. Please check directly in
the programming IDE software for a complete list of supported controllers.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 725
Uni-Telway

Element Description

PLC Network The protocol allows the connection of multiple controllers to one operator panel. To
set-up multiple connections, check “PLC network” checkbox and configure all
controllers.

Comm… Gives access to the serial port configuration parameters as shown in the following
figure:

726 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Element Description

Port Serial port selection:

Series Series
400 500/600

com1 PLC Port Onboard


Serial Port

com2 PC/Printer Optional


Port Module

on slot #1 or
#2

com3 Not Optional


available Module

on slot #3 or
#4

Baud rate, Parity, Data bits, Communication parameters for serial


Stop bits communication

Mode Serial port mode; available options:

l RS-232,
l RS-485 (2 wires)
l RS-422 (4 wires)

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 727
Uni-Telway

Tag Editor Settings


Into Tag editor select the protocol “Uni-Telway” from the list of defined protocols and add a tag using [+] button.

Tag settings can be defined using the following dialog:

Element Description

Memory Type Memory resource where tag is located.

Offset Offset address where tag is located.

SubIndex This allows resource offset selection within the register.

Station Station number.

Property available only for Memory Type “Common Word”.

Module Module number.

Property available for Memory Type:

l Input Bit
l Output Bit
l Input Word
l Output Word

728 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Data Type Memory Space Limits

boolean 1 bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

float IEEE single-precision 1.17e-38 ... 3.40e38

32-bit floating point type

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available
in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set
to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character
requires 2 bytes.

Conversion Conversion to be applied to the tag.

Depending on data type selected, the list Allowed shows one or more conversion types.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 729
Uni-Telway

Element Description

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH - swap4: Swap bytes in a double word.


> GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB
Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0
to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

730 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

If more conversions are configured, they will be applied in order (from top to bottom of list
Configured).

Use the arrow buttons to order the configured conversions.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 731
Variables

Variables
Variables communication driver allows to define Tags which points to HMI internal memory.

Variables Tags are not retentive: when the project starts, the starting value of any Variables Tag is 0 (or "" in case of string
Tag).

Variables communication driver is not counted as physical protocol.


Refer to Table of functions and limits from main manual in "Number of physical protocols" line.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In the Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the Variables protocol from the PLC list.

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select Variables from the protocol list: tag definition dialog is displayed.

732 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ...


127

short 16-bit data -32768 ...


32767

int 32-bit data -2.1e9 ...


2.1e9

int64 64-bit data -9.2e18 ...


9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ...


1.8e19

float IEEE single-precision 32-bit floating 1.17e-38


point type ... 3.4e38

double IEEE double-precision 64-bit floating 2.2e-308


point type ...
1.79e308

string Array of elements containing character code


defined by selected encoding

binary Arbitrary binary data

Note: to define arrays. select one of Data Type format followed by square
brackets like “byte[]”, “short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes
available in the string tag.

Note: number of bytes corresponds to number of string characters if Encoding


property is set to UTF-8 or Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one
character requires 2 bytes.

Conversion Conversion to be applied to the tag.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 733
Variables

Element Description

Depending on data type selected, the list Allowed shows one or more conversion
types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> swap2: Swap bytes in a word.


CDAB
Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFG swap4: Swap bytes in a double word.


H ->
Example:
GHEFCDA
32FCFF54 → 54FFFC32 (in hexadecimal format)
B
855441236 → 1426062386 (in decimal format)

ABC...NOP swap8: Swap bytes in a long word.


->
Example:
OPM...DA
142.366 → -893553517.588905 (in decimal format)
B
0 10000000110

734 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Value Description

000111001011101101100100010110100001110010101100
0001

1 10000011100
101010100001010001011011011011001011011000010011
1101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal


(from 0 to 9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of
list Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The system will require a generic XML file exported from Tag Editor by appropriate button.

Once the importer has been selected, locate the symbol file and click Open.

The tags available within the Dictionary but not imported into the project are gray and are visible only when the "Show all
tags" check box is selected.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 735
Variables

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

736 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
EXOR XPLC
EXOR XPLCcommunication driver has been designed for communication between HMI and EXOR XPLC.

Protocol Editor Settings


Adding a protocol
To configure the protocol:

1. In Config node double-click Protocols.


2. To add a driver, click +: a new line is added.
3. Select the protocol from the PLC list.

The protocol configuration dialog is displayed.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 737
EXOR XPLC

Element Description

Alias Name identifying nodes in network configurations. The name will be added as a prefix to each tag
name imported for each network node.

Node ID Address of PLC.

Timeout Number of milliseconds between retries when communication fails.


(ms)

Symbol Field for future expansions. If blank the protocol will automatically get symbol file from PLC.
File
Path

IP or PLC IP address or host name.


host
name

Port Port used for communication with PLC.

PLC IP address for all controllers in multiple connections. PLC Network must be selected to enable
Network multiple connections.

738 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 739
EXOR XPLC

Element Description

PLC Mo PLC models available:


del
l EXOR XPLC

Tag Editor Settings


Path: ProjectView> Config > double-click Tags

1. To add a tag, click +: a new line is added.


2. Select EXOR XPLCfrom the protocol list: tag definition dialog is displayed.

740 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 741
EXOR XPLC

Element Description

Memory Name Datatype Description


Type
Symbol variable any Memory type associated to symbol variables.

Pointer to variable any Memory type associated to pointer to variables.

Node Override IP string or Overrides IP address.


unsignedByte array

Node Override Port unsignedShort Overrides Port.

Data Type Data Type Memory Space Limits

boolean 1-bit data 0 ... 1

byte 8-bit data -128 ... 127

short 16-bit data -32768 ... 32767

int 32-bit data -2.1e9 ... 2.1e9

int64 64-bit data -9.2e18 ... 9.2e18

unsignedByte 8-bit data 0 ... 255

unsignedShort 16-bit data 0 ... 65535

unsignedInt 32-bit data 0 ... 4.2e9

uint64 64-bit data 0 ... 1.8e19

float IEEE single-precision 32-bit floating 1.17e-38 ... 3.4e38


point type

double IEEE double-precision 64-bit floating 2.2e-308 ... 1.79e308


point type

string Array of elements containing character code defined by selected


encoding

Note: to define arrays. select one of Data Type format followed by square brackets like “byte[]”,
“short[]”…

Arraysize l In case of array tag, this property represents the number of array elements.
l In case of string tag, this property represents the maximum number of bytes available in the string
tag.

Note: number of bytes corresponds to number of string characters if Encoding property is set to UTF-8 or
Latin1 in Tag Editor.
If Encoding property is set to UCS-2BE, UCS-2LE, UTF-16BE or UTF-16LE one character requires 2
bytes.

742 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Element Description

PLC nam Reference to PLC name. Automatically filled by Tag importer.


e

Conversi Conversion to be applied to the tag.


on

Depending on data type selected, the list Allowed shows one or more conversion types.

Value Description

Inv bits inv: Invert all the bits of the tag.

Example:
1001 → 0110 (in binary format)
9 → 6 (in decimal format)

Negate neg: Set the opposite of tag value.

Example:
25.36 → -25.36

AB -> BA swapnibbles: Swap nibbles in a byte.

Example:
15D4 → 514D (in hexadecimal format)
5588 → 20813 (in decimal format)

ABCD -> CDAB swap2: Swap bytes in a word.

Example:
9ACC → CC9A (in hexadecimal format)
39628 → 52378 (in decimal format)

ABCDEFGH -> swap4: Swap bytes in a double word.


GHEFCDAB
Example:
32FCFF54 → 54FFFC32 (in hexadecimal format)
855441236 → 1426062386 (in decimal format)

ABC...NOP -> swap8: Swap bytes in a long word.


OPM...DAB

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 743
EXOR XPLC

Element Description

Value Description

Example:
142.366 → -893553517.588905 (in decimal format)
0 10000000110
0001110010111011011001000101101000011100101011000001

1 10000011100
1010101000010100010110110110110010110110000100111101
(in binary format)

BCD bcd: Separate byte in two nibbles, read them as decimal (from 0 to
9)

Example:
23 → 17 (in decimal format)
0001 0111 = 23
0001 = 1 (first nibble)
0111 = 7 (second nibble)

Select conversion and click +. The selected item will be added to list Configured.

If more conversions are configured, they will be applied in order (from top to bottom of list Configured).

Use the arrow buttons to order the configured conversions.

Tag Import
Select the driver in Tag Editor and click on the Import Tags button to start the importer.

The following dialog shows which importer type can be selected.

744 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 745
EXOR XPLC

Type Description

XPLC v1.0 Requires a .xml file generated by XPLC.


Linear
All variables will be displayed at the same level.

If variables have been organized in groups in XPLC, it is possible to choose to import


variables based to groups:

746 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Type Description

Tag Editor Select this importer to read a generic XML file exported from Tag Editor by appropriate
exported xml button.

Locate the Tag Editor Exported symbol file and click Open.

Tags included in the symbol file are listed in the tag dictionary. The tag dictionary is displayed at the bottom of the screen.

Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A. 747
EXOR XPLC

Toolbar item Description

Import Tag(s).

Select tags to be imported and click on this icon to add tags


from tag dictionary to the project

Update Tag(s).

Click on this icon to update the tags in the project, due a new
dictionary import.

Check this box to import all sub-elements of a tag.

Example of both checked and unchecked result:

Searches tags in the dictionary basing on filter combo-box


item selected.

748 Communication Protocols | User Manual | v400 (2020-02-04) | EN | © 2009-2020 Exor International S.p.A.
Exor International S.p.A.
Via Monte Fiorino, 9
Communication Protocols 37057 San Giovanni Lupatoto (Verona)
User Manual Italy

info@exorint.com
2020-02-04 phone: +39 045 8750404
fax: +39 045 8779023
Copyright © 2009-2020

You might also like