HMS Industrial Networks
Mailing address: Box 4126, 300 04 Halmstad, Sweden
Visiting address: Stationsgatan 37, Halmstad, Sweden
Connecting Devices
TM
E-mail: info@hms-networks.com
Web: www.anybus.com
User Manual
Anybus® Communicator™
for EtherNet/IP™ / Modbus-TCP
Doc. Id. HMSI-27-314
Rev. 3.10
Important User Information
This document contains a general introduction as well as a description of the technical features provided by the
Anybus Communicator, including the PC-based configuration software.
The reader of this document is expected to be familiar with PLC and software design, as well as communication
systems in general. The reader is also expected to be familiar with the Microsoft® Windows® operating system.
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 commitment 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 including 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.
Intellectual Property Rights
HMS Industrial Networks AB has intellectual property rights relating to technology embodied in the product described 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 User Manual
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
P. About This Document
For more information, documentation etc., please visit the HMS website www.anybus.com.
P.1 Related Documents
Document nameAuthor
ABC-EIP Installation LeafletHMS
DF1 Protocol and Command Set - Reference Manual, 1770-6.5.16, October 1996Allen-Bradley
Open Modbus-TCP Specification, Release 1.0Schneider Electric
RFC 821 Network Working Group
RFC 1918 Network Working Group
ENIP Specifications ODVA
P.2 Document History
Preface
Summary of Recent Changes (3.03... 3.10)
ChangePage(s)
Screenshots and descriptions of ABC Tool updated for Anybus Configuration ManagerMultiple
Changed “ABC” to “Communicator RS232/422/485”Multiple
Amended description of “Update time” parameter71, 72
Added description for Consume/Response to “Object Delimiter” parameter79
Changed “Maximum Data Length” limit 79
Removed obsolete “Start Bits” parameter88
Removed obsolete “ABCC ExtLink Wizard” entry100
Replaced “Sales and Support” info with link to website8
Added parameters to checksum object description80
Minor text edits, typo correctionsMultiple
Updated screenshots in examples120, 122
Revision List
RevisionDateAuthorChapterDescription
2.002006-03-27PePAll1st release
2.012006-12-22PePAllMisc. minor corrections
2.022008-02-08PeP2, 8, AMinor update
2.032008-11-03HeS1Minor update
2.042009-04-24KeLAllMisc. minor corrections and updates
3.002011-02-01KaDAllMisc. corrections, new template and DF1 functionality
3.012011-09-30KaDAllMisc corrections and updates, new Anybus Configuration
Manager name
3.022011-11-15KaDP, 2, 3, 6, 8 Minor corrections and updates
3.032012-06-08KaDP, 8, 22Minor updates
3.10March 2015ThNAllMisc. corrections and updates, new Doc. ID.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
P.3 Conventions & Terminology
The following conventions are used throughout this document:
•Numbered lists provide sequential steps
•Bulleted lists provide information, not procedural steps
•The term ‘user’ refers to the person or persons responsible for installing the Anybus Communicator in a network.
•The term ‘ABC’ refers to the Anybus Communicator.
•Hexadecimal values are written in the format 0xNNNN, where NNNN is the hexadecimal value.
•Decimal values are represented as NNNN where NNNN is the decimal value
•As in all communication systems, the terms “input” and “output” can be ambiguous, because
their meaning depend on which end of the link is being referenced. The convention in this document is that “input” and “output” are always being referenced to the master/scanner end of the
link.
P.3.1 Glossary
TermMeaning
ABCAnybus Communicator
ACMAnybus Configuration Manager
EIPEtherNet/IP
BroadcasterA protocol specific node in the sub-network scan that hold transactions destined to all nodes
CommandA protocol specific transaction.
ConfigurationList of configured nodes with transactions on the sub-network
FieldbusThe network to which the communicator is connected.
FrameHigher level series of bytes forming a complete telegram on the sub-network
MonitorA tool for debugging the Anybus Communicator and the network connections
NodeA device in the scan-list that defines the communication with a slave on the sub-network
Scan listList of configured slaves with transactions on the sub-network
sub-network
Transaction
Fieldbus Control System Fieldbus master
Higher Level NetworkIn this case, Ethernet (including EtherNet/IP and Modbus-TCP)
Network
Fieldbus
The network that logically is located on a subsidiary level with respect to the fieldbus and to
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
sent out the sub-network
About This Document 10
P.4 Sales and Support
For general contact information and support, please refer to the contact and support pages at
www.anybus.com
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
1. About the Anybus Communicator for
PC configuration
and monitoring
Serial communication devices
INVERTER
HMI
Multi-drop up to 31 nodes
Multi-Node Serial Sub NetworkSingle-Node Serial Sub Network
PC configuration
and monitoring
EtherNet/IP Scanner
(e.g a PLC)
EtherNet/IP Scanner
(e.g a PLC)
Serial communication
device
INVERTER
HMI
(Ethernet)
(Ethernet)
PC/web/SCADA
C/eb/SC
PC/web/SCADA
C/eb/SC
EtherNet/IP
The Anybus Communicator for EtherNet/IP acts as a gateway between virtually any serial application
protocol and an EtherNet/IP-based network. Integration of industrial devices is enabled with no loss
of functionality, control and reliability, both when retro-fitting to existing equipment as well as when
setting up new installations.
Chapter 1
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 communication 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
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
About the Anybus Communicator for EtherNet/IP 12
G
A
B
C
D
E
F
1.1 External View
For wiring and pin assignments, see “Connector Pin Assignments” on page 124.
A: Ethernet Connectors
These connectors are used to connect the Anybus Communicator to the network.
See also...
- “Ethernet Connector” on page 124
B: Configuration Switches
See also...
- “Configuration Switches” on page 14
C: Status LEDs
See also...
- “Status LEDs” on page 13
D: PC-connector
This connector is used to connect the gateway to a PC for
configuration and monitoring purposes.
See also...
- “PC Connector” on page 125
E: Sub-network Connector
This connector is used to connect the gateway to the serial sub-network.
See also...
- “Sub-network Interface” on page 126
F: Power Connector
This connector is used to apply power to the gateway.
See also...
- “Power Connector” on page 124
G: DIN-rail Connector
The DIN-rail mechanism connects the gateway to PE (Protective Earth).
See also...
- “Configuration Switches” on page 14
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
1.2 Status LEDs
1
3
5
2
4
6
#StateStatus
1 - Module Status
(EtherNet/IP only)
2 - Network Status
(EtherNet/IP only)
3 - LinkOffNo link (or no power)
4 - ActivityOffNo ethernet activity (or no power)
5 - Subnet Status
6 - Device StatusOff(no power)
a. This LED shows green when all transactions have been active at least once. This includes
any transactions using “change of state” or “change of state on trigger”. If a timeout occurs
on a transaction, this LED will show red.
b. The gateway is in bootloader mode, and firmware must be restored in order for it to work
properly. Start up the Anybus Configuration Manager and connect to the Anybus Communicator. Select Tools/Options/Module. Click Factory Restore to restore firmware. See
“Tools” on page 61.
OffNo power
GreenControlled by a scanner in run state
Green, flashingNot configured, or scanner in idle state
RedMajor fault (unrecoverable)
Red, flashingMinor fault (recoverable)
Alternating Red/GreenSelf-test
OffNo IP address (or no power)
GreenOnline, EtherNet/IP connection(s) established
Green, flashingOnline, no EtherNet/IP connections established
RedDuplicate IP address detected, fatal error
Red, flashingOne or more connections timed out
Alternating Red/GreenSelf-test
GreenConnected to an ethernet network
GreenReceiving or transmitting ethernet packet
a
Off(no power)
Green, flashingRunning correctly, but one or more transaction
GreenRunning
RedTransaction error/timeout or subnet stopped
Alternating Red/GreenInvalid or missing configuration
GreenInitializing
Green, flashingRunning
Red
Red, flashingIf the Device Status LED is flashing in a sequence
About the Anybus Communicator for EtherNet/IP 13
error(s) have occurred
Bootloader mode
b
starting with one or more red flashes, please note
the sequence pattern and contact HMS support.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
About the Anybus Communicator for EtherNet/IP 14
1.3 Configuration Switches
If set to a nonzero value, the configuration switches forces the Anybus Communicator to use an IP address in the range 192.168.0.1 - 192.168.0.255.
If set to zero, these settings are specified by the system file ‘ethcfg.cfg’, or by settings
in Anybus Configuration Manager.
Note that the switches are read once during startup; any changes require a reset in
order to have effect.
OFF OFF OFF OFF OFF OFF OFF OFF(settings determined by ‘ethcfg.cfg’)
OFF OFF OFF OFF OFF OFF OFF ONOFF255.255.255.0192.168.0.255192.168.0.1
OFF OFF OFF OFF OFF OFF ON OFFOFF255.255.255.0192.168.0.255192.168.0.2
....................................
ON ONON ON ONON ON OFFOFF255.255.255.0192.168.0.255192.168.0.254
ON ONON ONON ONON ON(invalid setting)
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
1.4 Hardware Installation
1
2
1
2
Perform the following steps to install the Anybus Communicator module:
1. Snap the gateway on to the DIN-rail.
The DIN-rail mechanism works as follows:
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)
About the Anybus Communicator for EtherNet/IP 15
To snap the ABC off, push it downwards (1) and pull it out from the DINrail (2), as to make it snap off from the DIN-rail
2. Connect the gateway to an Ethernet network.
3. Connect the gateway to the serial sub-network.
4. Connect the gateway to the PC via the configuration cable.
5. Connect the power cable and apply power.
6. Start the Anybus Configuration Manager program on the PC.
(The Anybus Configuration Manager software will automatically attempt to detect the serial port.
If unsuccessful, select the correct port manually in the “Port”-menu)
7. Configure the gateway using the Anybus Configuration Manager and download the
configuration.
8. Set up the EtherNet/IP communication according to the gateway configuration.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
1.5 Software Installation
1.5.1 Anybus Configuration Manager
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 resource CD
- Insert the CD and follow the on-screen instructions.
- If the installation does not start automatically: right-click on the CD drive icon and select
“Explore” to show the contents of the CD. Locate the installation executable and doubleclick on it to start the installation, then follow the on-screen instructions.
About the Anybus Communicator for EtherNet/IP 16
•From HMS website
- Download the latest version of Anybus Configuration Manager from www.anybus.com
- Unzip the archive on your computer and double-click on the installation executable.
.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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 certain 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.
Chapter 2
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
2.2 Data Exchange Model
General Data
ABC Internal Memory
Input Data
(512 bytes)
Subnetwork
Output Data
(512 bytes)
Higher Level Network
Input Data Output Data General Data
Subnetwork:
Fieldbus:
E-mail Client:
SSI:
Subnetwork:
Fieldbus:
E-mail Client:
SSI:
Subnetwork:
Fieldbus:
E-mail Client:
SSI:
Read/Write
Read Only
Read Only
Read Only
Read Only
Read/Write
Read Only
Read/Write
Read/Write
-
-
-
0x000 0x200
0x1FF 0x3FF
0x400
0x???
Internally, data exchanged on the sub-network and on
the higher level network all resides in the same memory.
This means that in order to exchange data with the subnetwork, the higher level network simply reads and
writes data to the memory locations specified using the
Anybus Configuration Manager. The very same memory locations can then be exchanged on the sub-network.
The internal memory buffer is divided into three areas,
based on function:
•Input Data (512 bytes)
This area can be read by the higher level network, the web server and the E-mail client.
(Data representation on the higher level network is described later in this chapter).
Basic Operation 18
•Output Data (512 bytes)
This area can be read/written to by the higher
level network, the web server and the E-mail client.
(Data representation on the higher level network is described later in this chapter).
•General Data (up to 1024 bytes)
This area cannot be accessed from the higher level network, but can be used for transfers
between individual nodes on the sub-network, or as a general “scratch pad” for data. The actual
size of this area depends on the amount of data that is exchanged on the sub-network. The gateway can handle up to 1024 bytes of general data.
2.2.1 Memory Map
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 19
The Temperature Regulator has two
registers, holding the Setpoint Temperature
and the Actual Temperature respectively.
The PLC exchange data between the internal
PLC memory and the slaves (in this case the
ABC) on the EtherNet/IP network.
The ABC copies the Output Register of
the Temperature Regulator to the InputData area.
The ABC copies the Temperature-
Setpoint from the Output Data area to
the Input Register in the Temperature-
Regulator.
The PLC Memory associated with
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.
Input Data
ABC
Serial Device - Temperature Regulator
PLC (EtherNet/IP Scanner)
Output Data General Data
0x000 0x200
0x1FF 0x3FF
0x400
0x???
Output Register Input Register
Temperature Setpoint
Temperature Setpoint
Actual Temperature
Actual Temperature
PLC Memory (Inputs) PLC Memory (Outputs)
Temperature Setpoint
Actual Temperature
(not used in this example)
EtherNet/IPSubnetwork
2.2.2 Data Exchange Example
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 20
2.3 Sub-network Protocol
2.3.1 Protocol Modes
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 specifies 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 21.
•DF1 Master Mode
In this mode, the gateway acts as a master on the sub-network, using the DF1 protocol. The serial
communication is query-response based. For more information about this mode, see “DF1 Protocol Mode” on page 86.
•Generic Data Mode
In this mode, there is no master-slave relationship between the sub-network nodes and the gateway; any node on the sub-network, including the gateway, may spontaneously produce or consume messages.
For more information about this mode, see “Generic Data Mode” on page 22.
2.3.2 Protocol Building Blocks
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 number 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 Manager. 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 calculated checksum.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 21
Subnetwork Devices
Gateway
Control System
2.3.3 Master Mode
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 broadcasting 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.
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 implemented.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 22
Subnetwork Devices
Control System
Gateway
2.3.4 Generic Data Mode
In this mode, there is no master-slave relationship between the nodes on the sub-network and the gateway. 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-network. 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.
2.3.5 DF1 Master Mode
Please refer to “DF1 Protocol Mode” on page 86.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 23
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 object and the parameter input/output mapping objects.
See also...
• “CIP Object Implementation” on page 107
2.4.2 Data Types
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 119.
See also...
• “Assembly Object, Class 04h” on page 110
• “Parameter Data Input Mapping Object, Class B0h” on page 112
• “Parameter Data Output Mapping Object, Class B1h” on page 113
• “Fieldbus Settings” on page 64
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 24
Input DataOutput DataGeneral Data
0x0000x200
0x1FF0x3FF
0x400
0x???
0x0FF
0x100
0x27F
0x280
I/O Data (Input)
I/O Data (Output)
(Cannot be accessed
from EtherNet/IP)
Parameter Data (Input)
Parameter Data (Output)
2.4.3 Memory Layout
I/O sizes are specified using the Anybus Configuration Manager and correlate to the Anybus Communicator memory as follows:
Example:
I/O Sizes for the gateway set to the following values:
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 25
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 subset of the functions defined in the Modbus-TCP specification.
The server supports up to 8 simultaneous connections and communicates over TCP port 502. For detailed information regarding the Modbus-TCP protocol, consult the Open Modbus Specification.
2.5.2 Addressing Modes
The Anybus Communicator features two different modes of operation regarding the Modbus communication:
•Modbus Addressing Mode (Default)
In this mode, the input and output data areas are mapped to different function codes.
Note that coil addressing is not possible in this mode.
See also...
- “Modbus Addressing Mode” on page 26
•Anybus Addressing Mode
Compared to Modbus Addressing Mode, this mode allows data to be addressed in a more flexible
way. Note however that several function codes can be used to access the same data in the gateway. While this may appear confusing at first, it allows data to be manipulated in ways not possible in Modbus Addressing Mode (e.g. it is possible to manipulate individual bits of a register by
accessing coils associated with the same memory location).
See also...
- “Anybus Addressing Mode” on page 27
2.5.3 Supported Exception Codes
CodeNameDescription
0x01Illegal functionThe function code in the query is not supported
0x02Illegal data addressThe data address received in the query is outside the initialized memory area
0x03Illegal data valueThe data in the request is illegal
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 26
2.5.4 Modbus Addressing Mode
Supported Function Codes
The following function codes can be used in this mode:
Modbus FunctionFunction Code Associated with Area No. of I/Os or Data Points per Command
Read Holding Registers 3Output Data area
(0x200...0x3FF)
Read Input Registers4Input Data area
(0x000....0x1FF)
Write Single Register6Output Data area
Force Multiple Registers 161 - 800 registers
Mask Write Register221 register
Read/Write Registers23125 registers read / 100 registers write
(0x200...0x3FF)
Input Register Map
The input data area is mapped to input registers as follows:
Register #Memory Location in the gatewayComments
10x000... 0x001Each register corresponds to two bytes in the input
20x002... 0x003
30x004... 0x005
40x006... 0x007
50x008... 0x009
60x00A... 0x00B
......
2550x1FC... 0x1FD
2560x1FE... 0x1FF
1 - 125 registers
1 - 125 registers
1 register
data area.
Holding Register Map
The output data area is mapped to holding registers as follows:
Register #Memory Location in the gatewayComments
10x200... 0x201Each register corresponds to two bytes in the out20x202... 0x203
30x204... 0x205
40x206... 0x207
50x208... 0x209
60x20A... 0x20B
......
2550x3FC... 0x3FD
2560x3FE... 0x3FF
put data area.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Operation 27
2.5.5 Anybus Addressing Mode
Supported Function Codes
The following function codes can be used in this mode:
Modbus FunctionFunction Code Associated with Area(s)No. of I/Os or Data Points per Command
Read Coil1Input and Output Data Area
Read Input Discretes21 - 2000 bits
Read Holding Registers 31 - 125 registers
Read Input Registers41 - 125 registers
Write Coil5Output Data Area (0x200...
Write Single Register61 register
Force Multiple Coils151 - 800 bits
Force Multiple Registers 161 - 100 registers
Mask Write Register221 register
Read/Write Registers23Input and Output Data Area
(0x000... 0x3FF)
0x3FF)
(0x000... 0x3FF)
Coil & Register Map
1 - 2000 bits
1 bit
125 registers read/100 registers write
The input and output data areas are mapped to coils and registers as follows:
Register #Coil #Memory Location in ABCAreaComments
Note 1: The table above applies to all function codes.
Note 2: Coils are mapped MSB first, i.e. coil 0 corresponds to bit 15 of register 0.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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:
•Non-volatile area (approx. 1.4 Mb)
This section is intended for static files such as web files, configurations files etc.
•Volatile area (approx. 1 Mb)
This area is intended for temporary storage; data placed here will be lost in case of power loss or
reset.
Chapter 3
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 approximately 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
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
3.2 File System Overview
user
pswd
email
pswd
email
sys_pswd.cfg
ad_pswd.cfg
ethcfg.cfg
email_1.cfg
email_10.cfg
.
.
.
.
.
.
email_1.cfg
email_10.cfg
RAM
http.cfg
ssi_str.cfg
(admin root)
(user root)
(volatile, optional)
(protected)
(protected)
ip_accs.cfg
onoffln.cfg
File System 29
3.3 System Files
The file system contains a set of files used for system configuration. These files, known as “system files”,
are regular ASCII files that can be altered using a standard text editor (such as the Notepad in Microsoft
Windows™). Note that some of these files may also be altered by the gateway itself, e.g. when using SSI
(see “Server Side Include (SSI)” on page 45).
The format of the system files are based on the concept of ‘keys’, where each ‘key’ can be assigned a
value, see example below.
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’.
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 43.
[file path]
\i\put\it\over\here.cfg
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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.
•Normal level users
The root directory will be ‘\user’.
•Admin level users
The root directory will be ‘\’, i.e. the user has unrestricted access to the file system.
Chapter 4
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.
Note 1: If no valid user accounts have been defined, the gateway will grant admin level access to all users. 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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
4.2 FTP Connection Example (Windows Explorer)
The built-in FTP client in Windows Explorer can easily be used to access the file system as follows:
1. Open the Windows Explorer by right-clicking on the ‘Start’ button and selecting ‘Explore’.
2. In the address field, type FTP://<user>:<password>@<address>
- Substitute <address> with the IP address of the Anybus Communicator
- Substitute <user> with the username
- Substitute <password> with the password
3. Press enter. The Explorer will now attempt to connect to the gateway using the specified settings.
If successful, the built in file system is displayed in the Explorer window.
FTP Server 31
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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.
•Normal level users
The root directory will be ‘\user’.
•Admin level users
The root directory will be ‘\’, i.e. the user has unrestricted access to the file system.
User Accounts
Chapter 5
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 directory will be ‘\’.
For more information, see “User Accounts” on page 30
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
5.2 General Commands
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
Telnet Server 33
•Syntax
help [general|diagnostic|filesystem]
•Description
If no argument is specified, the following menu will be displayed.
General commands:
help- Help with menus
version- Display version information
exit- Exit station program
Also try ‘help [general|diagnostic|filesystem]’
version
•Syntax
version
•Description
This command will display version information, serial number and MAC ID of the Ethernetmodule, in the Communicator.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
5.3 Diagnostic Commands
arps
•Syntax
arps
•Description
Display ARP stats and table
iface
•Syntax
iface
•Description
Display net interface stats
routes
Telnet Server 34
•Syntax
routes
•Description
Display IP route table
sockets
•Syntax
sockets
•Description
Display socket list
5.4 File System Operations
For commands where filenames, directory names or paths shall be given as an argument the names can
be written directly or within quotes. For names including spaces the filenames must be surrounded by
quotes. It is also possible to use relative pathnames using ‘.’, ‘\’ and ’..’
append
•Syntax
append [file] [“The line to append”]
•Description
Appends a line to a file.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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]
Telnet Server 35
•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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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]
Telnet Server 36
•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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
6. Basic Network Configuration
6.1 General Information
The Anybus Communicator offers two modes of operation regarding the network settings:
•Settings specified by Configuration Switches
If the on-board switches are set to a non-zero value, the ABC is locked to the following settings:
IP Address:192.168.0.x(x = switch value)
Gateway:255.255.255.0
Subnet:255.255.255.0
DHCP:OFF
See also...
- “Configuration Switches” on page 14
•Settings specified in Anybus Configuration Manager
When valid settings have been specified in Anybus Configuration Manager
(‘TCP/IP Settings’ = enabled), then these are the settings the gateway will use.
When settings have been specified in Anybus Configuration Manager, the contents of the system
file ‘ethcfg.cfg’ will be ignored completely, causing the following behavior:
- DNS services will not be available
- Domain and Host name cannot be set
- E-mail services will not be available
- Network settings received via HICP or DCP) will be lost in the event of a power loss or a
reset.
Chapter 6
•Settings specified in ‘ethcfg.cfg’
If no settings are specified in Anybus Configuration Manager (i.e. ‘TCP/IP Settings’ = disabled),
the gateway will use the settings stored in the system file ‘ethcfg.cfg’.
If this file is missing, the gateway will attempt to retrieve the settings via DHCP or HICP for 30
seconds. If no configuration has been received within this period, the gateway will halt and indicate an error on the on-board LEDs.
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 115
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 41.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Network Configuration 38
File Format:
[IP address]
xxx.xxx.xxx.xxx
[Subnet mask]
xxx.xxx.xxx.xxx
[Gateway address}
xxx.xxx.xxx.xxx
[DHCP/BOOTP]
ON or OFF
[SMTP address]
xxx.xxx.xxx.xxx
[SMTP username]
username
[SMTP password]
password
[DNS1 address]
xxx.xxx.xxx.xxx
[DNS2 address]
xxx.xxx.xxx.xxx
[Domain name]
domain
[Host name]
anybus
[HICP password]
password
•IP address
•Subnet mask
•Gateway address
•DHCP/BootP
ON - Enabled
OFF - Disabled
•SMTP server/login settings
Username and Password is only necessary if required by the
server.
•Primary and Secondary DNS
Needed to be able to resolve host names
•Default domain name for not fully qualified host names
•Host name
•HICP password
6.2 Ethernet Configuration File (‘ethcfg.cfg’)
6.2.1 General
To exist on the network, the Anybus Communicator needs a valid TCP/IP configuration. These settings
are stored in the system file ‘\ethcfg.cfg’. Note that if TCP/IP settings are enabled in Anybus Configuration Manager, then the IP address, gateway and subnet settings in ethcfg.cfg will be overwritten every
time the module is restarted. All other settings are unaffected.
The settings in this file may also be affected by...
See also...
•EtherNet/IP (See “EtherNet/IP” on page 37).
•HICP (See “Anybus IPconfig (HICP)” on page 41)
•SSI (See “Server Side Include (SSI)” on page 45)
• “FTP Server” on page 30
• “Fieldbus Settings” on page 64
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Network Configuration 39
File Format:
[Web]
xxx.xxx.xxx.xxx
[FTP]
xxx.xxx.xxx.xxx
[Modbus-TCP]
xxx.xxx.xxx.xxx
[EtherNet/IP]
xxx.xxx.xxx.xxx
[All]
xxx.xxx.xxx.xxx
•Nodes listed here may access the web server
•Nodes listed here may access the FTP server
•Nodes listed here may access the gateway via Modbus-TCP
•Nodes listed here may access the gateway via EtherNet/IP
•Fallback setting, used by the gateway when one or several of the
keys above are omitted
6.3 IP Access Control
It is possible to specify which IP addresses are permitted to connect to the Anybus Communicator. This
information is stored in the system file ‘\ip_accs.cfg’.
Note: ‘*’ may be used as a wildcard to select IP series.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Network Configuration 40
•On/Offline trigger source
Values: ‘Link’ (default), ‘EIP’, ‘Modbus’ or a combination
•Timeout Value
Range: 1... 65535 (default = 1).
A value of 10 equals 1000 ms.
•Commands (Optional)
Selects what Modbus commands that must be
received during the timeout period.
If the keyword ‘ALL’ is given (default), the On/
Offline functionality will trigger on all Modbus
commands.
•Online method (Optional)
Defines how to handle data in the OUT I/O area
when going from Offline to Online.
If “1” (default), “old data” is restored
If “2”, “Offline” data is kept until overwritten by
master.
File Format:
[ON/OFF-line trigger]
Modbus
[Timeout]
10
[Commands]
3, 16, 23
[ON-line method]
1
6.4 On/Offline Configuration
By default, the On/Offline indication is triggered by the link status. Other triggering options can however be specified in the optional system file ‘\onoffln.cfg’, which should be placed in the module root
and looks as follows:
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:
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 118.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Basic Network Configuration 41
6.5 Anybus IPconfig (HICP)
The Anybus Communicator supports the HICP protocol used by the Anybus IPconfig utility from
HMS, which can be downloaded free of charge from the HMS website. This utility may be used to configure the network settings of any Anybus product connected to the network. Note that if successful,
this will replace the settings currently stored in the configuration file (‘ethcfg.cfg’).
Upon starting the program, the network
is scanned for Anybus products. The network can be rescanned at any time by
clicking ‘Scan’. In the list of detected devices, the gateway will appear as ‘ABCEIP’. To alter its network settings, double-click on its entry in the list.
A window will appear, containing the IP
configuration and password settings.
Validate the new settings by clicking ‘Set’,
or click ‘Cancel’ to abort.
Optionally, the configuration may be
protected from unauthorized access by a password. To enter a password, click on the ‘Change password’
checkbox, and enter the password under ‘New password’. When protected, any changes in the configuration requires that the user supplies a valid password.
When done, click ‘Set’. The new IP configuration will now be stored in the configuration file (‘ethcfg.cfg’).
Note that if ‘TCP/IP Settings’ has been enabled in the Anybus Configuration Manager, any settings received via HICP will be lost in the event of a power loss or reset.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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 45
• “IP Access Control” on page 39
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’
Chapter 7
Default Web Pages
The Anybus Communicator contains a set of virtual files which can be used when building a web page
for configuration of network parameters. These virtual files can be overwritten (not erased) by placing
files with the same name in the root of disc 0.
This makes it possible to, for example, replace the HMS logo by uploading a new logo named ‘\logo.jpg’.
It is also possible to make links from a web page to the virtual configuration page. In such case the link
shall point to ‘\config.htm’.
These virtual files are:
\index.htm- Points to the contents of config.htm
\config.htm- Configuration frame page
\configform.htm- Configuration form page
\configform2.htm- Configuration form page
\store.htm- Configuration store page
\logo.jpg- HMS logo
\configuration.gif- Configuration picture
\boarder.bg.gif- picture
\boarder_m_bg.gif- picture
\index.html- Points to the contents of config.htm
\eth_stat.html- Configuration frame page
\cip_stat.html- Configuration form page
\ip_config.shtm- Configuration form page
\smtp_config.shtm- Configuration store page
\style.css- HMS logo
\arrow_red.gif- Configuration picture
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
•Optionally, a login message can be specified by including the
key [AuthName]. This message will be displayed by the web
browser upon accessing the protected directory.
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.
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’.
Note that when using this feature, make sure to put the user/password files in a directory that is protected from web access, see “Protected Files” on page 42.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
7.3 Content Types
By default, the following content types are recognized by their file extension:
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’.
Note: Up to 50 content types and 50 SSI file types may be specified in this file.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
8. Server Side Include (SSI)
The Ethernet Mac ID of the ABC is: 00:30:11:78:9A:BC
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.
The following example causes a web page to display the Ethernet Mac ID of the module:
Chapter 8
<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:
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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.
Server Side Include (SSI) 46
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’-->
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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’-->
Server Side Include (SSI) 47
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.
This function returns the currently used SMTP server address.
Syntax:
<?--#exec cmd_argument=’DisplayEmailServer’-->
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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’-->
Server Side Include (SSI) 48
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’-->
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 49
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.
Accepted fields in form:
SetIp
SetSubnet
SetGateway
SetEmailServer
SetDhcpState - value "on" or "off"
SetDNS1
SetDNS2
SetHostName
SetDomainName
SetSMTPUser
SetSMTPPswd
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 50
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 )’-->
ObjName- Name of object.
offset - Specifies the offset from the beginning of the OUT area.
n- Specifies maximum number of characters to read (Optional)
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:
•Flags (in any order), which modify the specification:
-which specifies left adjustment of the converted argument in its field.
+which specifies that the number will always be printed with a sign
(space)if the first character is not a sign, a space will be prefixed.
0for numeric conversions, specifies padding to the field with leading zeroes.
#which specifies an alternate output form. For o, the first digit will be zero. For x or
X, 0x or 0X will be prefixed to a non-zero result. For e, E,f, g and G, the output
will always have a decimal point; for g and G, trailing zeros will not be removed.
•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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 51
The conversion characters and their meanings are shown below. If the character after the % is not a conversion character, the behavior is undefined.
Character Argument type, Converted to
d, ibyte, short; decimal notation (For signed representation. Use signed argument)
obyte, short; octal notation (without a leading zero).
x, Xbyte, short; hexadecimal notation (without a leading 0x or 0X), using abcdef for 0x or ABCDEF for
0X.
ubyte, short; decimal notation.
cbyte, short;single character, after conversion to unsigned char.
schar*; characters from the string are printed until a "\0" is reached or until the number of characters
indicated by the precision have been printed
ffloat; decimal notation of the form [-]mmm.ddd, where the number of d’s is specified by the preci-
sion. The default precision is 6; a precision of 0 suppresses the decimal point.
e, Efloat; decimal notation of the form [-]m.dddddd e+-xx or[-]m.ddddddE+-xx, where the number of d’s
specified by the precision. The default precision is 6; a precision of 0 suppresses the decimal point.
g, Gfloat; %e or %E is used if the exponent is less than -4 or greater than or equal to the precision; oth-
erwise %f is used. Trailing zeros and trailing decimal point are not printed.
%no argument is converted; print a %
The arguments that can be passed to the SSI function printf are:
ArgumentDescription
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
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-
MbReadString(id)Read a null-terminated string from the application via the mailbox inter-
MbReadFloat(id)Read a floating point (float) value from the application via the mailbox
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
)Read an unsigned byte (short) from the application via the mailbox inter-
face
face
face
interface
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 52
ArgumentDescription
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()
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.
Character Input, Argument Type
dDecimal number; byte, short
iNumber, byte, short. The number may be in octal (leading 0(zero)) or hexadecimal (leading 0x
or 0X)
oOctal number (with or without leading zero); byte, short
uUnsinged decimal number; unsigned byte, unsigned short
xHexadecimal number (with or without leading 0x or 0X); byte, short
cCharacters; char*. The next input characters (default 1) are placed at the indicated spot. The
normal skip over white space is suppressed; to read the next non-white space character, use
%1s.
sCharacter string (not quoted); char*, pointing to an array of characters large enough for the
string and a terminating "\0" that will be added.
e, f, gFloating-point number with optional sign, optional decimal point and optional exponent; float*
%Literal %; no assignment is made.
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’
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 53
The arguments that can be passed to the SSI function scanf are:
ArgumentDescription
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.
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 written to the file "File name" separated by the "Separator" string. The [Append|Overwrite] parameter determines if the specified file shall be overwritten, or if the data in the file shall be appended.
Success- Form saved to file
Failure- Failed to save form
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 54
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.
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’-->
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 55
8.2 Changing SSI output
There are two methods of changing the output strings from SSI functions:
1. Changing SSI output defaults by creating a file called "\ssi_str.cfg" containing the output strings
for all SSI functions in the system.
2. Temporary changing the SSI output by calling the SSI function "SsiOutput()".
8.2.1 SSI Output String File
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"
[SaveToFile]
Success: "String to use on success"
Failure: "String to use on failure"
[SaveDataToFile]
Success: “String to use on success”
Failure: “String to use on failure”
[GetText]
Success: “String to use on success”
Failure: “String to use on failure”
1
1
1
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’.
1. ‘%s’ includes the filename in the string
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Server Side Include (SSI) 56
8.2.2 Temporary SSI Output change
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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 output 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 45
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 38
Chapter 9
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 58.
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
9.2 E-mail Definitions
The e-mail definitions are stored in the following two directories:
•‘\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
E-mail Client 58
[From]
sender
[Subject]
subject line
[Headers]
Optional extra headers
[Message]
message body
KeyValueScanned for SSI
AreaSource area. Possible values: ‘IN’ (Input Data area) or ‘OUT’ (Output Data area) No
OffsetSource offset, written in decimal or hexadecimal.
TypeSource data type. Possible values are ‘byte’, ‘word’, and ‘long’
ValueUsed as a reference value for comparison.
MaskMask value, applied on the trigger source prior to comparison (logical AND).
Operand Possible values are ‘<‘, ‘=’ or ‘>’
ToE-mail recipientYes
FromSender e-mail address
SubjectE-mail subject. One line only.
Headers Optional; may be used to provide additional headers.
Message The actual message.
Note: Hexadecimal values must be written with the prefix ‘0x’ in order to be recognized by the Anybus
Communicator.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
10. Navigating ACM
A
B
C
D
This menu entry holds additional
sub-entries / parameters
This menu entry is expanded
Sub-entries
10.1 Main Window
The main window in ACM can be divided into 4 sections as follows:
Chapter 10
•A: Drop-down Menus & Tool Bar
The second drop-down menu from the left will change depending on the current context. The Tool Bar provides
quick access to the most frequently used functions.
•B: Navigation Section
This section is the main tool for selecting and altering different levels of the sub-network configuration.
Entries preceded by a “+” holds further configuration parameters or “sub menus”. To gain access to these parameters, 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 additional 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 selection 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 selected parameter.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
10.1.1 Drop-down Menus
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.
Navigating ACM 60
•Properties...
Set the name and (optional) passwords for the
configuration.
ItemDescription
Select a Name for the
Configuration
Enable PasswordEnables password protection
Download Password(6) Set passwords for downloading
Upload Password(6)
Enter a descriptive name for
the new configuration
and uploading the configuration
(max. 6 characters)
CAUTION: Always keep a copy of the password
in a safe place. A lost password cannot be retrieved!
•Exit
Close ACM.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Tools
•Port
Select the COM-port used for the configuration of the gateway.
•Upload configuration from
Communicator RS232/422/485
Upload the configuration from the gateway to ACM.
•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”.
Navigating ACM 61
•Options
This will open the following window:
ItemDescription
Warning on DeleteA confirmation dialog is displayed each time something is deleted.
Warning on Unsaved
Configuration
Show Wizard when
“New” menu is selected
Select languageSelects which language to use. The new setting will be active the next time the pro-
A confirmation dialog is displayed when closing ACM with unsaved data.
The Wizard is displayed each time a new configuration is created.
gram is launched.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Navigating ACM 62
Selecting the “Module” tab will reveal additional properties:
ItemDescription
Size of logbufferBy 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 DownloadDownload firmware to the embedded fieldbus interface.
Warning: Use with caution.
Factory RestoreRestores 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 window.
•Status Bar
Enables/disables the status bar at the bottom of the main window.
Help
•Contents/Search For Help On...
Opens a built-in browser window with a link to the Anybus
support website.
•About...
Displays general information about the gateway and the current
version of ACM.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
10.1.2 Toolbar Icons
NewOpenSave
UploadDownload
Up one Level
CopyCutPasteDeleteInsert
Connect
Disconnect
Start Log.Stop Log.
Sub-Network
Monitor
Add Command
Add Mailbox
NodeBroadcaster
Node Monitor
Add
Transactions
Add
Transaction
The toolbar features icons for the most commonly used functions.
•New, Open & Save
See “File” on page 60.
•Upload from ABC & Download to ABC
See “Tools” on page 61.
•Up one Level
Clicking on this icon will move the selection in the navigation section.
•Cut, Copy, Paste, Delete, Insert
These icons are used for common editing functions in the navigation section.
•Connect
Clicking on this icon will cause
ACM to attempt to connect to the gateway.
Navigating ACM 63
•Disconnect
Clicking on this icon will cause
ACM to disconnect from the gateway.
•Start Logging & Stop Logging
See “Tools” on page 61 & “Data Logger” on page 98.
•Sub-network Monitor
Clicking on this icon will launch the sub-network Monitor
(see “Sub-network Monitor” on page 93).
•Add Command
This icon is used to add commands to the currently selected node.
•Add Mailbox
(Advanced functionality, see “Mailbox Editor” on page 118)
•Add Node & Add Broadcaster
These icons are used to add nodes to the configuration.
•Node Monitor
Clicking on this icon will launch the Node Monitor (see “Node Monitor” on
page 94)
•Add Transaction(s)
These icons are used to add transactions to the currently selected node.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
11. Basic Settings
11.1 Fieldbus Settings
(Select ‘Fieldbus’ in the Navigation Section to gain access to the
parameters described in this section).
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.
Fieldbus Settings
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 2Port”.
Chapter 11
•Modbus Address Mode
Enabled - Use Modbus Address Mode
Disabled - Use Anybus Address Mode
See also “Modbus-TCP” on page 25
•Communicator IP-address, Gateway, Subnet Mask
See “Basic Network Configuration” on page 37.
•TCP/IP Settings
Enabled - Use settings in Anybus Configuration Manager
Disabled - Use settings stored in ‘ethcfg.cfg’
See also “Basic Network Configuration” on page 37
I/O Sizes
These parameters specify how data from the internal memory buffer will be exchanged over EtherNet/IP. This can either be handled
automatically based on the sub-network configuration, or it can be
specified manually.
•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.
See also “EtherNet/IP” on page 23
Fieldbus Type
IO Sizes
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
11.2 Communicator Parameters
Interface
Only serial communication is currently supported.
Control/Status Word
See “Control and Status Registers” on page 102.
ValueDescription
EnabledEnable 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.
DisabledThis setting completely disables the Control and Status Registers.
65
Module Reset
This parameter specifies how the gateway will behave in the event of a fatal error.
ValueDescription
EnabledThe gateway will be restarted, and no error will be indicated to the user.
DisabledThe 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.
ValueDescription
Generic Data ModeThis mode is primarily intended for Produce & Consume-based protocols, where there are
Master ModeThis mode is intended for “Query & Response”-based protocols, where a single Master
DF1This mode is intended for the DF1 protocol. The Anybus Communicator can only be con-
no Master-Slave relationship between the gateway and the nodes on the sub-network.
exchanges data with a number of Slaves.
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 exchanged on the sub-network. This feature is primarily intended for debugging purposes.
•Receive Counter Location
Specifies the location of the Receive Counter in the internal memory buffer.
•Transmit Counter Location
Specifies the location of the Transmit Counter in the internal memory buffer.
•Statistics
Enables/disables the Receive and Transmit Counters.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
11.3 Sub-network Parameters
Communication
These parameters specify the actual communication settings used for the sub-network.
ParameterDescriptionMaster Mode and Generic Mode
Bitrate (bits/s)Selects the bit rate1200
2400
4800
9600
19200
35700
38400
57600
Data bitsSelects the number of data bits7, 8
ParitySelects the parity modeNone, Odd, Even
Physical standardSelects the physical interface typeRS232, RS422, RS485
Stop bitsNumber of stop bits.1, 2
66
Start- and End Character
Note: These parameters are only available in Generic Data Mode.
Start and end characters are used to indicate the beginning and end of a serial message. For example, a
message may be initiated with <ESC> and terminated with <LF>. In this case, the Start character would
be 0x1B (ASCII code for <ESC>) and the End character 0x0A (ASCII code for <LF>)
ParameterDescriptionValid settings
End character valueEnd character for the message, ASCII0x00–0xFF
Use End characterDetermines if the End character shall be used or notEnable / Disable
Start character valueStart character for the message, ASCII0x00–0xFF
Use Start characterDetermines if the Start character shall be used or notEnable / Disable
Timing (Message Delimiter)
The parameters in this category differs slightly between the different protocol modes.
•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).
•Generic Data Mode
The Message Delimiter specifies the time that separates two messages in steps of 10 µs.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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 defined in ACM.
The maximum number of nodes that can be created in ACM is 31.
12.2 Adding & Managing Nodes
Chapter 12
FunctionDescription
PastePaste a node from the clipboard
Subnetwork MonitorLaunch the subnet monitor (see “Sub-network Monitor” on page 93)
Add NodeAdd a node to the configuration
Add Broadcaster
Load NodeAdd a previously saved node
Subnetwork Status...View diagnostic information about the sub-network
a. This function is only available in Master Mode.
a
Add a broadcaster node to the configuration
12.3 Node Parameters
12.3.1 Master Mode and Generic Data Mode
To gain access to the parameters described in this section, select a node in the Navigation Section.
ParameterDescription
Slave AddressThe value entered here may be used to set the node address in certain commands.
For more information, see “The Command Editor” on page 83.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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.
•Generic Data Mode
Transactions can be added as desired for both directions. Transactions sent to the sub-network
are called “Transaction Produce”, and transactions issued by other nodes are called “Transaction
Consume”.
Chapter 13
•DF1 Master Mode
Please refer to “DF1 Protocol Mode” on page 86.
Theoretically, the gateway supports up to 150 transactions. The actual number may however be less depending on the memory requirements of the defined transactions.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
13.2 Adding & Managing Transactions
FunctionDescription
CopyCopy a node to the clipboard
a
Delete
Node MonitorLaunch the node monitor (see “Node Monitor” on page 94)
Add Transaction(s)
b
Add Transaction Consume
Add transaction Produce
Add CommandAdd predefined transactions to the node
Insert New NodeInsert a new node above the currently selected one
Save NodeSave the selected node
Insert from FileInsert a previously saved node above the currently selected node
RenameTo 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
Delete a node
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.
c
Add a “Consume”-transaction
c
Add a “Produce”-transaction
Transactions 69
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
13.3 Transaction Parameters (Master Mode)
13.3.1 Parameters (Query & Broadcast)
ParameterDescription
Minimum time between broadcasts (10 ms)
Offline options for fieldbusThis parameter specifies the action to take for this transaction if the higher level net-
Offline options for sub-networkThis parameter specifies the action to take for this transaction if the sub-network goes
Reconnect time (10 ms)This parameter specifies how long the gateway shall wait before attempting to recon-
Retries
Timeout time (10 ms)
Trigger byte addressThis parameter specifies the location of the trigger byte in internal memory (only rele-
This parameter specifies how long the gateway shall wait after transmitting a broadcast 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.
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. 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
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.
This parameter specifies how many times a timeout may occur in sequence before the
node is disconnected.
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 number of retries (see above) has been reached.
The entered value is multiplied by 10. An entered value of 5 will result in 50 ms.
vant when “Update mode” is set to “Change of state on trigger”).
Valid settings range from 0x200 to 0x3FF and 0x400 to 0xFFF
Transactions 70
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Transactions 71
ParameterDescription
Update modeThis 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 enables 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 associated with the Query/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 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.
13.3.2 Parameters (Response)
ParameterDescription
Trigger byteThis 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 addressThis parameter specifies the location of the trigger byte in the internal memory buffer.
Valid settings range from 0x000 to 0x1FF and 0x400 to 0xFFF
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Transactions 72
13.4 Transaction Parameters (Generic Data Mode)
13.4.1 Produce Transactions
ParameterDescription
Offline options for fieldbusThis 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 modeThe 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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
ParameterDescription
Trigger byte addressThis 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
13.4.2 Consume Transactions
Transactions 73
ParameterDescription
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 “Trigger byte address”.
The trigger byte value will be increased each time a valid transaction has been consumed 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 addressThis 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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
13.5 Transaction Editor
Frame
Objects
•Apply Changes
This will save any changes and exit to the main
window.
•Exit
Exit without saving.
The Transaction Editor can be used to edit the individual frame objects of a transaction. The same settings are also available in the parameter section of the main window, however the Transaction Editor
presents the frame objects in a more visual manner.
Transactions 74
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 editable.
The File menu features the following entries:
Example:
The transaction created in this example are built up as follows:
The first byte holds the STX (0x02) followed by two bytes specifying the length of the data field
(in this case 8). The next 8 bytes are data and since this is a “query”-transaction, the data is to be
fetched from the Output Area which starts at address location 0x202. No swapping will be performed on the data. This is followed by a two-byte checksum. The checksum calculation starts
with the second byte in the transaction.
The transaction ends with a byte constant, the ETX (0x03).
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
14. Frame Objects
Transaction
ConstantConstant
Variable Length DataChecksumConstant
14.1 General
Each transaction consists of Frame Objects which makes up the serial telegram frame. Each Frame Object 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.
Chapter 14
14.2 Adding and Editing Frame Objects
To add a frame object to a Transaction, right-click on
the Transaction in the Navigation Section and select
one of the entries in the menu that appears.
The entry called “Transaction Editor” will launch the
Transaction Editor, which is used to edit transactions
and frame objects in a more visual manner. For more
information, see “Transaction Editor” on page 74.
To edit parameters associated with a particular frame
object, select the frame object in the Navigation Section. The settings for that frame object will be displayed in the Parameter Section.
It is also possible to edit the frame objects in a transaction in a more visual manner using the Transaction
Editor, see “Transaction Editor” on page 74.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
14.3 Constant Objects (Byte, Word, Dword)
Constant Objects have a fixed value and come in three sizes:
•Byte
8 bits
•Word
16 bits
•Dword
32 bits
Constants are handled differently depending on the direction of the transaction:
•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.
Frame Objects 76
To set the value of the object, select it in the Navigation Section and enter the desired value in the Parameter section.
ParameterDescription
ValueConstant value
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
14.4 Limit Objects (Byte, Word, Dword)
Limit Objects have a fixed range and come in three sizes:
•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.
Frame Objects 77
There are 3 types of interval objects:
•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 Parameter section as follows:
ParameterDescription
Maximum ValueThis 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 ValueThis 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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
14.5 Data Object
4 bytes of data
(Variable Data Object)
Length Character
0x04Data
Data of arbitrary length
(Variable Data Object)
End Character
0x00Data
Data Objects are used to represent raw data as follows:
•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:
ParameterDescription
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 LengthThe 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. Maximum data length allowed for one frame is 300 bytes.
Data LocationThe location of the data block in the internal memory buffer.
Frame Objects 78
14.6 Variable Data Object
Note: Only one Variable Data Object is permitted for each transaction.
This object is similar to the Data Object, except that it has no predefined length. Instead, an End or
Length-character specifies the size of the data block as follows:
•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 discarded.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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:
ParameterDescription
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
• Enabled
• Disabled
Filler byteFiller byte value. Only used if “Fill unused bytes” has been enabled.
Data LocationThe offset in the internal memory buffer where the data shall be read from / written to
Object Delimiter
• Length Character
(Produce/Query)
• Length Character Visible
• End Character
• End Character Visible
a
Fill unused data with the value specified in “Filler byte”.
Don’t fill
Length character visible in internal memory buffer but not sent out on the sub-network
Length character visible in internal memory buffer and sent out on the sub-network
End character visible in internal memory buffer but not sent out on the sub-network
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
(Consume/Response)
• Length Character
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 value
b
Maximum Data LengthThe 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”
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
14.7 Checksum Object
Most serial protocols features some way of verifying that the data has not been corrupted during transfer. The Checksum Object calculates and includes a checksum in a transaction.
ParameterDescription
Error Check Start byte
Error Check TypeThis parameter specifies which type of algorithm to use:
Error check type
combined with
Representation•Binary
a. In Generic Data Mode the Start character (if used) will not be included in the checksum calculation.
Specifies the byte offset in the transaction to start checksum calculations on.
• 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.
The binary value can be converted to its one’s or two’s complement. This conversion is carried
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
The checksum is transmitted in binary format.
•ASCII
All characters in the checksum are converted to ASCII values.
Frame Objects 80
a
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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”-parameter (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 commands exist, but custom ones may be implemented as desired.
Chapter 15
15.2 Adding & Managing Commands
To add a command to a node, right-click on the node in the Navigation Section and select “Add Command”.
A list of commands will appear:
Select the desired command in the list, and select “Add Command” 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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
15.2.1 Drop-down Menu
Add Command
Edit Command
Delete Command
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.
Commands 82
•Delete Command
Delete the currently selected command from the list. Note that some commands are fixed and
cannot be deleted.
15.2.2 Toolbar Icons
The toolbar features icons for the Add, Edit and Delete Command functions.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
15.3 The Command Editor
A
BDE
C
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.
15.3.2 Basic Navigation
Open the Command Editor by selecting “Edit Command” or “Add Command” from the “Command”menu.
Commands 83
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 query-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
SettingDescription
Allow Broadcasting Specifies if it is allowed to broadcast the command (only relevant in Master Mode)
ProduceThe command is producing data (Generic Data Mode only)
ConsumeThe command is consuming data (Generic Data Mode only)
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
15.3.3 Drop-down Menu
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.
Commands 84
•Delete Column
Delete the column at the selected position.
15.3.4 Editing a Command
As mentioned previously, the transaction section in the Command Editor represents the actual transactions 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.
ValueDescription
DependThis setting is only relevant for Responses in Master Mode.
The value will be retrieved from the corresponding part of the “Query”-transaction.
IdValue will be retrieved from the “Command ID”-setting (see “Basic Navigation” on page 83).
UserSettings associated with the object can be edited by the user.
[SlaveAddress] Value will be retrieved from the “SlaveAddress”-parameter (see “Node Parameters” on page 67).
(other settings) Other settings are no longer supported.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Commands 85
15.3.5 Example: Specifying a Modbus-RTU Command in Master Mode
In the following example, a Modbus-RTU command is created in Master Mode. In Modbus-RTU, a
transaction always feature the following parts:
•Slave Address (1 byte)
•Function Code (1 bytes)
•A data field
•CRC (CRC-16)
Furthermore, each command always consists of a query and a response.
This value is linked to
the “SlaveAddress”
parameter in the
parameter window.
The value of this byte
constant will be set
using the “Command
ID”-field.
The size and location
of the data associated
with this object is
determined by the
user.
This object will retrieve
its settings from the
corresponding object
in the Query.
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 possible 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 function code in the “Command ID”-field. If the command is allowed to be broadcasted, check the “Allow
Broadcasting” checkbox.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
16. DF1 Protocol Mode
Subnetwork Devices
Gateway
Control System
This mode makes the Anybus Communicator act as a DF1 protocol master on the sub-network.
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 subnetwork. 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.
Chapter 16
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”.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
16.2 Communicator Parameters
Interface
Currently, only serial communication is supported.
Control/Status Word
(See “Control and Status Registers” on page 102).
ValueDescription
EnabledEnable 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.
DisabledThis setting completely disables the Control and Status Registers.
DF1 Protocol Mode 87
Module Reset
This parameter specifies how the gateway will behave in the event of a fatal error.
ValueDescription
EnabledThe gateway will be restarted, and no error will be indicated to the user.
DisabledThe gateway will halt and indicate an error.
Protocol Mode
This parameter specifies which protocol mode to use for the sub-network.
ValueDescription
DF1This 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.
See also “Protocol Modes” on page 17.
Statistics
The Transmit- and Receive Counters indicate how many transactions that have successfully been exchanged on the sub-network. This feature is primarily intended for debugging purposes.
•Receive Counter Location
Specifies the location of the Receive Counter in the internal memory buffer.
•Transmit Counter Location
Specifies the location of the Transmit Counter in the internal memory buffer.
•Statistics
Enables/disables the Receive and Transmit Counters.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
16.3 Sub-network Parameters
Communication
These parameters specify the actual communication settings used for the sub-network.
ParameterDescriptionValid Settings
Bitrate (bits/s)Selects the bit rate2400
4800
9600
19200
38400 (Default)
Data bitsSelects the number of data bits8
ParitySelects the parity modeNone, Odd, Even
Physical standardSelects the physical interface typeRS232, RS422, RS485
Stop bitsNumber of stop bits.1
DF1 Protocol Mode 88
DF1 Settings
ParameterDescriptionDefault
Master Node AddressNode address of the master, valid values: 0–2541
Poll time, active slaves (10 ms)Determines how often the slave shall be polled in steps of 10 ms
Poll time, inactive slaves (10 ms) Determines how often the slave shall be polled in steps of 10 ms
a. The default value is given as 10 in the parameter window. Each change of 10 ms either increases or decreases
this value by 1, i.e. 9 represents a poll time of 90 ms and 11 represents a poll time of 110 ms.
b. 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.
100 ms
1000 ms
a
b
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
DF1 Protocol Mode 89
16.4 Node Parameters
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.
ParameterDescriptionValid Settings
ChecksumSelects the type of checksum on the network.BCC
CRC (default)
Slave AddressThe value entered here sets the node address.0-254
TypeThe PLC type of the slavePLC-5
SLC500
MicroLogix
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 execute a service, it automatically chooses the appropriate DF1 command(s) that are used to perform the
service on the selected DF1 node type.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
16.5.1 Available Services
Right click on the node, and choose Add Command.
A pop-up window will show the four different services that are available:
•Integrity check
•Read diagnostics
•Read data
•Write data
A maximum of 50 services in total (for all nodes) can
be selected.
The predefined services can be configured to suit the
application. Select a service to show the parameters.
General Configuration Parameters
These parameters are common to all services, but the settings
are individual to each instance of a service.
General:
DF1 Protocol Mode 90
ParameterDescriptionValid settings
Offline options for
fieldbus
Offline options for
sub-network
Update modeThe update mode for this service Cyclically
The action to take for this service
if the fieldbus goes offline. This
option affects the data that is sent
out to the sub-network.
The action to take for this service
if the sub-network goes offline.
This option affects the data that is
reported to the fieldbus master.
Clear
Freeze
Noscanning
Clear
Freeze
On data change
Single shot
Change of state
on trigger
Timing:
ParameterDescriptionDefault
RetriesThe number of times to resend this service before the node is disconnected3
Timeout time (10 ms)
Update time (10 ms)
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.
The time to wait before resending this service (in steps of 10 ms)
The minimum time between two services of this kind (in steps of 10 ms)
a
a
1000 ms
1000 ms
Trigger:
ParameterDescriptionDefault
Request Trigger byte
address
Response Trigger byteEnables/disables the trigger byteDisabled
Response Trigger byte
address
The memory location of the trigger byte this service uses for updates on trigger
byte changes
The memory location of the trigger byte this service uses for updates on trigger
byte changes
Valid settings range from 0x200 to 0x3FF and 0x400 to 0xFFF
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
0x05FF
0x05FF
DF1 Protocol Mode 91
16.6 Integrity Check
This service checks that a node is up and running correctly. A telegram is sent to the node. The node
mirrors and returns the telegram. No configuration is needed, apart from the general parameters, common to all services.
16.7 Read Diagnostics
This service reads diagnostic information from the module.
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, depending on node type:
PLC-5SLC500MicroLogix
Size range (in bytes)1–261–281–26
Data options:
ParameterDescriptionValid settings
Byte swapDetermines if the data shall be swappedNo byte swap
Swap words
Swap double words
Data lengthThe number of bytes, read from the DF1 network, to write to the area determined
by the Offset parameter
OffsetThe offset in the internal memory buffer in the module, where the data shall be
read.
Size
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
16.8 Read Data
This service is used to read data from the nodes in the sub-network.
Command Parameters
DF1 Protocol Mode 92
ParameterDescriptionValid settings
Element Number The element number of the data file to be accessed within the slave.PLC-5: 0–999
SLC500: 0–255
MicroLogix: 0–255
File numberThe file number of the data file to be accessed.PLC-5: 3, 7, 8, 10–999
File typeThe file type of the data to be accessed.Integer
Bit
Float
SizeThe number of bytes to read from the slave. One bit/integer element is
2 bytes and one float element is 4 bytes. The parameter must have an
even value as only whole elements can be read from the slave.
PLC-5: 2–240
SLC500: 2–236
MicroLogix: 2–242
Data Options
Parameter DescriptionValid settings
Byte swap Determines if the data shall be swapped.No byte swap
Swap words
Swap double words
Data length The number of bytes, read from the DF1 network, to write to the area determined
by the Offset parameter
OffsetThe offset in the internal memory buffer in the module, where the data shall be
read. See “Memory Map” on page 15.
Note: If the control and status registers are enabled (default), first available data
location will be: Input area 0x002, Output area 0x202.
Size
-
16.9 Write Data
This service is used to write data to the nodes in the sub-network. The parameters to be configured are
the same as for the service Read Data. The only difference is that data is read from the internal memory
buffer in the Anybus Communicator and written to the sub-network bus, instead of being written to the
internal memory buffer.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
17. Sub-network Monitor
A
B
C
StartStop
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 deselecting 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
Chapter 17
A: Start Network & Stop Network Icons
These icons controls the sub-network activity. To stop all activity, click
on the red light. To start the sub-network again, click on the green light.
B: Nodes / Transactions
To view data blocks associated with a transaction, select the transaction in the list. The corresponding 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.
ColorMeaning
WhiteNot allocated
YellowData allocated by a Response or Consume transaction
BlueData allocated by a Query or Produce transaction
RedCollision; area has been allocated more than once
GreyReserved (illustrates memory consumption, area can be allocated if necessary)
GreenData allocated by Trigger byte, Transmit/Receive Counter, or Control/Status Registers
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
18. Node Monitor
Subnetwork
Command Section (Query)
Response Section
Command Section (Produce)
(Not used)
Subnetwork
18.1 General
The Node Monitor can provide valuable information when setting up the communication with the subnetwork, by allowing individual commands to be issued manually, and monitoring the response (if applicable). 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:
•Master Mode and DF1 Master Mode
The selected Command (Query Transaction) or Service is sent to the sub-network. The response
to the Query can be monitored in the Response Section.
Chapter 18
•Generic Data Mode
The selected command (Transaction Produce) is sent to the sub-network. It is not possible to
monitor any responses etc. generated by other nodes.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
18.2 Navigating the Node Monitor
A
B
C
D
A: Drop-down Menu & Toolbar Icons
See “Drop-down Menu” on page 96 and “Toolbar Icons” on page 97.
Node Monitor 95
B: Command Section
This section holds the currently selected command. The individual frame objects in the command can be edited in a similar way as in the Transaction and Command Editors.
C: Response Section (Master Mode and DF1 Master Mode only)
This section holds the response to the selected Command.
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Node Monitor 96
18.2.1 Drop-down Menu
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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
18.2.2 Toolbar Icons
StartStop
SelectSend
StopResume
Refresh
The toolbar features icons for the most commonly used functions.
•Start Node & Stop Node
These icons corresponds to the functions in the “Node” menu.
See also “Node” on page 96.
•Select Command & Send Command
These icons corresponds to the functions in the “Command” menu.
See also “Command” on page 96.
•Resume Refresh & Stop Refresh
The data displayed in the Monitor Section will normally be refreshed automatically (cyclically).
Click on “Stop” to stop automatic data refresh. Data will now only be
refreshed if you click “Refresh” (see below).
Press “Resume” to resume automatic refreshing of data.
Node Monitor 97
•Refresh
Refreshes the data displayed in the Monitor Section.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
19. Data Logger
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 & Stop Logging
•Start logging
Select “Start Logging” in the “Tools”-menu. ACM will then prompt for the desired mode of operation, see below.
Chapter 19
•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 until full
Data will be logged until the log-buffer is full.
•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 ASCII format for both directions. The time between the log-entries 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.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
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 “Module” tab, and enter the desired number of buffer entries under “Size of logbuffer” (valid settings range from 1–512).
Click “Apply” to validate the new settings.
Click “OK” to exit.
Data Logger 99
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
20. Configuration Wizards
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 user, i.e the user simply has to “fill in the blanks”. Note however that this will only work when the subnetwork fits the wizard profile; in all other cases the ‘Blank Configuration’ option must be used.
20.2 Selecting a Wizard Profile
The following window appears each time the Anybus Configuration Manager is started, or upon selecting the ‘New’ entry in the ‘File’-menu (unless it has been disabled in the ‘Options’-menu, see “Tools”
on page 61).
Chapter 20
Currently, the following wizards are available:
•Wizard - Modbus RTU Master
This option is suitable for Modbus RTU-based networks.
See also “Wizard - Modbus RTU Master” on page 101.
•Blank Configuration
This option creates an empty configuration.
Highlight the desired wizard and click ‘OK’ to continue.
Doc: HMSI-27-314, Rev. 3.10Anybus Communicator EtherNet/IP / Modbus-TCP User Manual
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.