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,/$1208/+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
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement