338-9556-ABM-EIP user manual

338-9556-ABM-EIP user manual
Fieldbus Appendix
Anybus-M EtherNet/IP
ABM-EIP - EtherNet/IP Scanner & IT Functionality
Doc.Id. HMSI-168-21
Rev. 1.10
Connecting DevicesTM
+$/067$'‡&+,&$*2‡.$5/658+(‡72.<2‡%(,-,1*‡0,/$12‡08/+286(‡&29(175<‡381(‡&23(1+$*(1
HMS Industrial Networks
Mailing address: Box 4126, 300 04 Halmstad, Sweden
Visiting address: Stationsgatan 37, Halmstad, Sweden
E-mail: [email protected]
Web: www.anybus.com
Important User Information
This document is intended to provide a good understanding of the functionality offered by Anybus-M EtherNet/IP.
The document only describes the features that are specific to the Anybus-M EtherNet/IP. For general information
regarding the Anybus-M, consult the Anybus-S/M Parallel Design Guide.
Please consult the general Anybus-S Parallel Design Guide for further information about the Anybus-S platform.
The reader of this document is expected to be familiar with high level software design, and communication systems in general. The use of advanced EtherNet/IP-specific functionality may require in-depth knowledge in EtherNet/IP networking internals and/or information from the official EtherNet/IP specifications. In such cases, the
people responsible for the implementation of this product should either obtain the EtherNet/IP specification to gain
sufficient knowledge or limit their implementation in such a way that this is not necessary.
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. 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-M EtherNet/IP User Manual
Rev 1.10
Copyright© HMS Industrial Networks AB
Jul 2012 Doc Id HMSI-168-21
Table of Contents
Table of Contents
Preface
About This Document
Related Documents ..................................................................................................................................1
Document History....................................................................................................................................1
Conventions & Terminology ..................................................................................................................2
Sales and Support......................................................................................................................................3
Chapter 1
About the Anybus-M EtherNet/IP
Features ......................................................................................................................................................4
Fieldbus Conformance Notes.................................................................................................................4
Overview ....................................................................................................................................................5
Chapter 2
Basic Operation
Data Exchange ..........................................................................................................................................6
File System .................................................................................................................................................7
Filesystem Overview ..........................................................................................................................8
System Files......................................................................................................................................8
Network Reset Handling .........................................................................................................................9
DNS Functionality....................................................................................................................................9
Chapter 3
Network Configuration
TCP/IP Settings......................................................................................................................................10
HICP (Anybus IPconfig) .......................................................................................................................11
DHCP/BootP .........................................................................................................................................11
Speed and Duplex...................................................................................................................................12
IP Access Control ...................................................................................................................................12
Chapter 4
FTP Server
General .....................................................................................................................................................13
Chapter 5
Web Server
General .....................................................................................................................................................15
Authorization...........................................................................................................................................16
Content Types .........................................................................................................................................17
Chapter 6
SMTP Client
General .....................................................................................................................................................18
Email Definitions....................................................................................................................................19
Table of Contents II
Chapter 7
Server Side Include (SSI)
General .....................................................................................................................................................20
Functions..................................................................................................................................................21
SSI Scanlist Functionality ..............................................................................................................29
Changing SSI output ..............................................................................................................................33
SSI Output String File...................................................................................................................33
Temporary SSI Output change........................................................................................................34
Chapter 8
Ethernet/IP
Implemented Objects.............................................................................................................................36
Identity Object, Class 01h ..............................................................................................................37
Message Router, Class 02h.............................................................................................................38
Assembly Object, Class 04h ...........................................................................................................38
Connection Manager Object, Class 06h ..........................................................................................40
Diagnostic Object, Class AAh .......................................................................................................43
Parameter Data Input Mapping Object, Class B0h ........................................................................44
Parameter Data Output Mapping Object, Class B1h .....................................................................45
Connection Configuration Object, Class F3h...................................................................................46
Port Object, Class F4h...................................................................................................................49
TCP/IP Interface Object, Class F5h .............................................................................................50
Ethernet Link Object, Class F6h...................................................................................................53
Chapter 9
Fieldbus Specific Mailbox Commands
Fault Information....................................................................................................................................55
General Configuration Commands......................................................................................................56
Set IP Configuration (SET_IP_CONFIG)..................................................................................57
Get IP Configuration (GET_IP_CONFIG)................................................................................58
Get MAC Address (GET_MAC_ADDR)................................................................................59
Set MAC Address (SET_MAC_ADDR) .................................................................................60
Disable HICP (HICP_DISABLE) ............................................................................................61
Set SMTP Configuration (SET_SMTP_CONFIG) ...................................................................62
Get SMTP Configuration (GET_SMTP_CONFIG) .................................................................63
Disable Web Server (DISABLE_WEB_SERVER).................................................................64
Enable Web Server (ENABLE_WEB_SERVER)..................................................................65
Disable FTP server (DISABLE_FTP_SERVER) ...................................................................66
Global Admin Mode (GLOBAL_ADMIN_MODE)...............................................................67
Scanlist Configuration Web Page Control (SCANLIST_CFG_CTRL)......................................68
Disable Virtual File System (DISABLE_VFS) .........................................................................69
Set Speed and Duplex (SET_SPD_CONFIG) ...........................................................................70
Get Speed and Duplex (GET_SPD_CONFIG) .........................................................................71
Table of Contents III
Mailbox Socket Interface .......................................................................................................................72
Socket Non-Blocking (SOCKET_NB).........................................................................................73
Socket Blocking (SOCKET_B).....................................................................................................74
Listen (LISTEN) .........................................................................................................................75
Accept (ACCEPT) .......................................................................................................................76
Connect (CONNECT) .................................................................................................................77
Send (SEND) ...............................................................................................................................79
Receive (RECV)............................................................................................................................80
Send To (SEND_TO)..................................................................................................................81
Receive From (RECV_FROM) ...................................................................................................82
Close (CLOSE) ............................................................................................................................83
Send Fragment (SEND_FRAG).................................................................................................84
Receive Fragment (RECV_FRAG) .............................................................................................85
Send Fragment To (SEND_FRAG_TO) ...................................................................................87
Receive Fragment From (RECV_FRAG_FROM) .....................................................................88
Get Socket Option (GET_SOCKET_OPTION) .......................................................................90
Set Socket Option (SET_SOCKET_OPTION) .........................................................................91
Socket Options ...............................................................................................................................92
Mailbox File System Interface...............................................................................................................94
Open File (FILE_OPEN)...........................................................................................................95
Close File (FILE_CLOSE).........................................................................................................96
Read File (FILE_READ)...........................................................................................................97
Write File (FILE_WRITE) ........................................................................................................98
Delete File (FILE_DELETE) ...................................................................................................99
Move File (FILE_MOVE) .......................................................................................................100
Rename File (FILE_RENAME) .............................................................................................101
Copy File (FILE_COPY) ..........................................................................................................102
Create Directory (DIR_CREATE)............................................................................................103
Delete Directory (DIR_DELETE) ............................................................................................104
Open Directory (DIR_OPEN) ...................................................................................................105
Read Directory (DIR_READ) ...................................................................................................106
Close Directory (DIR_CLOSE) .................................................................................................108
Format File System (FORMAT_FS) .........................................................................................109
File system Checksum (CRC_FS) ...............................................................................................110
EtherNet/IP Specific Commands......................................................................................................111
Set Product Info (SET_PRODUCT_INFO) ............................................................................112
Get Product Info (GET_PRODUCT_INFO) ..........................................................................113
Parameter Data Input Mapping (PARAMETER_IN_MAP) ................................................114
Parameter Data Out Area Mapping (PARAMETER_OUT_MAP) .....................................116
Send UCMM (SEND_UCMM) ..............................................................................................118
UCMM Request (UCMM_REQUEST)..................................................................................120
Register Class (REGISTER_CLASS)......................................................................................121
Deregister Class (DEREGISTER_CLASS) ............................................................................122
Register Port (REGISTER_PORT) ..........................................................................................123
Route Unconnected Send (ROUTE_REQUEST)......................................................................126
Enable Exact IO Match (EXACT_IO_MATCH) .................................................................128
Get Reset Parameter (GET_ID_RESET_PARAM)...............................................................129
Change Ethernet Port Number (CHANGE_ETH_PORT_NO)............................................130
Set Scanner Mode (SET_SCANNER_MODE)......................................................................131
Create Connection Target Area (CREATE_CON_TARGET)...............................................132
Set UCMM Timeout (SET_UCMM_TIMEOUT) .................................................................133
Get UCMM Timeout (GET_UCMM_TIMEOUT) ...............................................................134
Set Minimum Class1 O->T Timeout (SET_MIN_CLASS1_OT_TIMEOUT) ...................135
Table of Contents IV
Other Commands .................................................................................................................................136
Get DIP Switch (GET_DIP_SWITCH)..................................................................................137
DNS Request (DNS_REQUEST)...........................................................................................138
Send Email (SEND_EMAIL) .................................................................................................139
Request SSI Data (REQUEST_SSI_DATA) ........................................................................141
Write SSI Data (WRITE_SSI_DATA)..................................................................................142
Chapter 10
Fieldbus Specific Area
Memory Map .........................................................................................................................................143
Appendix A Miscellaneous
Control Register Area...........................................................................................................................144
Firmware Upgrade ................................................................................................................................144
Formatting the File System .................................................................................................................144
Appendix B Technical Specification
Electrical Specification .........................................................................................................................145
Protective Earth (PE) Requirements.............................................................................................145
Isolation .......................................................................................................................................145
Power Supply................................................................................................................................145
Environmental Specification...............................................................................................................146
EMC (CE) Pre-compliance .................................................................................................................146
Appendix C Connectors
Application Connector.........................................................................................................................147
Ethernet..................................................................................................................................................147
Appendix D Mechanical Specification
Measurements, Connectors & LEDs.................................................................................................148
Appendix E Copyright Notices
Preface
P. About This Document
For more information, documentation etc., please visit the HMS website, ‘www.anybus.com’.
P.1 Related Documents
Document
RFC 821 (Network Working Group)
RFC 896 (Network Working Group)
RFC 1918 (Network Working Group)
EIP Specifications (ControlNet International and ODVA)
Anybus-S/M Parallel Design Guide
Author
www.ietf.org
www.ietf.org
www.ietf.org
www.odva.org
www.anybus.com
P.2 Document History
Summary of Recent Changes ( 1.06 ... 1.10)
Change
Updated front page info
Updated sales and support info page
Added SSI functions StoreUCMMTimeout and DisplayUCMMTimeout
Added mailboxes SET_UCMM_TIMEOUT and GET_UCMM_TIMEOUT
Added info on configuration file eip.cfg
Corrected command code for GET_MAC_ADDR
Added mailbox EXACT_IO_MATCH
Updated Fieldbus Conformance Notes
Added instances 160-169 to the assembly object
Added new extended error code 000Ah
Added description of object to, class attribute #5 to and corrected Connection Configuration Object
Added mailbox SET_MIN_CLASS1_OT_TIMEOUT
Added Socket interface
Added information on scanlists, updated SSI functions GetScanListArray and EditScanEntry
Updated TCP/IP IInterface Object
Page(s)
3
28
133, 134
8, 35
59
128
4
38
55
46
135
72 - 93
30, 32
50
Revision List
Revision
1.00
1.01
1.02
1.03
1.04
1.05
1.06
1.10
Date
2005-11-29
2005-12-11
2006-10-19
2008-10-29
2010-06-21
2010-12-06
2011-08-19
2012-07-11
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Author(s)
PeP
PeP
PeP
HeS
KeL
KeL
KeL
KeL
Chapter(s)
All
1, 9, A, C
B, C
8, 9
2, 4, 7, 8, 9
P, B, E
P, 1,7,8,9
P,1,2,7,8,9
Description
1st release
Minor update
Misc. minor updates
Misc. minor updates
Misc. minor updates
Misc. minor updates
Misc. updates
Misc. updates and additions
Doc.Id. HMSI-168-21
About This Document 2
P.3 Conventions & Terminology
The following conventions are used throughout this manual:
•
Numbered lists provide sequential steps
•
Bulleted lists provide information, not procedural steps
•
The terms ‘Anybus’ or ‘module’ refers to the Anybus-CompactCom module.
•
The terms ‘host’ or ‘host application’ refers to the device that hosts the Anybus module.
•
Hexadecimal values are written in the format NNNNh, where NNNN is the hexadecimal value.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
About This Document 3
P.4 Sales and Support
Sales
Support
HMS Sweden (Head Office)
E-mail:
[email protected]
E-mail:
[email protected]om
Phone:
+46 (0) 35 - 17 29 56
Phone:
+46 (0) 35 - 17 29 20
Fax:
+46 (0) 35 - 17 29 09
Fax:
+46 (0) 35 - 17 29 09
Online:
www.anybus.com
Online:
www.anybus.com
HMS North America
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+1-312 - 829 - 0601
Phone:
+1-312-829-0601
Toll Free:
+1-888-8-Anybus
Toll Free:
+1-888-8-Anybus
Fax:
+1-312-629-2869
Fax:
+1-312-629-2869
Online:
www.anybus.com
Online:
www.anybus.com
HMS Germany
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+49 (0) 721-989777-000
Phone:
+49 (0) 721-989777-000
Fax:
+49 (0) 721-989777-010
Fax:
+49 (0) 721-989777-010
Online:
www.anybus.de
Online:
www.anybus.de
HMS Japan
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+81 (0) 45-478-5340
Phone:
+81 (0) 45-478-5340
Fax:
+81 (0) 45-476-0315
Fax:
+81 (0) 45-476-0315
Online:
www.anybus.jp
Online:
www.anybus.jp
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+86 (0) 10-8532-3183
Phone:
+86 (0) 10-8532-3023
Fax:
+86 (0) 10-8532-3209
Fax:
+86 (0) 10-8532-3209
Online:
www.anybus.cn
Online:
www.anybus.cn
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+39 039 59662 27
Phone:
+39 039 59662 27
Fax:
+39 039 59662 31
Fax:
+39 039 59662 31
Online:
www.anybus.it
Online:
www.anybus.it
HMS China
HMS Italy
HMS France
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+33 (0) 3 68 368 034
Phone:
+33 (0) 3 68 368 033
Fax:
+33 (0) 3 68 368 031
Fax:
+33 (0) 3 68 368 031
Online:
www.anybus.fr
Online:
www.anybus.fr
HMS UK & Eire
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+44 (0) 1926 405599
Phone:
+46 (0) 35 - 17 29 20
Fax:
+44 (0) 1926 405522
Fax:
+46 (0) 35 - 17 29 09
Online:
www.anybus.co.uk
Online:
www.anybus.com
HMS Denmark
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+45 (0) 35 38 29 00
Phone:
+46 (0) 35 - 17 29 20
Fax:
+46 (0) 35 17 29 09
Fax:
+46 (0) 35 - 17 29 09
Online:
www.anybus.com
Online:
www.anybus.com
HMS India
E-mail:
[email protected]
E-mail:
[email protected]
Phone:
+91 (0) 20 40111201
Phone:
+91 (0) 20 40111201
Fax:
+91 (0) 20 40111105
Fax:
+91 (0) 20 40111105
Online:
www.anybus.com
Online:
www.anybus.com
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 1
1. About the Anybus-M EtherNet/IP
The Anybus-M EtherNet/IP provides full EtherNet/IP scanner functionality via the patented AnybusS application interface. Any device that supports this standard can take advantage of the features offered
by the module, providing seamless network integration regardless of network type.
This product conforms to all aspects of the application interface defined in the Anybus-S Parallel Design
Guide, making it fully interchangeable with any other device following that specification.
1.1 Features
•
Supports shielded (FTP) and unshielded (UTP) cables
•
EtherNet/IP scanner
•
Exchanges data with up to 64 slaves
•
Identity customization
•
Built in file system with volatile and non-volatile storage locations
•
FTP server
•
Web server
•
SMTP client
•
Server Side Include (SSI) capability
1.2 Fieldbus Conformance Notes
•
This product is pre-certified for network compliance. While this is done to ensure that the final
product can be certified, it does not necessarily mean that the final product will not require recertification. Contact HMS for further information.
•
Each device on EtherNet/IP is associated with an Electronic Data Sheet (a.k.a .EDS-file), which
holds a description of the device and its functions. HMS supplies a generic .EDS-file which can
serve as a basis for new implementations; note however that this file must be altered to match
the end product (i.e. vendor and identity settings etc.).
•
In order to pass conformance tests, the module should not be initiated to an IO data size larger
than 500 bytes in each direction.
•
In order to pass conformance tests, the mailbox EXACT_IO_MATCH must be sent during initialization, see “Enable Exact IO Match (EXACT_IO_MATCH)” on page 128.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
About the Anybus-M EtherNet/IP 5
1.3 Overview
B
A
#
A
B
C
Link/Activity
1
2
Module Status
(not used)
4
3
Network Status
C
Description
Ethernet Connector For more information, see “Connectors” on page 147
Switches
IP configuration switches, see “TCP/IP Settings” on page 10
Status Indicators
These LEDs indicate run time status and errors to the user, see below.
Status Indicators
#
1
Indication
Link/Activity
2
Module Status
State
Green
Green, flashing
Off
Green
Green, flashing
Red
Red, flashing
Alternating Red/Green
3
Network Status
Off
Green
Green, flashing
Red
Red, flashing
4
-
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Off
-
Description
Link established
Activity; receiving/transmitting data
No link or power off
Device operational
- Module is operating correctly in Run-state
Standby
- Module has not been configured
- Scanner in Idle-state
Major fault
- Major unrecoverable fault
Minor fault
- Minor recoverable fault (originated on timeout)
- An originated connection could not be opened
Self test
- Module is performing power up test procedures
No power
Connected
- The module has at least one established EtherNet/IP connection
(target or originated)
No connections
- There are no EtherNet/IP connections established to the module
(Class 1 or Class 3, target or originated)
Duplicate IP
- Configured IP address already in use
Connection timeout
- One or several EtherNet/IP target connections have timed out
- The module can only leave this state if all timed-out target connections are re-established, or if the module is reset.
No power or no IP address
-
Doc.Id. HMSI-168-21
Chapter 2
2. Basic Operation
2.1 Data Exchange
Parameter Data Areas (Explicit Data)
By default, the Parameter Data portions of the Anybus Input- and Output areas cannot be accessed via
EtherNet/IP. Using the mailbox commands PARAMETER_IN_MAP and
PARAMETER_OUT_MAP, it is however possible to map blocks of Parameter Data to the Parameter
Data Input- and Output Mapping Objects.
See also...
•
“Parameter Data Input Mapping (PARAMETER_IN_MAP)” on page 114
•
“Parameter Data Out Area Mapping (PARAMETER_OUT_MAP)” on page 116
•
“Parameter Data Input Mapping Object, Class B0h” on page 44
•
“Parameter Data Output Mapping Object, Class B1h” on page 45
I/O Data Areas
The Anybus-M EtherNet/IP can exchange I/O data with up to 64 slaves. Additionally, it is possible to
allocate a block of I/O data for the scanner itself by issuing the mailbox command
CREATE_CON_TARGET, or by setting up a target connection in the scanner configuration, see
“Connection Configuration Object, Class F3h” on page 46.
Each connection is represented as two instances in the Assembly Object, which in turn are mapped to
the I/O Data portion of the Anybus Input- and Output areas as depicted in the example below. The
connections are mapped in the order of their instance number.
I/O Output Area
Optional, enabled using
CREATE_CON_TARGET
Instance 150
Target
I/O Input Area
Optional, enabled using
CREATE_CON_TARGET
Instance 100
Target
Instance 1024
1st Connection
Instance 768
1st Connection
Instance 1025
2nd Connection
Instance 769
2nd Connection
Instance 1026
3rd Connection
Instance 770
3rd Connection
Instance 102
Instance 101
Instance N
Last Connection
(Unused data)
Instance N
Last Connection
Initialised,
but not used
(Consumed Data)
(Unused data)
Initialised,
but not used
(Produced Data)
See also...
•
“Create Connection Target Area (CREATE_CON_TARGET)” on page 132
•
“Assembly Object, Class 04h” on page 38
•
“Connection Configuration Object, Class F3h” on page 46
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Basic Operation 7
2.2 File System
General
The module features a built in file system, which is used to store information such as web files, network
communication settings, email messages etc.
The filesystem can be accessed using FTP, HTTP, and by the application via the mailbox interface.
Storage Areas
The filesystem consists of the different storage locations, a.k.a.’Discs’:
•
Disc 0 (1856 kByte, Non Volatile)
This section is intended for static files such as web files etc. Once the product is released, this
section can be locked so that it cannot be altered by the end user.
•
Disc 1 (192 kByte, Non Volatile)
This section is intended for configuration files etc. which can be altered by the end user.
•
Disc 2 (1024 kByte, Volatile)
This section is intended for temporary storage. Any data placed here will be lost in case of power
loss or reset.
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 must not contain one of 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 only be erased approximately 100000 times due to the nature of this type of memory.
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 filesystem
•
Saving scanner configuration
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Basic Operation 8
2.2.1 Filesystem Overview
Disc 0
Disc 1
Disc 2
cfg
ssi_str.cfg
http.cfg
eip.cfg
ip_accs.cfg
smtp.cfg
ip.cfg
etn.cfg
hicp.cfg
(scanner.cfg)
email
email
email_1.cfg
email_2.cfg
email_1.cfg
email_3.cfg
email_2.cfg
email_4.cfg
email_3.cfg
email_10.cfg
email_4.cfg
email_10.cfg
pswd
pswd
ad_pswd.cfg
sys_pswd.cfg
temp
2.2.2 System Files
The filesystem contains a set of files used for system configuration. These files, known as “system files”,
are regular ASCII files which 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 module itself, e.g. when using
SSI (see “Server Side Include (SSI)” on page 20).
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
Some configuration files can be redirected by placing a file path destination in the file. These are
ssi_str.cfg, http.cfg, ip_accs.dfg, smtp.cfg, ip.cfg, etn.cfg, eip.cfg and hicp.cfg.
Example:
[file path]
\dest\for\content.cfg
The exact format of each system file is described in detail later in this document.
Important Note: Contrary to what is state above, the file ‘\cfg\scanner.cfg’ holds the scanner configuration in binary format. This file is created automatically by the module and must not be altered manually.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Basic Operation 9
2.3 Network Reset Handling
The Identity object provides a reset service. By default, incoming reset requests are handled as follows:
•
Reset Type 0: ‘Power Cycling Reset’
Module is restarted.
•
Reset Type 1: ‘Out of Box Reset’
The contents of ‘\cfg\’ is erased, and the module is restarted.
Optionally, the module can forward reset requests to the application. To accomplish this, use the following settings in ANYBUS_INIT:
•
Set the RDR-bit (bit 4) in the ‘Operation Mode’-word
•
Set the RST-bit (bit 3) in the ‘Event Notification Config.’-word
This will cause the module to generate an Event Notification (which depending on the implementation
may or may not trigger an interrupt) each time a network-reset is received. The application can then retrieve the reset-type using GET_ID_RESET_PARAM and perform the desired actions (e.g. erase the
‘\cfg\’ directory and internal configuration settings + reset itself and the Anybus module).
See also...
•
“Identity Object, Class 01h” on page 37
•
“Enable Exact IO Match (EXACT_IO_MATCH)” on page 128
2.4 DNS Functionality
General
DNS is a service which translates hostnames into IP addresses. To achieve this, the Anybus module asks
a DNS server for the IP address of a specified host. If the hostname isn’t recognized by the server, it
will forward the request to another DNS server until the corresponding address is found.
The Anybus will use this functionality each time a hostname is used instead of an IP address.
Host / Domain Names Conventions
Prior to issuing a DNS request, the Anybus module will process the specified hostname as follows:
•
If the hostname does not contain a dot, the Anybus will append the default domain.
•
If the hostname ends with a dot, that dot will automatically be removed.
•
If the hostname contains a dot but isn’t ending with one, the Anybus will issue a DNS request.
If this request fails, the Anybus will append the default domain name and retry.
Examples:
(In the examples below, the default domain is ‘hms.com’)
•
‘test’ becomes ‘test.hms.com’
•
‘test.hms.com.’ becomes ‘test.hms.com’
•
‘test.a’ will if not found become ‘test.a.hms.com’
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 3
3. Network Configuration
3.1 TCP/IP Settings
To be able to participate on the network, the module needs a valid TCP/IP configuration. These settings
are stored in the system file ‘\cfg\ip.cfg’.
File Format:
[IP address]
xxx.xxx.xxx.xxx
[Subnet mask]
xxx.xxx.xxx.xxx
[Gateway address}
xxx.xxx.xxx.xxx
[DHCP]
ON or OFF
•
IP address
•
Subnet mask
•
Gateway address
•
DHCP/BootP
ON - Enabled
OFF - Disabled
[DNS1 address]
xxx.xxx.xxx.xxx
[DNS2 address]
xxx.xxx.xxx.xxx
[Domain name]
domain
•
Primary and Secondary DNS
•
Default domain name for not fully qualified host names
•
Host name of the module
[Host name]
anybus
The settings in this file may also be affected by...
•
Mailbox Commands (See “General Configuration Commands” on page 56)
•
EtherNet/IP (See “TCP/IP Interface Object, Class F5h” on page 50)
•
DHCP/BootP (See “DHCP/BootP” on page 11)
•
HICP (See “HICP (Anybus IPconfig)” on page 11)
•
SSI (See “Server Side Include (SSI)” on page 20)
•
Switches (See below)
If the on-board switches are set to 0 (zero), the module will only use the settings stored in ‘
\cfg\ip.cfg’. If not, the switch setting overrides certain settings in this file as follows:
SW1
OFF
OFF
OFF
...
SW2
OFF
OFF
OFF
...
SW3
OFF
OFF
OFF
...
SW4
OFF
OFF
OFF
...
SW5
OFF
OFF
OFF
...
SW6
OFF
OFF
OFF
...
SW7
OFF
OFF
ON
...
SW8
OFF
ON
OFF
...
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON
ON OFF ON
ON ON OFF
ON ON ON
DHCP
Disabled
Disabled
...
Disabled
Disabled
Subnet
Gateway
Determined by ‘\cfg\ip.cfg’
255.255.255.0 192.168.0.255
255.255.255.0 192.168.0.255
...
...
IP
192.168.0.1
192.168.0.2
...
255.255.255.0 192.168.0.255 192.168.0.253
255.255.255.0 192.168.0.255 192.168.0.254
(invalid setting)
Note: The switches are read during startup; any changes require a reset in order to have effect.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Network Configuration 11
3.2 HICP (Anybus IPconfig)
The module supports the HICP protocol used by the Anybus IPconfig utility, which can be downloaded
free of charge from the HMS website. This utility may be used to access the network settings of any Anybus product connected to the network via UDP port 3250.
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 module will appear as ‘ABM-EIP’.
To alter the network settings of the module, doubleclick on its entry in the list. A window will appear,
containing the settings for the module.
Validate the new settings by clicking ‘Set’. The new IP
configuration will be stored in ‘\cfg\ip.cfg’.
Optionally, the configuration can 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’.
The password is stored in the system file ‘\cfg\hicp.cfg’.
File Format:
[Password]
<password>
Note: This feature cannot be used to alter the network settings if the mailbox command
SET_IP_CONFIG has been issued (see “Set IP Configuration (SET_IP_CONFIG)” on page 57).
3.3 DHCP/BootP
The module can retrieve the TCP/IP settings from a DHCP or BootP server. If no DHCP server is
found, the module will fall back on it’s current settings (i.e. the settings currently stored in ‘\cfg\ip.cfg’).
If no current settings are available (i.e. set to 0), the module will halt and indicate an error on the onboard status LEDs (the network configuration can however still be accessed via HICP, see “HICP (Anybus IPconfig)” on page 11.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Network Configuration 12
3.4 Speed and Duplex
The module supports 10 or 100Mbit operation in full or half duplex. These settings are stored in the
system file ‘cfg\etn.cfg’. The settings can also be altered via the Ethernet Link Object, see “Ethernet
Link Object, Class F6h” on page 53.
File Format:
[AutoNeg]
xxx
•
Auto-negotiation; valid settings: ‘ON’ or ‘OFF’
[Speed]
xxx
•
Speed; valid settings: ‘100’ or ‘10’
[Duplex]
xxxx
•
Duplex; valid settings: ‘FULL’ or ‘HALF’
3.5 IP Access Control
It is possible to specify which IP addresses that are permitted to connect to the module. This information is stored in the system file ‘\cfg\ip_accs.cfg’.
File Format:
[Web]
xxx.xxx.xxx.xxx
•
Nodes listed here may access the web server.
[FTP]
xxx.xxx.xxx.xxx
•
Nodes listed here may access the FTP server.
[Ethernet/IP]
xxx.xxx.xxx.xxx
•
Nodes listed here may connect to the module via EtherNet/IP.
[All]
xxx.xxx.xxx.xxx
•
Fallback setting, used by the module when one or several of the
keys above are omitted.
Note: ‘*’ may be used as a wildcard to select IP series.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 4
4. FTP Server
4.1 General
The module features a built in FTP server, which can be used to upload/download files to the filesystem
using a standard FTP client.
The FTP server can be disabled using the mailbox command DISABLE_FTP_SERVER, see “Disable
FTP server (DISABLE_FTP_SERVER)” on page 66.
The following port numbers are used by the FTP server:
•
TCP, port 20 (FTP data port)
•
TCP, port 21 (FTP command port)
The FTP server can handle a maximum of 16 simultaneous connections.
Security Levels
The FTP-server features two security levels; admin and normal. Security is set at a per-user basis, or globally using the mailbox command GLOBAL_ADMIN_MODE (see “Global Admin Mode
(GLOBAL_ADMIN_MODE)” on page 67).
•
Normal level
The root directory will be ‘\cfg’.
•
Admin level (User or global)
The root directory will be ‘\’, i.e. the user has unrestricted access to the file system.
If the mailbox command GLOBAL_ADMIN_MODE (see “Global Admin Mode
(GLOBAL_ADMIN_MODE)” on page 67) is issued during startup, the module will run in global admin mode, causing the FTP-server to accept any username/password combination. Connecting to the module when running in global admin mode provides unrestricted access to the
filesystem.
User Accounts
The user accounts are stored in two files, which are protected from web access:
•
‘\cfg\pswd\sys_pswd.cfg’
This file holds the user accounts for normal-level users.
•
‘\pswd\ad_pswd.cfg’
This file holds the user accounts for admin-level users.
File Format:
The format of these files are as follows:
Username1:Password1
Username2:Password2
Username3:Password3
Note: If no valid user accounts has been defined, the module will fall back to global admin mode.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
FTP Server 14
FTP Connection Example (Windows Explorer)
The built in FTP client in Windows Explorer can easily be used to access the filesystem 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 module
- Substitute <user> with the username
- Substitute <password> with the password
3. Press enter. The Explorer will now attempt to connect to the module using the specified settings.
If successful, the filesystem of the module is displayed in the Explorer window.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 5
5. Web Server
5.1 General
The Anybus module 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 and can handle a maximum of 48 simultaneous connections.
See also...
•
“Disable Web Server (DISABLE_WEB_SERVER)” on page 64
Protected Files
For security reasons, the following files are protected from web access:
•
Files located in ‘\cfg\pswd’
•
Files located in ‘\pswd’
•
Files located in a directory which contains a file named ‘web_accs.cfg’
Default Web Pages
The Anybus module contains a set of virtual files that 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 that case the link
shall point to ‘\config.htm’.
These virtual files are:
\index.htm
\config.htm
\configform.htm
\configform2.htm
\store.htm
\logo.jpg
\configuration.gif
\boarder.bg.gif
\boarder_m_bg.gif
\index.htm
l
\eth_stat.html
\cip_stat.html
\ip_config.shtm
\smtp_config.shtm
\style.css
\arrow_red.gif
Anybus-M EtherNet/IP
Doc.Rev. 1.10
-
Points to the
Configuration
Configuration
Configuration
Configuration
HMS logo
Configuration
picture
picture
Points to the
Configuration
Configuration
Configuration
Configuration
HMS logo
Configuration
contents of config.htm
frame page
form page
form page
store page
picture
contents of config.htm
frame page
form page
form page
store page
picture
Doc.Id. HMSI-168-21
Web Server 16
5.2 Authorization
Directories can be protected from web access by placing a file called ‘web_accs.cfg’ in the directory to
protect. This file shall contain a list of users that are allowed to access the directory and its subdirectories.
File Format:
Username1:Password1
Username2:Password2
...
UsernameN:PasswordN
[AuthName]
(message goes here)
•
List of approved users.
•
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.
The list of approved users can optionally be redirected to one or several other files.
Example:
In this example, the list of approved users will be loaded from the files ‘here.cfg’ and ‘too.cfg’.
[File path]
\i\put\it\over\here.cfg
\i\actually\put\some\of\it\over\here\too.cfg
[AuthName]
Yeah. Whatsda passwoid?
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 15.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Web Server 17
5.3 Content Types
By default, the following content types are recognized by their file extension:
Content Type
text/html
image/gif
image/jpeg
image/x-png
application/x-javascript
text/plain
application/x-zip-compressed
application/octet-stream
text/vnd.wap.wml
application/vnd.wap.wmlc
image/vnd.wap.wbmp
text/vnd.wap.wmlscript
application/vnd.wap.wmlscriptc
text/xml
application/pdf
File Extension
*.htm, *.html, *.shtm
*.gif
*.jpeg, *.jpg, *.jpe
*.png
*.js
*.bat, *.txt, *.c, *.h, *.cpp, *.hpp
*.zip
*.exe, *.com
*.wml
*.wmlc
*.wbmp
*.wmls
*.wmlsc
*.xml
*.pdf
It is possible to configure/reconfigure the reported content types, and which files that shall be scanned
for SSI. This is done in the system file ‘\http.cfg’.
File Format:
[FileTypes]
FileType1:ContentType1
FileType2:ContentType2
...
FileTypeN:ContentTypeN
[SSIFileTypes]
FileType1
FileType2
...
FileTypeN
Note: Up to 50 content types and 50 SSI file types may be specified in this file.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 6
6. SMTP Client
6.1 General
The built in email client can send predefined email messages based on trigger-events in the dual port
memory (DPRAM). The application can also use the client directly via the mailbox interface.
The client supports SSI, however note that some SSI functions cannot be used in email messages (specified separately for each SSI function).
See also...
•
“Server Side Include (SSI)” on page 20
•
“Send Email (SEND_EMAIL)” on page 139
Server Settings
The module needs a valid SMTP server configuration in order to be able to send email messages. These
settings are stored in the system file ‘\cfg\smtp.cfg’.
File Format:
[SMTP address]
xxx.xxx.xxx.xxx
[SMTP username]
user
•
Outgoing email server address
•
SMTP server login. Optional.
[SMTP password]
password
See also...
•
“Set SMTP Configuration (SET_SMTP_CONFIG)” on page 62
•
“Get SMTP Configuration (GET_SMTP_CONFIG)” on page 63“Send Email
(SEND_EMAIL)” on page 139
Event-Triggered Messages
As mentioned previously, the email client can send predefined message based on events in the DPRAM.
In operation, this works as follows:
1. The trigger source is fetched from the dual port memory
2. A logical AND is performed between the trigger source and a mask value
3. The result is compared to a reference value according to a specified operand
4. If the end result is true, the email 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 “Email Definitions” on page 19.
Note that the DPRAM is scanned once every 0.5 second, i.e. a trigger-event must be present longer than
0.5 seconds to ensure that it is detected by the Anybus module.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
SMTP Client 19
6.2 Email Definitions
The email definitions are stored in the following two directories:
•
‘\cfg\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.
Email definition files must be named ‘email_1.cfg’, ‘email_2.cfg’... ‘email_10.cfg’ in order to be properly
recognized by the module.
File Format:
[Register]
Area, Offset, Type
[Register Match]
Value, Mask, Operand
[To]
recipient
[From]
sender
[Subject]
subject line
[Headers]
Optional extra headers
[Message]
message body
Key
Area
Offset
Type
Value
Mask
Operand
To
From
Subject
Headers
Message
Value
Scanned for SSI
Source area in DPRAM. Possible values are ‘IN’ or ‘OUT’
No
Source offset, written in decimal or hexadecimal.
Source data type. Possible values are ‘byte’, ‘word’, and ‘long’
Used as a reference value for comparison.
Mask value, applied on the trigger source prior to comparison (logical AND).
Possible values are ‘<‘, ‘=’ or ‘>’
Email recipient
Yes
Sender email address
Email subject. One line only.
Optional; may be used to provide additional headers.
The actual message.
Note: Hexadecimal values must be written with the prefix ‘0x’ in order to be recognized by the module.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 7
7. Server Side Include (SSI)
7.1 General
Server Side Include (from now on referred to as SSI) functionality enables dynamic content to be used
on web pages and in email messages.
SSI are special commands embedded in the source document. When the Anybus module encounters
such a command, it will execute it, and replace it with the result (when applicable).
Syntax
The ‘X’s below represents a command opcode and parameters associated with the command.
<?--#exec cmd_argument=’XXXXXXXXXXXXXXXXXXXXXX’-->
Example
The following example causes a web page to display the Ethernet Mac ID of the module:
<HTML>
<HEAD><TITLE>SSI Test</TITLE></HEAD>
<BODY>
The Ethernet Mac ID of the Anybus module is:
<?--#exec cmd_argument=’DisplayMacID’-->
</BODY>
</HTML>
Resulting web page:
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 21
7.2 Functions
DisplayMacID
This function returns the MAC ID in format xx:xx:xx:xx:xx:xx.
Syntax:
<?--#exec cmd_argument=’DisplayMacId’-->
DisplaySerial
This function returns the serial number of the Anybus module.
Syntax:
<?--#exec cmd_argument=’DisplaySerial’-->
DisplayFWVersion
This function returns the main firmware revision of the Anybus module.
Syntax:
<?--#exec cmd_argument=’DisplayFWVersion’-->
DisplayBLVersion
This function returns the bootloader firmware revision of the Anybus module.
Syntax:
<?--#exec cmd_argument=’DisplayBLVersion’-->
DisplayIP
This function returns the currently used IP address.
Syntax:
<?--#exec cmd_argument=’DisplayIP’-->
DisplaySubnet
This function returns the currently used Subnet mask.
Syntax:
<?--#exec cmd_argument=’DisplaySubnet’-->
DisplayGateway
This function returns the currently used Gateway address.
Syntax:
<?--#exec cmd_argument=’DisplayGateway’-->
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 22
DisplayDhcpState
This function returns whether DHCP/BootP is enabled or disabled.
Syntax:
<?--#exec cmd_argument=’DisplayDhcpState( "Output when ON", "Output when OFF"
)’-->
StoreIPConfig
Note: This function cannot be used in email messages.
This SSI function stores a passed IP configuration in the configuration file ‘IP.cfg’.
Syntax:
<?--#exec cmd_argument=’StoreIPConfig’-->
Include this line in a HTML page and pass a form with new IP settings to it.
Accepted fields in form:
SetIp
SetSubnet
SetGateway
SetDhcpState - value "on" or "off"
SetDNS1
SetDNS2
SetHostName
SetDomainName
Default output:
Invalid IP address!
Invalid Subnet mask!
Invalid Gateway address!
Invalid IP address or Subnet mask!
Invalid DHCP state!
Invalid DNS1!
Invalid DNS2!
Configuration stored correctly.
Failed to store configuration.
GetText
Note: This function cannot be used in email messages.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 23
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
Failure
- Write succeeded
- 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:
+
(space)
0
#
which specifies left adjustment of the converted argument in its field.
which specifies that the number will always be printed with a sign
if the first character is not a sign, a space will be prefixed.
for 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.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 24
The conversion characters and their meanings are shown below. If the character after the % is not a conversion character, the behaviour is undefined.
Character
d, i
o
x, X
u
c
s
f
e, E
g, G
%
Argument type, Converted to
byte, short; decimal notation (For signed representation. Use signed argument)
byte, short; octal notation (without a leading zero).
byte, short; hexadecimal notation (without a leading 0x or 0X), using abcdef for 0x or ABCDEF for
0X.
byte, short; decimal notation.
byte, short;single character, after conversion to unsigned char.
char*; characters from the string are printed until a "\0" is reached or until the number of characters
indicated by the precision have been printed
float; decimal notation of the form [-]mmm.ddd, where the number of d’s is specified by the precision. The default precision is 6; a precision of 0 suppresses the decimal point.
float; 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.
float; %e or %E is used if the exponent is less than -4 or greater than or equal to the precision; otherwise %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:
Argument
InReadSByte(offset)
InReadUByte(offset)
InReadSWord(offset)
InReadUWord(offset)
InReadSLong(offset)
InReadULong(offset)
InReadString(offset)
InReadFloat(offset)
OutReadSByte(offset)
OutReadUByte(offset)
OutReadSWord(offset)
OutReadUWord(offset)
OutReadSLong(offset)
OutReadULong(offset)
OutReadString(offset)
OutReadFloat(offset)
MbReadSByte(id)
MbReadUByte(id)
MbReadSWord(id)
MbReadUWord(id)
MbReadSLong(id)
MbReadULong(id)
MbReadString(id)
MbReadFloat(id)
CipReadSByte(class, inst, attr)
CipReadUByte(class, inst, attr)
CipReadSWord(class, inst, attr)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Read a signed byte from position offset in the IN area
Read an unsigned byte from position offset in the IN area
Read a signed word from position offset in the IN area
Read an unsigned word from position offset in the IN area
Read a signed longword from position offset in the IN area
Read an unsigned longword from position offset in the IN area
Read a string (char*) from position offset in the IN area
Read a floating point (float) value from position offset in the IN area
Read a signed byte from position offset in the OUT area
Read an unsigned byte from position offset in the OUT area
Read a signed word (short) from position offset in the OUT area
Read an unsigned word (short) from position offset in the OUT area
Read a signed longword (long) from position offset in the OUT area
Read an unsigned longword (long) from position offset in the OUT area
Read a null-terminated string from position offset in the OUT area
Read a floating point (float) value from position offset in the OUT area
Read a signed byte (short) from the application via the mailbox interface
Read an unsigned byte (short) from the application via the mailbox interface
Read a signed word from the application via the mailbox interface
Read an unsigned word from the application via the mailbox interface
Read a signed longword from the application via the mailbox interface
Read an unsigned longword from the application via the mailbox interface
Read a null-terminated string from the application via the mailbox interface
Read a floating point (float) value from the application via the mailbox
interface
Read a signed byte from a CIP-object
Read an unsigned byte from a CIP-object
Read a signed word from a CIP-object
Doc.Id. HMSI-168-21
Server Side Include (SSI) 25
Argument
CipReadUWord(class, inst, attr)
CipReadSLong(class, inst, attr)
CipReadULong(class, inst, attr)
CipReadFloat(class, inst, attr)
CipReadShortString(class, inst, attr)
CipReadString(class, inst, attr)
CipReadUByteArray(class, inst, attr)
CipReadUWordArray(class, inst, attr)
CipReadULongArray(class, inst, attr)
Description
Read an unsigned word from a CIP-object
Read a signed longword from a CIP-object
Read an unsigned longword from a CIP-object
Read a floating point value from a CIP-object
Read a short string from a CIP-object
Read a null-terminated string from a CIP-object
Read an unsigned byte-array from a CIP-object
Read an unsigned word-array from a CIP-object
Read an unsigned longword-array from a CIP-object
scanf
Note: This function cannot be used in email messages.
This SSI function reads a string passed from an object in a HTML form, interprets the string according
to the specification in format, and stores the result in the OUT area according to the passed arguments.
The formatting of the string is equal to the standard C function call scanf()
Syntax:
<?--#exec cmd_argument=’scanf( "ObjName", "format", Arg1, ..., ArgN), ErrVal1,
..., ErrvalN’-->
ObjName
format
Arg1 - ArgN
ErrVal1 -ErrValN
- The name of the object with the passed data string
- Specifies how the passed string shall be formatted
- Specifies where to write the data
- Optional; specifies the value/string to write in case of an error.
Character Input, Argument Type
d
Decimal number; byte, short
i
Number, byte, short. The number may be in octal (leading 0(zero)) or hexadecimal (leading 0x
or 0X)
o
Octal number (with or without leading zero); byte, short
u
Unsinged decimal number; unsigned byte, unsigned short
x
Hexadecimal number (with or without leading 0x or 0X); byte, short
c
Characters; 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.
s
Character 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, g
Floating-point number with optional sign, optional decimal point and optional exponent; float*
%
Liteal %; 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’
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 26
The arguments that can be passed to the SSI function scanf are:
Argument
OutWriteByte(offset)
OutWriteWord(offset)
OutWriteLong(offset)
OutWriteString(offset)
OutWriteFloat(offset)
MbWriteByte(id)
MbWriteWord(id)
MbWriteLong(id)
MbWriteString(id)
MbWriteFloat(id)
CipWriteByte(class, inst, attr)
CipWriteWord(class, inst, attr)
CipWriteLong(class, inst, attr)
CipWriteFloat(class, inst, attr)
Description
Write a byte to position offset in the OUT area
Write a word to position offset in the OUT area
Write a long to position offset in the OUT area
Write a string to position offset in the OUT area
Write a floating point value to position offset in the OUT area
Write a byte to the application via the mailbox interface
Write a word to the application via the mailbox interface
Write a longword to the application via the mailbox interface
Write a string to the application via the mailbox interface
Write a floating point value to the application via the mailbox interface
Write a byte value to a CIP-object
Write a word value to a CIP-object
Write a longword to a CIP-object
Write a floating point value to a CIP-object
Default output:
Write succeeded
Write failed
IncludeFile
This SSI function includes the contents of a file on a web page.
Syntax:
<?--#exec cmd_argument=’IncludeFile( "File name" )’-->
Default output:
Success
Failure
- <File content>
- Failed to open <filename>
SaveToFile
Note: This function cannot be used in email 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.
Syntax:
<?--#exec cmd_argument=’SaveToFile( "File name", "Separator",[Append|Overwrite] )’-->
Default output:
Success
Failure
Anybus-M EtherNet/IP
Doc.Rev. 1.10
- Form saved to file
- Failed to save form
Doc.Id. HMSI-168-21
Server Side Include (SSI) 27
SaveDataToFile
Note: This function cannot be used in email messages.
This SSI function saves the data of a passed form to a file. The “Object name” parameter is optional, if
specified, only the data from that object will be stored. If not, the data from all objects in the form will
be stored.
The [Append|Overwrite] parameter determines if the specified file shall be overwritten, or if the data
in the file shall be appended.
Syntax:
<?--#exec cmd_argument=’SaveDataToFile( "File name", "Object name",[Append|Overwrite] )’-->
Default output:
Success
Failure
- Form saved to file
- Failed to save form
DisplayScannerState
This function returns the current scanner mode (run or idle state). It returns the text shown in the brackets below, the first string if the scanner mode is run, the second if the scanner mode is idle.
Syntax:
<?--#exec cmd_argument=’DisplayScannerState
( "Output when Run", “Output when Idle” )’-->
SetScannerState
Note: This function cannot be used in email messages.
This function is used to set the EtherNet/IP Scanner to Run or Idle. A variable called ‘scanner_state’,
with the value ‘run’ or ‘idle’ (other values will be ignored), shall be present when the form is submitted.
Syntax:
<?--#exec cmd_argument=’SetScannerState’-->
Default output:
Failure
- Change scanner mode not possible
See also...
•
“Identity Object, Class 01h” on page 37
•
“Set Scanner Mode (SET_SCANNER_MODE)” on page 131
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 28
StoreUCMMTimeout
This SSI function is used to store a new UCMM timeout (ms) to flash memory. Valid range is
1000 - 30000.
Syntax:
<?--#exec cmd_argument=’StoreUCMMTimeout’-->
Accepted fields in form:
SetUCMMTimeout
Default output:
Success
Failure
- New UCMM timeout successfully stored
- Failed to store new UCMM timeout
DisplayUCMMTimeout
This SSI function is used to display the currently used UCMM timeout value on a web page.
Syntax:
<?--#exec cmd_argument=’DisplayUCMMTimeout’-->
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 29
7.2.1 SSI Scanlist Functionality
The possibility to check and change the scanlist of the module from the default web pages, is disabled
by default. The functionality can be enabled using the mailbox “Scanlist Configuration Web Page Control”, see page 68.
If you replace the default web pages with new ones, the functionality will be enabled by default.
Please note, that if the scanlist is to be changed, the module must be in idle mode. The mode of the
module can be changed either by a CIP command, by a the SSI command “SetScannerState” (see page
27) or the mailbox “Set Scanner Mode (SET_SCANNER_MODE, see page 131). The module can also
be set in idle mode checking the box at the bottom of the first default web page shown.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 30
GetScanListArray
This SSI function is used to get the configured EtherNet/IP scanlist. The output is a javascript array
with the requested name, where the first entry is a header row describing each entry item, followed by
one entry for each configured connection.
In combination with “EditScanEntry”, this function can be used to build up a scanlist configuration web
page. There is a default webpage in the flash of the module that holds scanlist configuration pages. These
have to be enabled using the “Scanlist configuration web page control” mailbox, see page 68.
Syntax in Java code:
<?--#exec cmd_argument=’GetScanListArray( "ScanlistArrayVariableName" )’-->
(When this file is read form the module the SSI-command above is replaced with the array variable “ScanlistArrayVariableName” that holds the ScanList.)
Output Example (output for a scanlist containing two entries):
ScanlistArrayVariableName[0] = (“SN”,“IP address”,“Timeout Mult”,“O->T
RPI”,“O->T Param”, “T->O RPI”,“T->O Param”,“O->T ConnPoint”,“O->T Offset”,
“T->O ConnPoint”, “T->O Offset”, “Config inst”);
ScanlistArrayVariableName[1] =
(1,“10.10.21.28”,0,100000,18454,100000,10258,150,0,100,0,1);
ScanlistArrayVariableName[2] =
(1,“10.10.21.29”,0,100000,18454,100000,10258,150,8,100,8,1);
ScanlistArrayVariableName.length can be used to get the number of rows in the table.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 31
Argument
SN
IP address
Timeout Mult
O->T RPI
T->O RPI
O->T Param
T->O Param
O->T ConnPoint
T->O ConnPoint
O->T Offset
T->O Offset
Description
Connection serial number
Target IP address
Connection timeout multiplier:
0 -> 4 x RPI
1 -> 8 x RPI
2 -> 16 x RPI
3 -> 32 x RPI
4 -> 64 x RPI
5 -> 128 x RPI
6 -> 256 x RPI
7 -> 512 x RPI
Originator to Target/Target to Originator RPI (Requested packet interval) in μs.
Originator to Target/Target to Originator. Information about the connection type and sizea.
Connection type mask:
Multicast connection:
Point-to-point connection:
0x6000 (24576)
0x2000 (8192)
0x4000 (16384)
Connection size mask:
0x01FF (size in bytes, 511)
See table below for a detailed description.
Originator to Target/Target to Originator Connection point (normally the Assembly object
instance in the target, to which the connection shall connect).
Offset ( in number of 16 bit words) in DPRAM IN/OUT area, where this connection data will be
represented.
a. The data in this argument is presented in decimal form in the messages.
The table below gives descriptions of the bits in the argument O->T Param, T->O Param.
Bits
0-8
Parameter
Connection Size
9
Fixed/Variable
10-11
Priority
12
13-14
Reserved
Connection Type
15
Redundant Owner
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
The maximum size , in bytes, of the data for each direction (where applicable) of the
connection. For a variable sized connection, the size shall be the maximum size of the
buffer for any transfer. The actual size of the transfer for a variable connection shall be
equal to or less than the size specified for the connection. The maximum buffer size
shall be dependent on the links that the connection traverses. The connection size includes the sequence count and the 32 bit real time header, if present.
The product only support fixed size connection. The amount of data on each transmission shall be the size specified in the Connection Size parameter. This bit shall always
be set to 0 (fixed).
00: Low
01: High
10: Scheduled (recommended
11: Urgent
Set to zero.
00: (reserved)
01: Multicast, only supported for T->O.
10: Point to Point
11: (reserved)
Always 0, to indicate an exclusive-owner, input-only or listen-only connection.
Doc.Id. HMSI-168-21
Server Side Include (SSI) 32
EditScanEntry
This SSI function is used to edit an entry in the configured EtherNet/IP scanlist. Two variable
entries are present in the form when it is submitted, “ActionObjectName”, specifying which action to take on an entry and “EntryObjectName”, with information about the entry to modify.
In combination with “GetScanListArray”, this function can be used to build up a scanlist configuration web page similar to the one enabled by the “Scanlist configuration web page control”
mailbox.
Syntax:
<?--#exec cmd_argument=’EditScanEntry( "ActionObjectName", "EntryObjectName"
)’-->
Argument
ActionObjectName
EntryObjectName
Description
Specifies the name of the HTML form entry holding information about which action to take on a
scanlist entry:
“delete”
request to delete a scanlist entry
“add”
request to add a scanlist entry
“edit”
request to edit a scanlist entry
Specifies the name of the HTML form entry holding information about the entry the action is valid
for. Content differs depending on action:
“delete”
contains the serial number of the scanlist entry to delete
“add”
string of entry data (see “GetScanListArray” on page 30 for details). Independent
of Set Connection serial number, the first free place is used.
Example:
“0,”10.10.21.28”, 0, 100000, 18454, 100000,10258, 150, 16, 100, 16, 1”a
“edit”
string of entry data
Example:
“2,”10.10.21.28”, 0, 100000, 18454, 100000,10258, 150, 16, 100, 16, 1”a
a. Param data has to be in decimal format. (18458 = 4816h, 10258 = 2812h). The command will result in 10 bytes of
I/O data in each direction (a two byte counter and a four byte run/idle header occupies 6 bytes of O->T data and a
two byte counter occupies two bytes of T->O data) with 16 words offset in DPRAM transferred every 100 ms.
Note: The list is renumbered at repower to remove unused connection serial numbers.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 33
7.3 Changing SSI output
There is 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()".
7.3.1 SSI Output String File
If the file "\ssi_str.cfg" is found in the filesystem and the file is correctly 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 IP or Subnet: "String to use when the IP address and Subnet mask does
not match"
Invalid DNS1: "String to use when the primary DNS cannot be found"
Invalid DNS2: "String to use when the secondary DNS cannot be found"
Save Error: "String to use when storage fails"
Invalid DHCP state: "String to use when the DHCP state is invalid"
[scanf]
Success: "String to use on success"
Failure: "String to use on failure"
[IncludeFile]
Failure: "String to use when failure"1
[SaveToFile]
Success: "String to use on success"
Failure: "String to use on failure"1
[SaveDataToFile]
Success: “String to use on success”
Failure: “String to use on failure”1
[GetText]
Success: “String to use on success”
Failure: “String to use on failure”
The contents of this file can be redirected by placing the line ‘[File path]’ on the first row, and a file path
on the second.
Example:
[File path]
\user\ssi_strings.cfg
In this example, the settings described above will be loaded from the file ‘user\ssi_strings.cfg’.
1.
‘%s’ includes the filename in the string
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Server Side Include (SSI) 34
7.3.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.
Syntax:
<?--#exec cmd_argument=’SsiOutput( "Success string", "Failure string" )’-->
Example:
This example shows how to change the output strings for a scanf SSI call.
<?--#exec cmd_argument=’SsiOutput ( "Parameter1 updated", "Error" )’-->
<?--#exec cmd_argument="scanf( "Parameter1", "%d", OutWriteByte(0) )’-->
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 8
8. Ethernet/IP
The module act as a Scanner Class product on the EtherNet/IP network. EtherNet/IP is based on the
Common Industrial Protocol (CIP) which is also the application layer used by DeviceNet and ControlNet to exchange data between nodes.
The following port numbers are used for the EtherNet/IP communication:
•
TCP, port 41818
Used for encapsulation messages; supports up to 48 concurrent incoming TCP connections.
•
UDP, port 41818
Used for encapsulation messaging over UDP.
•
UDP, port 2222
Used for I/O data (Class 1, Multicast or Point-to-Point).
System File eip.cfg
EtherNet/IP settings are stored in a system file:
•
‘\cfg\eip.cfg’
File Format:
The file shall contain one or several of the headers below
[UCMM Timeout]
1500
[Select ACD]
1
[ACD activity]
0
[Remote MAC]
00:00:00:00:00:00
[ARP PDU]
00000000000000000000000000000000000000000000000000000000
If the file does not exist or if the UCMM timeout value is outside the valid range (1000 - 30000 ms), the
default value (1500 ms) will be used. If the value in this file is changed during runtimem the new value
will ot be used until the next restart of the module.
Select ACD is mapped to attribute #10 in the TCP/IP object (F5h). If the eip.cfg file does not exist,
ACD will be enabled. Valid values are 1 to enable and 0 to disable ACD.
The remaining parameters in the eip.cfg file are members of the LastConflictDetected structure in attribute #11 of the TCP/IP object (F5h). The parameters are written when an ACD conflict occurs and
read when a Get_Attribute_Single or a Get_Attributes_All service is received. The parameters are set
to 0 if a Set_Attribute_Single service is received. Each by in Remote MAC and ARP PDU is represented
by tow digit hexadecimal number.
See also ...
•
“TCP/IP Interface Object, Class F5h” on page 50
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Ethernet/IP 36
8.1 Implemented Objects
EtherNet/IP requires some mandatory objects; these are implemented as well as some vendor specific
objects. The mandatory objects are the ones in the specification from ODVA.
The following vendor specific objects are implemented:
•
Identity Object, Class 01h
•
Message Router, Class 02h
•
Assembly Object, Class 04h
•
Connection Manager Object, Class 06h
•
Diagnostic Object, Class AAh
•
Parameter Data Input Mapping Object, Class B0h
•
Parameter Data Output Mapping Object, Class B1h
•
Connection Configuration Object, Class F3h
•
Port Object, Class F4h
•
TCP/IP Interface Object, Class F5h
•
Ethernet Link Object, Class F6h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Ethernet/IP 37
8.1.1 Identity Object, Class 01h
Services
Class services:
Get Attribute All
Get Attribute Single
Instance services:
Get Attribute All
Get Attribute Single
Set Attribute Single
Reset (See “Network Reset Handling” on page 9)
Class Attributes
#
1
Access
Get
Name
Revision
Type
UINT
Value
0001h
Description
Revision 1
Description
Instance Attributes
#
1
Access
Get
Name
Vendor ID
Type
UINT
Value
Default: 005Ah
HMS Industrial Networks ABa
2
Get
Device Type
UINT
Default: 0000h
Generic Devicea
3
Get
Product Code
UINT
Default: 0022h
4
Get
Revision
Struct of:
USINT
Anybus-M Etherneta
Major fieldbus versiona
USINT
5
6
7
Get
Get
Get
Status
Serial Number
Product Name
WORD
UDINT
SHORT_STRING
103
Setb
Scanner Mode USINT
Module serial number
Anybus-M EtherNet/IP
-
Minor fieldbus versiona
Device status, see table below
Serial number of the module
Name of producta
0: Idle mode
1: Run mode
a. Can be customized using mailbox commands, see “EtherNet/IP Specific Commands” on page 111.
b. A ‘Set’-request will result in an ‘Object state conflict’-response if change over network has been disabled. See also
“Set Scanner Mode (SET_SCANNER_MODE)” on page 131
Status Attribute
bit(s)
0
1
2
3
4-7
8
9
10
11
12 - 15
Name
Module Owned
(reserved)
Configured
(reserved)
Extended Device Status
Minor recoverable fault
Minor recoverable fault
Major recoverable fault
Major unrecoverable fault
(reserved)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Extended Device Status
Description
(See table on the right)
-
Value
0000b
0010b
0011b
0100b
0110b
0111b
Meaning
Unknown
Faulted I/O Connection
No I/O connection established
Non volatile configuration bad
Connection in Run mode
Connection in Idle mode
Doc.Id. HMSI-168-21
Ethernet/IP 38
8.1.2 Message Router, Class 02h
Services
Class services:
Instance services:
-
8.1.3 Assembly Object, Class 04h
Services
Class services:
Get Attribute Single
Instance services:
Get Attribute Single
Set Attribute Single
Description
The Assembly Object uses static assemblies. The instance IDs used are in the vendor specific range.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Ethernet/IP 39
Class Attributes
#
1
2
Access
Get
Get
Name
Revision
Max Instance
Type
UINT
UINT
Value
0002h
-
Description
Revision 2
The highest initiated instance no.
Instances
#
3
Contents
Heartbeat instance
Description
No attributes implemented for this instance. Used as a heartbeat instance for
connections only accessing one “real” connection point.
100 Produced Data (target)
This instance only exist if CREATE_CON_TARGET has been issued, and
holds data produced by the module.
150 Consumed Data (target)
This instance only exist if CREATE_CON_TARGET has been issued, and
holds data consumed by the module. The ‘Run/Idle’ information is discarded.
These instances are created by the end user using a configuration tool. The
160 - User configurable consumed
user can select data size and offset for the instance in the memory area of the
164 dataa
scanner. Originators can later connect to a created instance in the O->T
direction.
These instances are created by the end user using a configuration tool. The
165- User configurable produced
user can select data size and offset for the instance in the memory area of the
169 dataa
scanner. Originators can later connect to a created instance in the T->O
direction.
101 Consumed Data (all connections) Equals the contents of instances 768...832
102 Produced Data (all connections) Equals the contents of instances 1024...1087
768 Consumed Data, connection 1
Consumed data associated with I/O connection no. #1
(Configuration Object instance 1)
769 Consumed Data, connection 2
Consumed data associated with I/O connection no. #2
(Configuration Object instance 2)
...
...
...
831 Consumed Data, connection 64 Consumed data associated with I/O connection no. #64
(Configuration Object instance 64)
1024 Produced Data, connection 1
Produced data associated with I/O connection no. #1
(Configuration Object, instance 1)
1025 Produced Data, connection 2
Produced data associated with I/O connection no. #2
(Configuration Object, instance 2)
...
...
...
1087 Produced Data, connection 64
Produced data associated with I/O connection no. #64
(Configuration Object, instance 2)
a. Instances 160-164 and 165- 169 adds slave functionality to the module. Any other node in the network, e.g.
other masters, can use these instances to open a connection to the module.
Note: It is also possible to create target areas dynamically.
Instance Attributes
#
3
Access
Get/Set
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Name
Data
Type
Array of BYTE
Value
-
Description
Data produced/consumed
Doc.Id. HMSI-168-21
Ethernet/IP 40
8.1.4 Connection Manager Object, Class 06h
Services
Class services:
Get Attributes All
Forward Open
Forward Close
Unconnected Send
Instance services:
Get Attributes All
Class Attributes
#
1
Access
Get
Name
Data
Type
UINT
Value
0001h
Description
Revision 1
Instance Attributes, Instance 01h
#
1
2
Access
Get
Get
Name
Open Requests
Open Format Rejects
3
Get
Open Resource Rejects UINT
4
Get
Open Other Rejects
UINT
5
6
Get
Get
Close Requests
Close Format Rejects
UINT
UINT
7
Get
Close Other Rejects
UINT
8
Get
Connection Timeouts
UINT
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Type
UINT
UINT
Description
No. of received ‘Forward Open’-requests
No. of ‘Forward Open’-requests that have been rejected due to
bad format.
No. of ‘Forward Open’-requests that have been rejected due to
lack of resources
No. of ‘Forward Open’-requests that have been rejected for reasons other than bad format or lack of resources.
No. of received ‘Forward Close’-requests.
No. of ‘Forward Close’-requests that have been rejected due to
bad format.
No. of ‘Forward Close’-requests that have been rejected for reasons other than bad format.
No. of connection timeouts.
Doc.Id. HMSI-168-21
Ethernet/IP 41
Class 1 Connections
Class 1 connections are used to transfer I/O data. Each class 1 connection establishes two data transports; one consuming, and one producing.
No. of Supported Originated Class 1 Connections:
Max. Input Connection size:
Min. Output Connection size:
Supported Packet Rate (API):
Supported Trigger Types:
•
64
509 bytes
504 bytes
2...3200ms
Cyclic
Producing Assembly Instances 100, 101, 102
No. of Supported Target Class 1 Connections:
No. of Supported Transports
Supported Transport Types
Supported Packet Rate (API):
Supported Trigger Types:
20 per instance (sharing same transport)
1
Point-to-Point, Multicast
2...3200ms
Cyclic
Once a class 1 connection has been established, a transport is received. This transport may be of
Point-to-Point or Multicast type. If Point-to-Point, the data is transferred using UDP unicast
messages, and no other connections can access the data. If Multicast, the data is transferred with
UDP multicast messages, and other connections may use the same transport accessing the data.
Producing instances can only be assigned one transport. Therefore, if using Point-to-Point connections, only 1 (one) Class 1 connection can be established. However, 20 connections can be
linked to each Multicast transport, allowing 20 Class 1 connections to be established if they all
use the same transport.
In order for a connection to use an existing transport, the connection data size must match the
data size of the existing transport, or an error response will be returned. If the connection RPI
(Requested Packet Interval) does not match the existing connections’s API (Actual Packet Interval), the connection will still be established using the API of the existing transport. This API will
be returned in the response to the ‘Forward Open’-request.
•
Consuming Assembly Instance 150
No. of Supported Target Class 1 Connections:
No. of Supported Transports
Supported Transport Types
Supported Packet Rate (API):
1 per instance
1
Point-to-Point only
Unlimited
Since consuming instances are used to control the outputs, only one connection is allowed to
each consuming instance.The transport used for the connection must be Point-to-Point.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Ethernet/IP 42
Class 3 Target Connections
Class 3 connections are used to establish connections to the message router. Thereafter the connection
is used for explicit messaging. Class 3 connections use TCP connections.
Up to 16 simultaneous class 3 connections towards the message router is supported.
Unconnected Send
If additional communication ports have been registered using REGISTER_PORT, unconnected send
requests to the module will be routed to the application using the mailbox message
ROUTE_REQUEST.
Up to 64 messages can be pending before a client will get a ‘No resource’-response to an unconnected
send request.
See also...
•
“Register Port (REGISTER_PORT)” on page 123
•
“Route Unconnected Send (ROUTE_REQUEST)” on page 126
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Ethernet/IP 43
8.1.5 Diagnostic Object, Class AAh
Services
Class services:
Get Attribute All
Instance services:
Get Attribute Single
Description
This vendor specific object provides diagnostic information from the module.
Class Attributes
#
1
Access
Get
Name
Revision
Type
UINT
Value
0001h
Description
Revision 1
Instance Attributes, Instance 01h
#
01h
02h
03h
04h
0Ah
0Fh
10h
11h
12h
13h
14h
18h
19h
1Ah
1Bh
1Ch
1Dh
1Eh
1Fh
20h
Access
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Name
Module serial number
Vendor ID
Fieldbus Type
Module Software version
Module Type
IN Cyclic I/O length
IN DPRAM length
IN Total length
OUT Cyclic I/O length
OUT DPRAM length
OUT Total length
MAC ID
IP Address
Subnet mask
Gateway address
SMTP server address
DHCP state
Bootloader version
Application interface version
Fieldbus software version
Type
UDINT
UINT
UINT
UINT
UINT
UINT
UINT
UINT
UINT
UINT
UINT
Array of USINT
UDINT
UDINT
UDINT
UDINT
UDINT
UDINT
UINT
UINT
Description
Serial number
Manufacturer Vendor ID
Fieldbus Type
Module software version
Module Type
Size of I/O Input area (in bytes)
Number of valid IN bytes in DPRAM
Total number of IN bytes supported
Size of I/O Output area (in bytes)
Number of valid OUT bytes in DPRAM
Total number of OUT bytes supported
Ethernet MAC ID of the module (6 bytes)
Currently configured IP address
Currently configured subnet mask
Currently configured gateway address
SMTP server address
0=No DHCP, 1=DHCP available
Bootloader firmware version
Application interface software version
Fieldbus interface software version
Doc.Id. HMSI-168-21
Ethernet/IP 44
8.1.6 Parameter Data Input Mapping Object, Class B0h
Services
Class services:
Get Attribute All
Instance services:
Get Attribute Single
Description
This object is created dynamically by the application, and may be used to access blocks of Parameter
Data using connected- and unconnected messages.
Class Attributes
#
1
Access
Get
Name
Revision
Type
UINT
Value
0001h
Description
Revision 1
Instance Attributes, Instance 01h
Each attribute within this instance corresponds to a block of Input Parameter Data. Note that the size
and location of each block must be specified by the application during initialisation. For more information, see “Parameter Data Input Mapping (PARAMETER_IN_MAP)” on page 114.
#
01h
02h
03h
04h
05h
07h
...
32h
Access
Get
Get
Get
Get
Get
Get
...
Get
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Name
Data
Data
Data
Data
Data
Data
...
Data
Type
Array of USINT
Array of USINT
Array of USINT
Array of USINT
Array of USINT
Array of USINT
...
Array of USINT
Description
Mapped block of Input Data.
Mapped block of Input Data.
Mapped block of Input Data.
Mapped block of Input Data.
Mapped block of Input Data.
Mapped block of Input Data.
...
Mapped block of Input Data
Doc.Id. HMSI-168-21
Ethernet/IP 45
8.1.7 Parameter Data Output Mapping Object, Class B1h
Services
Class services:
Get Attribute All
Instance services:
Get Attribute Single
Set Attribute Single
Description
This object is created dynamically by the application, and may be used to access blocks of Parameter
Data using connected- and unconnected messages.
Class Attributes
#
1
Access
Get
Name
Revision
Type
UINT
Value
0001h
Description
Revision 1
Instance Attributes, Instance 01h
Each attribute within this instance corresponds to a block of Output Parameter Data. Note that the size
and location of each block must be specified by the application during initialisation. For more information, see “Parameter Data Out Area Mapping (PARAMETER_OUT_MAP)” on page 116.
#
01h
02h
03h
04h
05h
07h
...
32h
Access
Get/Set
Get/Set
Get/Set
Get/Set
Get/Set
Get/Set
...
Get/Set
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Name
Data
Data
Data
Data
Data
Data
...
Data
Type
Array of USINT
Array of USINT
Array of USINT
Array of USINT
Array of USINT
Array of USINT
...
Array of USINT
Description
Mapped block of Output Data.
Mapped block of Output Data.
Mapped block of Output Data.
Mapped block of Output Data.
Mapped block of Output Data.
Mapped block of Output Data.
...
Mapped block of Output Data
Doc.Id. HMSI-168-21
Ethernet/IP 46
8.1.8 Connection Configuration Object, Class F3h
Services
Class services:
Create
Delete
Restore
Get Attribute All
Set Attribute Single
Kick Timer (4Bh)
Change Start (4Fh)
Get Status (50h)
Change Complete (51h)
Audit Changes (52h)
Instance services:
Delete
Restore
Get Attribute All
Set Attribute All
Get Attribute Single
Description
This object is used to create and maintain a scanlist for the EtherNet/IP network.
When set in RUN mode, the Anybus-M EtherNet/IP module starts to scan all EtherNet/IP slaves in
the network according to the previously configured scanlist. The scanlist can be accessed using Explicit
CIP messages via Ethernet or the mailbox interface, and also via the internal web pages using SSI commands, see “SSI Scanlist Functionality” on page 29.
The object specific service parameters can be set and changed by UCMM commands using the mailbox
“Send UCMM (SEND_UCMM)”, see page 118. The mailbox has to be sent either to the module itself,
using the IP address obtained by the mailbox “Get IP configuration (GET_IP_CONFIG)”, see page
58, or to the Ethernet port on the module via an external tool.
The module must be in idle mode if the scanlist is to be changed. The mode is controlled by a CIP-command, the SSI command “SetScannerState”, see page 27, or the mailbox “Set Scanner Mode
(SET_SCANNER_MODE), see page 131.
Class Attributes
#
1
2
3
5
Name
Revision
Max Instance
No. of instances
Optional service list
Type
UINT
UDINT
UDINT
Struct of:
Value
0002h
0000 0040h
-
Number services
UINT
2
Optional services
Format number
Edit Signature
Array of UINT
UINT
UDINT
{ 0Eh, 10h }
0065h
-
33 Set
Scanner Mode
BOOL
-
34 Get
Scanner Capabilities
WORD
00E3h
8
9
Access
Get
Get
Get
Get
Get
Set
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Revision 2
Maximum instance no. = 64h
List of optional service codes implemented
in this class
Number of services in the optional service
list
The optional service codes
Format number for instance attribute 9
Value written by configuration tool to detect
modifications in instance attribute values.
0 - Idle mode
1 - Run mode
See CIP specification
Doc.Id. HMSI-168-21
Ethernet/IP 47
Instance Attributes
One instance is created for each connection. All instance attributes except attribute #1 is stored in nonvolatile memory. The instances together form the scanlist for the EtherNet/IP network where the module acts as scanner.
#
1
Access
Get
2
3
Set
Set
5
Set
Name
Connection Status
Gen_status
(reserved)
Ext_status
Connection Flags
Target Device ID
Vendor_id
Product_code
Major_rev
Minor_rev
Net connection parameters
Conn_timeout
Xport_class_and_trigger
Rpi_OT
Net_OT
Type
Struct of:
USINT
USINT
UINT
WORD
Struct of:
UINT
UINT
USINT
USINT
Struct of:
USINT
BYTE
UDINT
UINT
Rpi_TO
Net_TO
UDINT
UINT
Struct of:
USINT
USINT
Padded
EPATH
Struct of:
UINT
Array of
Octet
Struct of:
USINT
USINT
STRING2
Struct of:
6
Set
Connection Path
Open_path_size
(reserved)
Open connection path
7
Set
Config #1 Data
Config_data_size
Config_data
8
Set
9
Set
Connection name
Name_size
(reserved)
Connection_name
Implementation Defined
Attribute
Format_number
Impl_defined_data_size
Impl_defined_data
10 Set
Config #2 Data
Config_data_size
Config_data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
UINT
UINT
Array of:
UINT,
UINT,
UINT,
UINT,
UINT,
Struct of:
UINT
Array of
Octet
Description
When a connection is not open, this attribute indicates why
Connection flags
Device identification used by configuration software to identify
target devices associated with this instance.
Connection Timeout Multiplier
Transport Class and Trigger
Originator to Target requested packet interval
Originator toTarget network connection parameters
(This attribute specifies the OT connection size)
Target to Originator requested packet interval
Target to Originator network target connection parameters
(This attribute specifies the TO connection size)
Path size in words (16-bit)
Reserved, ignore
Path used in the ‘Forward Open’-service of the Connection
Manager
Length of Config_data in bytes
Config #1 data
Number of characters in the name
Reserved, ignore
User assigned connection name encoded in UNICODE
0101h
000Ah
Reserved:
(ignore)
Offset OT:
Offset of data in memory map
Reserved:
(ignore)
Offset TO:
Offset of data in memory map
Reserved:
(ignore)
Length of Config_data in bytes
Config #2 data
Doc.Id. HMSI-168-21
Ethernet/IP 48
# Access
11 Set
Name
Proxy Device ID
Vendor_id
Product_type
Product_code
Major_rev
Minor_rev
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Type
Struct of:
UINT
UINT
UINT
USINT
USINT
Description
Vendor ID
Device Type
Product Code
Major Revision
Minor Revision
Doc.Id. HMSI-168-21
Ethernet/IP 49
8.1.9 Port Object, Class F4h
Services
Class services:
Get Attribute All
Get Attribute Single
Instance services:
Get Attribute All
Get Attribute Single
Description
Instances in this class (New ports) can be registered using the REGISTER_PORT mailbox command,
see “Register Port (REGISTER_PORT)” on page 123.
Class Attributes
#
1
2
3
8
Access
Get
Get
Get
Get
Name
Revision
Max Instance
No. of instances
Entry Port
Type
UINT
UINT
UINT
UINT
Value
0001h
0002h
0001h
0002h
9
Get
All Ports
Array of STRUCT
{UINT; UINT;}
0000h 0000h
0000h 0000h
0004h 0002h
Description
Revision 1
2 is the highest instance number (Default)
1 instance is implemented (Default)
Returns the instance of the Port object that
describes the port.
Array of structure containing attributes 1 and
2 from each instance. Instance 1 is at byte
offset 4. Instance 2 is at byte offset 8, etc.
The 4 bytes at offset 0 shall be 0. (Default)
Instance Attributes, Instance 02h
#
1
2
3
4
8
Access
Get
Get
Get
Get
Get
Name
Port Type
Port Number
Port Object
Path Size
Path
Port Name
Node Address
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Type
UINT
UINT
Struct of:
UINT
Padded EPATH
SHORT_STIRNG
Padded EPATH
Value
0004h
0002h
0002h
20 F5 24 01h
‘TCP/IP’
-
Description
4 = TCP/IP
Port 2
Path Size
TCP class, Instance 1
Name of port
EPATH describing our TCP/IP address
Doc.Id. HMSI-168-21
Ethernet/IP 50
8.1.10 TCP/IP Interface Object, Class F5h
Services
Class services:
Get Attribute All
Get Attribute Single
Instance services:
Get Attribute All
Get Attribute Single
Set Attribute Single
Description
This object provides the a mechanism to configure the TCP/IP settings via EtherNet/IP. Note that
writing to this object will affect the settings stored in the configuration file ‘ip.cfg’.
The TCP/IP settings will be updated immediately when the Interface Configuration (#5) attribute is set.
Class Attributes
#
1
Access
Get
Name
Revision
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Type
UINT
Value
0002h
Description
Revision 2
Doc.Id. HMSI-168-21
Ethernet/IP 51
Instance Attributes
#
1
Access
Get
Name
Status
Type
DWORD
Value
-
Comments
Interface status, see “Status Attribute Description” on
page 52
2
Get
Configuration
Capability
DWORD
Bit: Value:
0
0
1
1
2
-
3
4
0
-
5
-
BootP client
DNS client
DHCP
Client
Meaning:
Value:
DISABLE_DHCP mailbox received
0
Other
1
DHCP-DNS Update
Configuration settable
Meaning:
Value:
TCP_IP_RO mailbox received
0
Other
1
Hardware Configurable
Meaning:
Value:
SET_ETN_CONFIG mailbox
0
Other
1
6
0
7
1
8 - 31
3
Get/Seta Configuration
Control
DWORD
4
Get
Struct of:
UINT
Padded EPATH
Struct of:
Port Object
Path Size
Path
5 Get/Seta Interface Configuration
IP Address
Subnet Mask
Gateway
Address
Name Server 1
Name Server 2
Domain Name
a
6 Get/Set Host Name
10 Get/Set SelectACD
11 Get/Set LastConflictDetected
AcdActivity
RemoteMAC
ArpPdu
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Interface config requires reset
ACD capable
(not used, set to 0)
Meaning:
Value:
Configuration from non-volatile memory
0
(i.e. ‘ethcfg.cfg’)
Configuration from DHCP
2
Physical link -> Ethernet object
0002h
2 words
20 F6 24 01h Ethernet Class, Instance 1
UDINT
UDINT
UDINT
-
Currently used IP address
Currently used Subnet mask
Currently used Gateway Address
UDINT
UDINT
STRING
STRING
-
Primary DNS
Secondary DNS
Default domain name
Host name
BOOL
Struct of:
-
Enable ACD
Last detected address conflict.
USINT
Array of 6 USINT Array of 28
USINT
-
State of ACD activity when last conflict detected.
MAC address of remote node from the ARP PDU in
which a conflict was detected.
Copy of the raw ARP PDU in which a conflict was
detected.
Doc.Id. HMSI-168-21
Ethernet/IP 52
Status Attribute Description
Bit (s) Name
Description
0-3
Interface Configuration Indicates the status of the
Status
Interface Configuration
attribute
4
Mcast Pending
6
AcdStatus
7-31
(reserved)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
0 - The Interface Configuration attribute has not
been configured.
1 - The Interface Configuration attribute contains
valid configuration obtained from BOOT, DHCP
or non-volatile storage.
2- The IP address member of the Interface Configuration attribute contains valid configuration,
obtained from hardware settings, e.g. a pushwheel or a thumbwheel.
Indicates a pending configuration change in the TTL Value and/or Mcast Config
attributes. This bit shall be set when either the TTL Value or Mcast Config attribute is
set, and shall be cleared the next time the device starts.
Indicates if an address
0 - No address conflict detected
conflict has been detected
1 - Address conflict detected
Set to zero
Doc.Id. HMSI-168-21
Ethernet/IP 53
8.1.11 Ethernet Link Object, Class F6h
Services
Class services:
Get Attribute All
Get Attribute Single
Instance services:
Get Attribute All
Get Attribute Single
Set Attribute Single
Get and Clear
Description
This object maintains link specific counters and status information for the Ethernet communications
interface.
Class Attributes
#
1
2
3
Access
Get
Get
Get
Name
Revision
Max Instance
No. of instances
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Type
UINT
UINT
UINT
Value
0001h
0001h
0001h
Description
Revision 1
1 is the highest instance number
1 instance is implemented
Doc.Id. HMSI-168-21
Ethernet/IP 54
Instance Attributes
#
1
2
3
4
5
6
Access
Get
Get
Get
Get
Get
Get/Set
Name
Interface Speed
Interface Flags
Physical Address
Interface Counters
In Octets
In Ucast Packets
In NUcast Packets
In Discards
In Errors
Type
UDINT
DWORD
Array of 6 USINTS
Struct of:
UDINT
UDINT
UDINT
UDINT
UDINT
Value
10 or 100
MAC address
In Unknown Protos
Out Octets
Out Ucast Packets
Out Discards
Out Errors
UDINT
UDINT
UDINT
UDINT
UDINT
-
Media Counters
Alignment Errors
Struct of:
UDINT
-
FCS Errors
UDINT
-
Single Collisions
UDINT
-
Multiple Collisions
UDINT
-
SQE Test Errors
UDINT
-
Deferred Transmis- UDINT
sions
Late Collisions
UDINT
-
Excessive Collisions UDINT
-
MAC Transmit
Errors
Carrier Sense
Errors
UDINT
-
UDINT
-
Frame Too Long
UDINT
-
MAC Receive Errors UDINT
-
Interface Control
Control Bits
Force Interface
Speed
-
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Struct of:
UDINT
UDINT
-
Description
The actual speed of the module (MBPS)
Interface flags
Ethernet MAC address of the module
Octets received on the interface
Unicast packets received on the interface
Non-unicast packets received on the interface
Inbound packets with unknown protocol
Inbound packets that contain errors
(In Discards not included)
Inbound packets with unknown protocol
Octets sent on the interface
Non-unicast packets sent on the interface
Outbound packets with unknown protocol
Outbound packets that contain errors
(Out Discards not included)
Frames received that are not an integral
number of octets in length.
Frames received that do not pass the FCS
check
Successfully transmitted frames which experienced exactly one collision
Successfully transmitted frames which experienced more than one collision
Number of times SQRE test error message is
generated
Frames for which the first transmission attempt
is delayed because the medium is busy
Number of times a collision is detected later
than 512 bit-times into the transmission of a
packet
Frames for which a transmission fails due to
excessive collisions
Frames for which transmission fails due to an
internal MAC sub-layer receive error
Times that the carrier sense condition was lost
or never asserted when attempted to transmit
a frame
Frames received that exceed the maximum
permitted frame size
Frames for which reception on an interface
fails due to an internal MAC sub-layer receive
error
Interface Control Bits
Speed at which the interface shall be forced to
operate.
Returns ‘Object state Conflict’ if auto-negotiation is enabled.
Doc.Id. HMSI-168-21
Chapter 9
9. Fieldbus Specific Mailbox Commands
9.1 Fault Information
When a mailbox command cannot be processed, the Message Information register in the header of the
response will indicate that an error occurred (Consult the Anybus-S Parallel Design Guide for more information). If the error code is ‘Invalid Other’ (Fh), extended error information is available in the Fault
Information register (Extended word 8).
The fault codes in the Fault Information register are:
Register Value
0001h
000Ah
000Ch
000Dh
000Eh
000Fh
0010h
0011h
0012h
0013h
0015h
0016h
0017h
0018h
0019h
001Ah
001Bh
001Ch
001Dh
001Eh
001Fh
0020h
0021h
0022h
0023h
0024h
0025h
0026h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Invalid IP-address or Subnet mask
Invalid timeout time
Failed to open file or file not found
Invalid file descriptor
Invalid open method
No email server configured
Command aborted
Too many registered objects
Object already registered
Deregistering invalid object
Unsupported Command
Failed to send UCMM command
No timeout
Invalid port number
Duplicate port number
EPATH too big
Mapping Failed
Reset notification unsupported
Too many open files
Failed to create directory
Failed to delete directory
Failed to rename file
Failed to move file
Failed to copy file
Too many open directories
Failed to open directory or directory not found
Failed to resolve hostname with DNS
Timed out resolving hostname with DNS
Doc.Id. HMSI-168-21
56
9.2 General Configuration Commands
Commands in this category:
Mailbox Commands
Set IP Configuration
(SET_IP_CONFIG)
Get IP Configuration
(GET_IP_CONFIG)
Get MAC Address
(GET_MAC_ADDR)
Set MAC Address
(SET_MAC_ADDR)
Description
Page
Set network settings
57
Retrieve the currently used network settings
58
Retrieve the ethernet MAC address from the module
59
Get the ethernet MAC address of the module
60
Disable HICP (HICP_DISABLE)
Disable HICP support
61
Configures the SMTP server address
62
Configures the SMTP server address
63
This command disables the built in web server
64
This command enables the built in web server
65
This command disables the built in FTP server
66
This command instruct the module to run in global admin mode
67
Enable/disable scanlist configuration web pages
68
Disable the virtual file system
69
Set speed & duplex
70
Get speed & duplex
71
Set SMTP Configuration
(SET_SMTP_CONFIG)
Get SMTP Configuration
(GET_SMTP_CONFIG)
Disable Web Server
(DISABLE_WEB_SERVER)
Enable Web Server
(ENABLE_WEB_SERVER)
Disable FTP server
(DISABLE_FTP_SERVER)
Global Admin Mode
(GLOBAL_ADMIN_MODE)
Scanlist Configuration Web Page
Control (SCANLIST_CFG_CTRL)
Disable Virtual File System
(DISABLE_VFS)
Set Speed and Duplex
(SET_SPD_CONFIG)
Get Speed and Duplex
(GET_SPD_CONFIG)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
57
9.2.1 Set IP Configuration (SET_IP_CONFIG)
Description
This command may be used to specify the TCP/IP network settings. Note that the specified settings
will override the corresponding settings in ‘\cfg\ip.cfg’.
Note: This command may only be issued during initialisation.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0001h
Fault information
Network settings.
(the response holds a copy of the command data)
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Message data word 3
Message data word 4
Message data word 5
Message data word 6
Message data word 7
Message data word 8
Message data word 9
Message data word 10
Message data...
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0001h
(data size)
0001h
0001h
0000h
0000h
IP address (high)
IP address (low)
Subnet mask (high)
Subnet mask (low)
Gateway address (high)
Gateway address (low)
Primary DNS (high)
Primary DNS (low)
Secondary DNS (high)
Secondary DNS (low)
Expected response
(ID)
0002h
0001h
(data size)
0001h
0001h
0000h
0000h
Fault information
IP address (high)
IP address (low)
Subnet mask (high)
Subnet mask (low)
Gateway address (high)
Gateway address (low)
Primary DNS (high)
Primary DNS (low)
Secondary DNS (high)
Secondary DNS (low)
Host name
(string, null-terminated)
Host name
(string, null-terminated)
Domain name
(string, null-terminated)
Domain name
(string, null-terminated)
Fieldbus Specific Message
SET_IP_CONFIG
Data size in bytes
Doc.Id. HMSI-168-21
58
9.2.2 Get IP Configuration (GET_IP_CONFIG)
Description
This command returns the currently used network settings.
Note: This command may only be issued during runtime.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0002h
Currently used network settings.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
0002h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0002h
(data size)
0001h
0001h
0000h
0000h
IP address (high)
IP address (low)
Subnet mask (high)
Subnet mask (low)
Gateway address (high)
Gateway address (low)
Host name
(string, null-terminated)
Fieldbus Specific Message
GET_IP_CONFIG
Size of data in bytes
Response dataword 1
Response dataword 2
Response dataword 3
Response dataword 4
Response dataword 5
Response dataword 6
Response data...
Domain name
(string, null-terminated)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
59
9.2.3 Get MAC Address (GET_MAC_ADDR)
Description
This command returns the MAC address of the module.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0018h
MAC Address, 6 bytes
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0018h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0018h
0006h
0001h
0001h
0000h
0000h
MAC Address (high)
MAC Address (mid)
MAC Address (low)
Fieldbus Specific Message
GET_MAC_ADDR
6 bytes of data (3 words)
Response dataword 1
Response dataword 2
Response dataword 3
Doc.Id. HMSI-168-21
60
9.2.4 Set MAC Address (SET_MAC_ADDR)
Description
This command temporarily changes the MAC address of the module.
Note: This command may only be issued during initialization.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0019h
MAC Address, 6 bytes
(the response holds a copy of the command data)
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message dataword 1
Message dataword 2
Message dataword 3
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0019h
0000h
0001h
0001h
0000h
0000h
MAC Address (high)
MAC Address (mid)
MAC Address (low)
Expected response
(ID)
0002h
0019h
0006h
0001h
0001h
0000h
0000h
MAC Address (high)
MAC Address (mid)
MAC Address (low)
Fieldbus Specific Message
GET_MAC_ADDR
6 bytes of data (3 words)
Doc.Id. HMSI-168-21
61
9.2.5 Disable HICP (HICP_DISABLE)
Description
This command disables support for HICP (Anybus IP Config).
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0013h
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0013h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0013h
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
HICP_DISABLE
(no data)
Doc.Id. HMSI-168-21
62
9.2.6 Set SMTP Configuration (SET_SMTP_CONFIG)
Description
This command may be used to specify the email account settings & the address to the SMTP server.
Note that the specified settings will override the settings in ‘\cfg\smtp.cfg’.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0016h
Fault information
Account settings & SMTP server address
(the response holds a copy of the command data)
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
•
Command
(ID)
4002h
0016h
(data size)
0001h
0001h
0000h
0000h
SMTP Server
(String, null-terminated)
Login
(String, null-terminated)
Password
(String, null-terminated)
Expected response
(ID)
0002h
0016h
(data size)
0001h
0001h
0000h
0000h
Fault information
SMTP Server
(String, null-terminated)
Login
(String, null-terminated)
Password
(String, null-terminated)
Fieldbus Specific Message
SET_SMTP_CFG
Size of data in bytes
SMTP Server
ASCII string, null terminated (e.g. “192.168.1.42” or “smtp.server.com”)
•
Login
ASCII string, null terminated (e.g. “Charles_M” or “Edward_G”)
•
Password
ASCII string, null terminated (e.g. “zombie_001” or “chainsaw”)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
63
9.2.7 Get SMTP Configuration (GET_SMTP_CONFIG)
Description
This command returns the currently used email account settings & the address to the SMTP server.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0017h
Fault information
Account settings & SMTP server address
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Command
(ID)
4002h
0017h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0017h
(data size)
0001h
0001h
0000h
0000h
Fault information
SMTP Server
(String, null-terminated)
Login
(String, null-terminated)
Password
(String, null-terminated)
Fieldbus Specific Message
GET_SMTP_CFG
Size of data in bytes
Response data
SMTP Server
ASCII string, null terminated (e.g. “192.77.6.15” or “smtp.server.com”)
•
Login
ASCII string, null terminated (e.g. “Charles_M” or “Edward_G”)
•
Password
ASCII string, null terminated (e.g. “zombie_001” or “chainsaw”)
This command may be used to specify the address to the SMTP server in ASCII form.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
64
9.2.8 Disable Web Server (DISABLE_WEB_SERVER)
Description
This command disables the onboard web server. The web server is enabled by default.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0004h
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0004h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0004h
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
DISABLE_WEB_SERVER
Doc.Id. HMSI-168-21
65
9.2.9 Enable Web Server (ENABLE_WEB_SERVER)
Description
This command enables the onboard web server. The web server is enabled by default.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0005h
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0005h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0005h
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
ENABLE_WEB_SERVER
Doc.Id. HMSI-168-21
66
9.2.10 Disable FTP server (DISABLE_FTP_SERVER)
Description
This command disables the FTP server.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0006h
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0006h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0006h
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
DISABLE_FTP_SERVER
Doc.Id. HMSI-168-21
67
9.2.11 Global Admin Mode (GLOBAL_ADMIN_MODE)
Description
This command instructs the module to run in Global Admin Mode. For more information, see “Security
Levels” on page 13.
Note: This command may only be issued during initialization.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
000Bh
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
000Bh
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
000Bh
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
GLOBAL_ADMIN_MODE
Doc.Id. HMSI-168-21
68
9.2.12 Scanlist Configuration Web Page Control (SCANLIST_CFG_CTRL)
Description
This command enables/disables the scanlist configuration web pages in the VFS file system.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
000Ch
Enable/Disable
The response indicates if the command was accepted
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
000Ch
0001h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
000Ch
0001h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
SCANLIST_CFG_CTRL
0: Disable
Other: Enable
Doc.Id. HMSI-168-21
69
9.2.13 Disable Virtual File System (DISABLE_VFS)
Description
This command disables the virtual files in the file system.
Note: This command may only be issued during initialization.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0011h
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0011h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0011h
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
DISABLE_VFS
Doc.Id. HMSI-168-21
70
9.2.14 Set Speed and Duplex (SET_SPD_CONFIG)
Description
This command may be used to set the speed and duplex of the ethernet interface. Note that this setting
overrides the settings in ‘etn.cfg’.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
009Bh
Configuration
(the response holds a copy of the command data)
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte
•
Command
(ID)
4002h
009Bh
0001h
0001h
0001h
0000h
0000h
Configuration
Expected response
(ID)
0002h
009Bh
0001h
0001h
0001h
0000h
0000h
Configuration
Fieldbus Specific Message
SET_SPD_CONFIG
Configuration
00h:
01h:
02h:
03h:
04h:
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Auto-negotiation
10Mbit, half duplex
10Mbit, full duplex
100Mbit, half duplex
100Mbit, full duplex
Doc.Id. HMSI-168-21
71
9.2.15 Get Speed and Duplex (GET_SPD_CONFIG)
Description
This command retrieves the currently used speed and duplex settings for the ethernet interface.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
009Ch
Configuration
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Command
(ID)
4002h
009Ch
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
009Ch
0001h
0001h
0001h
0000h
0000h
Configuration
Fieldbus Specific Message
GET_SPD_CONFIG
Response data byte
Configuration
00h:
01h:
02h:
03h:
04h:
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Auto-negotiation
10Mbit, half duplex
10Mbit, full duplex
100Mbit, half duplex
100Mbit, full duplex
Doc.Id. HMSI-168-21
72
9.3 Mailbox Socket Interface
The Anybus module features a transparent socket interface, allowing the application to send and receive
transparent data via TCP/IP or UDP/IP. The mailbox socket interface can be used in two modes:
•
Non-blocking
All mailbox operations on these sockets will respond directly - not block until the command is
performed. Up to 16 simultaneous non-blocking sockets are supported.
Note: Status information for all non-blocking sockets are available in the fieldbus specific area,
see “Fieldbus Specific Area” on page 143.
•
Blocking
Blocking sockets means that the Anybus will not respond to further socket commands until the
previous one has been completed (However, non-socket related commands can still be processed as normal). Up to 32 simultaneous blocking sockets are supported.
Note: Blocking sockets do not have any status information in the fieldbus specific area.
Extensive use of this functionality may affect the performance of the module negatively.
Commands in this category:
Mailbox Command
Socket non-blocking
(SOCKET_NB)
Socket blocking
(SOCKET_B)
Listen
(LISTEN)
Accept
(ACCEPT)
Connect
(CONNECT)
Send
(SEND)
Receive
(RECEIVE)
Send To
(SEND_TO)
Receive From
(RECV_FROM)
Close
(CLOSE)
Send Fragment
(SEND_FRAG)
Receive Fragment
(RECV_FRAG)
Send Fragment To
(SEND_FRAG_TO)
Receive Fragment From
(RECV_FRAG_FROM)
Get Socket Option
(GET_SOCKET_OPTION)
Set Socket Option
(SET_SOCKET_OPTION)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Creates a socket in non-blocking mode.
Page
73
Creates a socket in blocking mode.
74
Starts to listen on a socket for incoming connections.
75
Accepts connections for sockets in blocking mode.
76
Tries to connect a socket to a client.
77
Sends a message to a connected socket.
79
Receives a message form a connected socket.
80
Sends a message to an unconnected UDP socket to a specified
host.
Receives a message from an unconnected UDP socket.
81
82
Closes a socket (and connection).
83
Sends a fragment of a message with a maximum total size of 1460
bytes.
Receives a fragment of a message with a total maximum size of 140
bytes.
Sends a fragment of a message with a total maximum size of 1460
bytes to an unconnected UDP socket.
Receives a fragment of a message with a total maximum size of
1460 bytes from an unconnected UDP socket.
Read options from a socket.
84
90
Sets options to a socket
91
85
87
88
Doc.Id. HMSI-168-21
73
9.3.1 Socket Non-Blocking (SOCKET_NB)
Description
This mailbox command creates a socket in non-blocking mode and associates it to a specific port
number. If the specified port number is 0, the Anybus module selects a free port.
The response message contains a socket descriptor and the port number. The socket descriptor shall be
used on all following operations on the socket. It indicates at which position in the fielbus specific area,
information about this socket can be found.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0040h
The socket type (TCP or UDP) and the port number to bind the socket to.
The response indicates if the command was accepted.
The response indicates which socket descriptor that is used and the port
number the socket is associated to.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message dataword 1
Message dataword 2
•
Command
(ID)
4002h
0040h
0004h
0001h
0001h
0000h
0000h
Socket type
Port number
Expected response
(ID)
0002h
0040h
0004h
0001h
0001h
0000h
0000h
Fault information
Socket descriptor
Port number
Fieldbus Specific Message
SOCKET_NB
4 bytes of data (2 words)
Socket Type
Value
0001h
0002h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Socket type
TCP socket
UDP socket
Doc.Id. HMSI-168-21
74
9.3.2 Socket Blocking (SOCKET_B)
Description
This mailbox command creates a socket in blocking mode and associates it to a specific port number. If
the specified port number is 0, the Anybus module selects a free port.
The response message contains a socket descriptor and the port number. This descriptor shall be used
on all following operations on this socket.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
003Fh
The socket type (TCP or UDP) and the port number to bind the socket to.
The response indicates if the command was accepted.
The response indicates which socket descriptor that is used and the port
number the socket is associated to.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message dataword 1
Message dataword 2
•
Command
(ID)
4002h
003Fh
0004h
0001h
0001h
0000h
0000h
Socket type
Port number
Expected response
(ID)
0002h
003Fh
0004h
0001h
0001h
0000h
0000h
Fault information
Socket descriptor
Port number
Fieldbus Specific Message
SOCKET_B
4 bytes of data (2 words)
Socket Type
Value
0001h
0002h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Socket type
TCP socket
UDP socket
Doc.Id. HMSI-168-21
75
9.3.3 Listen (LISTEN)
Description
This mailbox command makes a socket listen for new connections. If the Anybus module detects a connection request on the specified socket, a new connected socket will be created, and the current socket
will continue listening for new connections. This means that multiple hosts can connect to one listening
socket simultaneously.
Note: This command can only be used on a TCP socket.
•
Non-blocking sockets
Information about active connections on this socket can be read in the fieldbus specific area, see
11-1 “Memory Map” and 11-3 “Socket Status Structure”.
•
Blocking sockets
Socket descriptors for new connections connected to this socket can be received by the mailbox
command ACCEPT, see 9-76 “Accept (ACCEPT)”.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0041h
Socket Descriptor, Fault Information
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0041h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
(reserved, set to 0000h)
-
Expected response
(ID)
0002h
0041h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
Fault information
Fieldbus Specific Message
LISTEN
Doc.Id. HMSI-168-21
76
9.3.4 Accept (ACCEPT)
Description
When a connection request to a listening socket in blocking mode is received, this command receives
the socket descriptor of the newly created connected socket.
This command is blocking and will not respond until a connection request is received.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0050h
Socket Descriptor, Fault Information, Local Port no, Host Port no, Host IP
New socket descriptor
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0050h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
(reserved, set to 0000h)
-
Expected response
(ID)
0002h
0050h
0002h
0001h
0001h
0000h
0000h
Socket Descriptor
Local Port No.
Host Port No.
Host IP-address word 1
Host IP-address word 2
Fault information
New socket descriptor
Fieldbus Specific Message
ACCEPT
Response dataword
Doc.Id. HMSI-168-21
77
9.3.5 Connect (CONNECT)
Description
This mailbox command tries to establish a connection to a specified IP address and port number.
If the socket is of UDP type this command specifies the peer with which the socket is to be associated,
the address is to which datagrams are sent and the only address from which datagrams are received.
If the socket is of TCP type this command attempts to make a connection to another socket. TCP sockets may CONNECT only once, while UDP sockets may use CONNECT multiple times to change their
association.
•
Non-blocking sockets
If this command is correctly sent, it will be accepted regardless of whether it is possible to establish a connection or not. The result of the operation is available in the fieldbus specific area, see
11-1 “Fieldbus Specific Area”.
•
Blocking sockets
This command will block until a connection is established or the connection request is cancelled
due to timeout or connection error.
Initiated by
Command no.
Extended Header
Message data
Response data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
0042h
Socket Descriptor, Fault Information, Connection Result
IP address, Port number
(the response holds a copy of the command data)
Doc.Id. HMSI-168-21
78
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Message data word 3
•
Command
(ID)
4002h
0042h
0006h
0001h
0001h
0000h
0000h
Socket descriptor
(reserved, set to 0000h)
IP address (high)
IP address (low)
Port number
Expected response
(ID)
0002h
0042h
0006h
0001h
0001h
0000h
0000h
New Socket Descriptor
Connection result
Fault information
IP address (high)
IP address (low)
Port number
Fieldbus Specific Message
CONNECT
6 bytes of data (3 words)
Connection Result Code (Only for blocking sockets)
Code
0003h
0004h
0005h
0006h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Status
Connected
Connection Refused
Connection Timeout
Connection Failed
Doc.Id. HMSI-168-21
79
9.3.6 Send (SEND)
Description
This mailbox command writes data to a connected socket. A maximum of 256 bytes of data can be sent
using this command.
•
Non-blocking sockets
If there isn’t enough space available for the data in the output buffers, the response will indicate
that the amount of data actually sent was less than requested.
•
Blocking sockets
If there isn’t buffer space available for the data in the output buffers this command will block
until there is.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0043h
Socket Descriptor, Fault Information
Data to send
(the response holds a copy of the command data)
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0043h
(size)
0001h
0001h
0000h
0000h
Socket descriptor
(reserved, set to 0000h)
Data to send
Expected response
(ID)
0002h
0043h
(size)
0001h
0001h
0000h
0000h
Socket Descriptor
Fault information
Sent data
Fieldbus Specific Message
SEND
Max. 256 bytes
Doc.Id. HMSI-168-21
80
9.3.7 Receive (RECV)
Description
This mailbox command receives data from a connected socket.
If the specified socket is of TCP type this command will return the requested number of bytes from the
received data stream. If the available data is less than requested, all available data will be returned.
If the specified socket is of UDP type this command will return the requested amount of data from the
next received datagram. If the datagram is smaller than requested, the entire datagram will be returned
in the response message. If the datagram is larger than requested, the excess bytes will be discarded.
A maximum of 256 bytes of data can be received using this command.
•
Non-blocking sockets
If no data is available on the socket the response will indicate that 0 bytes of data was received.
•
Blocking sockets
If this command is called and no data is available the command will block until there is. If the
response indicates that 0 bytes of data was received the connection has been closed by the host.
The socket however is still valid and must be closed using the mailbox command CLOSE.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0044h
Socket Descriptor, Bytes to receive, Fault Information
Received data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0044h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
Bytes to receive (in bytes)
-
Expected response
(ID)
0002h
0044h
(size)
0001h
0001h
0000h
0000h
Socket Descriptor
Fault information
Received data
Fieldbus Specific Message
RECV
Maximum 256 bytes
Response data
Doc.Id. HMSI-168-21
81
9.3.8 Send To (SEND_TO)
Description
This mailbox command sends a UDP datagram to a specified IP address and port number. A maximum
of 256 bytes of data can be sent using this command. (Unconnected UDP sockets only)
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0045h
Socket Descriptor, IP-address, Port number, Fault Information
Data to send
Sent data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0045h
(size)
0001h
0001h
0000h
0000h
Socket descriptor
IP-address (high)
IP-address (low)
Port number
(reserved, set to 0000h)
Data to send
Expected response
(ID)
0002h
0045h
(size)
0001h
0001h
0000h
0000h
Socket descriptor
IP-address (high)
IP-address (low)
Port number
Fault information
Sent data
Fieldbus Specific Message
SEND_TO
Maximum 256 bytes
Destination IP address
Port number
Doc.Id. HMSI-168-21
82
9.3.9 Receive From (RECV_FROM)
Description
This mailbox command reads the next received datagram from a UDP type socket. The response message contains the IP address and port number of the sender.
If the received datagram is smaller than requested, the entire datagram will be returned in the response
message. If the received datagram is larger than requested, the excess bytes will be discarded.
A maximum of 256 bytes of data can be received using this command.
•
Non-blocking sockets
If the amount of data available on the socket is less than requested, this is reflected in the data
size of the response.
•
Blocking sockets
If this command is called and no data is available the command will block until there is.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0046h
Socket Descriptor, Bytes to receive, IP-address, Port number, Fault Information
Received data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0046h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
Receive data size
(reserved, set to 0000h)
-
Expected response
(ID)
0002h
0046h
(size)
0001h
0001h
0000h
0000h
Socket descriptor
IP address (high)
IP address (low)
Port number
Fault information
Received data
Fieldbus Specific Message
RECV_FROM
Maximum 256 bytes
Senders IP-address
Sender port number
Response data
Doc.Id. HMSI-168-21
83
9.3.10 Close (CLOSE)
Description
This mailbox command causes a connected socket to shut down and release its socket descriptor.
•
Blocking sockets
Commands still blocking on the socket when it is closed will be aborted and return indicating
0010h (Command aborted)
Note: If a host closes a TCP connection while there is still data available to read on the socket in the
client, the client socket will be indicated as connected until all data is read. In this case, if the client tries
to send data the mailbox response will report “Can’t send more”.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0047h
Socket Descriptor, Fault Information
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0047h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
-
Expected response
(ID)
0002h
0047h
0000h
0001h
0001h
0000h
0000h
Socket descriptor
Fault information
Fieldbus Specific Message
CLOSE
Doc.Id. HMSI-168-21
84
9.3.11 Send Fragment (SEND_FRAG)
Description
This mailbox command is used when sending messages larger than 256 bytes. Internally the fragments
are stored in a buffer until the last fragment is received. The message is then sent to the socket. The
maximum size of a fragmented message is 1460 bytes.
It is not possible to send multiple fragmented messages simultaneously. A fragmented message must be
completely sent before another fragmented message can be sent on the same or another socket.
•
Non-blocking sockets
If there isn’t enough space available for the data in the output buffers, the response will indicate
that the amount of data actually sent was less than requested.
•
Blocking sockets
If there isn’t buffer space available for the data in the output buffers this command will block
until there is.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
005Eh
Socket descriptor, Fragment Type
Data to send
Sent Data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
•
Command
(ID)
4002h
005Eh
(size)
0001h
0001h
0000h
0000h
Socket descriptor
Fragment type
(reserved, set to 0000h)
Data to send
Expected response
(ID)
0002h
005Eh
(size)
0001h
0001h
0000h
0000h
Socket descriptor
Fragment type
No. of sent bytes
Fault information
Sent data
Fieldbus Specific Message
SEND_FRAG
Max. 256 bytes/fragment
See below
(Only in last fragment)
Fragment Type Value
Value
0000h
0001h
0002h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
First fragment of a new message
Subsequent fragment of the message
Last fragment of the message. When this fragment is sent the entire message will be
sent to the socket.
Doc.Id. HMSI-168-21
85
9.3.12 Receive Fragment (RECV_FRAG)
Description
This mailbox command is used to receive fragmented messages larger than 256 bytes from a connected
socket. Internally the entire message will be read from the socket to a buffer. The fragments of the message can then be read from the buffer using this command.
If the specified socket is of TCP type this command will return the requested number of bytes from the
received data stream. If the available data is less than requested, all available data will be returned.
If the specified socket is of UDP type this command will return the requested amount of data from the
next received datagram. If the datagram is smaller than requested, the entire datagram will be returned
in the response message. If the datagram is larger than requested, the excess bytes will be discarded.
The maximum size of a fragmented message is 1460 bytes.
•
Non-blocking sockets
If no data is available on the socket the response will indicate that 0 bytes of data was received.
•
Blocking sockets
If no data is available the command will block until there is. If the response indicates that 0 bytes
of data was received the connection has been closed by the host. The socket however is still valid
and must be closed using the mailbox command CLOSE.
Initiated by
Command no.
Extended Header
Message data
Response data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
005Fh
Socket descriptor, Fragment Type, Receive Data Size, Bytes Remaining,
Fault information
Received Data
Doc.Id. HMSI-168-21
86
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
005Fh
0000h
0001h
0001h
0000h
0000h
Socket descriptor
Fragment type
a
Receive data size
(reserved, set to 0000h)
-
Expected response
(ID)
0002h
005Fh
(size)
0001h
0001h
0000h
0000h
Socket Descriptor
Fragment type
Bytes remaining
Fault information
Received data
Fieldbus Specific Message
RECV_FRAG
Max. 256 bytes/fragment
See below
Response data
a. The receive data size is only used if the Fragment type = 0000h
•
Fragment Type Value
Value
0000h
0001h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Receive first fragment of a new message. This receives a new message from the network. Any unread fragments from earlier received datagrams will be overwritten.
Receive the next fragment of the message.
Doc.Id. HMSI-168-21
87
9.3.13 Send Fragment To (SEND_FRAG_TO)
Description
This mailbox command sends a UDP datagram to a specified IP address and port number. This command is used when sending a fragment of a message larger than 256 byte. Internally the fragments are
stored in a buffer until the last fragment is received. The message is then sent to the socket. The maximum size of a fragmented message is 1460 bytes.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
005Ch
Socket descriptor, Fragment Type, IP-address, Port number, No. of sent
bytes, Fault information
Data to send
Sent data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Command
(ID)
4002h
005Ch
(size)
0001h
0001h
0000h
0000h
Socket descriptor
Fragment type
Expected response
(ID)
0002h
005Ch
(size)
0001h
0001h
0000h
0000h
Socket Descriptor
Fragment type
Extended word 3
IP-address (high)a
IP-address (high)a
Extended word 4
IP-address (low)a
IP-address (low)a
Extended word 5
Port numbera
(reserved, set to 0000h)
Data to send
Port numbera
No. of sent bytes
Fault information
Sent data
Extended word 6
Extended word 7
Extended word 8
Message data
Fieldbus Specific Message
SEND_FRAG_TO
Max. 256 bytes/fragment
See below
Destination IP address
Destination Port number
(Only in last fragment)
a. IP-address and Port Number shall only be given in the first fragment.
•
Fragment Type Value
Value
0000h
0001h
0002h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
First fragment of a new message.
Subsequent fragment of the message
Last fragment of the message. When this fragment is sent the entire message will be
sent to the socket.
Doc.Id. HMSI-168-21
88
9.3.14 Receive Fragment From (RECV_FRAG_FROM)
Description
This mailbox command reads the next received datagram from a UDP type socket. The response message contains the IP address and port number of the sender.
This command is used to receive a fragment of a message larger than 256 bytes. The maximum total size
of a fragmented message is 1460 bytes. The maximal size of each fragment is 256 bytes.
If the received datagram is smaller than requested, the entire datagram will be returned in the response
message. If the received datagram is larger than requested, the excess bytes will be discarded.
For blocking sockets, the first fragment will block until there is data available on the socket.
Internally the entire message is read from the socket to a buffer. The fragments can then be read from
the buffer using this command.
•
Non-blocking sockets
If no data is available on the socket the response will indicate that 0 bytes of data was received.
•
Blocking sockets
If this command is called but there is no data available on the socket the command will block
and not return until there is data available.
Initiated by
Command no.
Extended Header
Message data
Response data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
005Dh
Socket descriptor, Fragment Type, Received data size, Bytes remaining, IPaddress, port number, Fault information
Received data
Doc.Id. HMSI-168-21
89
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Command
(ID)
4002h
005Dh
0000h
0001h
0001h
0000h
0000h
Socket descriptor
Fragment type
Receive data size
(reserved, set to 0000h)
-
Expected response
(ID)
0002h
005Dh
(size)
0001h
0001h
0000h
0000h
Socket Descriptor
Fragment type
Bytes remaining
IP-address (high)
IP-address (low)
Port number
Fault information
Received data
Fieldbus Specific Message
RECV_FRAG_FROM
Max. 256 bytes/fragment
The senders IP address
The senders port number
Response data
Fragment Type Value
Value
0000h
0001h
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Receive first fragment of a new message. This receives a new message from the network. Any unread fragments from earlier received datagrams will be overwritten.
Receive the next fragment of the message.
Doc.Id. HMSI-168-21
90
9.3.15 Get Socket Option (GET_SOCKET_OPTION)
Description
This command reads options from a socket.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0051h
Socket descriptor, Socket Option
Option Data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
0051h
0000h
0001h
0001h
0000h
0000h
Socket Descriptor
Socket Option HI
Socket Option LO
Expected response
(ID)
0002h
0051h
Option data size
0001h
0001h
0000h
0000h
Socket Descriptor
Socket Option HI
Socket Option LO
Option Data
Fieldbus Specific Message
GET_SOCKET_OPTION
Response data
Socket Options
The following options are used to Get settings from a socket:
SO_LINGER
SO_KEEPALIVE
SO_REUSEADDR
IP_MULTICAST_TTL
IP_MULTICAST_LOOP
For more information see section “Socket Options” on page 92.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
91
9.3.16 Set Socket Option (SET_SOCKET_OPTION)
Description
This command changes the settings for a specified socket.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0052h
Socket descriptor, Socket Option
Option Data
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data (size depending on
Socket Option)
Command
(ID)
4002h
0052h
Option data size
0001h
0001h
0000h
0000h
Socket Descriptor
Socket Option HI
Socket Option LO
Expected response
(ID)
0002h
0052h
Option data size
0001h
0001h
0000h
0000h
Socket Descriptor
Socket Option HI
Socket Option LO
Option Data
Fault Information
Option Data
Fieldbus Specific Message
SET_SOCKET_OPTION
Socket Options
The following options are used to Set settings on a socket:
SO_LINGER
SO_KEEPALIVE
SO_REUSEADDR
IP_MULTICAST_TTL
IP_MULTICAST_LOOP
IP_ADD_MEMBERSHIP
IP_DROP_MEMBERSHIP
TCP_NODELAY
For more information see section “Socket Options” on page 92.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
92
9.3.17 Socket Options
Name
SO_LINGER
Socket Option
Data Type
Value
00000080h
Struct of:
UINT32 (l_onoff)
UINT32 (l_linger)
Description
Controls the action taken when unsent data is queued
on a socket that is being closed. This option is only
valid for TCP sockets.
l_onoff
0:Linger OFF (default)
Other:Linger ON
l_linger
Normally defines the linger
timeout.
NOT SUPPORTED,
ALWAYS SET TO 0.
If SO_LINGER is disabled, Socket Close returns
immediately and the connection is closed in the background.
SO_KEEPALIVE
00000008h
UINT32 (l_keepalive)
If SO_LINGER is enabled with a zero timeout, Socket
Close returns immediately and the connection is
reset.
Enables/disables keep alive probes on a socket. This
option is only valid for TCP sockets.
l_keepalive
SO_REUSEADDR
00000004h
UINT32 (l_reuseaddr)
0:Keep alive OFF (default)
Other:Keep alive ON
Keep alive can be used to detect if the host is still
active, and if it is not, close down the connection.
If keep alive is enabled a keep alive probe will be sent
to the host after 2 hours with no data being sent or
received on a connection. This packet is designed to
provoke an ACK response from the host. If no ACK is
received another 8 keep alive probes will be sent with
75 seconds interval, and if none of them is ACKed the
connection will be reset.
Enables/disables reuse address option on a socket.
This option is only valid for TCP sockets.
l_reuseaddr
0:Reuse address OFF
(default)
Other:Reuse address ON
When reuse address option is enabled it is possible to
reuse a TCP port even if the port is busy in
TIME_WAIT state. If the port is busy in other states an
error will still be generated.
This can be useful for a server implementation that is
shut down and directly restarted while sockets are still
active on its port.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
93
IP_MULTICAST_TTL 0000000Ah
UINT8 (b_ttl)
Sets the TTL value for multicast packets. This option
is only valid for UDP sockets.
b_ttl
IP_MULTICAST_LOO 0000000Bh
P
1-255 (Default 1)
The TTL value is part of the IP packet header and
specifies the number of routers a packet is allowed to
pass before it shall be deleted. The default value of 1
prevents multicast packets from being forwarded
beyond the local network.
UINT8 (b_multicastloop) Enables/disables multicast packet loopback. This
option is only valid for UDP sockets.
l_reuseaddr
IP_ADD_MEMBERS 0000000Ch
HIP
Struct of:
UINT32 (l_multiaddr)
UINT32 (l_interface)
0:Multicast loopback OFF
1:Multicast loopback ON (default)
Adds membership to a multicast group. This option is
only valid for UDP sockets.
l_multiaddr
l_interface
IP_DROP_MEMBER 0000000Dh
SHIP
Struct of:
UINT32 (l_multiaddr)
UINT32 (l_interface)
By joining a multicast group the local multicast router
will be notified about the multicast membership (using
IGMP) and the local interface network driver will enable reception of multicast datagrams destined for this
multicast address.
Drops membership from a multicast group. This
option is only valid for UDP sockets.
l_multiaddr
l_interface
TCP_NODELAY
00002002h
UINT32 (l_nodelay)
IP address of multicast
group to join.
IP address of interface to join
(own IP address)
IP address of multicast
group to leave.
IP address of interface (own
IP address)
By leaving a multicast group the local multicast router
will be notified and the local interface network driver
will disable reception of multicast datagrams destined
for this multicast address.
Enables/disables the Nagle algorithm on a socket.
This option is only valid on TCP sockets.
l_nodelay
l_nodelay
0:Nagle algorithm ON
(default)
Other:Nagle algorithm OFF
For some applications, especially request/response
applications, the performance over a TCP connection
may be poor due to the interaction between the Nagle
algorithm and the delayed acknowledgment functionality. Then the TCP_NODELAY option can be used to
disable the Nagle algorithm to increase performance.
For more information about Nagle algorithm see RFC
896.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
94
9.4 Mailbox File System Interface
The filesystem is available to the application through the mailbox interface. Commands in this category:
Mailbox Command
Description
Page
Open File (FILE_OPEN)
Open a file for reading, writing, or appending.
95
Close File (FILE_CLOSE)
Close a file previously opened using FILE_OPEN
96
Read File (FILE_READ)
Read data from a file
97
Write File (FILE_WRITE)
Write data to a file.
98
Delete File (FILE_DELETE)
Delete a file
99
Move File (FILE_MOVE)
Moves a file
100
Rename File (FILE_RENAME)
Rename a file
101
Copy File (FILE_COPY)
Copy a file
102
Create Directory (DIR_CREATE)
Create a new directory
103
Delete Directory (DIR_DELETE)
Delete an empty directory
104
Open Directory (DIR_OPEN)
Open a directory
105
Read Directory (DIR_READ)
Read contents of a directory previously opened using DIR_OPEN
106
Close Directory (DIR_CLOSE)
Close a directory previously opened using DIR_OPEN
108
Format File System (FORMAT_FS)
Formats the filesystem.
File system Checksum (CRC_FS)
Calculate and return the CRC for the File System
Anybus-M EtherNet/IP
Doc.Rev. 1.10
109
110
Doc.Id. HMSI-168-21
95
9.4.1 Open File (FILE_OPEN)
Description
This command opens a file for reading, writing, or appending. If the specified file does not exist, it will
be created.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0060h
Mode, Filesize & Fault information
Name and path to the file to open (NULL terminated)
File Handle
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
•
Expected response
(ID)
0002h
0060h
0004h
0001h
0001h
0000h
0000h
Filesize (high)
Filesize (low)
Fault information
File Handle (high)
File Handle (low)
Fieldbus Specific Message
FILE_OPEN
Response data word 1
Response data word 2
Mode
Value
0000h
0001h
0002h
•
Command
(ID)
4002h
0060h
(size)
0001h
0001h
0000h
0000h
Mode
Path + filename
(String, null-terminated)
Mode
Open a file in read mode
Open a file in write mode. If the specified file does not exist, it will be created. If the
specified file already exists, it will be overwritten.
Open a file in append mode. If the specified file does not exist, it will be created. If the
specified file exists, any data written to the file will be appended at end-of-file.
Filesize
Current filesize (if applicable).
•
File Handle
Unique identifier which must be used on all further operations associated with the file.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
96
9.4.2 Close File (FILE_CLOSE)
Description
This command closes a file previously opened using FILE_OPEN.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0061h
File Handle, Filesize & Fault information.
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Command
(ID)
4002h
0061h
0000h
0001h
0001h
0000h
0000h
File Handle (high)
File Handle (low)
-
Expected response
(ID)
0002h
0061h
0000h
0001h
0001h
0000h
0000h
File Handle (high)
File Handle (low)
Filesize (high)
Filesize (low)
Fault information
Fieldbus Specific Message
FILE_CLOSE
File Handle
Handle of the file to close. See also “File Handle” on page 95.
•
Filesize
Size of the file.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
97
9.4.3 Read File (FILE_READ)
Description
This command reads data from a file previously opened in read mode using FILE_OPEN.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0062h
File Handle, no. of bytes to read & Fault information
The read data is returned in the response data field.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
0062h
0000h
0001h
0001h
0000h
0000h
File Handle (high)
File Handle (low)
No. of bytes
-
Expected response
(ID)
0002h
0062h
(size)
0001h
0001h
0000h
0000h
File Handle (high)
File Handle (low)
No. of bytes
Fault information
Data
•
Fieldbus Specific Message
FILE_READ
Bytes read
Maximum 256 bytes.
Response data
File Handle
File handle of the file to read data from. See also “File Handle” on page 95.
•
No. of bytes
Number of bytes to read minus 1 (i.e. a value of 42 will read 43 bytes).
•
Data
The actual data read from the file (if applicable).
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
98
9.4.4 Write File (FILE_WRITE)
Description
This mailbox command writes data to a file previously opened in write or append mode using
FILE_OPEN.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0063h
File Handle & Fault information
Data to write
A ‘Data size’ value of 0 (zero) indicates that the command was unsuccessful,
possibly due to a faulty handle, or that the module has run out of storage.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
•
Command
(ID)
4002h
0063h
(number of bytes to write)
0001h
0001h
0000h
0000h
File Handle (high)
File Handle (low)
-
Expected response
(ID)
0002h
0063h
(number of written bytes)
0001h
0001h
0000h
0000h
File Handle (high)
File Handle (low)
Fault information
Data
Data
Fieldbus Specific Message
FILE_WRITE
Max. 256 bytes
File Handle
File handle of the file to write data to. See also “File Handle” on page 95.
•
No. of bytes
Number of bytes to write minus 1 (i.e. a value of 42 will read 43 bytes).
•
Data
The actual data that shall be written.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
99
9.4.5 Delete File (FILE_DELETE)
Description
This mailbox command deletes a file from the file system.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0064h
Fault information
Name and path to the file to delete (NULL terminated)
The response data is a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0064h
(size)
0001h
0001h
0000h
0000h
Path + filename
(String, null-terminated)
Expected response
(ID)
0002h
0064h
(size)
0001h
0001h
0000h
0000h
Fault information
Path + filename
(String, null-terminated)
Fieldbus Specific Message
FILE_DELETE
Maximum 256 bytes
Doc.Id. HMSI-168-21
100
9.4.6 Move File (FILE_MOVE)
Description
This command renames a file in the filesystem.
Note: Although the filesystem supports path lengths of up to 256 characters, the total length of the
source and destination paths summed together must be less than 256 characters when using this command due to limitations in the mailbox command structure.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0065h
Fault information
Name + Path of source and destination, both NULL terminated
The response data is a copy of the command data.
Command and response layout
Command
(ID)
4002h
0065h
(size)
0001h
0001h
0000h
0000h
Source: Path + filename
(String, null-terminated)
Message data
Destination: Path + filename
(String, null-terminated)
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Expected response
(ID)
0002h
Fieldbus Specific Message
0065h
FILE_MOVE
(size)
Size of path strings
0001h
0001h
0000h
0000h
Fault information
Source: Path + filename
(String, null-terminated)
Destination: Path + filename
(String, null-terminated)
Doc.Id. HMSI-168-21
101
9.4.7 Rename File (FILE_RENAME)
Description
This command renames a file in the filesystem.
Note: Although the filesystem supports path lengths of up to 256 characters, the total length of the two
pathnames summed together must be less than 256 characters when using this command due to limitations in the mailbox command structure.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0066h
Fault information
Name + Path of source and destination, both NULL terminated
The response data is a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0066h
(size)
0001h
0001h
0000h
0000h
Old: Path + filename
(String, null-terminated)
New: Path + filename
(String, null-terminated)
Expected response
(ID)
0002h
0066h
(size)
0001h
0001h
0000h
0000h
Fault information
Old: Path + filename
(String, null-terminated)
New: Path + filename
(String, null-terminated)
Fieldbus Specific Message
FILE_RENAME
Size of path strings
Doc.Id. HMSI-168-21
102
9.4.8 Copy File (FILE_COPY)
Description
This command copies a file in the filesystem to a specified location.
Note: Although the filesystem supports path lengths of up to 256 characters, the total length of the
source and destination paths summed together must be less than 256 characters when using this command due to limitations in the mailbox command structure.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0067h
Fault information
Name + Path of source and destination, both NULL terminated
The response data is a copy of the command data.
Command and response layout
Command
(ID)
4002h
0067h
(size)
0001h
0001h
0000h
0000h
Source: Path + filename
(String, null-terminated)
Message data
Destination: Path + filename
(String, null-terminated)
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Expected response
(ID)
0002h
Fieldbus Specific Message
0067h
FILE_COPY
(size)
Size of path strings
0001h
0001h
0000h
0000h
Fault information
Source: Path + filename
(String, null-terminated)
Destination: Path + filename
(String, null-terminated)
Doc.Id. HMSI-168-21
103
9.4.9 Create Directory (DIR_CREATE)
Description
This command creates a directory in the file system.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0068h
Fault information
Path and name of the new directory, null terminated.
The response data is a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0068h
(size)
0001h
0001h
0000h
0000h
Path + name
(String, null-terminated)
Expected response
(ID)
0002h
0068h
(size)
0001h
0001h
0000h
0000h
Fault information
Path + name
(String, null-terminated)
Fieldbus Specific Message
DIR_CREATE
Size of path string
Doc.Id. HMSI-168-21
104
9.4.10 Delete Directory (DIR_DELETE)
Description
This command deletes an empty directory from the file system.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0069h
Path and name of the directory, null terminated.
The response data is a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0069h
(size)
0001h
0001h
0000h
0000h
Path + name
(String, null-terminated)
Expected response
(ID)
0002h
0069h
(size)
0001h
0001h
0000h
0000h
Fault information
Path + name
(String, null-terminated)
Fieldbus Specific Message
DIR_DELETE
Size of path string
Doc.Id. HMSI-168-21
105
9.4.11 Open Directory (DIR_OPEN)
Description
This command opens a directory and returns a descriptor that should be used on all further operations
on the directory.
See also “Reading the Contents of a Directory” on page 107.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
006Ah
Path and name of the directory, null terminated.
Directory handle & Fault information
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
•
Command
(ID)
4002h
006Ah
(size)
0001h
0001h
0000h
0000h
Path + name
(String, null-terminated)
Expected response
(ID)
0002h
006Ah
0004h
0001h
0001h
0000h
0000h
Fault information
Directory Handle (high)
Directory Handle (low)
Fieldbus Specific Message
DIR_OPEN
Response data word 1
Response data word 2
Directory Handle
Unique identifier which must be used on all further operations associated with the directory.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
106
9.4.12 Read Directory (DIR_READ)
Description
This command reads the contents of a directory previously opened using DIR_OPEN. This must be
repeated until the response to the command is empty (i.e. until the response data size equals zero).
See also “Reading the Contents of a Directory” on page 107.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
006Bh
Directory Handle & Fault information
Details about one object in the directory.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
006Bh
0000h
0001h
0001h
0000h
0000h
Directory Handle (high)
Directory Handle (low)
-
Expected response
(ID)
0002h
006Bh
(size)
0001h
0001h
0000h
0000h
Directory Handle (high)
Directory Handle (low)
Fault information
Object Size
(long)
Object Flags
Object Name
(string, null-terminated)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Fieldbus Specific Message
DIR_READ
(See DIR_OPEN)
Response data byte 1
Response data byte 2
Response data byte 3
Response data byte 4
Response data byte 5
Response data...
Doc.Id. HMSI-168-21
107
•
Directory Handle
Unique identifier which must be used on all further operations associated with the directory.
•
Object Size
Size of object (i.e. filesize).
•
Object Flags
Various flags specifying the nature of the object:
b7
b6
b5
b4
(reserved)
•
Bit
DIR
Description
Directory flag
RO
Read only
H
Hidden
SYS
System
b3
b2
b1
b0
SYS
H
RO
DIR
0: Object is a file
1: Object is a directory
0: Object can be read or written
1: Object is read-only
0: Object is visible
1: Object is hidden
0: User object
1: System object
Object Name
Name of object, null-terminated (e.g. filename or directory name).
Reading the Contents of a Directory
The following flowchart illustrates the process of reading the contents of a directory:
Start
Open directory
(using DIR_OPEN)
Read one directory object
(using DIR_READ)
(process directory object)
Response size
= zero?
No
Yes
Close the directory
(using DIR_CLOSE)
Done
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
108
9.4.13 Close Directory (DIR_CLOSE)
Description
This command closes a directory previously opened using DIR_OPEN.
See also “Reading the Contents of a Directory” on page 107.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
006Ch
Directory Handle & Fault information
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
006Ch
0000h
0001h
0001h
0000h
0000h
Directory Handle (high)
Directory Handle (low)
-
Expected response
(ID)
0002h
006Ch
0000h
0001h
0001h
0000h
0000h
Directory Handle (high)
Directory Handle (low)
Fault information
Fieldbus Specific Message
DIR_CLOSE
(See DIR_OPEN)
Doc.Id. HMSI-168-21
109
9.4.14 Format File System (FORMAT_FS)
Description
This command formats the file system.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
006Dh
Which disc to format
The response indicates if the command was accepted
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message databyte 1
Command
(ID)
4002h
006Dh
0000ha or 0001h
0001h
0001h
0000h
0000h
(optional)
Disc to format:
0: Root disc
1: cfg disc
2: ram disc
Expected response
(ID)
0002h
006Dh
0000h
Fieldbus Specific Message
FORMAT_FS
No additional data
0001h
0001h
0000h
0000h
-
a. If Data size is set to 0000h, all discs will be formatted
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
110
9.4.15 File system Checksum (CRC_FS)
Description
This command calculates the checksum for the the file system disc area.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
006Eh
Which disc to calculate CRC for
The response indicates if the command was accepted
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
006Eh
0001h
0001h
0001h
0000h
0000h
Disc ID:
0: Root disc
1: cfg disc
2: ram disc
Expected response
(ID)
0002h
006Eh
0004h
0001h
0001h
0000h
0000h
DISC CRC
Fieldbus Specific Message
CRC_FS
Size of data in bytes
Doc.Id. HMSI-168-21
111
9.5 EtherNet/IP Specific Commands
Commands in this category:
Mailbox Command
Set Product Info
(SET_PRODUCT_INFO)
Get Product Info
(GET_PRODUCT_INFO)
Parameter Data Input Mapping
(PARAMETER_IN_MAP)
Parameter Data Out Area Mapping
(PARAMETER_OUT_MAP)
Send UCMM (SEND_UCMM)
Description
Used for vendor customization
Page
112
Used for vendor customization
113
Maps parameter input data into the parameter input object
114
Maps parameter output data into the parameter input object
116
Sends an unconnected message to another EthernNet/IP module
118
UCMM Request
Generated by the module when an UCMM request is addressed to a 120
(UCMM_REQUEST)
user-registered object
Register Class (REGISTER_CLASS) Registers an EtherNet/IP object in the message router object
121
Deregister Class
(DEREGISTER_CLASS)
Register Port (REGISTER_PORT)
Deregisters a class that is already registered within the message
router
Registers a port in the port object
122
Route Unconnected Send
(ROUTE_REQUEST)
Enable Exact IO Match
(EXACT_IO_MATCH)
Get Reset Parameter
(GET_ID_RESET_PARAM)
Change Ethernet Port Number
(CHANGE_ETH_PORT_NO)
Set Scanner Mode
(SET_SCANNER_MODE)
Create Connection Target Area
(CREATE_CON_TARGET)
Set UCMM Timeout
(SET_UCMM_TIMEOUT)
Get UCMM Timeout
(GET_UCMM_TIMEOUT)
Set Minimum Class1 O->T Timeout
(SET_MIN_CLASS1_OT_TIMEOUT)
Generated by the module when it receives an unconnected send
message.
Only accept IO connection requests with the exact same sizes as
the module has been initiated to.
Get reset parameter
126
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Change the port number reported by the Port Object for the Ethernet port
Set scanner to Run or Idle
123
128
129
130
131
Use part of the Anybus IO area as connection target and create
instances in the Assembly Object
Set UCMM timeout
132
133
Get UCMM timeout for display on e.g. a web page
134
Set minimum timeout for Class1 O->T Connections
135
Doc.Id. HMSI-168-21
112
9.5.1 Set Product Info (SET_PRODUCT_INFO)
Description
This command may be used to customize the settings in the Identity Object. Note that the .EDS-file
must be adjusted accordingly.
Note: This command may only be issued during initialisation.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0082h
Identity object information
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Message data word 3
Message data word 4
Message data word 5
Message data word 6
Message data...
•
Command
(ID)
4002h
0082h
(data size)
0001h
0001h
0000h
0000h
Vendor ID
Device Type
Product Code
Major & Minor Revision
Serial Number (high)
Serial Number (low)
Product Name (string)
Expected response
(ID)
0002h
0082h
(data size)
0001h
0001h
0000h
0000h
Vendor ID
Device Type
Product Code
Major & Minor Revision
Serial Number (high)
Serial Number (low)
Product Name (string)
Fieldbus Specific Message
SET_PRODUCT_INFO
Size of data in bytes
Vendor ID, Device Type & Product Code
Vendor & product information.
•
Major & Minor Revision
Revision no. (major revision = high byte, minor revision = low byte)
•
Serial Number
Product serial number
•
Product Name
1st byte holds the length of the name in bytes, followed by the actual name as pure ASCII.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
113
9.5.2 Get Product Info (GET_PRODUCT_INFO)
Description
This command returns information from the Identity Object.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0083h
Identity object information
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Command
(ID)
4002h
0083h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0083h
(data size)
0001h
0001h
0000h
0000h
Vendor ID
Device Type
Product Code
Major & Minor Revision
Serial Number (high)
Serial Number (low)
Product Name (string)
Fieldbus Specific Message
GET_PRODUCT_INFO
Size of data in bytes
Response data word 1
Response data word 2
Response data word 3
Response data word 4
Response data word 5
Response data word 6
Response data....
Vendor ID, Device Type & Product Code
Vendor & product information.
•
Major & Minor Revision
Revision no. (major revision = high byte, minor revision = low byte)
•
Serial Number
Product serial number
•
Product Name
1st byte holds the length of the name in bytes, followed by the actual name as pure ASCII.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
114
9.5.3 Parameter Data Input Mapping (PARAMETER_IN_MAP)
Description
This mailbox command is used to set up blocks of data in the input data area to be used with the Class
B0h “Parameter data input mapping object” (See “Parameter Data Input Mapping Object, Class B0h”
on page 44). This way, a ‘Get_Atrribute_Single’ command from the fieldbus can return a specified block
of data from the input parameter area. It is possible to map up to 50 attributes.
Attributes are mapped beginning with attribute 1, followed by attributes 2 through 50. Offset in the input parameter area and number of bytes to map is specified for each attribute.
If zero length is specified, the attribute will not be mapped. This way, it is for example possible to map
only attributes 1 and 10 by specifying zero length for attributes 2 through 9. It is only necessary to include information in the telegram up to the last used attributes; the remaining attributes will not be
mapped.
If any offset or length is invalid, the length and offset will be set to zero in the response and the attribute
will not be mapped.
To access the parameters from EtherNet/IP use Class attribute B0h, Instance attribute 01h and Attribute ID 01h through 32h. (See “Parameter Data Input Mapping Object, Class B0h” on page 44)
Note: This command may only be issued during module initialisation, after ANYBUS_INIT.
Command initiator
Command number
Extended Header data
Message data
Response message
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
0084h
Fault information
Offset and length of the attributes to map
The response holds a copy of the command data.
Doc.Id. HMSI-168-21
115
Command and response layout (example when only setting attribute 1-5)
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Message data word 3
Message data word 4
Message data word 5
Message data word 6
Message data word 7
Message data word 8
Message data word 9
Message data word 10
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0084h
0014h
0001h
0001h
0000h
0000h
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Expected response
(ID)
0002h
0084h
0014h
0001h
0001h
0000h
0000h
Fault information
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Fieldbus Specific Message
PARAMETER_IN_MAP
20 bytes of data (10 words)
Offset
Number of bytes to map
Attribute 2
Attribute 3
Attribute 4
Attribute 5
Doc.Id. HMSI-168-21
116
9.5.4 Parameter Data Out Area Mapping (PARAMETER_OUT_MAP)
Description
This mailbox command is used to set up blocks of data in the output data area to be used with the Class
B1h “Parameter data output mapping object” (See “Parameter Data Output Mapping Object, Class
B1h” on page 45). This way, a Get_Attribute_Single or Set_Attribute_Single command from the fieldbus can return/write a specified block of data from/to the output parameter area. It is possible to map
up to 50 attributes.
Attributes are mapped beginning with attribute 1, followed by attributes 2 through 50. Offset in the input parameter area and number of bytes to map is specified for each attribute.
If zero length is specified, the attribute will not be mapped. This way, it is for example possible to map
only attributes 1 and 10 by specifying zero length for attributes 2 through 9. It is only necessary to include information in the telegram up to the last used attributes; the remaining attributes will not be
mapped.
If any offset or length is invalid, the length and offset will be set to zero in the response and the attribute
will not be mapped.
To access the parameters from EtherNet/IP use Class attribute B1h, Instance attribute 01h and Attribute ID no. (See “Parameter Data Output Mapping Object, Class B1h” on page 45)
Note: This command may only be issued during module initialisation, after ANYBUS_INIT.
Command initiator
Command number
Extended Header data
Message data
Response message
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
0085h
Offset and length of the attributes to map
The response holds a copy of the command data.
Doc.Id. HMSI-168-21
117
Command and response layout (example when only setting attribute 1-5)
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Message data word 3
Message data word 4
Message data word 5
Message data word 6
Message data word 7
Message data word 8
Message data word 9
Message data word 10
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0085h
0014h
0001h
0001h
0000h
0000h
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Expected response
(ID)
0002h
0085h
0014h
0001h
0001h
0000h
0000h
Fault information
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Offset
Length
Fieldbus Specific Message
PARAMETER_OUT_MAP
20 bytes of data (10 words)
Offset
Number of bytes to map
Attribute 2
Attribute 3
Attribute 4
Attribute 5
Doc.Id. HMSI-168-21
118
9.5.5 Send UCMM (SEND_UCMM)
Description
This command may be used to send an explicit unconnected message directly to a node on the network.(For more information, consult the EtherNet/IP Specification volume 1, section 2-4). This command will not respond until the response from the remote host is received or a timeout has occurred.
Command initiator
Application
Command number
008Ah
Extended Header data Destination IP address
Message data
Response message
Unconnected messagea
(service dependant)
a. For more information, consult the EtherNet/IP Specification volume 1, section 2-4
Command and response layout
Command
Message ID
ID
Message information
4002h
Command
008Ah
Data size
(data size)
Frame count
0001h
Frame number
0001h
Offset high
0000h
Offset low
0000h
Extended word 1
Destination IP high word
Extended word 2
Destination IP low word
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Service Request
Message data byte 2 Request Path Size (in words)
Message data byte 3
Padded EPATHa
...
...
(optional service data)
Message data byte n
Expected response
ID
0002h
008Ah
(data size)
0001h
0001h
0000h
0000h
Destination IP high word
Destination IP low word
Fault Information
(Service Dependant)
Fieldbus Specific Message
SEND_UCMM
Size of data
Destination IP high word
Destination IP low word
a.EPATH is in little-endian format. See EtherNet/IP Specification, Appendix C - ‘Data Management’
The following example (see next page) uses the SEND_UCMM command to retrieve data from a node
on the network. The remote node is an Allen Bradley ControlLogix5000 with a 1756-ENBT/A Ethernet/
IP module. It has VendorID 0001h, Product Type 000C, Product Code 003Ah, Version 1.33 and Serial
Number 00121E63h. The request that is sent to the remote node is ‘Get_Attribute_All’ (0x01) to Class
0x01 and Instance 0x01. This is the identity object, see 5-2.2 in the EtherNet/IP specification for more
information about the response.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
119
Send UCMM Example
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Data byte 1 (Service Request)
Data byte 2 (Request Path Length)
Command
ID
4002h
008Ah
0006h
0001h
0001h
0000h
0000h
0A0Ah
0E50h
01h (Get_Attribute_All)
02h (2 words)
Data byte 4 (Segment Data)
20ha
01h (Class #1)
Data byte 5 (Segment Type)
24hb
Data byte 6 (Segment Data)
01h (Instance #1)
Data byte 3 (Segment Type)
a.Segment Type= Logical Segment
Logical Type= Class ID
Logical Format= 8bit Logical Address
b.Segment Type= Logical Segment
Logical Type= Instance ID
Logical Format= 8bit Logical Address.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Expected response
ID
0002h
008Ah
001Eh
0001h
0001h
0000h
0000h
0A0Ah
0E50h
Fault Information
81h
00h
00h
00h
01h
00h
0Ch
00h
3Ah
00h
01h
21h
30h
00h
63h
1Eh
12h
00h
0Bh (11)
31h (‘1’)
37h (‘7’)
35h (‘5’)
36h (‘6’)
2Dh (‘-’)
45h (‘E’)
4Eh (‘N’)
42h (‘B’)
54h (T1’)
2Fh (‘/’)
41h (‘A’)
Fieldbus Specific Message
SEND_UCMM
Size of data
Destination IP (high word)
Destination IP (low word)
Get_Attiribute_All reply
(reserved)
General Status
Additional Status
Vendor ID (LSB)
Vendor ID (MSB)
Product Type (LSB)
Product Type (MSB)
Product Code (LSB)
Product Code (MSB)
Version (Major)
Version (Minor)
Status (LSB)
Status (MSB)
Serial no. (LSB)
Serial no.
Serial no.
Serial no. (MSB)
Product Name Length
Product Name Char #1
Product Name Char #2
Product Name Char #3
Product Name Char #4
Product Name Char #5
Product Name Char #6
Product Name Char #7
Product Name Char #8
Product Name Char #9
Product Name Char #10
Product Name Char #11
Doc.Id. HMSI-168-21
120
9.5.6 UCMM Request (UCMM_REQUEST)
Description
This message is used when the application has registered an EtherNet/IP class (See “Register Class
(REGISTER_CLASS)” on page 121) in the module, and an explicit message request has been generated
to this class from a node in the EtherNet/IP network.
The format of the message is the message router / request format. (See EtherNet/IP Specification volume 1 section 2-4). The application will have to process the message, and respond to the module with
the data necessary to generate a response on the explicit message request for the object.
Command initiator
Command number
Extended Header data
Message data
Response message
Anybus
008Dh
Explicit message data
Requested data or error code
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Message data byte 2
Message data byte 3
...
...
Message data byte n
Command
(ID)
4002h
008Dh
(size)
0001h
0001h
0000h
0000h
Service Request
Request Path Size (in words)
Padded EPATHa
(optional service data)
Expected response
(ID)
0002h
008Dh
(size)
0001h
0001h
0000h
0000h
Reply Service
(reserved, ignore)
General Status
Size of Additional Status
Additional Status
Response_data
Fieldbus Specific Message
UCMM_REQUEST
Data size
a.Request path according to the EtherNet/IP Specification, Appendix C - ‘Data Management’
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
121
9.5.7 Register Class (REGISTER_CLASS)
Description
This mailbox command makes it possible for the application to register objects inside the message router
object. If there is a node on the network that sends an explicit message request to the module, address
to the registered class, the explicit message will generate an explicit message request telegram, which will
be sent from the module to the application. See “UCMM Request (UCMM_REQUEST)” on page 120.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
008Bh
Fault information
Class ID
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Message data byte 2
•
Command
(ID)
4002h
008Bh
0002h
0001h
0001h
0000h
0000h
Class ID (high byte)
Class ID (low byte)
Expected response
(ID)
0002h
008Bh
0002h
0001h
0001h
0000h
0000h
Fault information
Class ID (high byte)
Class ID (low byte)
Fieldbus Specific Message
REGISTER_CLASS
2 bytes of data (1 word)
Class ID
ID of the class to be registered in the Anybus module.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
122
9.5.8 Deregister Class (DEREGISTER_CLASS)
Description
This mailbox command makes it possible for the application to deregister objects inside the message
router object.
The following classes cannot be deregistered with this command;
•
Class 02h
- Message Router
•
Class 04h
- Assembly Object
Command initiator
Command number
Extended Header data
Message data
Response message
Application
008Eh
Fault information
Class ID
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Message data byte 2
•
Command
(ID)
4002h
008Eh
0002h
0001h
0001h
0000h
0000h
Class ID (high byte)
Class ID (low byte)
Expected response
(ID)
0002h
008Eh
0002h
0001h
0001h
0000h
0000h
Fault information
Class ID (high byte)
Class ID (low byte)
Fieldbus Specific Message
DEREGISTER_CLASS
2 bytes of data (1 word)
Class ID
ID of the class to be deregistered.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
123
9.5.9 Register Port (REGISTER_PORT)
Description
This command may be used to register a port in the Port Object (See EtherNet/IP specification vol. 1
chapters 3 - 7). This must be done for each port in the application if routing has been enabled. The message shall contain the instance attributes 1, 2, 3, 4 and 7, in that order. The class attributes will be updated
automatically after each received mailbox command. Port 2 is reserved for the anybus module, and it is
not possible to register the same port twice.
Note: This command can only be sent during module initialization.
Command initiator
Command number
Extended Header data
Message data
Response message
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
0090h
Fault information
Instance attributes 1,2,3,4 and 7.
The response holds a copy of the command data.
Doc.Id. HMSI-168-21
124
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Data byte 1
Data byte 2
Data byte 3
Data byte 4
Data byte 5
Data byte 6
Data byte 7...n
Data byte n
Data byte n+1
Data byte n+2
Data byte n+3
...
Data byte z
Data byte z+1
Data byte z+2
Command
(ID)
4002h
0090h
(size)
0001h
0001h
0000h
0000h
Port Type (high)
Port Type (low)
Port Number (high)
Port Number (low)
Port Object Size (high)
Port Object Size (low)
Port Object EPATH
(Padded)a
Port Name Length
Port Name Char #1
Port Name Char #2
...
Port Name Char #n
Node address
Node address
Expected response
(ID)
0002h
0090h
(size)
0001h
0001h
0000h
0000h
Fault Information
Port Type (high)
Port Type (low)
Port Number (high)
Port Number (low)
Port Object Size (high)
Port Object Size (low)
Port Object EPATH
(Padded)a
Port Name Length
Port Name Char #1
Port Name Char #2
...
Port Name Char #n
Node address
Node address
Fieldbus Specific Message
REGISTER_PORT
Size of data in bytes
a.See EtherNet/IP Specification, Appendix C - ‘Data Management’
Register Port Example
The following example registers a ControlNet redundant port (3) with port number 3. The port object
points to class F0h (ControlNet object) instance 01h. The name of the port is “ControlNet”, and the
node address is 8 on port 3.
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0090h
0017h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0090h
0017h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
REGISTER_PORT
23 bytes of data
Doc.Id. HMSI-168-21
125
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Data byte 1
Data byte 2
Data byte 3
Data byte 4
Data byte 5
Data byte 6
Data byte 7
Data byte 8
Data byte 9
Data byte 10
Data byte 11
Data byte 12
Data byte 13
Data byte 14
Data byte 15
Data byte 16
Data byte 17
Data byte 18
Data byte 19
Data byte 20
Data byte 21
Data byte 22
Data byte 23
00h
03h
00h
03h
00h
02h
20h
F0h
24h
01h
0Ah
43h
6Fh
6Eh
74h
72h
6Fh
6Ch
4Eh
65h
74h
03h
08h
Fault Information
00h
03h
00h
03h
00h
02h
20h
F0h
24h
01h
0Ah
43h
6Fh
6Eh
74h
72h
6Fh
6Ch
4Eh
65h
74h
03h
08h
Port Type (high)
Port Type (low)
Port Number (high)
Port Number (low)
Port Object Size (high)
Port Object Size (low)
Port Object EPATH
Port Object EPATH
Port Object EPATH
Port Object EPATH
Port Name Length
Port name: “C”
Port name: “o”
Port name: “n”
Port name: “t”
Port name: “r”
Port name: “o”
Port name: “l”
Port name: “N”
Port name: “e”
Port name: “t”
Port to leave node = 3
On ControlNet = 8
Continued on next page...
The [Port] section in the .EDS file shall look like this to suit the example above:
[Port]
Port1 =
TCP,$ Port type
“TCP/IP”,$ Port name
“20 F5 24 01”,$ Path to object supporting this
port
2;$ Port number
Port2 =
ControlNet,$ Port type
“ControlNet”,$ Port name
“20 F0 24 01”,$ Path to object supporting this
port
3;$ Port number
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
126
9.5.10 Route Unconnected Send (ROUTE_REQUEST)
Description
This mailbox message is generated by the module when it receives a valid unconnected send message,
i.e. a message addressed to a port registered by the application. The message data contains the whole
unconnected send message (See EtherNet/IP spec. Vol. 1 3-5.5.4). The response from the application
must contain either a successful or unsuccessful unconnected send response (See EtherNet/IP spec.
Vol. 1 3-5.5.4).
If 16 or more message requests are waiting to be processed by the application, the module will respond
with a “No resource” error code for all new requests until there are less than 16 unprocessed requests.
Command initiator
Command number
Extended Header data
Message data
Response message
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Anybus
008Fh
The unconnected send message received by the module
Unconnected send response message.
Doc.Id. HMSI-168-21
127
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Message data byte 2
...
Message Request
Command
(ID)
4002h
008Fh
(size)
0001h
0001h
0000h
0000h
Transaction ID (low)
Transaction ID (high)
Priority / Time tick
Time-out ticks
Msg. req. size (low)
Msg. req. size (high)
Service Code
Request Path Size
Req. Path (Padded EPATH)
Request Data
00h (Pad)
(Only if Msg.req.size is odd)
...
Message databyte n
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Route Path Size
00h (reserved)
Route Path
Expected response
(ID)
0002h
008Fh
(size)
0001h
0001h
0000h
0000h
Successful response:
Transaction ID (low)
Transaction ID (high)
00h (General Status)
00h (Reserved)
Service Response Data
Unsuccessful response:
Transaction ID (low)
Transaction ID (high)
General Status
Size of additional status
Additional status
Remaining path size
Fieldbus Specific Message
ROUTE_REQUEST
Datasize
Response data byte 1
Response data byte 2
...
...
Response data byte n
Response data byte 1
Response data byte 2
...
...
Response data byte n
Doc.Id. HMSI-168-21
128
9.5.11 Enable Exact IO Match (EXACT_IO_MATCH)
Description
If this mailbox command is sent, the module will only accept IO connection requests with the exact
same IO sizes as those that have been configured for the module.
Note 1: This command can only be sent during module initialization.
Note 2: This command has to be sent if the application is to pass the conformance test.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0094h
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0094h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0094h
0000h
0001h
0001h
0000h
0000h
-
Fieldbus Specific Message
EXACT_IO_MATCH
0 bytes of data
Doc.Id. HMSI-168-21
129
9.5.12 Get Reset Parameter (GET_ID_RESET_PARAM)
Description
Using this command, it is possible to determine which type of reset that was received via EtherNet/IP
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0095h
Reset Type
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Command
(ID)
4002h
0095h
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
0095h
0001h
0001h
0001h
0000h
0000h
Reset Type
Fieldbus Specific Message
GET_ID_RESET_PARAM
Response Databyte
Reset Type
00h:
Power on reset
01h:
Out of box configuration
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
130
9.5.13 Change Ethernet Port Number (CHANGE_ETH_PORT_NO)
Description
This command may be used to change the port number reported in the Port Object.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0096h
Port no.
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
•
Command
(ID)
4002h
0096h
0001h
0001h
0001h
0000h
0000h
Port no.
Expected response
(ID)
0002h
0096h
0001h
0001h
0001h
0000h
0000h
Port no.
Fieldbus Specific Message
CHANGE_ETH_PORT_NO
Port no.
Port number, range 1...14.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
131
9.5.14 Set Scanner Mode (SET_SCANNER_MODE)
Description
This command changes the scanner mode to Run or Idle.
See also...
•
“SetScannerState” on page 27
•
“Identity Object, Class 01h” on page 37
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0098h
Port no.
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Message data byte 2
•
Command
(ID)
4002h
0098h
0002h
0001h
0001h
0000h
0000h
Scanner Mode
Network Change
Expected response
(ID)
0002h
0098h
0002h
0001h
0001h
0000h
0000h
Scanner Mode
Network Change
Fieldbus Specific Message
SET_SCANNER_MODE
Scanner Mode
00h: Idle
01h: Run
•
Network Change
00h: Allowed (Scanner mode may also be changed via SSI or EtherNet/IP)
01h: Disallowed (Scanner mode may not be changed via SSI or EtherNet/IP)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
132
9.5.15 Create Connection Target Area (CREATE_CON_TARGET)
Description
This command may be used to set up a part of the IO area as a target for an EtherNet/IP connection.
When issued, instances 100 and 150 will be created in the Assembly Object accordingly.
Note: This command may only be issued during initialisation, after ANYBUS_INIT.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0097h
Number of words (Produce & Consume)
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
•
Command
(ID)
4002h
0097h
0004h
0001h
0001h
0000h
0000h
No. of words (Produce)
No. of words (Consume)
Expected response
(ID)
0002h
0097h
0004h
0001h
0001h
0000h
0000h
No. of words (Produce)
No. of words (Consume)
Fieldbus Specific Message
CREATE_CON_TARGET
No. of words (Produce)
Number of words to use for Produce Area (Instance 100)
•
No. of words (Consume)
Number of words to use for Consume Area (Instance 150)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
133
9.5.16 Set UCMM Timeout (SET_UCMM_TIMEOUT)
Description
This command is used to set the UCMM timeout in milliseconds. Valid range is 1000 - 30000.
NOTE: The module has to be restarted for a change to the timeout value from this mailbox to take effect.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
0099h
UCMM timeout in milliseconds. Valid values: 1000 - 30000
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data byte 1
Message data byte 2
Command
(ID)
4002h
0099h
0002h
0001h
0001h
0000h
0000h
UCMM timeout (high byte)
UCMM timeout (low byte)
Expected response
(ID)
0002h
0099h
0002h
0001h
0001h
0000h
0000h
UCMM timeout (high byte)
UCMM timeout (low byte)
Fieldbus Specific Message
SET_UCMM_TIMEOUT
UCMM timeout
9.5.17 Get UCMM Timeout (GET_UCMM_TIMEOUT)
Description
This command reads the currently used UCMM timeout (ms) and makes it available for display on a web
page.
Command initiator
Command number
Extended Header data
Message data
Response message
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Application
009Ah
UCMM timeout in milliseconds
Contains currently used UCMM timeout.
Doc.Id. HMSI-168-21
134
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
009Ah
0000h
0001h
0001h
0000h
0000h
-
Expected response
(ID)
0002h
009Ah
0002h
0001h
0001h
0000h
0000h
UCMM timeout (high byte)
UCMM timeout (low byte)
Fieldbus Specific Message
GET_UCMM_TIMEOUT
UCMM timeout
Doc.Id. HMSI-168-21
135
9.5.18 Set Minimum Class1 O->T Timeout
(SET_MIN_CLASS1_OT_TIMEOUT)
Description
This command is used to set the minimum timeout for the Class1 connections in the Originator to Target direction (connections originated by the module). If this mailbox is used the Connection Timeout
Multiplier attribute (conn_timeout) in the Connection Configuration object will be altered to conform
to the value set in this command.
Valid range is 8 - 1024.
See also...
•
“Connection Configuration Object, Class F3h” on page 46
Note: This command can only be sent during module initialization.
Command initiator
Command number
Extended Header data
Message data
Response message
Application
00B0h
Minimum timeout in milliseconds. Valid range is: 8 - 1024.
The response holds a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data word 1
Message data word 2
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
00B0h
Expected response
(ID)
0002h
00B0h
0002h
0001h
0001h
0000h
0000h
Timeout (high byte)
Timeout (low byte)
0002h
0001h
0001h
0000h
0000h
Timeout (high byte)
Timeout (low byte)
Fieldbus Specific Message
SET_MIN_CLASS1_OT_TIME
OUT
Minimum timeout
Doc.Id. HMSI-168-21
136
9.6 Other Commands
Commands in this category:
Mailbox Command
Get DIP Switch
GET_DIP_SWITCH
DNS Request
(DNS_REQUEST)
Send Email
(SEND_EMAIL)
Request SSI Data
(REQUEST_SSI_DATA)
Write SSI Data (WRITE_SSI_DATA)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Description
Returns the setting of the onboard DIP switch
Page
137
Asks the configured DNS server for the IP address of a spec- 138
ified host
Sends an email message to a specified recipient
139
Requests SSI data from the application
(issued by the Anybus module)
Writes SSI data to the application
(issued by the Anybus module)
141
142
Doc.Id. HMSI-168-21
137
9.6.1 Get DIP Switch (GET_DIP_SWITCH)
Description
This command returns the setting of the onboard switch.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0012h
Switch value
Command and response layout
Command
(ID)
4002h
0012h
0000h
0001h
0001h
0000h
0000h
-
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
•
Expected response
(ID)
0002h
0012h
0001h
0001h
0001h
0000h
0000h
Fault information
Switch Value
Fieldbus Specific Message
GET_DIP_SWITCH
1 data byte
Response databyte
Switch Value
b7
b6
b5
b4
b3
b2
b1
b0
Switch 1
Switch 2
Switch 3
Switch 4
Switch 5
Switch 6
Switch 7
Switch 8
A set bit indicates that the switch is in ON position.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
138
9.6.2 DNS Request (DNS_REQUEST)
Description
This command sends a request to the configured DNS server for the IP address of a specified host.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0030h
Host (string, null-terminated)
IP address of host, or 0.0.0.0 if not found.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Command
(ID)
4002h
0030h
(size)
0001h
0001h
0000h
0000h
Host
(string, null-terminated)
Expected response
(ID)
0002h
0030h
0004h
0001h
0001h
0000h
0000h
IP address (high)
IP address (low)
Fieldbus Specific Message
DNS_REQUEST
Response data word 1
Response data word 2
Doc.Id. HMSI-168-21
139
9.6.3 Send Email (SEND_EMAIL)
Description
This command sends an email to a specified recipient. The message data is sent as several fragments,
with a total maximum size of 1024 bytes. The maximum size of each fragment is 256 bytes.
Initiated by
Command no.
Extended Header
Message data
Response data
Application
0070h
Fault information
Email message specification, fragmented.
The response data is a copy of the command data.
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
0070h
(fragment size)
0001h
0001h
0000h
0000h
Fragment Type
-
Expected response
(ID)
0002h
0070h
(fragment size)
0001h
0001h
0000h
0000h
SMTP Error
Fault information
Message data
Fragment Data
Fragment Data
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Fieldbus Specific Message
SEND_EMAIL
Max. 256 bytes / fragment
(Last fragment only)
Doc.Id. HMSI-168-21
140
•
Fragment Type
This value must match the sequence of the fragments as follows:
Value
0000h
0001h
0002h
•
Description
This is the first fragment
This is a subsequent fragment
This is the last fragment
SMTP Error
If an SMTP error occurred, the ‘SMTP Error’ word contains the error code from the SMTP server, see RFC 821 “Simple Mail Transfer Protocol” for more information.
•
Fragment Data
The different parts of the email message shall be sent in the following order:
Fragment no.
1st
2nd
3rd
4th
...
...
...
...
(last fragment)
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Fragment Type
0000h
0001h
Description
Recipient(s), separated by semicolon (string, null-terminated)
Sender address (string, null-terminated)
Subject line (string, null-terminated)
Message body
0002h
Doc.Id. HMSI-168-21
141
9.6.4 Request SSI Data (REQUEST_SSI_DATA)
Description
This message is issued by the Anybus module when a SSI has requested data from the application.
Example:
The following SSI...
<?--#exec cmd_argument=’printf( “Data: %u”, MbReadWord( 42 ) )’-->
... will cause the module to issues a REQUEST_SSI_DATA message. The value ‘42’ will be
passed to the application.
See also “printf” on page 23.
Initiated by
Command no.
Extended Header
Message data
Response data
Anybus
00A0h
SSI Identifier
SSI Data
-
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Command
(ID)
4002h
00A0h
0000h
0001h
0001h
0000h
0000h
SSI Identifier
-
Expected response
(ID)
0002h
00A0h
(data size)
0001h
0001h
0000h
0000h
SSI Identifier
SSI Data
•
Fieldbus Specific Message
REQUEST_SSI_DATA
(size of data)
Response Data
SSI Identifier
Identifier which can be used as desired by the application to address a specific block of data.
•
SSI Data
Data associated with the specified SSI Identifier.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
142
9.6.5 Write SSI Data (WRITE_SSI_DATA)
Description
This message is issued by the Anybus module when a SSI writes data to the application.
Example:
The following SSI...
<?--#exec cmd_argument=’scanf( “Input”, ”%i”, MbWriteWord( 24 ) )’-->
... will cause the module to issues a WRITE_SSI_DATA message each time a form with an object
named “Input” is sent to the web server. The value ‘24’ will be passed to the application.
See also “scanf” on page 25.
Initiated by
Command no.
Extended Header
Message data
Response data
Anybus
00A0h
SSI Identifier
SSI Data
Command and response layout
Message ID
Message information
Command
Data size
Frame count
Frame number
Offset high
Offset low
Extended word 1
Extended word 2
Extended word 3
Extended word 4
Extended word 5
Extended word 6
Extended word 7
Extended word 8
Message Data
•
Command
(ID)
4002h
00A1h
(data size)
0001h
0001h
0000h
0000h
SSI Identifier
-
Expected response
(ID)
0002h
00A1h
0000h
0001h
0001h
0000h
0000h
SSI Identifier
-
Fieldbus Specific Message
WRITE_SSI_DATA
(size of data)
SSI Data
SSI Identifier
Identifier which can be used as desired by the application to address a specific block of data.
•
SSI Data
Data associated with the specified SSI Identifier.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Chapter 10
10. Fieldbus Specific Area
10.1 Memory Map
Address
640h - 641h
642h - 643h
644h - 645h
646h - 64Fh
650h
•
Contents
No. of configured originated
connections
No. of active originated
connections
No. of erroneous originated
connections
(reserved)
Scanner Mode
Access
RO
RO
RO
RO
No. of Configured Originated Connection
Number of connections that are configured in the Connection Object.
•
No. of Active Originated Connection
Number of connections that are configured and opened without errors.
•
No. of Erroneous Originated Connection
Number of connections that cannot be opened because of errors.
•
Scanner Mode
0:
1:
Idle
Run
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Appendix A
A. Miscellaneous
A.1 Control Register Area
Fieldbus Type
The fieldbus type value for this product is 0085h.
Module Type
The module type value for this product is 0201h (Anybus-M).
Watchdog Counter Input (7D2h... 7D3h)
If the application has enabled the Watchdog Counter Input and doesn’t update it properly, the module
will cease all network participation and indicate an internal error on the Module Status LED.
Event Notification Cause/Source Registers
•
ON/OFF Line Indication (FBON/FBOF)
The module is considered on-line when a link has been established on the Ethernet interface.
•
Network Reset Functionality (RST)
The application can be notified of network reset requests via the Event Notification register.
A.2 Firmware Upgrade
The Anybus module supports firmware updates via FTP. Follow the steps below:
1. As a precaution, make a backup copy of the filesystem contents before proceeding.
2. Initialise the module
3. Upload the new firmware file(s) to the system root (“\”), or to the ‘cfg\’-directory.
4. Reset the Anybus module and wait until the on board LED (watch dog LED) flashes 2Hz green
(This may take up to 1 minute).
5. Reset the Anybus module.
The new firmware is now operational.
A.3 Formatting the File System
In case of major file system damage, it is possible to re-initialise the file system as follows:
•
Format Disc 1:
- Short the jumper named “J2”
- Power on the module and wait approx. 10 seconds
- Remove jumper and power cycle the module
- Disc 0 will now be erased and initialized
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Appendix B
B. Technical Specification
B.1 Electrical Specification
B.1.1 Protective Earth (PE) Requirements
All Anybus-S/M modules feature cable shield filters designed in accordance with each network standard.
To be able to support this, the application must provide a connection to PE (Protective Earth) as described in the general Anybus-S Parallel Design Guide. HMS cannot guarantee proper EMC behaviourAnybus-M EtherNet/IP unless this requirement is fulfilled.
B.1.2 Isolation
Isolation between the application, the network, and protective earth (PE):
Isolation Barrier
Application to PE
Application to Network
Network to PE
Working Voltage
Creepage
Clearance
200V
2500V
250V
2500V
100V
1500V
External
2.0mm
2.5mm
1.4mm
Distance
Internal
0.4mm
0.4mm
0.4mm
(Tests performed according to EN 60950-1)
B.1.3 Power Supply
Supply Voltage
The module requires a regulated 5V power supply as specified in the Anybus-S Parallel Design Guide.
Power Consumption
The maximum power consumption is 450mA.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Technical Specification 146
B.2 Environmental Specification
Temperature
Tests performed according to IEC-60068-2-1, IEC-60068-2-2 and IEC 60068-2-14.
Operating:
Storage:
0 to 70°C(32 to 158°F)
-25 to 85°C(-13 to 185°F)
Humidity
The product is designed for a relative humidity of 5 to 95% non-condensing.
Tests performed according to EN 60068.
B.3 EMC (CE) Pre-compliance
EMC pre-compliance testing has been conducted according to the Electromagnetic Compatibility Directive 2004/108/EC. For more information please consult the EMC pre-compliance document, see
product/support pages for Anybus-M EtherNet/IP at www.anybus.com.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Appendix C
C. Connectors
C.1 Application Connector
(Consult the general Anybus-S Parallel Design Guide for more information)
C.2 Ethernet
RJ45 (Standard Connector)
Pin
1
2
3
4
5
6
7
8
Signal
TD+
TDRD+
RD-
Notes
Normally left unused; to ensure signal integrity, these pins are tied together
and terminated to PE via a filter circuit in the module.
Normally left unused; to ensure signal integrity, these pins are tied together
and terminated to PE via a filter circuit in the module.
1
8
Board to Board
Pin
1
2
3
4
5
6
7
8
9
10
Signal Connect to RJ45 pin...
Shield Housing
4
5
TD+
1
TD2
RD+ 3
7
RD6
8
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Notes
(See notes for pins 4 and 5 in RJ45 connector)
(not used)
(See notes for pins 7 and 8 in RJ45 connector)
(See notes for pins 7 and 8 in RJ45 connector)
1
10
Doc.Id. HMSI-168-21
Appendix D
D. Mechanical Specification
D.1 Measurements, Connectors & LEDs
ΠMM
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Appendix E
E. Copyright Notices
This product includes software developed by Carnegie Mellon, the Massachusetts Institute of Technology, the University of California, and RSA Data Security:
*****************************************************************************
Copyright 1986 by Carnegie Mellon.
*****************************************************************************
Copyright 1983,1984,1985 by the Massachusetts Institute of Technology
*****************************************************************************
Copyright (c) 1988 Stephen Deering.
Copyright (c) 1982, 1985, 1986, 1992, 1993
The Regents of the University of California. All rights reserved.
This code is derived from software contributed to Berkeley by Stephen Deering of Stanford University.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
following conditions are met:
•
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
•
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
•
Neither the name of the University nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' ANDANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************
Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4
Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
License is also granted to make and use derivative works provided that such works are identified as "derived from
the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived
work.
RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the
suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of
any kind.
These notices must be retained in any copies of any part of this documentation and/or software.
*****************************************************************************
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5
Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
License is also granted to make and use derivative works provided that such works are identified as "derived from
the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived
work.
RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the
suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of
any kind.
These notices must be retained in any copies of any part of this documentation and/or software.
Anybus-M EtherNet/IP
Doc.Rev. 1.10
Doc.Id. HMSI-168-21
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement