Hms Hmsi 27 316
Hms Hmsi 27 316
Hms Hmsi 27 316
Anybus® Communicator™
for EtherNet/IP™ / Modbus-TCP
(2-port version)
Doc. Id. HMSI-27-316
Rev. 1.00
Connecting DevicesTM
+$/067$'&+,&$*2.$5/658+(72.<2%(,-,1*0,/$1208/+286(&29(175<381(&23(1+$*(1
Liability
Every care has been taken in the preparation of this manual. Please inform HMS Industrial Networks AB of any
inaccuracies or omissions. The data and illustrations found in this document are not binding. We, HMS Industrial
Networks AB, reserve the right to modify our products in line with our policy of continuous product development.
The information in this document is subject to change without notice and should not be considered as a commit-
ment by HMS Industrial Networks AB. HMS Industrial Networks AB assumes no responsibility for any errors that
may appear in this document.
There are many applications of this product. Those responsible for the use of this device must ensure that all the
necessary steps have been taken to verify that the applications meet all performance and safety requirements in-
cluding any applicable laws, regulations, codes, and standards.
HMS Industrial Networks AB will under no circumstances assume liability or responsibility for any problems that
may arise as a result from the use of undocumented features, timing, or functional side effects found outside the
documented scope of this product. The effects caused by any direct or indirect use of such aspects of the product
are undefined, and may include e.g. compatibility issues and stability issues.
The examples and illustrations in this document are included solely for illustrative purposes. Because of the many
variables and requirements associated with any particular implementation, HMS Industrial Networks AB cannot
assume responsibility for actual use based on these examples and illustrations.
HMS Industrial Networks AB has intellectual property rights relating to technology embodied in the product de-
scribed in this document. These intellectual property rights may include patents and pending patent applications
in the US and other countries.
Trademark Acknowledgements
Anybus® is a registered trademark of HMS Industrial Networks AB. Microsoft® and Windows® are registered
trademarks of Microsoft, Inc. EtherNet/IP™ and ODVA™ are trademarks of ODVA, Inc. All other trademarks are
the property of their respective holders.
Warning: This is a class A product. in a domestic environment this product may cause radio interference in
which case the user may be required to take adequate measures.
ESD Note: This product contains ESD (Electrostatic Discharge) sensitive parts that may be damaged if ESD
control procedures are not followed. Static control precautions are required when handling the
product. Failure to observe this may cause damage to the product.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Table of Contents
Table of Contents
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
IV
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
V
Chapter 12 Nodes
General........................................................................................................................................ 67
Adding & Managing Nodes ..................................................................................................... 67
Node Parameters ....................................................................................................................... 67
Master Mode and Generic Data Mode.............................................................................. 67
Chapter 13 Transactions
General........................................................................................................................................ 68
Adding & Managing Transactions .......................................................................................... 69
Transaction Parameters (Master Mode)................................................................................. 70
Parameters (Query & Broadcast)...................................................................................... 70
Parameters (Response)....................................................................................................... 71
Transaction Parameters (Generic Data Mode) ..................................................................... 72
Produce Transactions......................................................................................................... 72
Consume Transactions ...................................................................................................... 73
Transaction Editor .................................................................................................................... 74
Chapter 15 Commands
General........................................................................................................................................ 81
Adding & Managing Commands ............................................................................................ 81
Drop-down Menu ............................................................................................................ 82
Toolbar Icons .................................................................................................................... 82
The Command Editor .............................................................................................................. 83
General............................................................................................................................. 83
Basic Navigation............................................................................................................... 83
Drop-down Menu ............................................................................................................ 84
Editing a Command ......................................................................................................... 84
Example: Specifying a Modbus-RTU Command in Master Mode .................................... 85
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
VI
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
VII
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
VIII
Appendix D Troubleshooting
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Preface
Change Page(s)
Screenshots and descriptions of ABC Tool updated for Anybus Configuration Manager Multiple
Changed “ABC” to “Communicator RS232/422/485” Multiple
Amended description of “Update time” parameter 71, 72
Added description for Consume/Response to “Object Delimiter” parameter 79
Changed “Maximum Data Length” limit 79
Removed obsolete “Start Bits” parameter 88
Removed obsolete “ABCC ExtLink Wizard” entry 100
Added parameters to checksum object description 80
Added info about explicit messaging and the Run/Idle header parameter 22, 63
Updated screenshots in mailbox examples 120, 122
Minor text edits, typo corrections Multiple
Revision List
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
About This Document 10
P.3.1 Glossary
Term Meaning
ABC Anybus Communicator
ACM Anybus Configuration Manager
EIP EtherNet/IP
Broadcaster A protocol specific node in the sub-network scan that hold transactions destined to all nodes
Command A protocol specific transaction.
Configuration List of configured nodes with transactions on the sub-network
Fieldbus The network to which the communicator is connected.
Frame Higher level series of bytes forming a complete telegram on the sub-network
Monitor A tool for debugging the Anybus Communicator and the network connections
Node A device in the scan-list that defines the communication with a slave on the sub-network
Scan list List of configured slaves with transactions on the sub-network
The network that logically is located on a subsidiary level with respect to the fieldbus and to
Sub-network
which the Anybus Communicator acts as a gateway
A generic building block that is used in the sub-network scan-list and defines the data that is
Transaction
sent out the sub-network
Fieldbus Control System Fieldbus master
Higher Level Network In this case, Ethernet (including EtherNet/IP and Modbus-TCP)
Network
Fieldbus
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 1
HMI HMI
(Ethernet)
(Ethernet)
PC
C / web
eb
b / SCADA
SC PC
C / web
eb
b / SCADA
SC
INVERTER INVERTER
PC configuration PC configuration
and monitoring and monitoring
Multi-drop up to 31 nodes
Serial communication
device
Serial communication devices
Sub-network
The Anybus Communicator can address up to 31 nodes, and supports the following physical standards:
• RS-232
• RS-422
• RS-485
Ethernet Interface
Ethernet connectivity is provided through the patented Anybus technology; a proven industrial commu-
nication solution used all over the world by leading manufacturers of industrial automation products.
• EtherNet/IP group 2 and 3 server
• Modbus-TCP slave functionality
• Server Side Include (SSI) functionality
• Web server and E-mail client capabilities
• FTP & Telnet servers
• 10/100 Mbit/s, twisted pair
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
About the Anybus Communicator for EtherNet/IP 12
A: Ethernet Connectors
These connectors are used to connect the Anybus Com-
B
municator to the network.
See also...
- “Ethernet Connector” on page 126
A
B: Status LEDs
See also...
- “Status LEDs” on page 13
C: PC-connector C
D: Sub-network Connector
This connector is used to connect the gateway to the serial
sub-network.
See also...
- “Sub-network Interface” on page 128
E: Power Connector
This connector is used to apply power to the gateway.
See also...
- “Power Connector” on page 126
F: DIN-rail Connector
The DIN-rail mechanism connects the gateway to PE (Protective Earth).
See also...
- “Hardware Installation” on page 14
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
About the Anybus Communicator for EtherNet/IP 13
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
About the Anybus Communicator for EtherNet/IP 14
To snap the ABC on, first press it downwards (1) to compress the spring
in the DIN-rail mechanism, then push it against the DIN-rail as to make
it snap on (2)
To snap the ABC off, push it downwards (1) and pull it out from the DIN-
rail (2), as to make it snap off from the DIN-rail
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
About the Anybus Communicator for EtherNet/IP 15
System requirements
• Pentium 133 MHz or higher
• 650 MB of free space on the hard drive
• 32 MB RAM
• Screen resolution 800 x 600 (16 bit color) or higher
• Microsoft Windows® 2000 / XP / Vista / 7 (32- or 64-bit)
• Internet Explorer 4.01 SP1 or newer (or any equivalent browser)
Installation
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 2
2. Basic Operation
2.1 General
The Anybus Communicator is designed to exchange data between a serial sub-network and a higher level
network. Unlike most other similar devices, the Anybus Communicator has no fixed protocol for the
sub-network, and consequently can be configured to handle almost any form of serial communication.
The gateway can issue serial telegrams cyclically, on change of state, or based on trigger events issued by
the control system in the higher level network (i.e. the fieldbus master or PLC). It can also monitor cer-
tain aspects of the sub-network communication and notify the higher level network when data has
changed.
An essential part of the Anybus Communicator package is Anybus Configuration Manager (ACM), a
Windows-based application used to supply the gateway with a description of the sub-network protocol.
No programming skills are required; instead, a visual protocol description-system is used to specify the
different parts of the serial communication.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 17
Subnetwork
based on function:
When building the sub-network configuration using the Anybus Configuration Manager, the different
areas described above are mapped to the memory locations (addresses) specified below.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 18
In the following example, a temperature regulator on the sub-network exchanges information with a
PLC on the higher level network, via the internal memory buffers in the Anybus Communicator.
EtherNet/IP
the ABC is exchanged;
Data from the Input Data area is copied to
PLC Input Memory, and PLC Output
Memory is copied to the Output Data
area.
ABC
Input Data Output Data General Data
0x000 0x200 0x400
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 19
The Anybus Communicator features three distinct operating modes for sub-network communication:
‘Master Mode’, ‘DF1 Master Mode’ and ‘Generic Data Mode’. Note that the protocol mode only spec-
ifies the basic communication model, not the actual sub-network protocol.
• Master Mode
In this mode, the gateway acts as a master on the sub-network, and the serial communication is
query-response based. The nodes on the network are not permitted to issue messages unless first
addressed by the gateway .
For more information about this mode, see “Master Mode” on page 20.
The following building blocks are used in Anybus Configuration Manager to describe the sub-network
communication. How these blocks apply to the three protocol modes is described later in this document.
• Node
A ‘node’ represents a single device on the sub-network. Each node can be associated with a num-
ber of transactions, see below.
• Transaction
A ‘transaction’ represents a complete serial telegram, and consists of a number of frame objects
(see below). Each transaction is associated with a set of parameters controlling how and when to
use it on the sub-network.
• Commands
A ‘command’ is simply a predefined transaction stored in a list in the Anybus Configuration Man-
ager. This simplifies common operations by allowing transactions to be stored and reused.
• Frame Object
‘Frame objects’ are low level entities used to compose a transaction (see above). A frame object
can represent a fixed value (a constant), a range of values (limit objects), a block of data or a cal-
culated checksum.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 20
In this mode, the communication is based on a query-response scheme; when the gateway issues a query
on the sub-network, the addressed node is expected to issue a response. Nodes are not permitted to issue
responses/messages spontaneously, i.e. without first receiving a query.
There is, however, one exception to this rule; the broadcaster. Most protocols offer some way of broad-
casting messages to all nodes on the network, without expecting them to respond to the broadcasted
message. This is also reflected in the gateway, which features a dedicated broadcaster node.
Control System Gateway Subnetwork Devices
In Master Mode, Anybus Configuration Manager comes pre-loaded with the most commonly used
Modbus RTU commands, which can be conveniently reached by right-clicking on a node in the Anybus
Configuration Manager and selecting ‘Insert New Command’. Note, however, that this in no way
prevents other protocols based on the same query-response message-scheme from also being imple-
mented.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 21
In this mode, there is no master-slave relationship between the nodes on the sub-network and the gate-
way. Any node (including the gateway) may spontaneously produce or consume a message. Nodes are
not obliged to respond to messages, nor do they need to wait for a query in order to send a message.
In the figure above, the Anybus Communicator ‘consumes’ data ‘produced’ by a node on the sub-net-
work. This ‘consumed’ data can then be accessed from the higher level network. This also works the
other way around; the data received from the higher level network is used to ‘produce’ a message on the
sub-network, for ‘consumtion’ by a node.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 22
2.4 EtherNet/IP
2.4.1 General
EtherNet/IP is based on the Control and Information Protocol (CIP), which is also the application layer
for DeviceNet and ControlNet. The Anybus Communicator acts as a Group 2 or 3 server on the
EtherNet/IP network.
Input and output data is accessed using I/O connections or explicit messages towards the assembly ob-
ject and the parameter input/output mapping objects.
Note: The EtherNet/IP Run/Idle header function must be disabled in the Anybus Configuration Man-
ager if explicit messaging is used.
See also...
• “CIP Object Implementation” on page 107
• “Fieldbus Settings” on page 63
The input and output data hold two types of data; I/O data and parameter data. I/O data is exchanged
on change of value, and can be accessed using I/O connections towards the assembly object.
Parameter data can be accessed acyclically via the parameter input and output mapping objects. Note,
however, that each instance attribute within these objects must be created manually using the Anybus
Configuration Manager.
For more information see “Parameter Data Initialization (Explicit Data)” on page 121.
See also...
• “Assembly Object, Class 04h” on page 109
• “Parameter Data Input Mapping Object, Class B0h” on page 114
• “Parameter Data Output Mapping Object, Class B1h” on page 115
• “Fieldbus Settings” on page 63
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 23
I/O sizes are specified using the Anybus Configuration Manager and correlate to the Anybus Commu-
nicator memory as follows:
Example:
I/O Sizes for the gateway set to the following values:
IO Size In= 256 bytes (0x0100)
IO Size Out= 128 bytes (0x0080)
0x27F
I/O Data (Input)
0x280
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 24
2.5 Modbus-TCP
2.5.1 General
The Modbus-TCP protocol is an implementation of the standard Modbus protocol running on top of
TCP/IP. The built-in Modbus-TCP server provides access to the input and output data areas via a sub-
set of the functions defined in the Modbus-TCP specification.
The server supports up to 8 simultaneous connections and communicates over TCP port 502. For de-
tailed information regarding the Modbus-TCP protocol, consult the Open Modbus Specification.
The Anybus Communicator features two different modes of operation regarding the Modbus commu-
nication:
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 25
Modbus Function Function Code Associated with Area No. of I/Os or Data Points per Command
Read Holding Registers 3 Output Data area 1 - 125 registers
(0x200...0x3FF)
Read Input Registers 4 Input Data area 1 - 125 registers
(0x000....0x1FF)
Write Single Register 6 Output Data area 1 register
Force Multiple Registers 16 (0x200...0x3FF) 1 - 800 registers
Mask Write Register 22 1 register
Read/Write Registers 23 125 registers read / 100 registers write
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Operation 26
Modbus Function Function Code Associated with Area(s) No. of I/Os or Data Points per Command
Read Coil 1 Input and Output Data Area 1 - 2000 bits
Read Input Discretes 2 (0x000... 0x3FF) 1 - 2000 bits
Read Holding Registers 3 1 - 125 registers
Read Input Registers 4 1 - 125 registers
Write Coil 5 Output Data Area (0x200... 1 bit
Write Single Register 6 0x3FF) 1 register
Force Multiple Coils 15 1 - 800 bits
Force Multiple Registers 16 1 - 100 registers
Mask Write Register 22 1 register
Read/Write Registers 23 Input and Output Data Area 125 registers read/100 registers write
(0x000... 0x3FF)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 3
3. File System
3.1 General
General
The Anybus Communicator features a built-in file system, which is used to store information such as
web files, network communication settings, e-mail messages etc.
Storage Areas
The file system consists of the different storage areas:
Conventions
• ‘\’ (backslash) is used as a path separator
• A ‘path’ originates from the system root and as such must begin with a ‘\’
• A ‘path’ must not end with a ‘\’
• Names may contain spaces (‘ ‘) but must not begin or end with one.
• Names may not contain the following characters: ‘\ / : * ? “ < > |’
• Names cannot be longer than 48 characters (plus null termination)
• A path cannot be longer than 256 characters (filename included)
• The maximum number of simultaneously open files is 40
• The maximum number of simultaneously open directories is 40
Important Note:
The non-volatile storage is located in FLASH memory. Each FLASH segment can be erased approxi-
mately 100 000 times.
The following operations will erase one or more FLASH segments:
• Deleting, moving or renaming a file or directory
• Writing or appending data to an existing file
• Formatting the file system
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
File System 28
user
ip_accs.cfg
ssi_str.cfg
http.cfg pswd (protected)
ethcfg.cfg
onoffln.cfg sys_pswd.cfg
RAM email_1.cfg
(volatile, optional) .
.
.
email_10.cfg
pswd (protected)
ad_pswd.cfg
email_1.cfg
.
.
.
email_10.cfg
Example:
[Key1]
value of key1
[Key2]
value of key2
The exact format of each system file is described in detail later in this document.
The contents of the above files can be redirected:
Example:
In this example, the contents will be loaded from the file ‘here.cfg’.
[file path]
\i\put\it\over\here.cfg
Note: Any directory in the file system can be protected from web access by placing the file web-accs.cfg
in the directory, see “Authorization” on page 42.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 4
4. FTP Server
4.1 General
The built-in FTP server provides a way to access the file system using a standard FTP client.
The following port numbers are used for FTP communication:
• TCP, port 20 (FTP data port)
• TCP, port 21 (FTP command port)
Security Levels
The FTP server features two security levels; admin and normal.
User Accounts
The user accounts are stored in two files, which are protected from web access:
• ‘\user\pswd\sys_pswd.cfg’
This file holds the user accounts for normal level users.
• ‘\pswd\ad_pswd.cfg’
This file holds the user accounts for admin level users.
File Format:
The format of these files are as follows:
Username1:Password1
Username2:Password2
Username3:Password3
Note 1: If no valid user accounts have been defined, the gateway will grant admin level access to all us-
ers. In such cases, the FTP accepts any username/password combination, and the root directory will be
‘\’.
Note 2: The FTP server shares user accounts with the Telnet server.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
FTP Server 30
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 5
5. Telnet Server
5.1 General
The built-in Telnet server provides a way to access the file system using a standard Telnet client. The
server communicates through TCP port 23.
Security Levels
Just like the FTP server, the Telnet server features two security levels; admin and normal.
User Accounts
The Telnet server shares user accounts with the FTP server. If no valid user accounts have been defined,
the gateway will grant admin level access to all users. In such case, no login is required, and the root di-
rectory will be ‘\’.
For more information, see “User Accounts” on page 29
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Telnet Server 32
admin
• Syntax
admin
• Description
Provided that the user can supply a valid admin username/password combination, this command
provides admin access rights to normal level users.
exit
• Syntax
exit
• Description
This command closes the Telnet session.
help
• Syntax
help [general|diagnostic|filesystem]
• Description
If no argument is specified, the following menu will be displayed.
General commands:
version
• Syntax
version
• Description
This command will display version information, serial number and MAC ID of the Ethernet-
module, in the Communicator.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Telnet Server 33
arps
• Syntax
arps
• Description
Display ARP stats and table
iface
• Syntax
iface
• Description
Display net interface stats
routes
• Syntax
routes
• Description
Display IP route table
sockets
• Syntax
sockets
• Description
Display socket list
append
• Syntax
append [file] [“The line to append”]
• Description
Appends a line to a file.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Telnet Server 34
cd
• Syntax
cd [path]
• Description
Changes current directory.
copy
• Syntax
copy [source] [destination]
• Description
This command creates a copy of the source file at a specified location.
del
• Syntax
del [file]
• Description
Deletes a file.
dir
• Syntax
dir [path]
• Description
Lists the contents of a directory. If no path is given, the contents of the current directory is listed.
df
• Syntax
df
• Description
Displays filesystem info.
format
• Syntax
format
• Description
Formats the filesystem. This is a privileged command and can only be called in administration
mode.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Telnet Server 35
md
• Syntax
md [directory]
• Description
Creates a directory. If no path is given, the directory is created in the current directory.
mkfile
• Syntax
mkfile [filename]
• Description
Creates an empty file.
move
• Syntax
move [source] [destination]
• Description
This command moves a file or directory from the source location to a specified destination.
rd
• Syntax
rd [directory]
• Description
Removes a directory. The directory can only be removed if it is empty.
ren
• Syntax
ren [old name] [new name]]
• Description
Renames a file or directory.
type
• Syntax
type [filename]
• Description
Types the contents of a file.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 6
EtherNet/IP
The TCP/IP settings can be accessed from EtherNet/IP through the TCP/IP Interface Object.
See also...
• “TCP/IP Interface Object, Class F5h” on page 117
DHCP/BootP
The Anybus Communicator can retrieve the TCP/IP settings from a DHCP or BootP server. If no
DHCP server is found, the gateway will default to the current settings in ‘\ethcfg.cfg’.
If no current settings are available (‘ethcfg.cfg’ is missing, or contains invalid settings), the gateway will
halt and indicate an error on the on-board status LEDs (the network configuration may however still be
accessed via HICP, see “Anybus IPconfig (HICP)” on page 40.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Network Configuration 37
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Network Configuration 38
See also...
• “FTP Server” on page 29
• “Fieldbus Settings” on page 63
File Format:
[Web]
xxx.xxx.xxx.xxx • Nodes listed here may access the web server
[FTP]
xxx.xxx.xxx.xxx • Nodes listed here may access the FTP server
[Modbus-TCP]
xxx.xxx.xxx.xxx • Nodes listed here may access the gateway via Modbus-TCP
[EtherNet/IP]
xxx.xxx.xxx.xxx • Nodes listed here may access the gateway via EtherNet/IP
[All]
xxx.xxx.xxx.xxx • Fallback setting, used by the gateway when one or several of the
keys above are omitted
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Network Configuration 39
The contents of this file can be redirected by placing the line ‘[File path]’ on the first row, and a file path
on the second.
File example:
[File path]
\my_settings\on-off-line_configuration.cfg
In this example, the settings described above will be loaded from the file ‘\my_settings\on-off-line_-
configuration.cfg’.
Note 1: The keys ‘[Timeout]’ and ‘[Commands]’ shall only be given if the On/Offline Trigger value is
set to ‘Modbus’.
Note 2: The settings in this file will be ignored if the application has issued the mailbox message
MB_ON_OFF_LINE_CONFIG. See “Advanced Fieldbus Configuration” on page 120.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Network Configuration 40
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 7
7. Web Server
7.1 General
The Anybus Communicator features a flexible web server with SSI capabilities. The built-in web pages
can be customized to fit a particular application and allow access to I/O data and configuration settings.
The web server communicates through port 80.
See also...
• “Server Side Include (SSI)” on page 44
• “IP Access Control” on page 38
Protected Files
For security reasons, the following files are protected from web access:
• Files located in ‘\user\pswdcfg\pswd’
• Files located in ‘\pswd’
• Files located in a directory which contains a file named ‘web_accs.cfg’
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Web Server 42
7.2 Authorization
Directories can be protected from web access by placing a file called ‘web_accs.cfg’ in the directory to
protect. This file shall contain a list of users that are allowed to access the directory and its subdirectories.
File Format:
Username1:Password1
Username2:Password2
...
• List of approved users.
UsernameN:PasswordN
• Optionally, a login message can be specified by including the
[AuthName] key [AuthName]. This message will be displayed by the web
(message goes here) browser upon accessing the protected directory.
The list of approved users can optionally be redirected to one or several other files.
Example:
In this example, the list of approved users will be loaded from the files ‘here.cfg’ and ‘too.cfg’.
[File path]
\i\put\it\over\here.cfg
\i\actually\put\some\of\it\over\here\too.cfg
[AuthName]
Please enter password
Note that when using this feature, make sure to put the user/password files in a directory that is pro-
tected from web access, see “Protected Files” on page 41.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Web Server 43
It is possible to configure/reconfigure the reported content types, and which files that shall be scanned
for SSI. This is done in the system file ‘\http.cfg’.
File Format:
[FileTypes]
FileType1:ContentType1
FileType2:ContentType2
...
FileTypeN:ContentTypeN
[SSIFileTypes]
FileType1
FileType2
...
FileTypeN
Note: Up to 50 content types and 50 SSI file types may be specified in this file.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 8
General
Server Side Include (from now on referred to as SSI) functionality enables dynamic content to be used
on web pages and in e-mail messages.
SSI are special commands embedded in the source document. When the Anybus module encounters
such a command, it will execute it, and replace it with the result (when applicable).
Syntax
The ‘X’s below represents a command opcode and parameters associated with the command.
<?--#exec cmd_argument=’XXXXXXXXXXXXXXXXXXXXXX’-->
Example
The following example causes a web page to display the Ethernet Mac ID of the module:
<HTML>
<HEAD><TITLE>SSI Test</TITLE></HEAD>
<BODY>
The Ethernet Mac ID of the Anybus module is:
<?--#exec cmd_argument=’DisplayMacID’-->
</BODY>
</HTML>
Resulting webpage:
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 45
8.1 Functions
DisplayMacID
This function returns the MAC ID in format xx:xx:xx:xx:xx:xx.
Syntax:
<?--#exec cmd_argument=’DisplayMacId’-->
DisplaySerial
This function returns the serial number of the Anybus module.
Syntax:
<?--#exec cmd_argument=’DisplaySerial’-->
DisplayFWVersion
This function returns the main firmware revision of the Anybus module.
Syntax:
<?--#exec cmd_argument=’DisplayFWVersion’-->
DisplayBLVersion
This function returns the bootloader firmware revision of the Anybus module.
Syntax:
<?--#exec cmd_argument=’DisplayBLVersion’-->
DisplayIP
This function returns the currently used IP address.
Syntax:
<?--#exec cmd_argument=’DisplayIP’-->
DisplaySubnet
This function returns the currently used Subnet mask.
Syntax:
<?--#exec cmd_argument=’DisplaySubnet’-->
DisplayGateway
This function returns the currently used Gateway address.
Syntax:
<?--#exec cmd_argument=’DisplayGateway’-->
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 46
DisplayDNS1
This function returns the address of the primary DNS server.
Syntax:
<?--#exec cmd_argument=’DisplayDNS1’-->
DisplayDNS2
This function returns the address of the secondary DNS server.
Syntax:
<?--#exec cmd_argument=’DisplayDNS2’-->
DisplayHostName
This function returns the hostname.
Syntax:
<?--#exec cmd_argument=’DisplayHostName’-->
DisplayDomainName
This function returns the default domain name.
Syntax:
<?--#exec cmd_argument=’DisplayDomainName’-->
DisplayDhcpState
This function returns whether DHCP/BootP is enabled or disabled.
Syntax:
<?--#exec cmd_argument=’DisplayDhcpState( "Output when ON", "Output when OFF"
)’-->
DisplayDhcpSupport
This function returns ‘Arg1’ if it’s enabled and ‘Arg2’ if it’s disabled.
Syntax:
<?--#exec cmd_argument=’DisplayDhcpSupport( "Arg1", "Arg2" )’-->
DisplayEmailServer
This function returns the currently used SMTP server address.
Syntax:
<?--#exec cmd_argument=’DisplayEmailServer’-->
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 47
DisplaySMTPUser
This function returns the username used for SMTP authentication.
Syntax:
<?--#exec cmd_argument=’DisplaySMTPUser’-->
DisplaySMTPPswd
This function returns the password used for SMTP authentication.
Syntax:
<?--#exec cmd_argument=’DisplaySMTPPswd’-->
DisplayStationName
This function returns the PROFINET Station Name.
Syntax:
<?--#exec cmd:argument=’DisplayStationName’-->
DisplayStationType
This function returns the PROFINET Station Type.
Syntax:
<?--#exec cmd:argument=’DisplayStationType’-->
DisplayVendorID
This function returns the PROFINET Vendor ID.
Syntax:
<?--#exec cmd:argument=’DisplayVendorId’-->
DisplayDeviceID
This function returns the PROFINET DeviceID.
Syntax:
<?--#exec cmd:argument=’DisplayDeviceId’-->
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 48
StoreEtnConfig
Note: This function cannot be used in e-mail messages.
This SSI function stores a passed IP configuration in the configuration file ‘ethcfgIP.cfg’.
Syntax:
<?--#exec cmd_argument=’StoreEtnConfig’-->
Include this line in a HTML page and pass a form with new IP settings to it.
Default output:
Invalid IP address!
Invalid Subnet mask!
Invalid Gateway address!
Invalid IP address or Subnet mask!
Invalid Email Server IP address!
Invalid DHCP state!
Invalid DNS1!
Invalid DNS2!
Configuration stored correctly.
Failed to store configuration.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 49
GetText
Note: This function cannot be used in e-mail messages.
This SSI function gets the text from an object and stores it in the OUT area.
Syntax:
<?--#exec cmd_argument=’GetText( "ObjName", OutWriteString ( offset ), n )’-->
Default output:
Success - Write succeeded
Failure - Write failed
printf
This SSI function includes a formatted string, which may contain data from the Anybus IN/OUT area,
on a web page. The formatting of the string is equal to the standard C function printf().
Syntax:
<?--#exec cmd_argument=’printf("String to write", Arg1, Arg2, ..., ArgN)’-->
Like the standard C function printf() the "String to write" for this SSI function contains two types of
objects: Ordinary characters, which are copied to the output stream, and conversion specifications, each
of which causes conversion and printing of the next successive argument to printf. Each conversion
specification begins with the character % and ends with a conversion character. Between the % and the
conversion character there may be, in order:
• A number specifying a minimum field width. The converted argument will be printed in a field
at least this wide, and wider if necessary. If the converted argument has fewer characters than the
field width it will be padded on the left (or right, if left adjustment has been requested) to make
up the field width. The padding character is normally space, but can be 0 if the zero padding flag
is present.
• A period, which separates the field width from the precision.
• A number, the precision, that specifies the maximum number of characters to be printed from a
string, or the number of digits to be printed after the decimal point for e, E, or F conversions,
or the number of significant digits for g or G conversion, or the minimum number of digits to
be printed for an integer (leading 0s will be added to make up the necessary width)
• A length modifier h, l (letter ell), or L. "h" Indicates that the corresponding argument is to be
printed as a short or unsigned short; "l" indicates that the argument is along or unsigned long.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 50
The conversion characters and their meanings are shown below. If the character after the % is not a con-
version character, the behavior is undefined.
The arguments that can be passed to the SSI function printf are:
Argument Description
InReadSByte(offset) Read a signed byte from position offset in the IN area
InReadUByte(offset) Read an unsigned byte from position offset in the IN area
InReadSWord(offset) Read a signed word from position offset in the IN area
InReadUWord(offset) Read an unsigned word from position offset in the IN area
InReadSLong(offset) Read a signed longword from position offset in the IN area
InReadULong(offset) Read an unsigned longword from position offset in the IN area
InReadString(offset) Read a string (char*) from position offset in the IN area
InReadFloat(offset) Read a floating point (float) value from position offset in the IN area
OutReadSByte(offset) Read a signed byte from position offset in the OUT area
OutReadUByte(offset) Read an unsigned byte from position offset in the OUT area
OutReadSWord(offset) Read a signed word (short) from position offset in the OUT area
OutReadUWord(offset) Read an unsigned word (short) from position offset in the OUT area
OutReadSLong(offset) Read a signed longword (long) from position offset in the OUT area
OutReadULong(offset) Read an unsigned longword (long) from position offset in the OUT area
OutReadString(offset) Read a null-terminated string from position offset in the OUT area
OutReadFloat(offset) Read a floating point (float) value from position offset in the OUT area
MbReadSByte(id) Read a signed byte (short) from the application via the mailbox interface
MbReadUByte(id) Read an unsigned byte (short) from the application via the mailbox inter-
face
MbReadSWord(id) Read a signed word from the application via the mailbox interface
MbReadUWord(id) Read an unsigned word from the application via the mailbox interface
MbReadSLong(id) Read a signed longword from the application via the mailbox interface
MbReadULong(id) Read an unsigned longword from the application via the mailbox inter-
face
MbReadString(id) Read a null-terminated string from the application via the mailbox inter-
face
MbReadFloat(id) Read a floating point (float) value from the application via the mailbox
interface
CipReadSByte(class, inst, attr) Read a signed byte from a CIP-object
CipReadUByte(class, inst, attr) Read an unsigned byte from a CIP-object
CipReadSWord(class, inst, attr) Read a signed word from a CIP-object
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 51
Argument Description
CipReadUWord(class, inst, attr) Read an unsigned word from a CIP-object
CipReadSLong(class, inst, attr) Read a signed longword from a CIP-object
CipReadULong(class, inst, attr) Read an unsigned longword from a CIP-object
CipReadFloat(class, inst, attr) Read a floating point value from a CIP-object
CipReadShortString(class, inst, attr) Read a short string from a CIP-object
CipReadString(class, inst, attr) Read a null-terminated string from a CIP-object
CipReadUByteArray(class, inst, attr) Read an unsigned byte-array from a CIP-object
CipReadUWordArray(class, inst, attr) Read an unsigned word-array from a CIP-object
CipReadULongArray(class, inst, attr) Read an unsigned longword-array from a CIP-object
scanf
Note: This function cannot be used in e-mail messages.
This SSI function reads a string passed from an object in a HTML form, interprets the string according
to the specified in-format, and stores the result in the OUT area according to the passed arguments. The
formatting of the string is equal to the standard C function call scanf()
Syntax:
<?--#exec cmd_argument=’scanf( "ObjName", "format", Arg1, ..., ArgN), ErrVal1,
..., ErrvalN’-->
ObjName - The name of the object with the passed data string
format - Specifies how the passed string shall be formatted
Arg1 - ArgN - Specifies where to write the data
ErrVal1 -ErrValN - Optional; specifies the value/string to write in case of an error.
The conversion characters d, i, o, u and x may be preceded by l (letter ell) to indicate that a pointer to
‘long’ appears in the argument list rather than a ‘byte’ or a ‘short’
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 52
The arguments that can be passed to the SSI function scanf are:
Argument Description
OutWriteByte(offset) Write a byte to position offset in the OUT area
OutWriteWord(offset) Write a word to position offset in the OUT area
OutWriteLong(offset) Write a long to position offset in the OUT area
OutWriteString(offset) Write a string to position offset in the OUT area
OutWriteFloat(offset) Write a floating point value to position offset in the OUT area
MbWriteByte(id) Write a byte to the application via the mailbox interface
MbWriteWord(id) Write a word to the application via the mailbox interface
MbWriteLong(id) Write a longword to the application via the mailbox interface
MbWriteString(id) Write a string to the application via the mailbox interface
MbWriteFloat(id) Write a floating point value to the application via the mailbox interface
CipWriteByte(class, inst, attr) Write a byte value to a CIP-object
CipWriteWord(class, inst, attr) Write a word value to a CIP-object
CipWriteLong(class, inst, attr) Write a longword to a CIP-object
CipWriteFloat(class, inst, attr) Write a floating point value to a CIP-object
Default output:
Write succeeded
Write failed
IncludeFile
This SSI function includes the contents of a file on a web page.
Syntax:
<?--#exec cmd_argument=’IncludeFile( "File name" )’-->
Default output:
Success - <File content>
Failure - Failed to open <filename>
SaveToFile
Note: This function cannot be used in e-mail messages.
This SSI function saves the contents of a passed form to a file. The passed name/value pair will be writ-
ten to the file "File name" separated by the "Separator" string. The [Append|Overwrite] parameter de-
termines if the specified file shall be overwritten, or if the data in the file shall be appended.
Syntax:
<?--#exec cmd_argument=’SaveToFile( "File name", "Separator",[Append|Over-
write] )’-->
Default output:
Success - Form saved to file
Failure - Failed to save form
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 53
SaveDataToFile
Note: This function cannot be used in e-mail messages.
This SSI function saves the data of a passed form to a file. The “Object name” parameter is optional, if
specified, only the data from that object will be stored. If not, the data from all objects in the form will
be stored.
The [Append|Overwrite] parameter determines if the specified file shall be overwritten, or if the data
in the file shall be appended.
Syntax:
<?--#exec cmd_argument=’SaveDataToFile( "File name", "Object name",[Ap-
pend|Overwrite] )’-->
Default output:
Success - Form saved to file
Failure - Failed to save form
DisplayRemoteUser
Note: This function cannot be used in e-mail messages.
This SSI function returns the user name on an authentication session.
Syntax:
<?--#exec cmd_argument=’DisplayRemoteUser’-->
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 54
If the file "\ssi_str.cfg" is found in the filesystem and the file is correct according to the specification
below, the SSI functions will use the output strings specified in this file instead of the default strings.
The files shall have the following format:
[StoreEtnConfig]
Success: "String to use on success"
Invalid IP: "String to use when the IP address is invalid"
Invalid Subnet: "String to use when the Subnet mask is invalid"
Invalid Gateway: "String to use when the Gateway address is invalid"
Invalid Email server: "String to use when the SMTP address is invalid"
Invalid IP or Subnet: "String to use when the IP address and Subnet mask does
not match"
Invalid DNS1: "String to use when the primary DNS cannot be found"
Invalid DNS2: "String to use when the secondary DNS cannot be found"
Save Error: "String to use when storage fails"
Invalid DHCP state: "String to use when the DHCP state is invalid"
[scanf]
Success: "String to use on success"
Failure: "String to use on failure"
[IncludeFile]
Failure: "String to use when failure"1
[SaveToFile]
Success: "String to use on success"
Failure: "String to use on failure"1
[SaveDataToFile]
Success: “String to use on success”
Failure: “String to use on failure”1
[GetText]
Success: “String to use on success”
Failure: “String to use on failure”
The contents of this file can be redirected by placing the line ‘[File path]’ on the first row, and a file path
on the second.
Example:
[File path]
\user\ssi_strings.cfg
In this example, the settings described above will be loaded from the file ‘user\ssi_strings.cfg’.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Server Side Include (SSI) 55
The SSI output for the next called SSI function can be changed with the SSI function “SsiOutput()”.
The next called SSI function will use the output according to this call. Thereafter the SSI functions will
use the default outputs or the outputs defined in the file ‘\ssi_str.cfg’. The maximum size of a string is
128 bytes.
Syntax:
<?--#exec cmd_argument=’SsiOutput( "Success string", "Failure string" )’-->
Example:
This example shows how to change the output strings for a scanf SSI call.
<?--#exec cmd_argument=’SsiOutput ( "Parameter1 updated", "Error" )’-->
<?--#exec cmd_argument="scanf( "Parameter1", "%d", OutWriteByte(0) )’-->
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 9
9. E-mail Client
9.1 General
The built-in e-mail client can send predefined e-mail messages based on trigger-events in input and out-
put data areas. The client supports SSI, however note that some SSI functions cannot be used in e-mail
messages (specified separately for each SSI function).
See also...
• “Server Side Include (SSI)” on page 44
Server Settings
The Anybus Communicator needs a valid SMTP server configuration in order to be able to send e-mail
messages. These settings are stored in the system file ‘\ethcfg.cfg’.
See also...
• “Ethernet Configuration File (‘ethcfg.cfg’)” on page 37
Event-Triggered Messages
As mentioned previously, the e-mail client can send predefined messages based on events in the input
and output data areas. In operation, this works as follows:
1. The trigger source is fetched from a specified location
2. A logical AND is performed between the trigger source and a mask value
3. The result is compared to a reference value
4. If the result is true, the e-mail is sent to the specified recipient(s).
Which events that shall cause a particular message to be sent, is specified separately for each message.
For more information, see “E-mail Definitions” on page 57.
Note that the input and output data areas are scanned twice per second, i.e. to ensure that an event is
detected by the gateway, it must be present longer than 0.5 seconds.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
E-mail Client 57
• ‘\user\email’
This directory holds up to 10 messages which can be altered by normal level FTP users.
• ‘\email’
This directory holds up to 10 messages which can be altered by admin level FTP users.
E-mail definition files must be named ‘email_1.cfg’, ‘email_2.cfg’... ‘email_10.cfg’ in order to be properly
recognized by the gateway.
File Format:
[Register]
Area, Offset, Type
[Register Match]
Value, Mask, Operand
[To]
recipient
[From]
sender
[Subject]
subject line
[Headers]
Optional extra headers
[Message]
message body
Note: Hexadecimal values must be written with the prefix ‘0x’ in order to be recognized by the Anybus
Communicator.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 10
This section is the main tool for selecting and altering dif-
ferent levels of the sub-network configuration.
Entries preceded by a “+” holds further configuration pa- This menu entry holds additional
rameters or “sub menus”. To gain access to these parame- sub-entries / parameters
ters, the entry must be expanded by clicking “+”.
There are three main levels in the navigation window,
namely Fieldbus, Communicator RS232/422/485, and
Subnetwork.
Right-clicking on entries in this section brings out addi-
tional selections related to that particular entry.
• C: Parameter Section
This section holds a list of parameters or options related to
the currently selected entry in the Navigation Section.
The parameter value may be specified either using a selec-
tion box or manually, depending on the parameter itself.
Values can be specified in decimal form (e.g. “42”), or in
hexadecimal format (e.g. “0x2A”).
• D: Information Section
This section holds information related to the currently se-
lected parameter.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Navigating ACM 59
File
• New
Create a new configuration.
See also “Configuration Wizards” on page 64.
• Open...
Open a previously created configuration.
• Save
Save the current configuration.
• Save As...
Save the current configuration under a new name.
• Print...
Send details about the current configuration to a
printer.
• Properties...
Set the name and (optional) passwords for the
configuration.
Item Description
Select a Name for the Enter a descriptive name for
Configuration the new configuration
Enable Password Enables password protection
Download Password(6) Set passwords for downloading
Upload Password(6) and uploading the configuration
(max. 6 characters)
• Exit
Close ACM.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Navigating ACM 60
Tools
• Port
Select the COM-port used for the configuration of the gateway.
• Download configuration to
Communicator RS232/422/485
Download the current configuration to the gateway.
• Start Logging
Start the Data Logger (see “Data Logger” on page 98).
Note that when the Data Logger is active, this menu entry is changed to “Stop Logging”.
• Options
This will open the following window:
Item Description
Warning on Delete A confirmation dialog is displayed each time something is deleted.
Warning on Unsaved A confirmation dialog is displayed when closing ACM with unsaved data.
Configuration
Show Wizard when The Wizard is displayed each time a new configuration is created.
“New” menu is selected
Select language Selects which language to use. The new setting will be active the next time the pro-
gram is launched.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Navigating ACM 61
Item Description
Size of logbuffer By default, the Data Logger can log up to 512 entries in each direction. If necessary, it
is possible to specify a different number of entries (valid settings range from 1...512).
Click “Apply” to validate the new settings. See also “Data Logger” on page 98.
Firmware Download Download firmware to the embedded fieldbus interface.
Warning: Use with caution.
Factory Restore Restores the gateway firmware to the
original state (does not affect the embedded fieldbus interface).
Block Configuration When selected, the downloaded configuration will not be executed by the gateway.
Warning: Use with caution.
Create Error log Creates an error log file
View
• Toolbar
Enables/disables the toolbar icons at the top of the main win-
dow.
• Status Bar
Enables/disables the status bar at the bottom of the main win-
dow.
Help
• About...
Displays general information about the gateway and the current
version of ACM.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Navigating ACM 62
The toolbar features icons for the most commonly used functions.
• Up one Level
Clicking on this icon will move the selection in the navigation section.
Up one Level
• Connect
Clicking on this icon will cause ACM to attempt to connect to the gateway.
Connect
• Disconnect
Clicking on this icon will cause ACM to disconnect from the gateway.
Disconnect
• Sub-network Monitor
Clicking on this icon will launch the sub-network Monitor
(see “Sub-network Monitor” on page 93). Sub-Network
Monitor
• Add Command
This icon is used to add commands to the currently selected node.
Add Command
• Add Mailbox
(Advanced functionality, see “Mailbox Editor” on page 120)
Add Mailbox
• Node Monitor
Clicking on this icon will launch the Node Monitor (see “Node Monitor” on
page 94) Node Monitor
• Add Transaction(s)
These icons are used to add transactions to the currently selected node.
Add Add
Transactions Transaction
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 11
General
During start-up the fieldbus interface of the Anybus Communicator is initialized to fit the configuration
created in the Anybus Configuration Manager. Optionally, some initialization parameters can be set
manually to provide better control over how the data shall be treated by the gateway.
To be able to participate on the network, the following settings must be correctly made:
Fieldbus Type
Anybus Configuration Manager supports a wide range of networking systems. Make sure this parameter
is set to “EtherNet/IP & Modbus-TCP 2-Port”.
TCP/IP Settings
See also “Basic Network Configuration” on page 36.
Value Description
Enabled Use settings in Anybus Configuration Manager
Disabled Use settings stored in “ethcfg.cfg”
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Basic Settings 64
Value Description
Enabled Use Modbus-TCP addressing mode
Disabled Use Anybus addressing mode
I/O Sizes
Specifies how data from the internal memory buffer will be exchanged over EtherNet/IP. This can ei-
ther be handled automatically based on the sub-network configuration, or specified manually.
See also “EtherNet/IP” on page 22.
Value Description
Automatic All data will be represented as I/O Data on EtherNet/IP.
User defined Additional parameter properties appear; “IO Size In” and “IO Size Out”. The specified
amount, starting at address 0x0000 of the respective memory buffers, will be reserved for
and represented as I/O Data. The remainder will be reserved for Parameter Data.
Value Description
Enabled The module will adopt offline options when the PLC switches from RUN to IDLE. This
option should be used when running EtherNet/IP, and is required for conformance.
Disabled The module will ignore the RUN/IDLE header sent by the EtherNet/IP scanner.
This option should be used when running Modbus-TCP, or when using EtherNet/IP with
explicit messages only.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
65
Interface
Only serial communication is currently supported.
Control/Status Word
See “Control and Status Registers” on page 102.
Value Description
Enabled Enable the Control and Status Registers. The “Data Valid”-bit in the Control Register must
be set to start the sub-network communication.
Enabled but no startup lock This setting is similar to “Enabled”, except that the control system is not required to set the
“Data Valid”-bit to start the sub-network communication.
Disabled This setting completely disables the Control and Status Registers.
Module Reset
This parameter specifies how the gateway will behave in the event of a fatal error.
Value Description
Enabled The gateway will be restarted, and no error will be indicated to the user.
Disabled The gateway will halt and indicate an error.
Protocol Mode
This parameter specifies which protocol mode to use for the sub-network. See “Protocol Modes” on
page 17.
Value Description
Generic Data Mode This mode is primarily intended for Produce & Consume-based protocols, where there are
no Master-Slave relationship between the gateway and the nodes on the sub-network.
Master Mode This mode is intended for “Query & Response”-based protocols, where a single Master
exchanges data with a number of Slaves.
DF1 This mode is intended for the DF1 protocol. The Anybus Communicator can only be con-
figured as a Master with half-duplex communication.
Note: This is the only mode available if you intend to configure an ABC module for DF1.
Statistics
The Transmit- and Receive Counters indicate how many transactions that have successfully been ex-
changed on the sub-network. This feature is primarily intended for debugging purposes.
• Statistics
Enables/disables the Receive and Transmit Counters.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
66
Communication
These parameters specify the actual communication settings used for the sub-network.
• Master Mode
The Message Delimiter specifies the time that separates two messages in steps of 10 ms. If set to
0 (zero), the gateway will use the standard Modbus delimiter of 3.5 characters (the actual number
of ms will be calculated automatically based on the currently used communication settings).
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 12
12. Nodes
12.1 General
In ACM, a node represents a single device on the network. Although the gateway does not feature a scan
list in the traditional sense, all nodes and their transactions will be processed in the order they were de-
fined in ACM.
The maximum number of nodes that can be created in ACM is 31.
Function Description
Paste Paste a node from the clipboard
Subnetwork Monitor Launch the subnet monitor (see “Sub-network Monitor” on page 93)
Add Node Add a node to the configuration
Add Broadcastera Add a broadcaster node to the configuration
Load Node Add a previously saved node
Subnetwork Status... View diagnostic information about the sub-network
a. This function is only available in Master Mode.
To gain access to the parameters described in this section, select a node in the Navigation Section.
Parameter Description
Slave Address The value entered here may be used to set the node address in certain commands.
For more information, see “The Command Editor” on page 83.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 13
13. Transactions
13.1 General
As mentioned previously, transactions are representations of the actual serial telegrams exchanged on
the serial sub-network. Although the gateway does not feature a scan list in the traditional sense, all
nodes and their transactions will be processed in the order they were defined in ACM.
Transactions are handled slightly differently in the three protocol modes:
• Master Mode
For regular nodes, transactions always come in pairs; a query and a response. The query is issued
by the gateway, while responses are issued by the slaves on the sub-network. The Broadcaster
can only send transactions.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Transactions 69
Function Description
Copy Copy a node to the clipboard
Deletea Delete a node
Node Monitor Launch the node monitor (see “Node Monitor” on page 94)
Add Transaction(s)b On regular nodes, this adds a Query and a Response. The two transactions will be
grouped in order to increase readability.
On the Broadcaster, a single transaction will be added.
Add Transaction Consumec Add a “Consume”-transaction
Add transaction Producec Add a “Produce”-transaction
Add Command Add predefined transactions to the node
Insert New Node Insert a new node above the currently selected one
Save Node Save the selected node
Insert from File Insert a previously saved node above the currently selected node
Rename To increase readability, each node can be given a unique name using this function
a. Only available if more than one node exists
b. Only available in Master Mode
c. Only available in Generic Data Mode
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Transactions 70
Parameter Description
Minimum time between broad- This parameter specifies how long the gateway shall wait after transmitting a broad-
casts (10 ms) cast transaction before processing the next entry in the scanlist. The value should be
set high enough to allow the slave devices time to finish the handling of the broadcast.
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
Note: This setting is only relevant for the Broadcaster node.
Offline options for fieldbus This parameter specifies the action to take for this transaction if the higher level net-
work goes offline. This affects the data that is sent to the sub-network.
• Clear - The data destined for the slave-devices is cleared (set to zero)
• Freeze - The data destined for the slave-device is frozen
• NoScanning -The updating of the sub-network is stopped
Offline options for sub-network This parameter specifies the action to take for this transaction if the sub-network goes
offline. This affects the data that is reported to the control system.
• Clear - Data is cleared (0) on the higher level network if the sub-network goes
offline
• Freeze - Data is frozen on the higher level network if the sub-network goes offline
Reconnect time (10 ms) This parameter specifies how long the gateway shall wait before attempting to recon-
nect a disconnected node. A node will be disconnected in case the maximum number
of retries (below) has been reached.
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
Note: This setting is not relevant for the Broadcaster node.
Retries This parameter specifies how many times a timeout may occur in sequence before the
node is disconnected.
Timeout time (10 ms) This parameter specifies how long the gateway will wait for a response from a node. If
this time is exceeded, the gateway will retransmit the Query until the maximum num-
ber of retries (see above) has been reached.
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
Trigger byte address This parameter specifies the location of the trigger byte in internal memory (only rele-
vant when “Update mode” is set to “Change of state on trigger”).
Valid settings range from 0x200 to 0x3FF and 0x400 to 0xFFF
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Transactions 71
Parameter Description
Update mode This parameter is used to specify when the transaction shall be sent to the slave:
• Cyclically
The transaction is issued cyclically at the interval specified in the “Update time”
parameter.
• On data change
The data area is polled for changes at the time interval defined by Update time. A
transaction is issued when a change in data is detected.
• Single shot
The Query is issued once at start up.
• Change of state on trigger
The Query is issued when the trigger byte value has changed. This feature ena-
bles the control system to notify the gateway when to issue a particular Query. To
use this feature correctly, the control system must first update the data area asso-
ciated with the Query/transaction, then increase the trigger byte by one. The loca-
tion of the trigger byte is specified by the “Trigger byte address” parameter. The
trigger byte is checked at the interval specified in the “Update time” parameter.
Update time (10 ms) This parameter specifies how often the transaction will be issued in steps of 10 ms
(relevant only when “Update mode” is set to “Cyclically”, “On data change” or “Change
of state on trigger”).
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
Parameter Description
Trigger byte This parameter is used to enable/disable the trigger functionality for the response. If
enabled, the gateway will increase the trigger byte by one when the gateway receives new
data from the sub-network. This can be used to notify the control system of the updated
data.
The location of the trigger byte is specified by the “Trigger byte address” parameter below.
Trigger byte address This parameter specifies the location of the trigger byte in the internal memory buffer.
Valid settings range from 0x000 to 0x1FF and 0x400 to 0xFFF
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Transactions 72
Parameter Description
Offline options for fieldbus This parameter specifies the action to take for this transaction if the higher level network
goes offline. This affects the data that is sent to the sub-network.
• Clear
Data is cleared (0) on the sub-network if the higher level network goes offline
• Freeze
Data is frozen on the sub-network if the higher level network goes offline
• NoScanning
Stop subnet scanning for this transaction if the higher level network goes offline
Update mode The update mode for the transaction:
• Cyclically
The transaction is sent cyclically at the interval specified in “Update Time”.
• On data change
The data area is polled for changes at the time interval defined by Update time.
A transaction is issued when a change in data is detected.
• Single shot
The transaction is sent once at startup.
• Change of state on trigger
The transaction is sent when the trigger byte has changed. This feature enables the
control system to notify the gateway when to issue a particular transaction. To use this
feature correctly, the control system must first update the data area associated with
the transaction, then increase the trigger byte by one. The location of the trigger byte
is specified by the “Trigger byte address” parameter. The trigger byte is checked at the
interval specified in the “Update time” parameter.
Update time (10 ms) This parameter specifies how often the transaction will be issued in steps of 10ms
(relevant only when “Update mode” is set to “Cyclically”, “On data change” or “Change of
state on trigger”).
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Transactions 73
Parameter Description
Trigger byte address This parameter specifies location of the trigger byte in the internal memory buffer.
If “Update mode” is set to “Change of state on trigger”, the memory location specified by
this parameter is monitored by the gateway. Whenever the trigger byte is updated, the
gateway will produce the transaction on the sub-network.
This way, the control system can instruct the gateway to produce a specific transaction on
the sub-network by updating the corresponding trigger byte.
The trigger byte should be incremented by one for each activation. Please note that the
trigger byte address must be unique to each transaction. It can not be shared by two or
more transactions.
Note: This parameter has no effect unless the “Update mode” parameter is set to “Change
of state on trigger”.
Valid settings range from 0x200 to 0x3FF and 0x400 to 0xFFF
Parameter Description
Offline options for sub-network This parameter specifies the action to take for this transaction if the sub-network goes
offline. This affects the data that is sent to the higher level network.
• Clear
Data is cleared (0) on the higher level network if the sub-network goes offline
• Freeze
Data is frozen on the higher level network if the sub-network goes offline
Offline timeout time (10 ms) This parameter specifies the maximum allowed time between two incoming messages
in steps of 10ms. If this time is exceeded, the sub-network is considered to be offline. A
value of 0 disables this feature, i.e. the sub-network can never go offline.
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
Trigger byte • Enable
Enables the trigger byte. The location of the trigger byte must be specified in “Trig-
ger byte address”.
The trigger byte value will be increased each time a valid transaction has been con-
sumed by the gateway.
The trigger byte will also be increased if the offline option is set to “Clear” and the
offline timeout time value is reached.
This feature enables the control system to be notified each time new data has been
consumed on the sub-network.
• Disable
Disables the trigger byte functionality.
Trigger byte address This parameter specifies the location of the trigger byte in the internal memory buffer.
Valid settings range from 0x000 to 0x1FF and 0x400 to 0xFFF.
Please note that the trigger byte address must be unique to each transaction. It can not
be shared by two or more transactions.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Transactions 74
Frame
Objects
To edit the value of a parameter, click on it and enter a new value using the keyboard. When editing
transactions which are based on predefined commands, certain parts of the transaction may not be ed-
itable.
The File menu features the following entries:
• Apply Changes
This will save any changes and exit to the main
window.
• Exit
Exit without saving.
Example:
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 14
14.1 General
Each transaction consists of Frame Objects which makes up the serial telegram frame. Each Frame Ob-
ject specifies how the gateway shall interpret or generate a particular part of the telegram.
There are 5 types of frame objects, which are described in detail later in this chapter:
• Constant Objects
• Limit Objects
• Data Objects
• Variable Data Objects
• Checksum Objects
Example:
The following Transaction consists of several frame objects; three constants, a data object, and
a checksum object.
Transaction
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Frame Objects 76
• Byte
8 bits
• Word
16 bits
• Dword
32 bits
• Produce/Query Transactions
The gateway will send the value as it is without processing it.
• Consume/Response Transactions
The gateway will check if the received byte/word/dword matches the specified value. If not, the
message will be discarded.
To set the value of the object, select it in the Navigation Section and enter the desired value in the Pa-
rameter section.
Parameter Description
Value Constant value
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Frame Objects 77
• Byte
8 bits
• Word
16 bits
• Dword
32 bits
Limit Objects are handled differently depending on the direction of the transaction:
• Produce/Query Transactions
This object shall not be used for such transactions (value will be undefined).
• Consume/Response Transactions
The gateway will check if the received byte/word/dword fits inside the specified boundaries. If
not, the message will be discarded.
• Byte
8 bit interval
• Word
16 bit interval
• Dword
32 bit interval
To set the range of the object, select it in the Navigation Section and enter the desired range in the Pa-
rameter section as follows:
Parameter Description
Maximum Value This is the largest allowed value for the range.
Range:0x00 to 0xFFh(byte)
0x0000 to 0xFFFFh(word)
0x00000000 to 0xFFFFFFFFh(dword)
Note: The value must be larger than the Minimum Value.
Minimum Value This is the smallest allowed value for the range.
Range:0x00 to 0xFEh(byte)
0x0000 to 0xFFFEh(word)
0x00000000 to 0xFFFFFFFEh(dword)
Note: The value must be less than the Maximum Value.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Frame Objects 78
• Produce/Query Transactions
The specified data block is forwarded from the higher level network to the sub-network.
• Consume/Response Transactions
The specified data block is forwarded from the sub-network to the higher level network.
To specify the properties of the object, select it in the Navigation Section and enter the desired settings
in the Parameter section as follows:
Parameter Description
Byte Swapping • No Swapping
No swapping is performed on the data
• Swap 2 bytes
A, B, C, D becomes B, A, D, C
• Swap 4 bytes
A, B, C, D becomes D, C, B, A
Data Length The length of the data block, in bytes. In case of a Response or Consume transaction, incom-
ing messages where the data size differs from the value specified here will be discarded. Max-
imum data length allowed for one frame is 300 bytes.
Data Location The location of the data block in the internal memory buffer.
• Produce/Query Transactions
The specified data block will be forwarded from the higher level network to the sub-network.
The control system must supply an End or Length character in order for the gateway to know
the size of the data block.
The End- or Length-character itself may either be forwarded to the sub-network or discarded.
• Consume/Response Transactions
The specified data block is forwarded from the sub-network to the higher level network. The
End- or Length-character will be generated by the gateway automatically (if applicable).
The End- or Length-character itself may either be forwarded to the higher level network or dis-
carded.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Frame Objects 79
To specify the properties of the object, select it in the Navigation Section enter the desired settings in
the Parameter section as follows:
Parameter Description
Byte Swapping • No Swapping
No swapping will be performed on the data
• Swap 2 bytes
A, B, C, D becomes B, A, D, C
• Swap 4 bytes
A, B, C, D becomes D, C, B, A
Fill unused bytes • Enableda
Fill unused data with the value specified in “Filler byte”.
• Disabled
Don’t fill
Filler byte Filler byte value. Only used if “Fill unused bytes” has been enabled.
Data Location The offset in the internal memory buffer where the data shall be read from / written to
Object Delimiter • Length Character
(Produce/Query) Length character visible in internal memory buffer but not sent out on the sub-network
• Length Character Visible
Length character visible in internal memory buffer and sent out on the sub-network
• End Character
End character visible in internal memory buffer but not sent out on the sub-network
• End Character Visible
End character visible in the internal memory buffer and sent out on the sub-network
• No Character
No end- or length-character generated in the internal memory buffer
Object Delimiter • Length Character
(Consume/Response) Length character visible in internal memory buffer but not received from the sub-network
• Length Character Visible
Length character visible in internal memory buffer and received from the sub-network
• End Character
End character visible in internal memory buffer but not received from the sub-network
• End Character Visible
End character visible in the internal memory buffer and received from the sub-network
• No Character
No end or length characters included in the received string or generated in the internal
memory buffer
End Character Value End Character valueb
Maximum Data Length The maximum allowed length (in bytes) of the variable data object. If the actual length of the
data exceeds this value, the message will be discarded. The value must not exceed 256 bytes,
which is the maximum data length allowed for one frame.
a. Only relevant for Consume/Response transactions
b. Only used if “Object Delimiter” is set to “End Character” or “End Character Visible”
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Frame Objects 80
Parameter Description
Error Check Start byte Specifies the byte offset in the transaction to start checksum calculations on.a
Error Check Type This parameter specifies which type of algorithm to use:
• CRC (2 bytes)
CRC-16 with 0xA001 polynome (Modbus RTU standard)
• LRC (1 byte)
All bytes are added together as unsigned 8-bit values. The two’s complement of the result
will be used as a checksum.
(Modbus ASCII standard with Error Check Start Byte = 0x01 and Representation = ASCII)
• XOR (1 byte)
All bytes are logically XOR:ed together. The resulting byte will be used as a checksum.
• ADD (1 byte)
All bytes are added together as unsigned 16-bit values. The lowest 8 bits in the result will
be used as a checksum.
Error check type The binary value can be converted to its one’s or two’s complement. This conversion is carried
combined with out before ASCII formatting (see next parameter).
• None
The checksum binary value is transmitted without conversion.
• One’s complement
The checksum value will be converted to its one’s complement (inverse code).
Example: 00001100 will be transmitted as 11110011
• Two’s complement
The checksum value will be converted to its two’s complement (complement code).
Example: 00001100 will be transmitted as 11110100
Representation • Binary
The checksum is transmitted in binary format.
• ASCII
All characters in the checksum are converted to ASCII values.
a. In Generic Data Mode the Start character (if used) will not be included in the checksum calculation.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 15
15. Commands
This information is only valid for the Master and Generic Data modes. For DF1 master mode, please
refer to “Services” on page 89.
15.1 General
As mentioned previously, commands are actually predefined transactions that can be stored and reused.
Just like regular transactions, commands consist of frame objects and are representations of the actual
serial telegrams exchanged on the serial sub-network.
Adding a command to a node actually results in (a) transaction(s) being added according to the directions
specified in the command. The frame objects in such a transaction may retrieve their values not only
from parameters in the parameter section, but also from other sources such as the “SlaveAddress”-pa-
rameter (see “Node Parameters” on page 67). In such case, the parameters in the parameter section will
be greyed out and cannot be edited directly.
In Master Mode, ACM comes preloaded with commands for most common Modbus RTU functions.
Additional commands can easily be added using the Command Editor (see “The Command Editor” on
page 83). For DF1 Master Mode, see “Services” on page 89. In Generic Data Mode, no predefined com-
mands exist, but custom ones may be implemented as desired.
Select the desired command in the list, and select “Add Com-
mand” in the “Command”-menu. The specified command will be
added to the node.
Just like other transactions, the frame objects of added command
may be edited in the Navigation/Parameter Section or using the
Transaction Editor. Note however that certain frame objects may
be locked for editing.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Commands 82
File
This menu features the following entries:
• Select
Add the currently selected Command to the node.
• Exit
Exit without adding a command to the node.
Command
This menu is used to manage the commands in the list:
• Add Command
Add a custom command to the list, and open the new command in the Command Editor.
See also “The Command Editor” on page 83.
• Edit Command
Edit the currently selected command using the Command Editor.
See also “The Command Editor” on page 83.
• Delete Command
Delete the currently selected command from the list. Note that some commands are fixed and
cannot be deleted.
The toolbar features icons for the Add, Edit and Delete Command functions.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Commands 83
15.3.1 General
The Command Editor is used to define new commands and edit existing ones. This makes it possible
to build a library of commands, which can be stored and reused at a later stage.
Note that the Command Editor is somewhat protocol-dependent in the sense that certain frame objects
may not be deleted or altered.
The examples in this section use Master Mode. The procedures involved are similar in Generic Data
Mode, but without the limitations imposed by the Modbus RTU protocol.
Open the Command Editor by selecting “Edit Command” or “Add Command” from the “Command”-
menu.
A
B D E
A: Drop-down Menu
See “Drop-down Menu” on page 84.
B: Name of Command
Actual name of the command, in text form.
C: Command Transactions
This section holds the actual transactions associated with the command. This can either be a que-
ry-response pair, or a single transaction, depending on the protocol mode etc.
D: Command ID
This can be used as desired when building the command, e.g. to specify the function code.
E: Other Settings
Setting Description
Allow Broadcasting Specifies if it is allowed to broadcast the command (only relevant in Master Mode)
Produce The command is producing data (Generic Data Mode only)
Consume The command is consuming data (Generic Data Mode only)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Commands 84
File
This menu features the following entries:
• Apply Changes
Save changes and exit to the main window.
• Exit
Exit without saving.
Column
The functions in this menu alters the structure of the command.
• Append Column
Add another column to the command.
• Insert Column
Insert a column at the selected position.
• Delete Column
Delete the column at the selected position.
As mentioned previously, the transaction section in the Command Editor represents the actual transac-
tions associated with the command. Each column represents a frame object within the transaction.
Each column features four rows with the following parameters:
• Query/Response/Produce/Consume
The upper right cell indicates the direction of the transaction.
• DisplayName
Each column can be named so that the different parts of the command appears in a more user
friendly manner when editing its settings in the Transaction Editor or in the Parameter Section
of the Main Window.
• ObjectType
This row specifies the type of frame object that shall be used for the column.
• Value
This row specifies where the frame object shall retrieve its value/settings.
Value Description
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Commands 85
• Example Query
Query 1 2 3 4
DisplayName Slave Address Function Data Checksum
Object Type Byte Object Byte Object Data Object Checksum Object
Value [SlaveAddress] ID User User
The value of this byte The value of this byte The size and location The checksum type etc
constant will be set constant will be set of the data associated can be selected by the
using the “SlaveAd- using the “Command with this object is user. By default, this is
dress” parameter (see ID”-field. determined by the set to match the Mod-
“Node Parameters” on user. bus-RTU standard.
page 67).
• Example Response
Response 1 2 3 4
DisplayName Slave Address Function Data Checksum
Object Type Byte Object Byte Object Data Object Checksum Object
Value [SlaveAddress] ID User Depend
This value is linked to The value of this byte The size and location This object will retrieve
the “SlaveAddress” constant will be set of the data associated its settings from the
parameter in the using the “Command with this object is corresponding object
parameter window. ID”-field. determined by the in the Query.
user.
By default, the Modbus-RTU-specific frame objects are already in place, and a data object is inserted
between the function code and the CRC. These objects cannot be moved or deleted, however it is pos-
sible to add additional objects between the function code and the CRC as desired.
Name the new command by entering its name in the “Command Name” field, and enter a suitable func-
tion code in the “Command ID”-field. If the command is allowed to be broadcasted, check the “Allow
Broadcasting” checkbox.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 16
16.1 General
In DF1 master mode, communication is based on “services”. A “service” represents a set of commands
and operations on the sub-network, that is predefined in the Anybus Communicator. Each service is
associated with a set of parameters controlling how and when to use it on the sub-network.
The communication is based on a query-response scheme, where the gateway issues a query on the sub-
network. The addressed node on the sub-network is expected to issue a response to that query. Nodes
are not permitted to issue responses spontaneously, i. e. without first receiving a query.
Control System Gateway Subnetwork Devices
In DF1 Master Mode, ACM comes preloaded with a number of services, that can be selected by the user.
The actual DF1 commands, that perform the services during runtime, are predefined in the Anybus
Communicator. The configuration of the services is performed by right-clicking on a node in the ACM
and selecting “Add Command”.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
DF1 Protocol Mode 87
Interface
Currently, only serial communication is supported.
Control/Status Word
(See “Control and Status Registers” on page 102).
Value Description
Enabled Enable the Control and Status Registers. The “Data Valid”-bit in the Control Register must
be set to start the sub-network communication.
Enabled but no startup lock This setting is similar to “Enabled”, except that the control system is not required to set the
“Data Valid”-bit to start the sub-network communication.
Disabled This setting completely disables the Control and Status Registers.
Module Reset
This parameter specifies how the gateway will behave in the event of a fatal error.
Value Description
Enabled The gateway will be restarted, and no error will be indicated to the user.
Disabled The gateway will halt and indicate an error.
Protocol Mode
This parameter specifies which protocol mode to use for the sub-network.
Value Description
DF1 This mode is intended for the DF1 protocol. The Anybus Communicator can only be con-
figured as a Master with half-duplex communication.
Note: This is the only mode available if you intend to configure an ABC module for DF1.
Statistics
The Transmit- and Receive Counters indicate how many transactions that have successfully been ex-
changed on the sub-network. This feature is primarily intended for debugging purposes.
• Statistics
Enables/disables the Receive and Transmit Counters.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
DF1 Protocol Mode 88
Communication
These parameters specify the actual communication settings used for the sub-network.
DF1 Settings
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
DF1 Protocol Mode 89
To gain access to the parameters described in this section, select a node in the navigation section. For
more information about nodes, see “Nodes” on page 67.
16.5 Services
Services are commands that can be stored and reused. The user configures each slave with services that
can be issued from the master. A total of 50 services are allowed.
The Anybus Communicator supports a selection of DF1 commands. When the gateway is going to ex-
ecute a service, it automatically chooses the appropriate DF1 command(s) that are used to perform the
service on the selected DF1 node type.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
DF1 Protocol Mode 90
Timing:
a. The default value is given as 100 in the parameter window. Each change of 10 ms either increases or decreases
this value by 1, i.e. 99 represents a poll time of 990 ms and 101 represents a poll time of 1010 ms.
Trigger:
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
DF1 Protocol Mode 91
Command parameters
The command parameter Size decides the amount of data that can be read. The size is given in bytes
which means that it always has to be an even number as only whole elements can be read from the slave.
One bit/integer element is 2 bytes and one float element is 4 bytes. The range of the size differs, de-
pending on node type:
Data options:
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
DF1 Protocol Mode 92
Command Parameters
Data Options
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 17
17.1 General
The sub-network Monitor is intended to simplify configuration and troubleshooting of the sub-network.
Its main function is to display the data allocated for sub-network communication and detect if any area
has been allocated twice (i.e if a collision has occurred).
All configured nodes, and their transactions, are listed in the middle of the screen (B). Selecting and de-
selecting single transactions makes it possible to view any combination of allocated data.
Note: The sub-network monitor has a negative influence on the overall performance of the gateway.
Therefore the monitor functionality should be used with care.
17.2 Operation
B: Nodes / Transactions
To view data blocks associated with a transaction, select the transaction in the list. The corre-
sponding data will then appear in the Monitor Section (C).
C: Monitor Section
This section visualizes how data is allocated in the Input, Output and General Data areas.
Color Meaning
White Not allocated
Yellow Data allocated by a Response or Consume transaction
Blue Data allocated by a Query or Produce transaction
Red Collision; area has been allocated more than once
Grey Reserved (illustrates memory consumption, area can be allocated if necessary)
Green Data allocated by Trigger byte, Transmit/Receive Counter, or Control/Status Registers
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 18
18.1 General
The Node Monitor can provide valuable information when setting up the communication with the sub-
network, by allowing individual commands to be issued manually, and monitoring the response (if ap-
plicable). It also provides an overview of the memory used by a particular node.
Note: The node monitor has a negative influence on the overall performance of the gateway, i.e. it
should be used only when necessary.
The Node Monitor behaves somewhat differently in the three protocol modes:
(Not used)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Node Monitor 95
B: Command Section
This section holds the currently selected command. The individual frame objects in the com-
mand can be edited in a similar way as in the Transaction and Command Editors.
D: Monitor Section
This section displays the data associated with the node. Areas in dark grey are reserved for the
Status & Control Registers, and areas displayed in light grey represent the data that is used by the
node.
The data displayed in this section will be refreshed based on the refresh-icons in the toolbar. For
more information, see “Toolbar Icons” on page 97.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Node Monitor 96
File
There is only one entry in this menu:
• Exit
This will close the Node Monitor. Note however that if the node has been disabled using “Stop
Node” (see below), it will not resume data exchange until enabled again using “Start node”.
Node
This menu controls the data exchange for the node. This feature can help isolate problems associated
with a particular node.
• Start Node
Enable the transactions associated with the node.
• Stop Node
Disable the transactions associated with the node.
Command
This menu is used to specify and issue a command manually.
• Select Command
Select a command to be sent to the sub-network.
• Send Command
Send the specified command to the sub-network.
Columns
This menu specifies the number of columns in the Monitor Section.
• Free
The number of columns depends on the width of the window.
• 8 Multiple
The number of columns will be fixed to 8.
View
This menu specifies the data representation in the Monitor Section.
• Hex
Display the data in hexadecimal format.
• Decimal
Display the data in decimal format.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Node Monitor 97
The toolbar features icons for the most commonly used functions.
• Refresh
Refreshes the data displayed in the Monitor Section.
Refresh
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 19
19.1 General
This feature allows the sub-network traffic to be logged into a buffer for examination. This may provide
valuable information when debugging the lowest levels of the sub-network communication.
Note that the logger function is part of the gateway itself and is separate from ACM. This means that
logging can be performed even if the gateway is physically disconnected from the PC running ACM.
19.2 Operation
• Start logging
Select “Start Logging” in the “Tools”-menu. ACM will then prompt for the desired mode of op-
eration, see below.
• Stop logging
Select “Stop Logging” in the “Tools”-menu. This will open the log-window, see below.
Modes of Operation
Select the desired mode of operation and click “OK” to start logging data.
• Log continuously
Data will be logged continuously until logging is
stopped by clicking “Stop Logging”. The log-buffer
will contain the most recent data.
Log Window
The logged data is displayed in hexadecimal, decimal and AS-
CII format for both directions. The time between the log-en-
tries is displayed in a separate column.
The data may optionally be saved in ASCII text format by
clicking “Create Text file”.
Click “Close” to exit.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Data Logger 99
19.3 Configuration
By default, the log-buffer can hold 512 bytes of data in each
direction. To specify a different size for the buffer, select
“Options” in the “Tools”-menu.
A window with various settings will appear. Select the “Mod-
ule” tab, and enter the desired number of buffer entries un-
der “Size of logbuffer” (valid settings range from 1–512).
Click “Apply” to validate the new settings.
Click “OK” to exit.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 20
20.1 General
When creating a new sub-network configuration, the Anybus Configuration Manager provides a choice
between starting out with a blank configuration, or using a predefined template, a.k.a a wizard.
The wizard automatically creates a sub-network configuration based on information supplied by the us-
er, i.e the user simply has to “fill in the blanks”. Note however that this will only work when the sub-
network fits the wizard profile; in all other cases the ‘Blank Configuration’ option must be used.
• Blank Configuration
This option creates an empty configuration.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Configuration Wizards 101
• Important Notes:
Many OEM devices do not fully comply with the Modbus standard. For example, they may im-
plement a variation of this standard or be limited to the use of specific Modbus commands other
than the ones used by this wizard. In all cases, the user should consult the documentation of the
devices that shall be used on the sub-network for information about their serial communication
requirements, and if necessary contact the manufacturer of the device to obtain further informa-
tion about the serial communication protocol.
In the event that the wizard doesn’t handle a particular Modbus command required by a device,
it is possible to specify this command manually as a transaction in the Anybus Configuration
Manager.
Steps 3 - 6
Consult the online help system for fur-
ther information.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 21
21.1 General
The Control and Status Registers are disabled by default, but can be enabled using ACM (see “Control/
Status Word” on page 65). These registers form an interface for exchanging status information between
the sub-network and the fieldbus control system.
The main purpose of these registers is to...
• Report sub-network related problems to the fieldbus control system
• Ensure that only valid data is exchanged in both directions
• Enable the fieldbus control system to start/stop data exchange with selected nodes on the sub-
network
If enabled, these registers occupy the first two bytes in the input and output data areas (0x000–0x001
and 0x200–0x201 respectively), which means they can be accessed from the fieldbus just like any other
data in these areas.
Note: Internally, these registers are stored in Motorola-format (i.e. MSB first). If the higher level net-
work uses a different byte order, the upper and lower bytes will appear swapped.
A special handshaking procedure, which is illustrated in the two flowcharts below, must be followed
when accessing these registers to ensure that both parts receive proper information.
Start Start
No Yes
Set CR_HS_CONFIRM
Toggle CR_HS_SEND
to SR_HS_SEND
Done Done
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Control and Status Registers 103
The “Data Valid”-bits in the Control and Status Registers are used to ensure data consistency during
start-up and fieldbus offline/online transitions.
If the “Control/Status Word”-parameter in ACM is set to “Enabled”, the gateway will wait for the field-
bus control system to set the “Data Valid”-bit in the Control Register before it starts exchanging data
on the sub-network.
If the same parameter is set to “Disabled” or “Enabled but no startup lock”, communication will start
as soon as the fieldbus goes online.
State Machine
The fieldbus network participation can be described using a state machine as described below.
Note: The gateway cannot spontaneously clear the “Data Valid”-bit in the Status Register.
Latency
The “Data Valid”-bit in the Status Register may in some cases be delayed. This latency can be caused by
a missing node or a bad connection to a node with a long timeout value assigned to it.
Therefore, the fieldbus control system should not wait for this bit to be set before communicating with
the sub-network devices; it should be considered as an aid for the fieldbus control system to know when
all data has been updated.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Control and Status Registers 104
The Status Register is (if enabled) located at 0x000–0x001 and constitutes a bit-field as follows:
Note: Internally, this is treated as a Motorola-format word (i.e. MSB first). If the higher level network
uses a different byte order, the upper and lower bytes will appear swapped.
(This table is valid only in Master Mode and DF1 Master Mode).
Note: Conditions of type “Error” will eventually be followed by a “No Error” condition when the cause
has been resolved. Conditions of type “Warning” are however considered informational and may not
necessarily be followed by a “No Error” condition later on.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Control and Status Registers 105
See also...
- “Consume Transactions” on page 73 (Offline timeout
time)
0x03 Buffer Overrun Warning - A node returned more data than expected - or - the gateway
was unable to finish processing a message prior to receiv-
ing a new one.
0x04 Other Error Error - Undefined error
0x1F No Error Warning - No errors
Note: Conditions of type “Error” will eventually be followed by a “No Error” condition when the cause
no longer is detected. Conditions of type “Warning” are however considered informational and may not
necessarily be followed by a “No Error” condition later on.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Control and Status Registers 106
The Control Register is (if enabled) located at 0x200–0x201 and constitutes a bit-field as follows:
Note: Internally, this is treated as a Motorola-format word (i.e. MSB first). If the higher level network
uses a different byte order, the upper and lower bytes will appear to be swapped.
(This table is valid only in Master Mode and DF1 Master Mode).
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 22
22.1 General
The following CIP-objects are implemented in this product:
Mandatory Objects
Object Page
Identity Object, Class 01h 107
Message Router, Class 02h 109
Assembly Object, Class 04h 109
Port Object, Class F4h 116
TCP/IP Interface Object, Class F5h 117
Ethernet Link Object, Class F6h 118
Object Page
DLR Object, Class 47h 111
Parameter Data Input Mapping Object, Class B0h 114
Parameter Data Output Mapping Object, Class B1h 115
Object Description
-
Supported Services
Class services: Get Attribute All
Get Attribute Single
Instance services: Get Attribute All
Get Attribute Single
Reset
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 108
Device Status
bit(s) Name
0 Module Owned
1 (reserved)
2 Configured
3 (reserved)
4... 7 Extended Device Status:
Value:Meaning:
0000b Unknown
0010b Faulted I/O Connection
0011b No I/O connection established
0100b Non-volatile configuration bad
0110b Connection in Run mode
0111b Connection in Idle mode
(other) (reserved)
8 Set for minor recoverable faults
9 Set for minor unrecoverable faults
10 Set for major recoverable faults
11 Set for major unrecoverable faults
12... 15 (reserved)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 109
Object Description
-
Supported Services
Class services: -
Instance services: -
Object Description
This object provides access to the I/O Data in the input and output data areas in the Anybus Commu-
nicator.
See also...
• “EtherNet/IP” on page 22
• “Fieldbus Settings” on page 63
Supported Services
Class services: Get Attribute Single
Instance services: Get Attribute Single
Set Attribute Single
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 110
Note: If the I/O output data size is set to 0 this instance will NOT be initialized.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 111
General Information
Object Description
Information about the Device Level Ring (DLR) can be read from this object. An Announced-based
ring participant is supported.
Note: The module will only act as an Announce-based DLR participant, not as a DLR ring supervisor.
Supported Services
Class services: Get Attributes All
Get Attribute Single
Instance services: Get Attributes All
Get Attribute Single
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 112
General Information
Object Description
This object sets up QoS services for the module. Quality of service is the ability to provide different pri-
ority to different applications on a congested network in order to guarantee a cerain level of performance
to a data flow. In the absence of congestion QoS is not needed.
Supported Services
Class services: Get Attribute All
Get Attribute Single
Instance services: Get Attribute Single
Set Attribute Single
Class Attributes
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 113
Object Description
This object groups diagnostic information for the fieldbus interface.
Supported Services
Class services: Get Attribute All
Instance services: Get Attribute Single
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 114
Object Description
This object can be used to access input data acyclically, and is set up dynamically based on the Parameter
Data Mailbox initialization (see “Parameter Data Initialization (Explicit Data)” on page 121).
See also...
• “EtherNet/IP” on page 22
• “Fieldbus Settings” on page 63
• “Parameter Data Output Mapping Object, Class B1h” on page 115
• “Parameter Data Initialization (Explicit Data)” on page 121
Supported Services
Class services: Get Attribute All
Instance services: Get Attribute Single
Each attribute corresponds to a block of Input Data. Note that the size and location of each block must
be specified using the Anybus Configuration Manager.
For more information, see A-121 “Parameter Data Initialization (Explicit Data)”.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 115
Object Description
This object can be used to access output data acyclically, and is set up dynamically based on the Param-
eter Data Mailbox initialization (see “Parameter Data Initialization (Explicit Data)” on page 121).
See also...
• “EtherNet/IP” on page 22
• “Fieldbus Settings” on page 63
• “Parameter Data Input Mapping Object, Class B0h” on page 114
• “Parameter Data Initialization (Explicit Data)” on page 121
Supported Services
Class services: Get Attribute All
Instance services: Get Attribute Single
Set Attribute Single
Each attribute corresponds to a block of output data. Note that the size and location of each block must
be specified using the Anybus Configuration Manager.
For more information, see “Parameter Data Initialization (Explicit Data)” on page 121
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 116
Object Description
-
Supported Services
Class services: Get Attribute All
Get Attribute Single
Instance services: Get Attribute All
Get Attribute Single
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 117
Object Description
This object groups TCP/IP-related settings.
See also...
• “Basic Network Configuration” on page 36
• “Fieldbus Settings” on page 63
Supported Services
Class services: Get Attribute All
Get Attribute Single
Instance services: Get Attribute All
Get Attribute Single
Set Attribute Single
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 118
Object Description
This object groups diagnostic information for the Ethernet interface.
See also...
• “Basic Network Configuration” on page 36
Supported Services
Class services: Get Attribute All
Get Attribute Single
Instance services: Get Attribute All
Get Attribute Single
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
CIP Object Implementation 119
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Chapter 23
23.1 General
The fieldbus interface of the gateway consists of an embedded Anybus-S communication interface. Nor-
mally, the Anybus-S configuration settings are set up automatically by the gateway. However, advanced
users can configure the Anybus-S card for specific features. This chapter assumes that the reader is fa-
miliar with the Anybus-S and it’s application interface. For more information about the Anybus-S plat-
form, consult the Anybus-S Parallel Design Guide.
The standard initialization parameters are determined by the sub-network configuration. Information
about the amount of input and output data used for sub-network communication is used by ACM to
create the configuration message that sets the sizes of the input and output data areas in the Dual Port
RAM of the embedded Anybus-S interface. It is possible to add fieldbus specific mailbox messages to
customize the initialization. This is done in the Mailbox Editor, see below.
(A mailbox message is a HMS specific command structure used for low-level communication with an
Anybus-S interface. Consult the Anybus-S Parallel Design Guide and the fieldbus appendix for the de-
sired fieldbus for further information.)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Appendix A
A.1 General
The portion of the input and output data that is declared as parameter data cannot be accessed from the
network unless it has been properly initialized.
The purpose of this procedure is to specify which data blocks in the input and output data areas to as-
sociate with the instance attributes in the Parameter Data Input Mapping Object and the Parameter Data
Output Mapping Object.
To achieve this, it is required to set up two mailbox messages in the Mailbox Editor of the Anybus Con-
figuration Manager.
For more information about the Mailbox Editor, see “Mailbox Editor” on page 120.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Parameter Data Initialization (Explicit Data) 122
Example
In the following example, a total of 160 bytes of data will be mapped to the Parameter Data Input Map-
ping Object. The data is made up of 5 separate data blocks, each associated with a particular instance
attribute.
To achieve this, perform the following steps:
1. Add a new mailbox message to the configuration (see “Add a Mailbox Message” on page 121).
2. Change the ‘Command’-value in the mailbox header to 0084h.
3. Adjust the ‘Data Size’-value in the mailbox header (left column). In this example, the size shall
be set to 20 (0014h), since each mapped attribute occupies 4 bytes of mailbox data.
4. Specify the mapping locations for the attributes in the mailbox data section. As mentioned above,
each mapping entry needs 4 bytes; two bytes specifying the offset1 of the data block, followed by
two bytes which specify the length of the data block. Note that these values must be entered in big
endian (Motorola) format.
In this example, this gives us the following mailbox data:
Mailbox Data
Attribute no. Comments
Location Data
0x00 0x00 1 Offset = 0000h
0x01 0x00
0x02 0x00 Size = 32 bytes
0x03 0x20
0x04 0x00 2 Offset = 0040h
0x05 0x40
0x06 0x00 Size = 64 bytes
0x07 0x40
0x08 0x00 3 Offset = 0080h
0x09 0x80
0x0A 0x00 Size = 16 bytes
0x0B 0x10
0x0C 0x00 4 Offset = 0090h
0x0D 0x90
0x0E 0x00 Size = 32 bytes
0x0F 0x20
0x10 0x00 5 Offset = 00F0h
0x11 0xF0
0x12 0x00 Size = 16 bytes
0x13 0x10
As shown in the table above, the attributes are numbered in the order they are mapped, i.e. it is
possible to rearrange the attribute numbering by physically changing the mapping order in the
mailbox data.
1. The offset is specified from the start of the parameter data, not from the physical memory location in the
Anybus Communicator.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Parameter Data Initialization (Explicit Data) 123
Parameter Data
Input Mapping Object
I/O Data (Input) IO Size In
Attributes: (256 bytes)
#1 - Revision
Instance #1
Attributes:
#1 - Data
#2 - Data
#3 - Data 0x0FF
#4 - Data 0x100 32 bytes Offset 0x0000h
#5 - Data
(not mapped)
64 bytes
16 bytes
32 bytes
(not mapped)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Parameter Data Initialization (Explicit Data) 124
Example
Mapping output data is similar to mapping input data; in the following example, a total of 144 bytes of
data will be mapped to the Parameter Data Output Mapping Object. The data is made up of 4 separate
blocks, each associated with a a particular instance attribute.
To achieve this, perform the following steps:
1. Add a new mailbox message to the configuration (see “Add a Mailbox Message” on page 121).
2. Change the ‘Command’-value in the mailbox header to 0085h.
3. Adjust the ‘Data Size’-value in the mailbox header (left column). In this example, the size shall
be set to 16 (0010h), since each mapped attribute occupies 4 bytes of mailbox data.
4. Specify the mapping locations for the attributes in the mailbox data section. As mentioned above,
each mapping entry needs 4 bytes; two bytes specifying the offset1 of the data block, followed by
two bytes which specify the length of the data block. Note that these values must be entered in big
endian (Motorola) format.
In this example, this gives us the following mailbox data:
Mailbox Data
Attribute no. Comments
Location Data
0x00 0x00 1 Offset = 0020h
0x01 0x20
0x02 0x00 Size = 16 bytes
0x03 0x10
0x04 0x00 2 Offset = 0050h
0x05 0x50
0x06 0x00 Size = 32 bytes
0x07 0x20
0x08 0x00 3 Offset = 0070h
0x09 0x70
0x0A 0x00 Size = 32 bytes
0x0B 0x20
0x0C 0x00 4 Offset = 00D0h
0x0D 0xD0
0x0E 0x00 Size = 64 bytes
0x0F 0x40
As shown in the table above, the attributes are numbered in the order they are mapped, i.e. it is
possible to rearrange the attribute numbering by physically changing the mapping order in the
mailbox data.
1. The offset is specified from the start of the parameter data, not from the physical memory location in the
Anybus Communicator.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Parameter Data Initialization (Explicit Data) 125
(not mapped)
64 bytes
(not mapped)
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Appendix B
1 +24 VDC
2 GND
Notes:
• Use 60/75 or 75 °C copper (Cu) wire only.
• Minimum terminal tightening torque: 5–7 lb-in (0.5–0.8 Nm).
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Connector Pin Assignments 127
B.3 PC Connector
1 1 Ground
RS232 Rx 2 2 Ground
RS232 Tx 3 3 Rx
4 4 Tx
Ground 5
Pin Description
1 Signal ground
2 4
3 RS232 Rx (Input) 3
4 RS232 Tx (Output) 2
1
DB9F : PC
Pin Description
1 -
2 RS232 Rx (Input) 5 (female) 1
3 RS232 Tx (Output)
4 -
5 Signal Ground 9 6
6-9 -
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Connector Pin Assignments 128
The sub-network interface provides for RS232, RS422 and RS485 communications. Depending on the
configuration specified in the Anybus Configuration Manager, different signals are activated in the sub-
network connector.
When idle, RS485 enters an indeterminate state, which may cause the serial receivers to pick up noise
from the serial lines and interpret this as data. To prevent this, the serial lines should be forced into a
known state using pull-up and pull-down resistors, commonly known as bias resistors.
The bias resistors form a voltage divider, forcing the voltage between the differential pair to be higher
than the threshold for the serial receivers, typically >200 mV.
Note that bias resistors shall only be installed on one node; installing bias resistors on several nodes may
compromise the signal quality on the network and cause transmission problems.
To avoid reflections on the serial lines, it is important to properly terminate the sub-network by placing
termination resistors between the serial receivers near the end nodes.
The resistor value should ideally match the characteristic impedance of the cable, typically 100–120 Ω.
5 Signal Grounda
6 RS422 Rx + 9 6
7 RS422 Rx -
8 RS485 + / RS422 Tx+
9 RS485 - / RS422 Tx-
(housing) Cable Shield
a. Connecting this signal directly to Protective Earth (PE) of other nodes may, in case of grounding loops etc., cause
damage to the on-board serial transceivers. It is therefore generally recommended to connect it only to Signal
Ground (if available) of other nodes.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Connector Pin Assignments 129
470R
RS485 + RS485 +
120R 120R
RS485 - RS485 -
470R
Signal Signal
Ground Ground
Ground
Signal
RS485 -
RS485 +
Ground
Signal
RS485 -
RS485 +
Ground
Signal
RS485 -
RS485 +
Ground
Signal
RS485 -
RS485 +
Cable
Shield
Anybus Communicator Node Node Node Node End Node
470R
120R
470R 470R
120R
470R
Signal Signal
Ground Ground
Cable
Shield
Note: Bias resistors are normally not needed on RS422, but may be required when using 4-wire RS485.
RS232 Tx RS232 Rx
RS232 Rx RS232 Tx
Signal Signal
Ground Ground
Cable
Shield
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Appendix C
C. Technical Specification
Housing
Plastic housing with snap-on connection to DIN-rail, protection class IP20.
Dimensions (L x W x H)
120 mm x 75 mm x 27 mm (4.72” x 2.95” x 1.06”)
Power Supply
Power: 24 VDC ± 10%
Power Consumption
Maximum power consumption is 280 mA on 24 VDC. Typically around 100 mA.
Relative Humidity
The product is designed for a relative humidity of 0 to 95 % non-condensing.
Temperature
Operating: 0 °C to +55 °C
Non-operating: -25 °C to +85 °C
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Technical Specification 131
This product is in accordance with the EMC directive 89/336/EEC, with amendments 92/31/EEC and
93/68/EEC through conformance with the following standards:
• EN 50082-2 (1993)
EN 55011 (1990) Class A
• EN 61000-6-2 (1999)
EN 61000-4-3 (1996) 10 V/m
EN 61000-4-6 (1996) 10 V/m (all ports)
EN 61000-4-2 (1995) ±8 kV air discharge, ±4 kV contact discharge
EN 61000-4-4 (1995) ±2 kV power port, ±1 kV other ports
EN 61000-4-5 (1995) ±0.5 kV power ports (DM/CM), ±1 kV signal ports
UL/c-UL Compliance
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Technical Specification 132
• EN 60950-1 (2001)
Pollution Degree 2
Material Group IIIb
250 VRMS or 250 VDC working voltage
500 V secondary circuit transient rating
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Appendix D
D. Troubleshooting
Problem Solution
Problem during configuration Upload / Download. • Serial communication failed. Try again
The Config Line “LED” turns red in ACM.
The serial port seems to be available, but it is not possible • The serial port may be in use by another application.
to connect to the gateway Exit ACM and close all other applications including the
ones in the system tray.
Try again
• Select another serial port
Try again
Poor performance • Right click “sub-network” in the Navigation window and
select “sub-network Status” to see status / diagnostic
information about the sub-network.
If the gateway reports very many retransmissions, check
your cabling and/or try a lower baud rate setting for the
sub-network (if possible).
• Is the Subnet Monitor in ACM active?
The sub-network monitor has a negative influence on the
overall performance of the gateway, and should only be
used when necessary.
• Is the Node Monitor in ACM active?
The node monitor has a negative influence on the overall
performance of the gateway, and should only be used
when necessary.
No sub-network functionality • Use the “Data logger”-functionality to record the serial
data communication on the sub-network.
• If no data is being transmitted, check the configuration in
ACM.
• If no data is received, check the sub-network cables. Also
verify that the transmitted data is correct.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Appendix E
E. ASCII Table
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00
Appendix F
F. Copyright Notices
This product includes software developed by Carnegie Mellon, the Massachusetts Institute of Technology, the Uni-
versity of California, and RSA Data Security:
*****************************************************************************
Copyright 1986 by Carnegie Mellon.
*****************************************************************************
Copyright 1983,1984,1985 by the Massachusetts Institute of Technology
*****************************************************************************
Copyright (c) 1988 Stephen Deering.
Copyright (c) 1982, 1985, 1986, 1992, 1993
The Regents of the University of California. All rights reserved.
This code is derived from software contributed to Berkeley by Stephen Deering of Stanford University.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the fol-
lowing disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
• Neither the name of the University nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' ANDANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANT-
ABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE RE-
GENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************
Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4
Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
License is also granted to make and use derivative works provided that such works are identified as "derived from
the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived
work.
RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the
suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of
any kind.
These notices must be retained in any copies of any part of this documentation and/or software.
*****************************************************************************
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5
Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
License is also granted to make and use derivative works provided that such works are identified as "derived from
the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived
work.
RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the
suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of
any kind.
These notices must be retained in any copies of any part of this documentation and/or software.
Anybus Communicator EtherNet/IP/Modbus-TCP 2-port User Manual Doc: HMSI-27-316, Rev. 1.00