368-0527-Anybus CompactCom EIP user manual

368-0527-Anybus CompactCom EIP user manual
Network Interface Appendix
®
Anybus CompactCom 30 EtherNet/IP
Doc.Id. HMSI-168-80
Rev. 3.11
Connecting DevicesTM
+$/067$'‡&+,&$*2‡.$5/658+(‡72.<2‡%(,-,1*‡0,/$12‡08/+286(‡&29(175<‡381(‡&23(1+$*(1
HMS Industrial Networks
Mailing address: Box 4126, 300 04 Halmstad, Sweden
Visiting address: Stationsgatan 37, Halmstad, Sweden
E-mail: [email protected]
Web: www.anybus.com
Important User Information
This document is intended to provide a good understanding of the functionality offered by EtherNet/IP. The document only describes the features that are specific to the Anybus CompactCom 30 EtherNet/IP w. IT Functionality.
For general information regarding the Anybus CompactCom 30, consult the Anybus CompactCom 30 design
guides.
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 internal 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 CompactCom 30 EtherNet/IP w. IT Functionality Network Interface Appendix
Rev 3.11
Copyright© HMS Industrial Networks AB
Mar 2015 Doc Id HMSI-168-80
Table of Contents
Table of Contents
Preface
About This Document
Related Documents.................................................................................................................................. 7
Document History ................................................................................................................................... 7
Conventions & Terminology .................................................................................................................. 8
Support....................................................................................................................................................... 8
Chapter 1
About the Anybus CompactCom 30 EtherNet/IP
General....................................................................................................................................................... 9
Features ...................................................................................................................................................... 9
Chapter 2
Tutorial
Introduction ............................................................................................................................................ 10
Fieldbus Conformance Notes .............................................................................................................. 10
Conformance Test Guide...................................................................................................................... 10
Reidentifying Your Product............................................................................................................. 11
Factory Default Reset..................................................................................................................... 11
IP address ...................................................................................................................................... 11
Chapter 3
Basic Operation
General Information .............................................................................................................................. 12
Software Requirements ................................................................................................................... 12
Device Customization............................................................................................................................ 13
Network Identity............................................................................................................................ 13
Electronic Data Sheet (EDS) ........................................................................................................ 13
EtherNet/IP & CIP Implementation ........................................................................................... 14
Web Interface................................................................................................................................. 14
Socket Interface (Advanced Users Only)......................................................................................... 14
Communication Settings ....................................................................................................................... 15
Diagnostics .............................................................................................................................................. 15
Network Data Exchange....................................................................................................................... 16
Application Data (ADIs) ............................................................................................................. 16
Process Data .................................................................................................................................. 16
Translation of Data Types ............................................................................................................. 16
File System............................................................................................................................................... 17
General Information....................................................................................................................... 17
System Files ................................................................................................................................... 17
Chapter 4
FTP Server
General Information .............................................................................................................................. 18
User Accounts......................................................................................................................................... 18
Session Example ..................................................................................................................................... 19
Chapter 5
Web Server
General Information .............................................................................................................................. 20
Default Web Pages ................................................................................................................................. 20
Network Configuration .................................................................................................................. 21
Ethernet statistics page ................................................................................................................... 23
Server Configuration.............................................................................................................................. 24
General Information....................................................................................................................... 24
Index Page..................................................................................................................................... 24
Default Content Types ................................................................................................................... 25
Authorization ................................................................................................................................ 25
Chapter 6
E-mail Client
General Information .............................................................................................................................. 26
How to Send E-mail Messages............................................................................................................. 26
Chapter 7
Server Side Include (SSI)
General Information .............................................................................................................................. 27
Include File .............................................................................................................................................. 27
Command Functions ............................................................................................................................. 28
General Information....................................................................................................................... 28
GetConfigItem() ............................................................................................................................. 29
SetConfigItem() .............................................................................................................................. 30
SsiOutput().................................................................................................................................... 32
DisplayRemoteUser........................................................................................................................ 32
ChangeLanguage() ......................................................................................................................... 33
IncludeFile()................................................................................................................................... 34
SaveDataToFile() .......................................................................................................................... 35
printf() ........................................................................................................................................... 36
scanf() ............................................................................................................................................ 38
Argument Functions .............................................................................................................................. 40
General Information....................................................................................................................... 40
ABCCMessage() ........................................................................................................................... 40
SSI Output Configuration..................................................................................................................... 44
Chapter 8
CIP Objects
General Information .............................................................................................................................. 45
Identity Object (01h).............................................................................................................................. 46
Message Router (02h) ............................................................................................................................ 49
Assembly Object (04h) .......................................................................................................................... 50
Connection Manager (06h) ................................................................................................................... 53
Parameter Object (0Fh)......................................................................................................................... 56
ADI Object (A2h) .................................................................................................................................. 58
Port Object (F4h) ................................................................................................................................... 60
TCP/IP Interface Object (F5h) ........................................................................................................... 62
Ethernet Link Object (F6h) .................................................................................................................. 65
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 9
Anybus Module Objects
General Information .............................................................................................................................. 68
Anybus Object (01h).............................................................................................................................. 69
Diagnostic Object (02h) ........................................................................................................................ 70
Network Object (03h)............................................................................................................................ 71
Network Configuration Object (04h).................................................................................................. 72
Socket Interface Object (07h)............................................................................................................... 79
SMTP Client Object (09h) .................................................................................................................... 96
File System Interface Object (0Ah) ...................................................................................................101
Network Ethernet Object (0Ch) ........................................................................................................ 114
CIP Port Configuration Object (0Dh) .............................................................................................. 115
Chapter 10 Host Application Objects
General Information ............................................................................................................................117
EtherNet/IP Host Object (F8h)........................................................................................................ 118
Command Details: Process_CIP_Object_Request ........................................................................121
Command Details: Process_CIP_Routing_Request......................................................................124
Command Details: Get_Configuration_Data............................................................................... 125
Ethernet Host Object (F9h) ............................................................................................................... 126
Appendix A Categorization of Functionality
Basic........................................................................................................................................................ 128
Extended................................................................................................................................................128
Advanced ............................................................................................................................................... 128
Appendix B Implementation Details
SUP-Bit Definition............................................................................................................................... 129
Anybus State Machine ......................................................................................................................... 129
Application Watchdog Timeout Handling .......................................................................................129
Appendix C Message Segmentation
General................................................................................................................................................... 130
Command Segmentation ..................................................................................................................... 130
Response Segmentation....................................................................................................................... 131
Appendix D HICP (Host IP Configuration Protocol)
General................................................................................................................................................... 132
Operation............................................................................................................................................... 132
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix E Technical Specification
Front View............................................................................................................................................. 133
Protective Earth (PE) Requirements.................................................................................................134
Power Supply ........................................................................................................................................134
Environmental Specification ..............................................................................................................134
EMC Compliance ................................................................................................................................. 134
Appendix F Timing & Performance
General Information ............................................................................................................................135
Process Data..........................................................................................................................................136
Overview ......................................................................................................................................136
Anybus Read Process Data Delay (Anybus Delay)......................................................................136
Anybus Write Process Data Delay (Anybus Delay)..................................................................... 136
Network System Read Process Data Delay (Network System Delay)...........................................137
Network System Write Process Data Delay (Network System Delay).......................................... 137
Appendix G Key Numbers
Appendix HCopyright Notices
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Preface
P. About This Document
For more information, documentation etc., please visit the HMS website, ‘www.anybus.com’.
P.1 Related Documents
Document
Anybus CompactCom 30 Software Design Guide
Anybus CompactCom 30 Hardware Design Guide
Anybus CompactCom Software Driver User Guide
Author
HMS
HMS
HMS
P.2 Document History
Summary of Recent Changes (3.07 ... 3.11)
Change
Added note to command SaveDataToFile (SSI)
Front view information moved to from About Module to Technical Specification
Page(s)
35
Revision List
Revision
2.00
2.01
2.10
Date
2006-10-11
2006-12-15
2007-03-07
Author(s)
PeP
PeP
PeP
2.11
2.12
2.13
2.14
2007-07-10
2008-10-14
2008-10-28
2010-01-08
PeP
HeS
HeS
KeL
3.00
3.01
3.02
3.03
3.04
3.05
3.06
3.07
3.10
3.11
2010-04-14
2011-02-09
2011-08-08
2012-01-30
2012-04-03
2012-10-12
2013-04-05
2013-09-06
2014-07-23
2015-11-06
KeL
KeL
KaD
KeL
KeL
KaD
KeL
KeL
KeL
KeL
Chapter(s)
All
All
4, 7, 8, 10,
9
3, All
9
3,4
1, 2, 6, 7, 8,
9,
All
P, 7, 10, G
5
2, 8
2, 8, 9
10
1, 9, D, G
P, 9
8, 9, C
7
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Description
1st release
Minor update
Major update. Added information about CIP routing.
Minor update
Minor update
Minor update
Misc. minor updates
Change of concept
Minor corrections and updates
Minor addition and updates
Minor update
Minor update
Minor updates
Minor updates and corrections
Minor updates and corrections
Updates and corrections
Minor update
Doc.Id. HMSI-168-80
About This Document 8
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 or 0xNNNN, where NNNN is the hexadecimal value.
•
A byte always consists of 8 bits.
P.4 Support
For general contact information and where to find support, please refer to the contact and support pages
at www.anybus.com.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 1
1. About the Anybus CompactCom 30 EtherNet/IP
1.1 General
The Anybus CompactCom 30 EtherNet/IP communication module provides instant Ethernet and EtherNet/IP connectivity via the patented Anybus CompactCom host interface. Any device that supports
this standard can take advantage of the features offered by the module, allowing seamless network integration regardless of network type.
The modular approach of the Anybus CompactCom platform allows the CIP-object implementation to
be extended to fit specific application requirements. Furthermore, the Identity Object can be customized, allowing the end product to appear as a vendor-specific implementation rather than a generic Anybus module.
This product conforms to all aspects of the host interface for Active modules defined in the Anybus
CompactCom 30 Hardware- and Software Design Guides, making it fully interchangeable with any other device following that specification. Generally, no additional network related software support is needed, however in order to be able to take full advantage of advanced network specific functionality, a
certain degree of dedicated software support may be necessary.
1.2 Features
•
Galvanically isolated bus electronics
•
10/100 Mbit, full/half duplex operation
•
Web server w. customizable content
•
FTP server
•
E-mail client
•
Server Side Include (SSI) functionality
•
Customizable Identity Information
•
Up to 65535 ADIs
•
CIP Parameter Object support
•
Expandable CIP-object implementation
•
Supports unconnected CIP routing
•
Transparent Socket Interface
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 2
2. Tutorial
2.1 Introduction
This chapter is a complement to the Anybus CompactCom Implementation Tutorial. The ABCC tutorial describes and explains a simple example of an implementation with Anybus CompactCom 30. This
chapter includes network specific settings that are needed for a host application to be up and running
and possible to certify for use on EtherNet/IP networks.
2.2 Fieldbus Conformance Notes
•
The Anybus CompactCom 30 EtherNet/IP has been pre-compliance tested by ODVA’s authorized Independent Test Lab and found to comply with the ODVA Conformance Test Software.
However, in accordance with ODVA’s conformance test policy, the final product must still be
compliance tested to ensure fieldbus conformance. In order to be able to do this, the vendor information in the EtherNet/IP Host Object must be customized.
•
It is strongly recommended to customize the information in the Identity Object (CIP), to enable
the product to appear as a vendor specific implementation rather than a generic Anybus module.
ODVA requires that all manufacturers use their own Vendor ID. A Vendor ID can be applied
for from ODVA.
For further information, please contact HMS or ODVA.
2.3 Conformance Test Guide
When using the default settings of all parameters, the Anybus CompactCom 30 EtherNet/IP module is
precertified for network compliance. This precertification is done to ensure that your product can be certified, but it does not mean that your product will not require certification.
Any change in the parameters in the EDS file, supplied by HMS, will require a certification. A Vendor
ID can be obtained from ODVA and is compulsory for certification. This section provides a guide for
successful conformance testing your product, containing the Anybus CompactCom 30 EtherNet/IP
module, to comply with the demands for network certification set by the ODVA.
Independent of selected operation mode, the actions described in this section have to be accounted for
in the certification process. The identity of the product needs to be changed to match your company and
device.
IMPORTANT: This section provides guidelines and examples of what is needed for certification. Depending on the
functionality of your application, there may be additional steps to take. Please contact HMS Industrial Networks at
www.anybus.com for more information.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Tutorial 11
2.3.1 Reidentifying Your Product
After successful setting of the “Setup Complete” attribute in the Anybus Object (01h), the Anybus module asks for identification data from the EtherNet/IP Host Object (F8h) and the Ethernet Host Object
(F9h). Therefore, the attributes listed below shall be implemented and proper values returned.
Object/Instance
Attribute
Explanation
Customer sample
Comment
EtherNet/IP Host Object
(F8h), Instance 1
#1, Vendor ID
With this attribute you Vendor ID: 005Ah
set the Vendor ID of
(HMS)
the device.
Default
Vendor ID:1111h
This information must match the
keyword values of the “Device”
section in the EDS file.
EtherNet/IP Host Object
(F8h), Instance 1
#2, Device Typea
With this attribute you Device Type: 0000h
set the Device Type of
the device.
Device Type: 002Bha
(Generic Device (keyable))
EtherNet/IP Host Object
(F8h), Instance 1
#3, Product Code
With this attribute you 0063h
set the Product Code
of the device
2222h
EtherNet/IP Host Object
(F8h), Instance 1
#4, Revision
With this attribute you
set the Revision of the
device.
1.1
EtherNet/IP Host Object
(F8h), Instance 1
#5, Serial Number
With this attribute you
set the Serial Number
of the device.
12345678h
Unique number for all CIP devices
produced with the same ‘Vendor
ID.
EtherNet/IP Host Object
(F8h), Instance 1
#6, Product Name
With this attribute you Anybus-CC Etherset the Product Name Net/IP
of the device.
“Widget”
This information must match the
keyword values of the “Device”
section in the EDS file.
Ethernet Host Object
(F9h), Instance 1
#1, MAC address
With this attribute you
set theMAC address
of the device.
00-11-22-33-44-55
6 byte physical address value from
range obtained from IEEE
a. The Device Type default value 0000h must be changed for the module to pass a conformance test. If no other
specific profile is implemented, use the value 002Bh (Generic Device (keyable)).
2.3.2 Factory Default Reset
Reset command to Application Object (FFh) must be supported
When Anybus modules are delivered, they are required to be in their “Factory Default” state. For Anybus CompactCom 30 EtherNet/IP devices this means that the IP suite is not assigned (IP 0.0.0.0). When
a Factory Default Reset command is received from the network, the Anybus module will erase all IP
information and inform the host application that a reset of the Anybus module is required. This is done
by sending a Reset command to the Application Object (FFh) of the host (Power-on + Factory Default).
For more details, please consult the Anybus CompactCom 30 Software Design Guide.
2.3.3 IP address
Normally the IP numbers of the devices are assigned via a DHCP servier. HMS recommends not using
the Network Configuration Object (04h, instances #3 - #11) during the initialization phase for EtherNet/IP modules, unless the end user has requested the IP address to be set to a specific value (by for
example using a keypad). The reason is that when a factory default reset command is received from the
EtherNet/IP network (via DHCP) the node must be available after reset with the DHCP enabled.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 3
3. Basic Operation
3.1 General Information
3.1.1 Software Requirements
Generally, no additional network support code needs to be written in order to support the Anybus CompactCom 30 EtherNet/IP. However, due to the nature of the EtherNet/IP networking system, certain
restrictions must be taken into account:
•
Certain functionality in the module requires that the command ‘Get_Instance_Number_By_Order’ (Application Data Object, FEh) is implemented in the host application.
•
Up to 5 diagnostic instances (See 9-70 “Diagnostic Object (02h)”) can be created by the host application during normal conditions. An additional 6th instance may be created in event of a major
fault.
•
EtherNet/IP in itself does not impose any specific timing demands when it comes to acyclic requests (i.e. requests towards instances in the Application Data Object), however it is generally
recommended to process and respond to such requests within a reasonable time period (exactly
what this means in practice depends on the implementation and the actual installation).
•
The use of advanced CIP-specific functionality may require in-depth knowledge in CIP networking internals and/or information from the official CIP and EtherNet/IP specifications. In such
cases, the people responsible for the implementation of this product is expected either to obtain
these specifications to gain sufficient knowledge or limit their implementation is such a way that
this is not necessary.
For in-depth information regarding the Anybus CompactCom software interface, consult the general
Anybus CompactCom 30 Software Design Guide.
See also...
•
“Diagnostic Object (02h)” on page 70 (Anybus Module Object)
•
Anybus CompactCom 30 Software Design Guide, ‘Application Data Object (FEh)’
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Basic Operation 13
3.2 Device Customization
3.2.1 Network Identity
By default, the module uses the following identity settings:
•
Vendor ID:
005Ah (HMS Industrial Networks)
•
Device Type:
0000h (Generic Device)
•
Product Code:
0063h (Anybus CompactCom 30 EtherNet/IP)
•
Product Name:
‘Anybus-CC EtherNet/IP’
Optionally, it is possible to customize the identity of the module by implementing the corresponding
instance attributes in the EtherNet/IP Host Object.
See also...
•
“Identity Object (01h)” on page 46 (CIP-object)
•
“EtherNet/IP Host Object (F8h)” on page 118 (Host Application Object)
IMPORTANT: According to the CIP specification, the combination of Vendor ID and serial number must be unique.
It is not permitted to use a custom serial number in combination with the HMS Vendor ID (005Ah), nor is it permitted
to choose Vendor ID arbitrarily. Failure to comply to this requirement will induce interoperability problems and/or other
unwanted side effects. HMS approves use of the HMS Vendor ID (005Ah), in combination with the default serial number, under the condition that the implementation requires no deviations from the standard EDS-file.
To obtain a Vendor ID, contact the ODVA.
3.2.2 Electronic Data Sheet (EDS)
On EtherNet/IP, the characteristics of a device is stored in an ASCII data file with the suffix EDS. This
file is used by configuration tools etc. when setting up the network configuration. HMS supplies a standard (generic) EDS-file, which corresponds to the default settings in the module. However, due to the
flexible nature of the Anybus CompactCom concept, it is possible to alter the behaviour of the product
in ways which invalidates the generic EDS-file. In such case, a custom EDS-file needs to be created,
which in turn invalidates the default identity information and require re-certification of the product.
Note: Since the module implements the Parameter Object, it is possible for configuration tools such as
RSNetWorx to automatically generate a suitable EDS-file. Note that this functionality requires that the
command ‘Get_Instance_Number_By_Order’ (Application Data Object, FEh) has been implemented
in the host application.
See also...
•
“Parameter Object (0Fh)” on page 56 (CIP-object)
•
Anybus CompactCom 30 Software Design Guide, ‘Application Data Object (FEh)
IMPORTANT: HMS approves use of the standard EDS-file only under the condition that it matches the actual implementation and that the identity information remains unchanged.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Basic Operation 14
3.2.3 EtherNet/IP & CIP Implementation
By default, the module supports the generic CIP-profile. Optionally, it is possible to re-route requests
to unimplemented CIP-objects to the host application, thus enabling support for other profiles etc.
To support a specific profile, perform the following steps:
•
Set up the identity settings in the EtherNet/IP Host Object according to profile requirements.
•
Set up the Assembly Instance Numbers according to profile requirements.
•
Enable routing of CIP-messages to the host application in the EtherNet/IP Host Object.
•
Implement the required CIP-objects in the host application.
Unconnected CIP routing is supported, which means that a message can be sent to a device without first
setting up a connection.
See also...
•
“EtherNet/IP Host Object (F8h)” on page 118 (Host Application Object)
•
“Command Details: Process_CIP_Object_Request” on page 121
3.2.4 Web Interface
The web interface can be fully customized to suit a particular application. Data and web pages are stored
in a FLASH-based file system, which can be accessed using any standard FTP-client.
See also...
•
“File System” on page 17
•
“FTP Server” on page 18
•
“Web Server” on page 20
3.2.5 Socket Interface (Advanced Users Only)
The built in socket interface allows additional protocols to be implemented on top of TCP/IP.
See also...
•
“Socket Interface Object (07h)” on page 79 (Anybus Module Object)
•
“Message Segmentation” on page 130
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Basic Operation 15
3.3 Communication Settings
As with other Anybus CompactCom 30 products, network related communication settings are grouped
in the Network Configuration Object (04h).
In this case, this includes...
•
TCP/IP settings
These settings must be set properly in order for the module to be able to participate on the network.
The module supports DHCP, which may be used to retrieve the TCP/IP settings from a DHCPserver automatically. DHCP is enabled by default, but can be disabled if necessary.
•
Physical Link Settings
By default, the module uses auto negotiation to establish the physical link settings, however it is
possible to force a specific setting if necessary.
The parameters in the Network Configuration Object (04h) are available from the network through the
built in web server, and through the TCP/IP Interface Object (CIP).
See also...
•
“Web Server” on page 20
•
“TCP/IP Interface Object (F5h)” on page 62 (CIP)
•
“Ethernet Link Object (F6h)” on page 65 (CIP)
•
“Network Configuration Object (04h)” on page 72 (Anybus Module Object)
•
“HICP (Host IP Configuration Protocol)” on page 132
3.4 Diagnostics
The severity value of all pending events are combined (using logical OR) and copied to the corresponding bits in the ‘Status’-attribute of the Identity Object (CIP).
See also...
•
“Identity Object (01h)” on page 46 (CIP)
•
“Diagnostic Object (02h)” on page 70 (Anybus Module Object)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Basic Operation 16
3.5 Network Data Exchange
3.5.1 Application Data (ADIs)
ADIs are represented through the ADI Object (CIP). Each instance within this objects corresponds directly to an instance in the Application Data Object on the host application side.
Accessible range of ADIs is 1 to 65535.
See also...
•
“Parameter Object (0Fh)” on page 56 (CIP)
•
“ADI Object (A2h)” on page 58 (CIP)
3.5.2 Process Data
Process Data is represented as dedicated instances in the Assembly Object (CIP). Note that each ADI
element is mapped on a byte-boundary, i.e. each BOOL occupies one byte.
See also...
•
“Assembly Object (04h)” on page 50 (CIP)
•
“Connection Manager (06h)” on page 53 (CIP)
3.5.3 Translation of Data Types
The Anybus data types are translated to CIP-standard and vice versa as follows:
Anybus Data Type
BOOL
ENUM
SINT8
UINT8
SINT16
UINT16
SINT32
UINT32
FLOAT
CHAR
CIP Data Type
BOOL
USINT
SINT
USINT
INT
UINT
DINT
UDINT
REAL
SHORT_STRING
SINT64
UINT64
LINT
ULINT
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comments
Each ADI element of this type occupies one byte.
Each ADI element of this type occupies two bytes.
Each ADI element of this type occupies four bytes.
SHORT_STRING consists of a single-byte length field (which in this case
represents the number of ADI elements) followed by the actual character data
(in this case the actual ADI elements). This means that a 10-character string
occupies 11 bytes.
Each ADI element of this type occupies eight bytes.
Doc.Id. HMSI-168-80
Basic Operation 17
3.6 File System
3.6.1 General Information
Category: Extended
The built-in file system hosts 1.43MByte of non-volatile storage, which can be accessed by the HTTP
and FTP servers, the email client, and the host application.
The file system uses the following 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
•
A path cannot be longer than 255 characters (filename included)
See also...
•
“FTP Server” on page 18
•
“Web Server” on page 20
•
“E-mail Client” on page 26
•
“Server Side Include (SSI)” on page 27
•
“File System Interface Object (0Ah)” on page 101
IMPORTANT: The file system is located in flash memory. Due to technical reasons, each flash segment can erased
approximately 100000 times before failure, making it unsuitable for random access storage.
The following operations will erase one or more flash segments:
•
Deleting, moving or renaming a file or directory
•
Writing or appending data to an existing file
•
Formatting the file system
3.6.2 System Files
The file system 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™). The format of these files are, with a few exceptions, based on the concept of ‘keys’,
where each ‘key’ can be assigned a value, see below.
Example:
[Key1]
value of Key1
[Key2]
value of Key2
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 4
4. FTP Server
4.1 General Information
Category: extended
The built-in FTP-server makes it easy to manage the file system using a standard FTP client.
By default, the following port numbers are used for FTP communication:
•
TCP, port 20 (FTP data port)
•
TCP, port 21 (FTP command port)
The FTP server supports up to 8 concurrent connections.
4.2 User Accounts
User accounts are stored in the configuration file '\ftp.cfg'. This file holds the usernames, passwords,
and home directory for all users. Users are not able to access files outside of their home directory.
File Format:
User1:Password1:Homedir1
User2:Password2:Homedir2
User3:Password3:Homedir3
Optionally, the UserN:PasswordN-section can be replaced by a path to a file containing a list of users
as follows:
File Format (‘\ftp.cfg’):
User1:Password1:Homedir1
User2:Password2:Homedir2
\path\userlistA:HomedirA
\path\userlistB:HomedirB
The files containing the user lists shall have the following format:
File Format:
User1:Password1
User2:Password2
User3:Password3
Notes:
•
usernames must not exceed 15 characters in length.
•
Passwords must not exceed 15 characters in length.
•
usernames and passwords must only contain alphabetic characters and/or numbers.
•
If ‘\ftp.cfg’ is missing or cannot be interpreted, all username/password combinations will be accepted and the home directory will be the FTP root (i.e. ‘\ftp\’).
•
The home directory for a user must also exist in the file system if they should be able to log in,
just adding the user information to the 'ftp.cfg' file it is not enough.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
FTP Server 19
•
If ‘Admin Mode’ has been enabled in the Ethernet Object, all username/password combinations
will be accepted and the user will have unrestricted access to the file system (i.e. the home directory will be the system root).
•
It is strongly recommended to have at least one user with root access (‘\’) permission. If not,
‘Admin Mode’ must be enabled each time a system file needs to be altered (including ‘\ftp.cfg’).
4.3 Session Example
The Windows Explorer features a built-in FTP client which can easily be used to access the file system
as follows:
1. Open the Windows Explorer by right-clicking on the ‘Start’-button and selecting ‘Explorer’
2. In the address field, type FTP://<user>:<password>@<address>
- Substitute <address> with the IP address of the Anybus module
- Substitute <user> with the username
- Substitute <password> with the password
3. Press enter. The Explorer will now attempt to connect to the Anybus module using the specified
settings. If successful, the file system will be displayed in the Explorer window.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 5
5. Web Server
5.1 General Information
Category: extended
The built-in web server provides a flexible environment for end-user interaction and configuration purposes. The powerful combination of SSI and client-side scripting allows access to objects and file system
data, enabling the creation of advanced graphical user interfaces.
The web interfaces is stored in the file system, which can be accessed through the FTP server. If necessary, the web server can be completely disabled in the Ethernet Host Object.
The web server supports up to 20 concurrent connections and communicates through port 80.
See also...
•
“FTP Server” on page 18
•
“Server Side Include (SSI)” on page 27
•
“Ethernet Host Object (F9h)” on page 141
5.2 Default Web Pages
The default web interface consists of a set of virtual files; these virtual files may be replaced, but not
permanently erased, by placing files with the same name in the same location (i.e. the web root).
The files can be used as-is or called
from a customized web environment.
index.htm
The files are:
<WebRoot>\style.css
<WebRoot>\arrow_red.gif
<WebRoot>\index.htm
<WebRoot>\netinfo.htm
<WebRoot>\netconfig.htm
<WebRoot>\netstat.htm
<WebRoot>\parameter.htm
<WebRoot>\language.htm
language.htm
parameter.htm
netinfo.htm
netconfig.htm
netstat.htm
Note: If none of these files are used, it is recommended to completely disable the virtual file system
altogether in the File System Interface Object.
See also...
•
“File System” on page 17
•
“File System Interface Object (0Ah)” on page 101
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Web Server 21
5.2.1 Network Configuration
The network configuration page provides an interface for changing TCP/IP and SMTP settings in the
Network Configuration Object.
The module needs to be reset for the TCP/IP and SMTP settings to take effect. The Ethernet Configuration settings will take effect immediately.
Available editable settings will be explained on the next page.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Web Server 22
IP Configuration
The module needs a reset for any changes to take effect.
Name
IP address
Subnet mask
Gateway
Host name
Domain name
DNS 1
DNS 2
DHCP
Description
The TCP/IP settings of the module
Default values: 0.0.0.0
Value ranges: 0.0.0.0 - 255.255.255.255
IP address or name
Max 64 characters
IP address or name
Max 48 characters
Primary and secondary DNS server, used to resolve host name
Default values: 0.0.0.0
Value ranges: 0.0.0.0 - 255.255.255.255
Checkbox for enabling or disabling DHCP
Default value: enabled
SMTP Settings
The module needs a reset for the changes to take effect.
Name
SMTP Server
SMTP User
SMTP Pswd
Description
IP address
Max 64 characters
Max 64 characters
Max 64 characters
Ethernet Configuration
Changes will take effect immediately.
Name
Comm settings
Description
Ethernet speed/duplex settings
Default value: auto
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Web Server 23
5.2.2 Ethernet statistics page
The Ethernet statistics web page contains the following information:
Ethernet Link
Speed:
Duplex:
Description
The current link speed.
The current duplex configuration.
Interface Counters
In Octets:
In Ucast Packets:
In NUcast packets:
In Discards:
In Errors:
In Unknown Protos:
Out Octets:
Out Ucast packets:
Out NUcast packets:
Out Discards:
Out Errors:
Description
Received bytes.
Received unicast packets.
Received non-unicast packets (broadcast and multicast).
Received packets discarded due to no available memory buffers.
Received packets discarded due to reception error.
Received packets with unsupported protocol type.
Sent bytes.
Sent unicast packets.
Sent non-unicast packets (broadcast and multicast).
Outgoing packets discarded due to no available memory buffers.
Transmission errors.
Media Counters
MAC RX Errors:
Description
This counter is incremented for each packet received with errors. This count includes
packets which are automatically rejected from the FIFO due to both wire errors and
FIFO overruns.
This counter is incremented for each packet received with a Frame Check Sequence
error (bad CRC).
Packets with a invalid CRC on the last full octet, and an odd number of nibbles have
been received (Dribble nibble condition with a bad CRC).
This counter is incremented for each packet received with one or more symbol errors
detected.
This counter is incremented for each packet received with greater than the 802.3 standard maximum length of 1518 bytes.
This counter is incremented for each send packet that had a collision during transmission.
The size of the received packet was less than 64 bytes (inc. CRC).
The received packet had a collision during reception.
Carrier sense was lost during transmission of a packet.
Transmission of packet was deferred.
The length of deferral during the transmission of the packet was excessive indicating
transmission failure. The excessive deferral period is equal to 6144 bytes of data.
The MAC encountered an “out of window” collision during the transmission of a
packet.
FCS Errors:
Alignment Errors:
Symbol Errors:
Frame Too Long:
Transmission collisions:
Runt Packets:
Packets received with collision:
Carrier Sense Lost:
Deferred transmissions:
Excessive Deferred transmissions:
Out of Windows Collision:
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Web Server 24
5.3 Server Configuration
5.3.1 General Information
Category: advanced
Basic web server configuration settings are stored in the system file ‘\http.cfg’. This file holds the root
directory for the web interface, content types, and a list of file types which shall be scanned for SSI.
File Format:
•
The web server cannot access files outside this directory.
[WebRoot]
\web
[FileTypes]
FileType1:ContentType1
FileType2:ContentType2
...
FileTypeN:ContentTypeN
[SSIFileTypes]
FileType1
FileType2
...
FileTypeN
Web Root Directory
•
Content Types
A list of file extensions and their reported content
types.
See also...
- “Default Content Types” on page 25
•
SSI File Types
By default, only files with the extension ‘shtm’ are
scanned for SSI. Additional SSI file types can be
added here as necessary.
The web root directory determines the location of all files related to the web interface. Files outside of
this directory and its sub-directories cannot be accessed by the web server.
5.3.2 Index Page
The module searches for possible index pages in the following order:
1. <WebRoot>\index.htm
2. <WebRoot>\index.html
3. <WebRoot>\index.shtm
4. <WebRoot>\index.wml
Note 1: Substitute <WebRoot> with the web root directory specified in ‘\http.cfg’.
Note 2: If no index page is found, the module will default to the virtual index file (if enabled).
See also...
•
“Default Web Pages” on page 20
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Web Server 25
5.3.3 Default Content Types
By default, the following content types are recognized by their file extension:
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
css
Reported 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
text/css
Content types can be added or redefined by adding them to the server configuration file, see 5-24 “General Information”.
5.3.4 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 ‘here.cfg’ and ‘too.cfg’.
[File path]
\i\put\some\over\here.cfg
\i\actually\put\some\of\it\here\too.cfg
[AuthName]
Howdy. Password, please.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 6
6. E-mail Client
6.1 General Information
Category: extended
The built-in e-mail client allows the application to send e-mail messages through an SMTP-server. Messages can either be specified directly in the SMTP Client Object, or retrieved from the file system. The
latter may contain SSI, however note that for technical reasons, certain commands cannot be used (specified separately for each SSI command).
The client supports authentication using the ‘LOGIN’ method. Account settings etc. are stored in the
Network Configuration Object.
See also...
•
“Network Configuration Object (04h)” on page 72
•
“SMTP Client Object (09h)” on page 96
6.2 How to Send E-mail Messages
To be able to send e-mail messages, the SMTP-account settings must be specified.
This includes...
•
A valid SMTP-server address
•
A valid username
•
A valid password
To send an e-mail message, perform the following steps:
1. Create a new e-mail instance using the ‘Create’-command (03h)
2. Specify the sender, recipient, topic and message body in the e-mail instance
3. Issue the ‘Send Instance Email’-command (10h) towards the e-mail instance
4. Optionally, delete the e-mail instance using the ‘Delete’-command (04h)
Sending a message based on a file in the file system is achieved using the ‘Send Email from File’-command. For a description of the file format, see “Command Details: Send Email From File” on page 99.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 7
7. Server Side Include (SSI)
7.1 General Information
Category: advanced
Server Side Include functionality, or SSI, allows data from files and objects to be represented on web
pages and in e-mail messages.
SSI are special commands embedded within the source document. When the Anybus module encounters such a command, it will execute it, and replace it with the result specified operation (if applicable).
By default, only files with the extension ‘shtm’ are scanned for SSI.
7.2 Include File
This function includes the contents of a file. The content is scanned for SSI.
Note: This function cannot be used in e-mail messages.
Syntax:
<?--#include file="filename"-->
filename-Source file
Default Output:
Scenario
Success
Default Output
(contents of file)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 28
7.3 Command Functions
7.3.1 General Information
Command functions executes commands and includes the result.
General Syntax:
<?--#exec cmd_argument='command'-->
command-Command function, see below.
Command Functions:
Command
GetConfigItem()
SetConfigItem()
SsiOutput()
DisplayRemoteUser
ChangeLanguage()
IncludeFile()
SaveDataToFile()
printf()
scanf()
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Valid for Email Messages
Yes
No
Yes
No
No
Yes
No
Yes
No
Page
29
30
32
32
33
34
35
36
38
Doc.Id. HMSI-168-80
Server Side Include (SSI) 29
7.3.2 GetConfigItem()
This command returns specific information from a file in the file system.
File Format:
The source file must have the following format:
[key1]
value1
[key2]
value2
...
[keyN]
valueN
Syntax:
<?--exec cmd_argument='GetConfigItem("filename", "key"[,"separator"])'-->
filenamekey
separator-
Source file to read from.
Source [key] in file.
Optional; specifies line separation characters (e.g. “<br>”).
(default is CRLF).
Default Output:
Scenario
Success
Authentication Error
File open error
Key not found
Default Output
(value of specified key)
“Authentication error ”
“Failed to open file “filename” “
“Tag (key) not found ”
Example:
The following SSI...
<?--exec cmd_argument='GetConfigItem("\fruit.cnf", "Lemon")'-->
... in combination with the following file (‘\fruit.cnf’)...
[Apple]
Green
[Lemon]
Yellow
[Banana]
Blue
... returns the string ‘Yellow’.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 30
7.3.3 SetConfigItem()
This function stores an HTML-form as a file in the file system.
Note: This function cannot be used in e-mail messages.
Syntax:
<?--#exec cmd_argument='SetConfigItem("filename" [, Overwrite])'-->
filename-
Destination file. If the specified file does not exist, it will be created
(provided that the path is valid).
Overwrite
-Optional; forces the module to create a new file each time the command
is issued. The default behavior is to modify the existing file.
File Format:
Each form object is stored as a [tag], followed by the actual value.
[form object name 1]
form object value 1
[form object name 2]
form object value 2
[form object name 3]
form object value 3
...
[form object name N]
form object value N
Note: Form objects with names starting with underscore (‘_’) will not be stored.
Default Output:
Scenario
Success
Authentication Error
File open error
File write error
Default Output
“Configuration stored to “filename” ”
“Authentication error ”
“Failed to open file “filename” “
“Could not store configuration to “filename” “
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 31
Example:
The following example demonstrates how to use this function. The resulting page sends a form
to itself, which is then evaluated by the SetConfigItem command.
<HTML>
<HEAD><TITLE>SetConfigItem Test</TITLE></HEAD>
<BODY>
<?--#exec cmd_argument='SetConfigItem("\food.txt")'-->
<FORM action="test.shtm">
<P>
<LABEL for="Name">Name: </LABEL><BR>
<INPUT type="text" name="Name"><BR><BR>
<LABEL for="_Age">Age: </LABEL><BR>
<INPUT type="text" name="_Age"><BR><BR>
<LABEL for="Food">Food: </LABEL><BR>
<INPUT type="radio" name="Food" value="Cheese"> Cheese<BR>
<INPUT type="radio" name="Food" value="Sausage"> Sausage<BR><BR>
<LABEL for="Drink">Drink: </LABEL><BR>
<INPUT type="radio" name="Drink" value="Wine"> Wine<BR>
<INPUT type="radio" name="Drink" value="Beer"> Beer<BR><BR>
<INPUT type="submit" name="_submit">
<INPUT type="reset" name="_reset">
</P>
</FORM>
</BODY>
</HTML>
The resulting file (‘\food.txt’) may look somewhat as follows:
[Name]
Cliff Barnes
[Food]
Cheese
[Drink]
Beer
Note: In order for this example to work, the HTML-file must be named ‘test.shtm’.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 32
7.3.4 SsiOutput()
This command temporarily modifies the SSI output of the following command function.
Syntax:
<?--#exec cmd_argument='SsiOutput("success", "failure")'-->
success- String to use in case of success
failure - String to use in case of failure
Default Output:
(this command produces no output on it’s own)
Example:
The following example illustrates how to use this command.
<?--#exec cmd_argument='SsiOutput ("Parameter stored", "Error")'-->
<?--#exec cmd_argument='SetConfigItem("File.cfg", Overwrite)'-->
See also...
•
“SSI Output Configuration” on page 44
7.3.5 DisplayRemoteUser
This command stores returns the username on an authentication session.
Note: This command cannot be used in e-mail messages.
Syntax:
<?--#exec cmd_argument='DisplayRemoteUser'-->
Default Output:
Scenario
Success
Default Output
(current user)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 33
7.3.6 ChangeLanguage()
This command changes the language setting based on an HTML form object.
Note: This command cannot be used in e-mail messages.
Syntax:
<?--#exec cmd_argument='ChangeLanguage( "source" )'-->
source -Name of form object which contains the new language setting.
The passed value must be a single digit as follows:
Form value
“0”
“1”
“2”
“3”
“4”
Language
English
German
Spanish
Italian
French
Default Output:
Scenario
Success
Error
Default Output
“Language changed”
“Failed to change language “
Example:
The following example demonstrates how to use this function. The resulting page sends a form
to itself, which is then evaluated by the ChangeLanguage() command.
<HTML>
<HEAD><TITLE>ChangeLanguage Test</TITLE></HEAD>
<BODY>
<?--#exec cmd_argument='ChangeLanguage("lang")'-->
<FORM action="test.shtm">
<P>
<LABEL for="lang">Language(0-4): </LABEL><BR>
<INPUT type="text" name="lang"><BR><BR>
<INPUT type="submit" name="_submit">
</P>
</FORM>
</BODY>
</HTML>
Note: In order for this example to work, the HTML-file must be named ‘test.shtm’.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 34
7.3.7 IncludeFile()
This command includes the content of a file. Note that the content is not scanned for SSI.
Syntax:
<?--#exec cmd_argument='IncludeFile("filename" [, separator])'-->
filename-
Source file
separator-
Optional; specifies line separation characters (e.g. “<br>”).
Default Output:
Scenario
Success
Authentication Error
File open error
Default Output
(file contents)
“Authentication error ”
“Failed to open file “filename” “
Example:
The following example demonstrates how to use this function.
<HTML>
<HEAD><TITLE>IncludeFile Test</TITLE></HEAD>
<BODY>
<H1> Contents of ‘info.txt’:</H1>
<P>
<?--#exec cmd_argument='IncludeFile("info.txt")'-->.
</P>
</BODY>
</HTML>
Contents of ‘info.txt’:
Neque porro quisquam est qui dolorem ipsum quia dolor sit amet,
consectetur, adipisci velit...
When viewed in a browser, the resulting page should look somewhat as follows:
See also...
•
“Include File” on page 27
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 35
7.3.8 SaveDataToFile()
This command stores data from an HTML-form as a file in the file system. Content from the different
form objects are separated by a blank line (2*CRLF).
Note 1: This command cannot be used in e-mail messages.
Note 2: The power to the module must not be recycled during the execution of this command. As there
is no indication to confirm that the function has been fully executed, the function has to be used with
care to avoid corruption of the file system.
Syntax:
<?--#exec cmd_argument='SaveDataToFile("filename" [, "source"],
Overwrite|Append)'-->
filename-
Destination file. If the specified file does not exist, it will be created
(provided that the path is valid).
source -
Optional; by specifying a form object, only data from that particular form
object will be stored. Default behavior is to store data from all form
objects except the ones where the name starts with underscore (‘_’).
Overwrite|Append- Specifies whether to overwrite or append data to existing files.
Default Output:
Scenario
Success
Authentication Error
File write error
Default Output
“Configuration stored to “filename” ”
“Authentication error ”
“Could not store configuration to “filename” “
Example:
The following example demonstrates how to use this function. The resulting page sends a form
to itself, which is then evaluated by the SaveDataToFile command.
<HTML>
<HEAD><TITLE>SaveDataToFile Test</TITLE></HEAD>
<BODY>
<?--#exec cmd_argument='SaveDataToFile("\stuff.txt", “Meat”, Overwrite)'-->
<FORM action="test.shtm">
<P>
<LABEL for="Fruit">Fruit: </LABEL><BR>
<INPUT type="text" name="Fruit"><BR><BR>
<LABEL for="Meat">Meat: </LABEL><BR>
<INPUT type="text" name="Meat"><BR><BR>
<LABEL for="Bread">Bread: </LABEL><BR>
<INPUT type="text" name="Bread"><BR><BR>
<INPUT type="submit" name="_submit">
</P>
</FORM>
</BODY>
</HTML>
The resulting file (‘\stuff.txt’) will contain the value specified for the form object called ‘Meat’.
Note: In order for this example to work, the HTML-file must be named ‘test.shtm’.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 36
7.3.9 printf()
This function returns a formatted string which may contain data from the Anybus module and/or application. The formatting syntax used is similar to that of the standard C-function printf().
The function accepts a template string containing zero or more formatting tags, followed by a number
of arguments. Each formatting tag corresponds to a single argument, and determines how that argument
shall be converted to human readable form.
Syntax:
<?--#exec cmd_argument='printf("template" [, argument1, ..., argumentN])'-->
template-
Template which determines how the arguments shall be represented. May
contain any number of formatting tags which are substituted by subsequent arguments and formatted as requested. The number of format tags
must match the number of arguments; if not, the result is undefined.
Formatting tags are written as follows:
%[Flags][Width][.Precision][Modifier]type
See also...
•
argument-
“Formatting Tags” on page 37
Source arguments; optional parameters which specify the actual source of
the data that shall be inserted in the template string. The number of arguments must match the number of formatting tags; if not, the result is undefined.
At the time of writing, the only allowed argument is ABCCMessage().
See also...
•
“ABCCMessage()” on page 40
Default Output:
Scenario
Success
ABCCMessage error
Default Output
(printf() result)
ABCCMessage error string (7-43 “Errors”)
Example:
See also...
- “ABCCMessage()” on page 40
- “Example (Get_Attribute):” on page 42
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 37
Formatting Tags
•
Type (Required)
The Type-character is required and determines the basic representation as follows:
Type Character
c
d, i
e, E
f
g, G
o
s
u
x, X
%
•
1065
Text
4242
4e7f
%
Meaning
Left-justify the result within the give width (default is right justification)
Always include a ‘+’ or ‘-’ to indicate whether the number is positive or negative
If the number does not start with a ‘+’ or ‘-’, prefix it with a space character instead.
Pad the field with zeroes instead of spaces
For %e, %E, and %f, forces the number to include a decimal point, even if no digits follow.
For %x and %X, prefixes 0x or 0X, respectively.
Width (Optional)
Width
number
*
•
Example
b
565
5.6538e2
565.38
565.38
Flags (Optional)
Flag Character
+
(space)
0 (zero)
#
•
Representation
Single character
Signed decimal integer.
Floating-point number in exponential notation.
Floating-point number in normal, fixed-point notation.
%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 zeroes/decimal point are not printed.
Unsigned octal notation
String of characters
Unsigned decimal integer
Hexadecimal integer
Literal %; no assignment is made
Meaning
Specifies the minimum number of characters to be printed.
If the value to be printed is shorter than this number, the result is padded to make up the
field width. The result is never truncated even if the result is larger.
The width is not specified in the format string, it is specified by an integer value preceding
the argument that has to be formatted.
.Precision (Optional)
The exact meaning of this field depends on the type character:
Type Character
d, i, o, u, x, X
e, E, f
g, G
s
c
•
Meaning
Specifies the minimum no. of decimal digits to be printed. If the value to be printed is
shorter than this number, the result is padded with space. Note that the result is never truncated, even if the result is larger.
Specifies the no. of digits to be printed after the decimal point (default is 6).
Specifies the max. no. of significant numbers to be printed.
Specifies the max. no. of characters to be printed
(no effect)
Modifier
Modifier Character Meaning
h
Argument is interpreted as SINT8, SINT16, UINT8 or UINT16
l
Argument is interpreted as SINT32 or UINT32
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 38
7.3.10 scanf()
This function is very similar to the printf() function described earlier, except that it is used for input rather than output. The function reads a string passed from an HTML form object, parses the string as specified by a template string, and sends the resulting data to the specified argument. The formatting syntax
used is similar to that of the standard C-function scanf().
The function accepts a source, a template string containing zero or more formatting tags, followed by a
number of arguments. Each argument corresponds to a formatting tag, which determines how the data
read from the HTML form shall be interpreted prior sending it to the destination argument.
Note: This command cannot be used in email messages.
Syntax:
<?--#exec cmd_argument='scanf("source", "template" [,
argument1, ..., argumentN])'-->
source -
Name of the HTML form object from which the string shall be extracted.
template-
Template which specifies how to parse and interpret the data. May contain
any number of formatting tags which determine the conversion prior to
sending the data to subsequent arguments. The number of formatting tags
must match the number of arguments; if not, the result is undefined.
Formatting tags are written as follows:
%[*][Width][Modifier]type
See also...
•
argument-
“Formatting Tags” on page 39
Destination argument(s) specifying where to send the interpreted data.
The number of arguments must match the number of formatting tags; if
not, the result is undefined.
At the time of writing, the only allowed argument is ABCCMessage().
See also...
•
“ABCCMessage()” on page 40
Default Output:
Scenario
Success
Parsing error
Too much data for argument
ABCC Message error
Default Output
“Success”
“Incorrect data format ”
“Too much data ”
ABCCMessage error string ( “Errors” on page 43)
Example:
See also...
- “ABCCMessage()” on page 40
- “Example (Set_Attribute):” on page 42
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 39
Formatting Tags
•
Type (Required)
The Type-character is required and determines the basic representation as follows:
Type
c
d
Input
Single character
Accepts a signed decimal integer
i
Accepts a signed or unsigned decimal integer. May be given as decimal,
hexadecimal or octal, determined by the initial characters of the input data:
Initial Characters:Format:
0x Hexadecimal
0 Octal
1... 9 Decimal
Accepts an optionally signed decimal integer.
u
Argument Data Type
CHAR
SINT8
SINT16
SINT32
SINT8/UINT8
SINT16/UINT16
SINT32/UINT32
UINT8
UINT16
UINT32
o
Accepts an optionally signed octal integer.
SINT8/UINT8
SINT16/UINT16
SINT32/UINT32
x, X
Accepts an optionally signed hexadecimal integer.
SINT8/UINT8
SINT16/UINT16
SINT32/UINT32
e, E,
Accepts an optionally signed floating point number. The input format for float- FLOAT
f,
ing-point numbers is a string of digits, with some optional characteristics:
g, G
- It can be a signed value
- It can be an exponential value, containing a decimal rational number followed by an exponent field, which consists of an ‘E’ or an ‘e’ followed by an
integer.
n
Consumes no input; the corresponding argument is an integer into which
SINT8/UINT8
scanf writes the number of characters read from the object input.
SINT16/UINT16
SINT32/UINT32
s
Accepts a sequence of non-whitespace characters
STRING
[scanset] Accepts a sequence of non-whitespace characters from a set of expected
STRING
bytes specified by the scanlist (e.g ‘[0123456789ABCDEF]’)
A literal ‘]’ character can be specified as the first character of the set. A caret
character (‘^’) immediately following the initial ‘[’ inverts the scanlist, i.e.
allows all characters except the ones that are listed.
%
Accepts a single ‘%’ input at this point; no assignment or conversion is done. The complete conversion specification should be ‘%%’.
•
* (Optional)
Data is read but ignored. It is not assigned to the corresponding argument.
•
Width (Optional)
Specifies the maximum number of characters to be read.
•
Modifier (Optional)
Specifies a different data size.
Modifier Meaning
h
SINT8, SINT16, UINT8 or UINT16
l
SINT32 or UINT32
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 40
7.4 Argument Functions
7.4.1 General Information
Argument functions are supplied as parameters to certain command functions.
General Syntax:
(Syntax depends on context)
Argument Functions:
Function
ABCCMessage()
Description
-
Page
40
7.4.2 ABCCMessage()
This function issues an object request towards an object in the module or in the host application.
Syntax:
ABCCMessage(object, instance, command, ce0, ce1,
msgdata, c_type, r_type)
object -
Specifies the Destination Object
instance-
Specifies the Destination Instance
command-
Specifies the Command Number
ce0
-
Specifies CmdExt[0] for the command message
ce1
-
Specifies CmdExt[1] for the command message
msgdata- Specifies the actual contents of the MsgData[] subfield in the command
c_type -
•
Data can be supplied in direct form (format depends on c_type)
•
The keyword “ARG” is used when data is supplied by the parent
command (e.g. scanf()).
Specifies the data type in the command (msgdata)
See also...
•
r_type -
“Command Data Types (c_type)” on page 41
Specifies the data type in the response (msgdata)
See also...
•
“Response Data Types (r_type)” on page 41
Numeric input can be supplied in the following formats:
Decimal (e.g. 50)- (no prefix)
Octal (e.g. 043)- Prefix 0 (zero)
Hex (e.g. 0x1f)- Prefix 0x
See also...
•
“Example (Get_Attribute):” on page 42
•
“Example (Set_Attribute):” on page 42
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 41
•
Command Data Types (c_type)
For types which support arrays, the number of elements can be specified using the suffix ‘[n]’,
where ‘n’ specifies the number of elements. Each data element must be separated by space.
•
Type
BOOL
SINT8
SINT16
SINT32
UINT8
UINT16
UINT32
CHAR
STRING
Supports Arrays
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
FLOAT
NONE
Yes
No
Data format (as supplied in msgdata)
1
-25
2345
-2569
245
40000
32
A
“abcde”
Note: Quotes can be included in the string if preceded by backslash(‘\’)
Example: “We usually refer to it as \”the Egg\” “
5.6538e2
Command holds no data, hence no data type
Response Data Types (r_type)
For types which support arrays, the number of elements can be specified using the suffix ‘[n]’,
where ‘n’ specifies the number of elements.
Type
BOOL
Supports Arrays
Yes
SINT8
SINT16
SINT32
UINT8
Yes
Yes
Yes
Yes
UINT16
UINT32
CHAR
STRING
ENUM
Yes
Yes
Yes
No
No
FLOAT
NONE
Yes
No
Comments
Optionally, it is possible to exchange the BOOL data with a message
based on the value (true or false). In such case, the actual data type
returned from the function will be STRING.
Syntax: BOOL<true><false>
For arrays, the format will be BOOL[n]<true><false>.
This type can also be used when reading ENUM data types from an
object. In such case, the actual ENUM value will be returned.
When using this data type, the ABCCMessage() function will first read
the ENUM value. It will then issue a ‘Get Enum String’-command to
retrieve the actual enumeration string. The actual data type in the
response will be STRING.
Response holds no data, hence no data type
IMPORTANT: It is important to note that the message will be passed transparently to the addressed object. The SSI
engine performs no checks for violations of the object addressing scheme, e.g. a malformed Get_Attribute request which
(wrongfully) includes message data will be passed unmodified to the object, even though this is obviously wrong. Failure to
observe this may cause loss of data or other undesired side effects.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 42
Example (Get_Attribute):
This example shows how to retrieve the IP address using printf() and ABCCMessage().
<?--#exec cmd_argument='printf( "%u.%u.%u.%u",
ABCCMessage(4,3,1,5,0,0,NONE,UINT8[4] ) )'-->
Variable
object
instance
command
ce0
ce1
msgdata
c_type
r_type
Value
4
3
1
5
0
0
NONE
UINT8[4]
Comments
Network Configuration Object (04h)
Instance #3 (IP address)
Get_attribute
Attribute #5
Command message holds no data
Array of 4 unsigned 8-bit integers
See also...
- 7-36 “printf()”
Example (Set_Attribute):
This example shows how to set the IP address using scanf() and ABCCMessage(). Note the special parameter value ‘ARG’, which instructs the module to use the passed form data (parsed by
scanf() ).
<?--#exec cmd_argument='scanf("IP", "%u.%u.%u.%u",
ABCCMessage(4,3,2,5,0,ARG,UINT8[4],NONE ) )'-->
Variable
object
instance
command
ce0
ce1
msgdata
c_type
r_type
Value
4
3
2
5
0
ARG
UINT8[4]
NONE
Comments
Network Configuration Object (04h)
Instance #3 (IP address)
Set_attribute
Attribute #5
Use data parsed by scanf() call
Array of 4 unsigned 8-bit integers
Response message holds no data
See also...
- “scanf()” on page 38
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 43
Errors
In case an object request results in an error, the error code in the response will be evaluated and translated to human readable form as follows:
Error Code
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17... 255
Output
“Unknown error”
“Unknown error”
“Invalid message format”
“Unsupported object”
“Unsupported instance”
“Unsupported command”
“Invalid CmdExt[0]”
“Invalid CmdExt[1]”
“Attribute access is not set-able”
“Attribute access is not get-able”
“Too much data in msg data field”
“Not enough data in msg data field”
“Out of range”
“Invalid state”
“Out of resources”
“Segmentation failure”
“Segmentation buffer overflow”
“Unknown error”
See also...
•
“SSI Output Configuration” on page 44
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Server Side Include (SSI) 44
7.5 SSI Output Configuration
Optionally, the SSI output can be permanently changed by adding the file ‘\output.cfg’.
File format:
[ABCCMessage_X]
0:"Success string"
1:"Error string 1"
2:"Error string 2"
...
16:"Error string 16"
[GetConfigItem_X]
0:"Success string"
1:"Authentication error string"
2:"File open error string"
3:"Tag not found string"
•
Each error code corresponds to a dedicated
output string, labelled from 1 to 16.
See also...
- “Errors” on page 43
•
Use ‘%s” to include the name of the file.
[SetConfigItem_X]
0:"Success string"
1:"Authentication error string"
2:"File open error string"
3:"File write error string"
•
Use ‘%s” to include the name of the file.
[IncludeFile_X]
0:"Success string"
1:"Authentication error string"
2:"File readS error string"
•
Use ‘%s” to include the name of the file.
[scanf_X]
0:"Success string"
1:"Parsing error string"
[ChangeLanguage_X]
0:"Success string"
1:"Change error string"
All content above can be included in the file multiple times changing the value ‘X’ in each tag for different languages. The module will then select the correct output string based on the language settings. If
no information for the selected language is found, it will use the default SSI output.
Value of X
0
1
2
3
4
Language
English
German
Spanish
Italian
French
See also...
•
“SsiOutput()” on page 32
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 8
8. CIP Objects
8.1 General Information
This chapter specifies the CIP-object implementation in the module. These objects can be accessed
from the network, but not directly by the host application.
Mandatory Objects:
•
“Identity Object (01h)” on page 46
•
“Message Router (02h)” on page 49
•
“Assembly Object (04h)” on page 50
•
“Connection Manager (06h)” on page 53
•
“Parameter Object (0Fh)” on page 56
•
“Port Object (F4h)” on page 60 (Optional)
•
“TCP/IP Interface Object (F5h)” on page 62
•
“Ethernet Link Object (F6h)” on page 65
Vendor Specific Objects:
•
“ADI Object (A2h)” on page 58
It is possible to implement additional CIP-objects in the host application using the CIP forwarding functionality, see “EtherNet/IP Host Object (F8h)” on page 118 and “Command Details: Process_CIP_Object_Request” on page 121.
Unconnected CIP routing is supported, which means that a message can be sent to a device without first
setting up a connection.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 46
8.2 Identity Object (01h)
Category
Extended
Object Description
-
Supported Services
Class:
Get_Attribute_Single
Get_Attributes_All
Instance:
Get_Attribute_Single
Set_Attribute_Single
Get_Attributes_All
Reset
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 47
Class Attributes
#
1
Name
Revision
Access
Get
Type
UINT
Value
0001h (Object revision)
Instance #1 Attributes
Extended
#
1
Name
Vendor ID
Access
Get
Type
UINT
005Ah (HMS Industrial Networks AB)a
2
Device Type
Get
UINT
0000h (Generic Device)a
3
Product Code
Get
UINT
0063h (Anybus CompactCom 30 EtherNet/IP)a
4
Revision
Get
Major and minor firmware revisiona
5
6
Status
Serial Number
Get
Get
Struct of:
{USINT, USINT}
WORD
UDINT
7
Product Name
Get
11 Active language Set
12 Supported Lan- Get
guage List
Value
See 8-48 “Device Status”
Unique serial number (assigned by HMS)a
SHORT_STRING “Anybus-CC EtherNet/IP” (Name of product)a
Struct of:
Requests sent to this instance are forwarded to the Application
USINT
Object. The host application is then responsible for updating the lanUSINT
guage settings accordingly.
USINT
Array of:
List of languages supported by the host application. This list is read
from the Application Object during the NW_INIT state, and translated
Struct of:
to CIP standard.
USINT
USINT
USINT
a. Can be customized by implementing the EtherNet/IP Host Object, see 10-118 “EtherNet/IP Host Object (F8h)”
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 48
Device Status
bit(s)
0
1
2
3
4... 7
Name
Module Owned
(reserved)
Configureda
(reserved)
Extended Device Status:
Value:Meaning:
0000b Unknown
0010b Faulted I/O Connection
0011b No I/O connection established
0100b Non-volatile configuration bad
0110b Connection in Run mode
0111b Connection in Idle mode
(other) (reserved)
8
Set for minor recoverable faultsb
9
Set for minor unrecoverable faultsb
10
Set for major recoverable faultsb
11
Set for major unrecoverable faultsb
(reserved)
12... 15
a. This bit shows if the product has other settings than “out-of-box”. The value is set to true if the configured attribute
in the Application Object is set and/or the module’s NV storage is changed from default.
b. See “Diagnostic Object (02h)” on page 70.
Service Details: Reset Service
The module forwards reset requests from the network to the host application. For more information
about network reset handling, consult the general Anybus CompactCom 30 Design Guide.
There are two types of network reset requests on EtherNet/IP:
•
Type 0: ‘Power Cycling Reset’
This service emulates a power cycling of the module, and corresponds to Anybus reset type 0
(Power cycling). For further information, consult the general Anybus CompactCom 30 Software
Design Guide.
•
Type 1: ‘Out of box reset’
This service sets a “out of box” configuration and performs a reset, and corresponds to Anybus
reset type 2 (Power cycling + factory default). For further information, consult the general Anybus CompactCom 30 Software Design Guide.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 49
8.3 Message Router (02h)
Category
Extended
Object Description
-
Supported Services
Class:
-
Instance:
-
Class Attributes
-
Instance Attributes
-
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 50
8.4 Assembly Object (04h)
Category
Extended
Object Description
The Assembly object uses static assemblies and holds the Process Data sent/received by the host application. The default assembly instance IDs used are in the vendor specific range.
See also...
•
“Process Data” on page 16
•
“EtherNet/IP Host Object (F8h)” on page 118
Supported Services
Class:
Get_Attribute_Single
Instance:
Get_Attribute_Single
Set_Attribute_Single
Class Attributes
#
1
2
Name
Revision
Max Instance
Access
Get
Get
Type
UINT
UINT
Value
0002h (Object revision)
(Highest instance number)
Instance 03h Attributes (Heartbeat, Input-Only)
Extended
This instance is used as heartbeat for Input-Only connections. The data size of the Heartbeat instance
in the Forward_Open-request should be 0 bytes, however other values are also permitted.
#
3
Name
Data
Access
Set
Type
N/A
Value
- (The data size of this attribute is zero)
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 51
Instance 04h Attributes (Heartbeat, Listen-Only)
Extended
This instance is used as heartbeat for listen-only connections. The data size of the Heartbeat instance in
the Forward_Open-request should be 0 bytes, however other values are also permitted.
#
3
Name
Data
Access
Set
Type
N/A
Value
- (The data size of this attribute is zero)
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
Instance 05h Attributes (Configuration Data)
Extended
Configuration Data that is sent through the ‘Forward_Open’-service will be written to this instance.
#
3
Name
Data
Access
Get/Set
Type
N/A
Value
- (Configuration data written to the application when the forward
open command has the configuration data included)
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
See also...
•
“Command Details: Set_Configuration_Data” on page 122
Instance 06h Attributes (Heartbeat, Input-Only Extended)
Extended
This instance is used as heartbeat for input-only extended connections, and does not carry any attributes.
The state of connections made to this instance does not affect the state of the Anybus CompactCom
module, i.e. if the connection times out, the module does not switch to the Error state. The data size of
the Heartbeat instance in the Forward_Open-request should be 0 bytes, however other values are also
permitted.
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
Instance 07h Attributes (Heartbeat, Listen-Only Extended)
Extended
This instance is used as heartbeat for listen-only extended connections, and does not carry any attributes.
The state of connections made to this instance does not affect the state of the Anybus CompactCom
module, i.e. if the connection times out, the module does not switch to the Error state. The data size of
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 52
the Heartbeat instance in the Forward_Open-request should be 0 bytes, however other values are also
permitted.
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
Instance 64h Attributes (Producing Instance)
Extended
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
#
3
Name
Produced Data
Access
Get
Type
Array of BYTE
Value
This data corresponds to the Write Process Data.
See also...
•
3-16 “Network Data Exchange”
•
10-118 “EtherNet/IP Host Object (F8h)” (Instance attribute #7)
Instance 96h Attributes (Consuming Instance)
Extended
The instance number for this instance can be changed by implementing the corresponding attribute in
the EtherNet/IP Host Object.
#
3
Name
Consumed Data
Access
Set
Type
Array of BYTE
Value
This data corresponds to the Read Process Data.
See also...
•
“Network Data Exchange” on page 16
•
“EtherNet/IP Host Object (F8h)” on page 118 (Instance attribute #8)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 53
8.5 Connection Manager (06h)
Category
Extended
Object Description
-
Supported Services
Class:
-
Instance:
Forward_Open
Forward_Close
Instance Descriptions
(No supported instance attributes)
Class 1 Connection Details
General
Class 1 connections are used to transfer I/O data, and can be established to instances in the Assembly
Object. Each Class 1 connection will establish data transports; one consuming and up to four producing.
The heartbeat instances can be used for connections that shall only access inputs. Class 1 connections
use UDP transport.
•
Total number of supported class 1 connections:
4
•
Max input connection size:
256 bytes
•
Max output connection size:
256 bytes
•
Supported API:
2... 3200ms
•
T->O Connection type:
Point-to-point, Multicast
•
O->T Connection type:
Point-to-point
•
Supported trigger type:
Cyclic
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 54
Connection Types
•
Exclusive-Owner connection
This type of connection controls the outputs of the Anybus module and does not depend on other connections.
•
- Max. no. of Exclusive-Owner connections:
1
- Connection point O  T:
Assembly Object, instance 96h (Default)
- Connection point T O:
Assembly Object, instance 64h (Default)
Input-Only connection
This type of connection is used to read data from the Anybus module without controlling the
outputs. It does not depend on other connections.
- Max. no. of Input-Only connections:
Up to 41
- Connection point O T:
Assembly Object, instance 03h (Default)
- Connection point T O:
Assembly Object, instance 64h (Default)
Note: If an Exclusive-Owner connection has been opened towards the module and times out,
the Input-Only connection times out as well. If the Exclusive-Owner connection is properly
closed, the Input-Only connection remains unaffected.
•
Input-Only Extended connection
This connections functionality is the same as the standard Input-Only connection. However
when this connection times out it does not affect the state of the application.
•
- Connection point O T:
Assembly Object, instance 06h (Default)
- Connection point T O:
Assembly Object, instance 64h (Default)
Listen-Only connection
This type of connection requires another connection in order to exist. If that connection (Exclusive-Owner or Input-Only) is closed, the Listen-Only connection will be closed as well.
- Max. no. of Input-Only connections:
•
Up to 42
- Connection point O T:
Assembly Object, instance 04h (Default)
- Connection point T O:
Assembly Object, instance 64h (Default)
Listen-Only Extended connection
This connections functionality is the same as the standard Listen-Only connection. However
when this connection times out it does not affect the state of the application.
•
- Connection point O T:
Assembly Object, instance 07h (Default)
- Connection point T O:
Assembly Object, instance 64h (Default)
Redundant-Owner connection
This connection type is not supported by the module.
1. Shared with Exclusive-Owner and Listen-Only connections
2. Shared with Exclusive-Owner and Input-Only connections
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 55
Class 3 Connection Details
•
Explicit message connection
Class 3 connections are used to establish connections towards the message router. Thereafter,
the connection is used for explicit messaging. Class 3 connections use TCP transport.
- No. of simultaneous Class 3 connections:
16
- Supported API:
2 - 10000 ms
- T->O Connection type:
Point-to-point
- O->T Connection type:
Point-to-point
- Supported trigger type:
Application
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 56
8.6 Parameter Object (0Fh)
Category
Extended
Object Description
This object allows configuration tools such as RSNetworx to extract information about the Application
Data Instances (ADIs) and present them with their actual name and range to the user.
Since this process may be somewhat time consuming, especially when using the serial host interface, it
is possible to disable support for this functionality in the EtherNet/IP Host Object.
Due to limitations imposed by the CIP standard, ADIs containing multiple elements (i.e. arrays etc.) cannot be represented through this object. In such cases, default values will be returned, see 8-57 “Default
Values”.
See also...
•
“Default Values” on page 57
•
“ADI Object (A2h)” on page 58 (CIP Object)
•
“EtherNet/IP Host Object (F8h)” on page 118 (Host Application Object)
Supported Services
Class:
Get_Attribute_Single
Instance:
Get_Attribute_Single
Set_Attribute_Single
Get_Attributes_All
Get_Enum_String
Class Attributes
#
1
2
Name
Revision
Max instance
Access
Get
Get
Type
UINT
UINT
8
Parameter class
descriptor
Get
WORD
9
Configuration Assembly Get
instance
UINT
Value
0001h (Revision of the object)
Maximum created instance number = class attribute 3 in
the Application Data Objecta
Default: 0000 0000 0000 01011b
Bit:Contents:
0 Supports parameter instances
1 Supports full attributes
2 Must do non-volatile storage save command
3 Parameters are stored in non-volatile storage
0000h (Configuration assembly not supported)
a. Consult the general Anybus CompactCom 30 Software Design Guide for further information.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 57
Instance Attributes
Extended
#
1
Name
Parameter Value
Access
Get/Set
2
3
Link Path Size
Link Path
Get
Get
Type
Specified in attributes 4, 5 & 6.
USINT
Packed EPATH
4
Descriptor
Get
WORD
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Data type
Data size
Parameter Name String
Units String
Help String
Minimum value
Maximum value
Default value
Scaling Multiplier
Scaling Divisor
Scaling Base
Scaling Offset
Multiplier link
Divisor Link
Base Link
Offset Link
Decimal precision
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
Get
EPATH
USINT
SHORT_STRING
SHORT_STRING
SHORT_STRING
(Data Type)
(Data Type)
(Data Type)
UINT
UINT
UINT
INT
UINT
UINT
UINT
UINT
USINT
Value
Actual value of parameter
This attribute is read-only if bit 4 of Attribute #4 is true
0007h
20 A2 25 nn nn 30 05h
(Path to the object from where this parameter’s value is
retrieved, in this case the ADI Object)
Bit:Contents:
0 Supports Settable Path (N/A)
1 Supports Enumerated Strings
2 Supports Scaling (N/A)
3 Supports Scaling Links (N/A)
4 Read only Parameter
5 Monitor Parameter (N/A)
6 Supports Extended Precision Scaling (N/A)
Data type code
Number of bytes in parameter value
Name of the parameter, truncated to 16 chars
(not supported)
Minimum value of parameter
Maximum value of parameter
Default value of parameter
0001h (not supported)
0000h (not supported)
Default Values
#
1
2
3
4
5
6
7
8
9
10
11
12
Name
Parameter Value
Link Path Size
Link Path
Descriptor
Data type
Data size
Parameter Name String
Units String
Help String
Minimum value
Maximum value
Default value
Value
0
0
0010h
C6h
1
(reserved)
“”
“”
N/A
N/A
N/A
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comments
Size of link path in bytes.
NULL Path
Read only Parameter
USINT
0
0
0
Doc.Id. HMSI-168-80
CIP Objects 58
8.7 ADI Object (A2h)
Category
Extended
Object Description
This object maps instances in the Application Data Object to EtherNet/IP. All requests to this object
will be translated into explicit object requests towards the Application Data Object in the host application; the response is then translated back to CIP-format and sent to the originator of the request.
See also...
•
Application Data Object (see Anybus CompactCom 30 Software Design Guide)
•
“Parameter Object (0Fh)” on page 56 (CIP Object)
Supported Services
Class:
Get_Attribute_Single
Instance:
Get_Attribute_Single
Set_Attribute_Single
Class Attributes
#
1
2
Name
Revision
Max Instance
Access
Get
Get
Type
UINT
UINT
Value
Object revision (Current value = 0001h)
3
Number of instances
Get
UINT
Equals attribute #3 in the Application Data Objecta
Equals attribute #4 in the Application Data Objecta
a. Consult the general Anybus CompactCom 30 Software Design Guide for further information.
Instances Attributes
Each instance corresponds to an instance within the Application Data Object (for more information,
consult the general Anybus CompactCom 30 Software Design Guide).
Extended
#
1
2
3
4
Name
Name
ABCC Data type
No. of elements
Descriptor
Access
Get
Get
Get
Get
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Type
SHORT_STRING
USINT
USINT
USINT
Description
Parameter name (Including length)
Data type of instance value
Number of elements of the specified data type
Bit field describing the access rights for this instance
Bit:Meaning:
0 Set = Get Access
1 Set = Set Access
Doc.Id. HMSI-168-80
CIP Objects 59
#
5
Name
Value
Access
Get/Set
6
Max valuea
Get
7
Min valuea
Get
The minimum permitted parameter value.
8
Default valuea
Get
The default parameter value.
a
Type
Determined by
attribute #2
Description
Instance value
The maximum permitted parameter value.
a. Converted to/from CIP standard by the module
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 60
8.8 Port Object (F4h)
Category
Extended
Object Description
This object exists only if enabled in the EtherNet/IP Host Object (Instance Attribute #17).
See also...
•
“EtherNet/IP Host Object (F8h)” on page 118 (Anybus Module Object)
•
“CIP Port Configuration Object (0Dh)” on page 115 (Host Application Object)
Supported Services
Class:
Get_Attributes_All
Get_Attribute_Single
Instance:
Get_Attributes_All
Get_Attribute_Single
Class Attributes
#
1
2
3
8
Name
Revision
Max Instance
Number of instances
Entry Port
Access
Get
Get
Get
Get
Type
UINT
UINT
UINT
UINT
9
Port Instance Info
Get
Array of:
Value
Object revision (Current value = 0001h)
Max. instance number
Number of ports
Returns the instance of the Port Object that describes the port
through which this request entered the device.
Array of structures containing instance attributes 1 and 2 from
each instance. The array is indexed by instance number, up to
the maximum number of instances. The value at index 1 (offset 0) and any non-instantiated instances will be zero.
Struct of:
UINT (Type)
Enumerates the type of port (see instance attribute #1)
UINT (Number) CIP port number associated with this port (see instance #2)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 61
Instances Attributes (Instance #1)
Extended
This instance reflects the properties associated with the Ethernet interface.
#
1
Name
Port Type
Access
Get
2
3
Port Number
Link Object
Get
Get
4
7
8
Port Name
Node Address
Port Node Range
Get
Get
Get
Type
UINT
Value
0h (default)
If one or more additional port instances are registered where
Port Type is not 0h, the value of this attribute shall be 4h.
UINT
2h
Struct of:
UINT
2h
Padded EPATH 20 F5 24 01h
SHORT_STRING “EtherNet/IP”
Padded EPATH Struct of:
UINT (Min.)
UINT (Max.)
See also...
•
“CIP Port Configuration Object (0Dh)” on page 115
Instances Attributes (Instances #2... #8)
Extended
#
1
2
3
Name
Port Type
Port Number
Link Object
Access
Get
Get
Get
4
7
Port Name
Node Address
Get
Get
8
Port Node Range
Get
Type
UINT
UINT
Struct of:
UINT
Padded EPATH
Value
Enumerates the type of port
CIP port number associated with this port
Path length (number of 16-bit words)
Logical path segments which identify the object for this port.
The path must consist of one logical class segment and one
logical instance segment. The maximum size is 12 bytes.
SHORT_STRING Name of port, e.g. “Port A”. Max. 64 characters.
Padded EPATH Node number of this device on port. The range within this data
type is restricted to a Port Segment.
Struct of:
UINT (Min.)
Min. node number on port
UINT (Max.)
Max. node number on port
See also...
•
“CIP Port Configuration Object (0Dh)” on page 115 (9-116 “Instance Attributes”)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 62
8.9 TCP/IP Interface Object (F5h)
Category
Extended
Object Description
The object groups TCP/IP-related settings. See also...
•
“Communication Settings” on page 15
•
“Network Configuration Object (04h)” on page 72 (Anybus Module Object)
Supported Services
Class services:
Get_Attribute_All
Get_Attribute_Single
Instance services:
Get_Attribute_All
Get_Attribute_Single
Set_Attribute_Single1
Class Attributes
#
1
Access
Get
Name
Revision
Type
UINT
Value
0003h
Description
Revision 3
1. Support for this service can be disabled by implementing attribute #9 in the EtherNet/IP Host Object.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 63
Instance Attributes
Extended
#
1
Access
Get
Name
Status
2
Get
Configuration
Capability
3
Get/Set
Configuration
Control
4
Get
Physical Link
Object
5
Get/Set
Interface
Configuration
6
7
8
Get/Set Host Name
(not used)
Get/Set TTL Value
Type
DWORD
Value
-
Comments
Bit #: Meaning:
0-3:
When set to 1h, attribute #5 contains valid
configuration from DHCP or non-volatile
storage. When set to 2h, attribute #5 contains valid configuration from hardware
settings. Remaining values are reserved
for future use.
4:
Multicast pending if set to 1
5:
(reserved, set to 0)
6:
AcdStatus. Set to 1 if an address conflict is
detected. Address conflict detection is
enabled/disabled in attribute #10.
7
AcdFault. Set to 1 if an address conflict is
detected and the current configuration cannot be used due to this conflict.
8 - 31: (reserved, set to 0)
DWORD
0000 0084h Bit #: Meaning:
0-3:
Always 4h. For more information, consult
- or the CIP specifiations.
0000 0094h
4:
The ‘Configuration Settable’-bit reflects the
- or value of instance attribute #9 in the “Ether0000 00A4h
Net/IP Host Object (F8h)” on page 126.
- or The module is hardware configurable
0000 00B4h 5:
when this bit is set to 1.
Always 0. For more information, consult
6:
the CIP specifications.
7:
Always 1. For more information, consult
the CIP specifications.
8 - 31: (reserved, set to 0)
DWORD
Value: Meaning:
0:
Configuration from non-volatile memory
2:
Configuration from DHCP
Struct of:
UINT (Path size) 0002h
2 words
Padded EPATH
20 F6 24 03h Path to Ethernet Link Object, Instance #3
Struct of:
UDINT (IP)
IP address
UDINT (Mask)
Subnet mask
UDINT (GW)
Default gateway
UDINT (DNS1)
Primary DNS
UDINT (DNS2)
Secondary DNS
STRING (Domain)
Default domain
STRING
Host name of Anybus module
USINT
1
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
TTL value for EtherNet/IP multicast packets
Doc.Id. HMSI-168-80
CIP Objects 64
#
9
Access
Get/Set
10 Set
11 Set
12 Set
Name
Mcast Config
Alloc Control
Type
Struct of:
USINT
Value
Comments
0
(reserved)
Num Mcast
USINT
UINT
0
1
Mcast Start
Addr
SelectAcd
UDINT
-
Bool
1
Value: Meaning:
0:
Use default allocation algorithm to generate multicast addresses
1:
Allocate multicast addresses according to
the values in the ‘Num Mcast’- and ‘Mcast
Start Addr’-fields.
Set to zero. Do not change.
Number of multicast addresses to allocate for EtherNet/IP
Starting multicast address from which to begin allocation
Value: Meaning:
0:
Disable ACD
1:
Enable ACD (Default)
If ACD (address conflict detection) is
enabled, bit 6 in attribute #1 will be set if an
ACD conflict is detected. The Network Status LED will also indicate a detected conflict, see “Network Status LED” on page
133.
ACD Diagnostic parameters Related to the last
conflict detected.
State of ACD activity when last conflict
detected.
MAC address of remote node form the
ARP PDU in which a conflict was detected.
Copy of the raw ARP PDU in which a conflict was detected.
Value: Meaning:
0:
Disable EIP QuickConnect (Default)
1:
Enable EIP QuickConnect
If EIP QuickConnect is enabled, the QuickConnect feature will direct EtherNet/IP target devices to quickly power up and join an
EtherNet/IP network.
LastConflictDe- Struct of:
tected
AcdActiviity
USINT
-
RemoteMAC
ARRAY of 6 USINT -
ArpPdu
ARRAY of 28 USINT -
EIP QuickCon- Bool
necta
0
a. If the module is configured to use EIP QuickConnect functionality, the EDS file has to be changed. As the EDS file
is changed, the identity of the module has to be changed and the module will require certification, see “Conformance Test Guide” on page 10.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 65
8.10 Ethernet Link Object (F6h)
Category
Extended
Object Description
This object groups diagnostic information for the Ethernet interface.
See also...
•
“Communication Settings” on page 15
•
“Network Configuration Object (04h)” on page 72 (Anybus Module Object)
Supported Services
Class services:
Get_Attribute_All
Get_Attribute_Single
Instance services:
Get_Attribute_All
Get_Attribute_Single
Set_Attribute_Single
Get_And_Clear
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
CIP Objects 66
Class Attributes
#
1
Access
Get
Name
Revision
Type
UINT
Value
0002h
Comments
Revision 2
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:
UDINT
UDINT
UDINT
UDINT
UDINT
Value
10 or 100
(MAC ID)
Comments
Actual Ethernet interface speed
See 8-67 “Interface Flags”.
Physical network address
-
In Unknown Protos
Out Octets
Out Ucast Packets
Out NUcast Packets
Out Discards
Out Errors
UDINT
UDINT
UDINT
UDINT
UDINT
UDINT
-
Octets received on the interface
Unicast packets received on the interface
Nonunicast packets received on the interface
Inbound packets with unknown protocol
Inbound packets that contain errors (does not
include discards)
Inbound packets with unknown protocol
Octets sent on the interface
Unicast packets sent on the interface
Nonunicast packets sent on the interface
Outbound packets with unknown protocol
Outbound packets that contain errors (does
not include discards)
Media Counters
Alignment Errors
Struct:
UDINT
-
FCS Errors
UDINT
-
Single Collisions
UDINT
-
Multiple Collisions
USINT
-
SQE Test Errors
UDINT
Deferred Transmis- UDINT
sions
Late Collisions
UDINT
0
-
Excessive Collisions UDINT
-
MAC Transmit
Errors
Carrier Sense
Errors
UDINT
-
UDINT
-
Frame Too Long
UDINT
-
MAC Receive Errors UDINT
-
Instance Attributes
Extended
#
1
2
3
4
5
Access
Get
Get
Get
Get
Get
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
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
Frames for which 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 sublayer 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 sublayer receive
error
Doc.Id. HMSI-168-80
CIP Objects 67
#
6
Access
a
Get/Set
Name
Interface Control
Control Bits
Forced Interface
Speed
Type
Struct:
WORD
UINT
Value
Comments
-
Interface control bits
Speed at which the interface shall be forced to
operate. Returns ‘Object state Conflict’ if autonegotiation is enabled.
a. Support for this attribute can be disabled by implementing attribute #9 in the EtherNet/IP Host Object.
Interface Flags
Bit
0
Name
Link status
Description
Indicates whether or not the Ethernet 802.3 communications interface is connected to an active network.
Value:Meaning:
0 Inactive link
1 Active link
1
Half/full duplex
Indicates the duplex mode currently in use.
Value:Meaning:
0 Half duplex
1 Full duplex
2 - 4 Negotiation Status
Indicates the status of link auto-negotiation
Value:Meaning:
0 Auto-negotiation in progress.
1 Auto-negotiation and speed detection failed (using default values)
2 Auto negotiation failed but detected speed (using default duplex value)
3 Successfully negotiated speed and duplex.
4 Auto-negotiation not attempted. Forced speed and duplex.
5
Manual Setting requires Reset Value:Meaning:
0 Interface can activate changes to link parameters during runtime
1 Reset is required in order for changes to have effect
6
Local Hardware Fault
Value:Meaning:
0 No local hardware fault detected
1 Local hardware fault detected
7-31 (reserved)
(ignore)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 9
9. Anybus Module Objects
9.1 General Information
This chapter specifies the Anybus Module Object implementation and how they correspond to the functionality in the Anybus CompactCom 30 EtherNet/IP.
Standard Objects:
•
“Anybus Object (01h)” on page 69
•
“Diagnostic Object (02h)” on page 70
•
“Network Object (03h)” on page 71
•
“Network Configuration Object (04h)” on page 72
Network Specific Objects:
•
“Socket Interface Object (07h)” on page 79
•
“SMTP Client Object (09h)” on page 96
•
“File System Interface Object (0Ah)” on page 101
•
“Network Ethernet Object (0Ch)” on page 114
•
“CIP Port Configuration Object (0Dh)” on page 115
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
69
9.2 Anybus Object (01h)
Category
Basic
Object Description
This object assembles all common Anybus data, and is described thoroughly in the general Anybus
CompactCom 30 Software Design Guide.
Supported Commands
Object:
Get_Attribute
Instance:
Get_Attribute
Set_Attribute
Get_Enum_String
Object Attributes (Instance #0)
(Consult the general Anybus CompactCom 30 Software Design Guide for further information.)
Instance Attributes (Instance #1)
Basic
#
1
2... 11
Name
Module type
-
Access
Get
-
Type
UINT16
-
12
LED colors
Get
13... 16
-
-
struct of:
UINT8(LED1A)
UINT8(LED1B)
UINT8(LED2A)
UINT8(LED2B)
-
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Value
0401h (Standard Anybus CompactCom 30)
Consult the general Anybus CompactCom 30
Software Design Guide for further information.
Value:Color:
01h Green
02h Red
01h Green
02h Red
Consult the general Anybus CompactCom 30
Software Design Guide for further information.
Doc.Id. HMSI-168-80
70
9.3 Diagnostic Object (02h)
General Information
Basic
Object Description
This object provides a standardised way of handling host application events & diagnostics, and is thoroughly described in the general Anybus CompactCom 30 Software Design Guide.
Supported Commands
Object:
Get_Attribute
Create
Delete
Instance:
Get_Attribute
Object Attributes (Instance #0)
#
1... 4
Name
-
Access
-
Data Type
-
11
Max no. of instances
Get
UINT16
Value
Consult the general Anybus CompactCom 30 Software
Design Guide for further information.
5+1
Access
Get
Get
Type
UINT8
UINT8
Value
Consult the general Anybus CompactCom 30 Software
Design Guide for further information.
Instance Attributes
Basic
#
1
2
Name
Severity
Event Code
In this implementation, the severity level of all instances are combined (using logical ‘OR’) and represented on the network through the CIP Identity Object. The Event Code cannot be represented on the
network and is thus ignored by the module.
See also...
•
“Diagnostics” on page 15
•
“Identity Object (01h)” on page 46 (CIP-object)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
71
9.4 Network Object (03h)
Category
Basic
Object Description
For more information regarding this object, consult the general Anybus CompactCom 30 Software Design Guide.
Supported Commands
Object:
Get_Attribute
Instance:
Get_Attribute
Set_Attribute
Get_Enum_String
Map_ADI_Write_Area
Map_ADI_Read_Area
Object Attributes (Instance #0)
(Consult the general Anybus CompactCom 30 Software Design Guide for further information.)
Instance Attributes (Instance #1)
Basic
#
1
2
3
4
5
Name
Network type
Network type string
Data format
Parameter data support
Write process data size
6
Read process data size Get
UINT16
7
Exception Information
Get
UINT8
-
-
8... 10 -
Access
Get
Get
Get
Get
Get
Type
UINT16
Array of CHAR
ENUM
BOOL
UINT16
Value
0085h
‘EtherNet/IP’
00h (LSB first)
True
Current write process data size (in bytes)
Updated on every successful Map_ADI_Write_Areaa
Current read process data size (in bytes)
Updated on every successful Map_ADI_Read_Areaa
ValueMeaning
0: No information available
1: Invalid assembly instance mapping
Consult the general Anybus CompactCom 30 Software Design Guide for further information.
a. Consult the general Anybus CompactCom 30 Software Design Guide for further information.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
72
9.5 Network Configuration Object (04h)
Category
Extended, Advanced
Object Description
This object holds network specific configuration parameters that may be set by the end user. A reset
command (factory default) issued towards this object will result in all instances being set to their default
values.
See also...
•
“Communication Settings” on page 15
•
“TCP/IP Interface Object (F5h)” on page 62 (CIP-object)
•
“Ethernet Link Object (F6h)” on page 65 (CIP-object)
•
“E-mail Client” on page 26
Note: In order to ensure fieldbus conformance, the recommendations stated in the Anybus CompactCom 30 Software Design Guide regarding this object must be followed.
Supported Commands
Object:
Get_Attribute
Reset
Instance:
Get_Attribute
Set_Attribute
Get_Enum_String
Object Attributes (Instance #0)
(Consult the general Anybus CompactCom 30 Software Design Guide for further information.)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
73
Instance Attributes (Instance #3, IP Address)
Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘IP address’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of UINT8
04h (= UINT8)
04h (four elements)
07h (read/write/shared access)
Valid range: 0.0.0.0. - 255.255.255.255 (Default =0.0.0.0)
a. Multilingual, see “Multilingual Strings” on page 78.
Example:
IP address: 10.10.12.13
(IP address byte #0, IP address byte #1, IP address byte #2, IP address byte #3)
Instance Attributes (Instance #4, Subnet Mask)
Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘Subnet mask’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of UINT8
04h (= UINT8)
04h (four elements)
07h (read/write/shared access)
Valid range: 0.0.0.0 - 255.255.255.255 (Default =0.0.0.0)
a. Multilingual, see “Multilingual Strings” on page 78.
Instance Attributes (Instance #5, Gateway)
Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘Gateway’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of UINT8
04h (= UINT8)
04h (four elements)
07h (read/write/shared access)
Valid range: 0.0.0.0- 255.255.255.255 (Default =0.0.0.0)
a. Multilingual, see 9-78 “Multilingual Strings”.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
74
Instance Attributes (Instance #6, DHCP)
Changes are valid after reset.
Extended
#
1
2
3
4
5
Name
a
Access
Get
Type
Description
Array of CHAR ‘DHCP’
Valuea
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
ENUM
Name
Data type
Number of elements
Descriptor
08h (= ENUM)
01h (one element)
07h (read/write/shared access)
Value:Enum. String:Meaning:
00h ‘Disable’ DHCP disabled
01h ‘Enable’ DHCP enabled (default)
a. Multilingual, see “Multilingual Strings” on page 78.
Instance Attributes (Instance #7, Ethernet Communication Settings)
Changes have immediate effect.
Advanced
#
1
2
3
4
5
Name
a
Access
Get
Type
Description
Array of CHAR ‘Comm settings’
Valuea
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
ENUM
Name
Data type
Number of elements
Descriptor
08h (= ENUM)
01h (one element)
07h (read/write/shared access)
Value:Enum. String:Meaning:
00h ‘Auto’ Auto negotiation (default)
01h ‘10 HDX’ 10Mbit, half duplex
02h ‘10 FDX’ 10Mbit, full duplex
03h ‘100 HDX’ 100Mbit, half duplex
04h ‘100 HDX’ 100Mbit, full duplex
a. Multilingual, see “Multilingual Strings” on page 78.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
75
Instance Attributes (Instance #8, DNS1)
This instance holds the address to the primary DNS server. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘DNS1’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of UINT8
04h (= UINT8)
04h
07h (read/write/shared access)
Valid range: 0.0.0.0 - 255.255.255.255 (Default =0.0.0.0)
a. Multilingual, see “Multilingual Strings” on page 78.
Instance Attributes (Instance #9, DNS2)
This instance holds the address to the secondary DNS server. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘DNS2’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of UINT8
04h (= UINT8)
04h
07h (read/write/shared access)
Valid range: 0.0.0.0 - 255.255.255.255 (Default =0.0.0.0)
a. Multilingual, see “Multilingual Strings” on page 78.
Instance Attributes (Instance #10, Host name)
This instance holds the host name of the module. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
Namea
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘Host name’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of CHAR
07h (= CHAR)
40h
07h (read/write/shared access)
Host name, 64 characters
a. Multilingual, see “Multilingual Strings” on page 78.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
76
Instance Attributes (Instance #11, Domain name)
This instance holds the domain name. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘Domain name’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of CHAR
07h (= CHAR)
30h
07h (read/write/shared access)
Domain name, max. 48 characters
a. Multilingual, see “Multilingual Strings” on page 78.
Instance Attributes (Instance #12, SMTP Server)
This instance holds the SMTP server address. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘SMTP Server’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of CHAR
07h (= CHAR)
40h
07h (read/write/shared access)
SMTP server address, 64 characters
a. Multilingual, see “Multilingual Strings” on page 78.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
77
Instance Attributes (Instance #13, SMTP User)
This instance holds username for the SMTP account. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘SMTP User’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of CHAR
07h (= CHAR)
40h
07h (read/write/shared access)
SMTP account username, 64 characters
a. Multilingual, see “Multilingual Strings” on page 78.
Instance Attributes (Instance #14, SMTP Password)
This instance holds the password for the SMTP account. Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Name
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘SMTP Pswd’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of CHAR
07h (= CHAR)
40h
07h (read/write/shared access)
SMTP account username, 64 characters
a. Multilingual, see “Multilingual Strings” on page 78.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
78
Multilingual Strings
The instance names and enumeration strings in this object are multi-lingual, and are translated based on
the current language settings as follows:
Instance
3
4
5
6
7
8
9
10
11
12
13
14
English
IP address
Subnet mask
Gateway
DHCP
Enable
Disable
Comm Settings
Auto
10 HDX
10 FDX
100 HDX
DNS1
DNS2
Host name
Domain name
SMTP Server
SMTP User
SMTP Pswd
German
IP-Adresse
Subnetzmaske
Gateway
DHCP
Einschalten
Ausschalten
Komm Einstell
Auto
10 HDX
10 FDX
100 HDX
DNS 1
DNS 2
Host name
Domain name
SMTP Server
SMTP User
SMTP PSWD
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Spanish
Dirección IP
Masac. subred
Pasarela
DHCP
Activado
Desactivado
Comu Config
Auto
10 HDX
10 FDX
100 HDX
DNS Primaria
DNS Secundia.
Nombre Host
Nobre Domain
Servidor SMTP
Usuario SMTP
Clave SMTP
Italian
Indirizzo IP
Sottorete
Gateway
DHCP
Abilitato
Disabilitato
Impos. Comun.
Auto
10 HDX
10 FDX
100 HDX
DNS1
DNS2
Nome Host
Nome Dominio
Server SMTP
Utente SMTP
Password SMTP
French
Adresse IP
Sous-réseau
Passerelle
DHCP
Activé
Désactivé
Comm Config
Auto
10 HDX
10 FDX
100 HDX
DNS1
DNS2
Nom hôte
Dom Domaine
SMTP serveur
SMTP utilisa.
SMTP mt passe
Doc.Id. HMSI-168-80
79
9.6 Socket Interface Object (07h)
Category
Advanced
Object Description
This object provides direct access to the TCP/IP stack socket interface, enabling custom protocols to
be implemented over TCP/UDP.
Note that some of the commands used when accessing this object may require segmentation. For more
information, see “Message Segmentation” on page 130.
IMPORTANT: The use of functionality provided by this object should only be attempted by users who are already familiar with socket interface programming and who fully understands the concepts involved in TCP/IP programming.
Supported Commands
Object:
Get_Attribute
Create (See “Command Details: Create” on page 81)
Delete (See “Command Details: Delete” on page 82)
Instance:
Get_Attribute
Set_Attribute
Bind (See “Command Details: Bind” on page 83)
Shutdown (See “Command Details: Shutdown” on page 84)
Listen (See “Command Details: Listen” on page 85)
Accept (See “Command Details: Accept” on page 86)
Connect (See “Command Details: Connect” on page 87)
Receive (See “Command Details: Receive” on page 88)
Receive_From (See “Command Details: Receive_From” on page 89)
Send (See “Command Details: Send” on page 90)
Send_To (See “Command Details: Send_To” on page 91)
IP_Add_membership (See “Command Details: IP_Add_Membership” on page 92)
IP_Drop_membership (See “Command Details: IP_Drop_Membership” on page 93)
DNS_Lookup (See “Command Details: DNS_Loopup” on page 94)
Object Attributes (Instance #0)
#
1
2
3
4
11
Name
Name
Revision
Number of instances
Highest instance no.
Max. no. of instances
Access
Get
Get
Get
Get
Get
Data Type
Array of CHAR
UINT8
UINT16
UINT16
UINT16
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Value
‘Socket interface’
01h
0008h
Doc.Id. HMSI-168-80
80
Instance Attributes (Sockets #1...8)
Advanced
#
1
Name
Socket type
Access
Get
Type
UINT8
2
3
4
5
Port
Host IP
Host port
TCP State
Get
Get
Get
Get
UINT16
UINT32
UINT16
UINT8
6
7
8
TCP RX bytes
TCP TX bytes
Reuse address
Get
Get
Get/Set
UINT16
UINT16
BOOL
9
Keep alive
Get/Set
BOOL
10 IP Multicast TTL
Get/Set
UINT8
11 IP Multicast Loop
Get/Set
BOOL
12 Ack delay time
Get/Set
UINT16
13 TCP No Delay
Get/Set
BOOL
14 TCP Connect
Timeout
Get/Set
UINT16
Description
Value:Socket Type:
00h SOCK_STREAM, NON-BLOCKING (TCP)
01h SOCK_STREAM, BLOCKING (TCP)
02h SOCK_DGRAM, NON-BLOCKING (UDP)
03h SOCK_DGRAM, BLOCKING (UDP)
Local port that the socket is bound to
Host IP address, or 0 (zero) if not connected
Host port number, or 0 (zero) if not connected
State (TCP sockets only):
Value:State:Description:
00h CLOSED Closed
01h LISTEN Listening for connection
02h SYN_SENT Active, have sent SYN
03h SYN_RECEIVED Have sent and received SYN
04h ESTABLISHED Established.
05h CLOSE_WAIT Received FIN, waiting for close
06h FIN_WAIT_1 Have closed, sent FIN
07h CLOSING Closed exchanged FIN; await FIN ACK
08h LAST_ACK Have FIN and close; await FIN ACK
09h FIN_WAIT_2 Have closed, FIN is acknowledged
0Ah TIME_WAIT Quiet wait after close
Number of bytes in RX buffers (TCP sockets only)
Number of bytes in TX buffers (TCP sockets only)
Socket can reuse local address
Value:Meaning:
1 Enabled
0 Disabled (default)
Protocol probes idle connection (TCP sockets only).a
Value:Meaning:
1 Enabled
0 Disabled (default)
IP Multicast TTL value (UDP sockets only).
Default = 1.
IP multicast loop back (UDP sockets only)b
Value:Meaning:
1 Enable (default)
0 Disable
Time for delayed ACKs in ms (TCP sockets only)
Default = 200msc
Don’t delay send to coalesce packets (TCP).
Value:Meaning:
1 Delay (default)
0 Don’t delay (turn off Nagle’s algorithm on socket)
TCP Connect timeout in seconds (default = 75s)
a. If the Keep alive attribute is set, the connection will be probed for the first time after it has been idle for 120 minutes. If a probe attempt fails, the connection will continue to be probed at intervals of 75 s. The connection is terminated after 8 failed probe attempts.
b. Must belong to group in order to get the loop backed message
c. Resolution is 50ms, i.e. 50...99 = 50ms, 100...149 = 100ms, 199 = 150ms etc.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
81
Command Details: Create
Category
Advanced
Details
Command Code.:
03h
Valid for:
Object Instance
Description
This command creates a socket.
Note: This command is only allowed in WAIT_PROCESS, IDLE and PROCESS_ACTIVE states.
•
Command Details
Field
Contents
CmdExt[0] (reserved, set to zero)
CmdExt[1] Value:Socket Type:
00h SOCK_STREAM, NON-BLOCKING (TCP)
01h SOCK_STREAM, BLOCKING (TCP)
02h SOCK_DGRAM, NON-BLOCKING (UDP)
03h SOCK_DGRAM, BLOCKING (UDP)
•
Response Details
Field
Data[0]
Data[1]
Contents
Instance number (low)
Instance number (high)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comments
Instance number of the created socket.
Doc.Id. HMSI-168-80
82
Command Details: Delete
Category
Advanced
Details
Command Code.:
04h
Valid for:
Object Instance
Description
This command deletes a previously created socket and closes the connection (if connected).
•
If the socket is of TCP-type and a connection is established, the connection is terminated with
the RST-flag.
•
To gracefully terminate a TCP-connection, it is recommended to use the ‘Shutdown’-command
(see “Command Details: Shutdown” on page 84) before deleting the socket, causing the connection to be closed with the FIN-flag instead.
•
Command Details
Field
Contents
CmdExt[0] Instance number to delete (low)
CmdExt[1] Instance number to delete (high)
•
Comments
Instance number of socket that shall be deleted.
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
83
Command Details: Bind
Category
Advanced
Details
Command Code.:
10h
Valid for:
Instance
Description
This command binds a socket to a local port.
•
Command Details
Field
Contents
CmdExt[0] Requested port number (low)
CmdExt[1] Requested port number (high)
•
Comments
Set to 0 (zero) to request binding to any free port.
Response Details
Field
Contents
CmdExt[0] Bound port number (low)
CmdExt[1] Bound port number (high)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comments
Actual port that the socket was bound to.
Doc.Id. HMSI-168-80
84
Command Details: Shutdown
Category
Advanced
Details
Command Code.:
11h
Valid for:
Instance
Description
This command closes a TCP-connection using the FIN-flag. Note that the response does not indicate
if the connection actually shut down, which means that this command cannot be used to poll non-blocking sockets, nor will it block for blocking sockets.
•
Command Details
Field
Contents
CmdExt[0] (reserved, set to zero)
CmdExt[1] Value:Mode:
00h Shutdown receive channel
01h Shutdown send channel
02h Shutdown both receive- and send channel
•
Response Details
(no data)
The recommended sequence to gracefully shut down a TCP connection is described below.
Application initiates shutdown:
1. Send shutdown with CmdExt[1] set to 01h. This will send FIN-flag to host shutting down the
send channel, note that the receive channel will still be operational.
2. Receive data on socket until error message Object specific error (EDESTADDRREQ (14)) is
received, indicating that the host closed the receive channel. If host does not close the receive channel use a timeout and progress to step 3.
3. Delete the socket instance. If step 2 timed out, RST-flag will be sent to terminate the socket.
Host initiates shutdown:
1. Receive data on socket, if zero bytes received it indicates that the host closed the receive channel
of the socket.
2. Try to send any unsent data to the host.
3. Send shutdown with CmdExt[1] set to 01h. This will send FIN-flag to host shutting down the
receive channel.
4. Delete the socket instance.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
85
Command Details: Listen
Category
Advanced
Details
Command Code.:
12h
Valid for:
Instance
Description
This command puts a TCP socket in listening state. Backlog queue length is the number of unaccepted
connections allowed on the socket. When backlog queue is full, further connections will be refused with
RST-flag.
•
Command Details
Field
Contents
CmdExt[0] (reserved)
CmdExt[1] Value:Backlog queue length:
00h 1
01h 2
02h 4
•
Comments
(set to zero)
-
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
86
Command Details: Accept
Category
Advanced
Details
Command Code.:
13h
Valid for:
Instance
Description
This command accepts incoming connections on a listening TCP socket. A new socket instance is created for each accepted connection. The new socket is connected with the host and the response returns
its instance number.
NON-BLOCKING mode:
This command must be issued repeatedly (polled) for incoming connections. If no incoming
connection request exists, the module will respond with error code 0006h (EWOULDBLOCK).
BLOCKING mode:
This command will block until a connection request has been detected.
Note: This command will only be accepted if there is a free instance to use for accepted connections.
For blocking connections, this command will reserve an instance.
•
Command Details
(no data)
•
Response Details
Field
Data[0]
Data[1]
Data[2]
Data[3]
Data[4]
Data[5]
Data[6]
Data[7]
Contents
Instance number for the connected socket (low)
Instance number for the connected socket (high)
Host IP address byte 3 (low)
Host IP address byte 2
Host IP address byte 1
Host IP address byte 0 (high)
Host port number (low)
Host port number (high)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
87
Command Details: Connect
Category
Advanced
Details
Command Code.:
14h
Valid for:
Instance
Description
For SOCK-DGRAM-sockets, this command specifies the peer with which the socket is to be associated
(to which datagrams are sent and the only address from which datagrams are received).
For SOCK_STREAM-sockets, this command attempts to establish a connection to a host.
SOCK_STREAM-sockets may connect successfully only once, while SOCK_DGRAM-sockets may use
this service multiple times to change their association. SOCK-DGRAM-sockets may dissolve their association by connecting to IP address 0.0.0.0, port 0 (zero).
NON-BLOCKING mode:
This command must be issued repeatedly (polled) until a connection is connected, rejected or
timed out. The first connect-attempt will be accepted, thereafter the command will return error
code 22 (EINPROGRESS) on poll requests while attempting to connect.
BLOCKING mode:
This command will block until a connection has been established or the connection request is
cancelled due to a timeout or a connection error.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Data[2]
Data[3]
Data[4]
Data[5]
•
Contents
(reserved)
Contents
(set to zero)
Host IP address byte 3 (low)
Host IP address byte 2
Host IP address byte 1
Host IP address byte 0 (high)
Host port number (low)
Host port number (high)
-
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
88
Command Details: Receive
Category
Advanced
Details
Command Code.:
15h
Valid for:
Instance
Description
This command receives data from a connected socket. Message segmentation may be used to receive up
to 1472 bytes (see “Message Segmentation” on page 130).
For SOCK-DGRAM-sockets, the module 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.
For SOCK_STREAM-sockets, the module will return the requested number of bytes from the received
data stream. If the actual data size is less than requested, all available data will be returned.
NON-BLOCKING mode:
If no data is available on the socket, the error code 0006h (EWOULDBLOCK) will be returned.
BLOCKING mode:
The module will not issue a response until the operation has finished.
If the module responds successfully with 0 (zero) bytes of data, it means that the host has closed the
connection. The send channel may however still be valid and must be closed using ‘Shutdown’ and/or
‘Delete’.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
•
Contents
(reserved)
Segmentation Control bits
Receive data size (low)
Receive data size (high)
Notes
(set to zero)
see “Command Segmentation” on page 130
Only used in the first segment
Response Details
Note: The data in the response may be segmented (see “Message Segmentation” on page 130).
Field
CmdExt[0]
CmdExt[1]
Data[0...n]
Contents
(reserved)
Segmentation Control bits
Received data
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Notes
(set to zero)
see “Response Segmentation” on page 131
-
Doc.Id. HMSI-168-80
89
Command Details: Receive_From
Category
Advanced
Details
Command Code.:
16h
Valid for:
Instance
Description
This command receives data from an unconnected SOCK_DGRAM-socket. Message segmentation
may be used to receive up to 1472 bytes (see “Message Segmentation” on page 130).
The module 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 response message contains the IP address and port number of the sender.
NON-BLOCKING mode:
If no data is available on the socket, the error code 0006h (EWOULDBLOCK) will be returned.
BLOCKING mode:
The module will not issue a response until the operation has finished.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
•
Contents
(reserved)
Segmentation Control bits
Receive data size (low)
Receive data size (high)
Notes
(set to zero)
see “Command Segmentation” on page 130
Only used in the first segment
Response Details
Note: The data in the response may be segmented (see “Message Segmentation” on page 130).
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Data[2]
Data[3]
Data[4]
Data[5]
Data[6...n]
Contents
(reserved)
Segmentation Control bits
Host IP address byte 3 (low)
Host IP address byte 2
Host IP address byte 1
Host IP address byte 0 (high)
Host port number (low)
Host port number (high)
Received data
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Notes
(set to zero)
see “Response Segmentation” on page 131
The host address/port information is only included
in the first segment. All data thereafter will start at
Data[0]
Doc.Id. HMSI-168-80
90
Command Details: Send
Category
Advanced
Details
Command Code.:
17h
Valid for:
Instance
Description
This command sends data on a connected socket. Message segmentation may be used to send up to 1472
bytes (see “Message Segmentation” on page 130).
NON-BLOCKING mode:
If there isn’t enough buffer space available in the send buffers, the module will respond with error code 0006h (EWOULDBLOCK)
BLOCKING mode:
If there isn’t enough buffer space available in the send buffers, the module will block until there
is.
•
Command Details
Note: To allow larger amount of data (i.e. >255 bytes) to be sent, the command data may be
segmented (see “Message Segmentation” on page 130).
Field
CmdExt[0]
CmdExt[1]
Data[0...n]
•
Contents
(reserved)
Segmentation Control
Data to send
Notes
(set to zero)
see “Command Segmentation” on page 130
-
Response Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Contents
(reserved)
Notes
(ignore)
Number of sent bytes (low)
Number of sent bytes (high)
Only valid in the last segment
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
91
Command Details: Send_To
Category
Advanced
Details
Command Code.:
18h
Valid for:
Instance
Description
This command sends data to a specified host on an unconnected SOCK-DGRAM-socket. Message segmentation may be used to send up to 1472 bytes (see “Message Segmentation” on page 130).
•
Command Details
Note: To allow larger amount of data (i.e. >255 bytes) to be sent, the command data may be
segmented (see “Message Segmentation” on page 153).
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Data[2]
Data[3]
Data[4]
Data[5]
Data[6...n]
•
Contents
(reserved)
Segmentation Control
Host IP address byte 3 (low)
Host IP address byte 2
Host IP address byte 1
Host IP address byte 0 (high)
Host port number (low)
Host port number (high)
Data to send
Notes
(set to zero)
see “Command Segmentation” on page 130
The host address/port information shall only be
included in the first segment. All data thereafter
must start at Data[0]
Response Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Contents
(reserved)
Notes
(ignore)
Number of sent bytes (low)
Number of sent bytes (high)
Only valid in the last segment
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
92
Command Details: IP_Add_Membership
Category
Advanced
Details
Command Code.:
19h
Valid for:
Instance
Description
This command assigns the socket an IP multicast group membership. The module always joins the ‘All
hosts group’ automatically, however this command may be used to specify up to 20 additional memberships.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Data[2]
Data[3]
•
Contents
(reserved)
Notes
(set to zero)
Group IP address byte 3 (low)
Group IP address byte 2
Group IP address byte 1
Group IP address byte 0 (high)
-
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
93
Command Details: IP_Drop_Membership
Category
Advanced
Details
Command Code.:
1Ah
Valid for:
Instance
Description
This command removes the socket from an IP multicast group membership.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Data[2]
Data[3]
•
Contents
(reserved)
Notes
(set to zero)
Group IP address byte 3 (low)
Group IP address byte 2
Group IP address byte 1
Group IP address byte 0 (high)
-
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
94
Command Details: DNS_Loopup
Category
Advanced
Details
Command Code.:
1Bh
Valid for:
Object Instance
Description
This command resolves the given host name and returns the IP address.
•
Command Details
Field
Contents
CmdExt[0] (reserved)
CmdExt[1]
Data[0... N] Host name
•
Notes
(set to zero)
Host name to resolve
Response Details (Success)
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Data[2]
Data[3]
Contents
(reserved)
Notes
(set to zero)
IP address byte 3 (low)
IP address byte 2
IP address byte 1
IP address byte 0 (high)
IP address of the specified host
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
95
Socket Interface Error Codes (Object Specific)
The following object-specific error codes may be returned by the module when using the socket interface object.
Error Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
28
101
Name
ENOBUFS
ETIMEDOUT
EISCONN
EOPNOTSUPP
ECONNABORTED
EWOULDBLOCK
ECONNREFUSED
ECONNRESET
ENOTCONN
EALREADY
EINVAL
EMSGSIZE
EPIPE
EDESTADDRREQ
ESHUTDOWN
(reserved)
EHAVEOOB
ENOMEM
EADDRNOTAVAIL
EADDRINUSE
(reserved)
EINPROGRESS
ETOOMANYREFS
Command aborted
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Meaning
No internal buffers available
A timeout event occurred
Socket already connected
Service not supported
Connection was aborted
Socket cannot block because unblocking socket type
Connection refused
Connection reset
Socket is not connected
Socket is already in requested mode
Invalid service data
Invalid message size
Error in pipe
Destination address required
Socket has already been shutdown
Out of band data available
No internal memory available
Address is not available
Address already in use
Service already in progress
Too many references
If a command is blocking on a socket, and that socket is closed using the
Delete command, this error code will be returned to the blocking command.
Doc.Id. HMSI-168-80
96
9.7 SMTP Client Object (09h)
Category
Advanced
Object Description
This object groups functions related to the SMTP-client.
See also...
•
“File System” on page 17
•
“E-mail Client” on page 26
•
“Instance Attributes (Instance #12, SMTP Server)” on page 76
•
“Instance Attributes (Instance #13, SMTP User)” on page 77
•
“Instance Attributes (Instance #14, SMTP Password)” on page 77
Supported Commands
Object:
Get_Attribute
Create
Delete
Send email from file( “Command Details: Send Email From File” on page 99)
Instance:
Get_Attribute
Set_Attribute
Send email( “Command Details: Send Email” on page 100)
Object Attributes (Instance #0)
#
1
2
3
4
11
12
13
Name
Name
Revision
Number of instances
Highest instance no.
Max. no. of instances
Success count
Error count
Access
Get
Get
Get
Get
Get
Get
Get
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Data Type
Array of CHAR
UINT8
UINT16
UINT16
UINT16
UINT16
UINT16
Value
‘SMTP Client’
01h
0006h
Reflects the no. of successfully sent messages
Reflects the no. of messages that could not be delivered
Doc.Id. HMSI-168-80
97
Instance Attributes
Advanced
Instances are created dynamically by the application.
#
1
2
3
4
Name
From
To
Subject
Message
Access
Get/Set
Get/Set
Get/Set
Get/Set
Type
Array of CHAR
Array of CHAR
Array of CHAR
Array of CHAR
Description
e.g. “[email protected]”
e.g. “[email protected]”
e.g. “Important notice”
e.g. “Duck and cover”
Command Details: Create
Category
Advanced
Details
Command Code.:
03h
Valid for:
Object
Description
This command creates an e-mail instance.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
(reserved, set to zero)
Comments
-
Response Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
MsgData[1]
Contents
(reserved, ignore)
Comments
-
Instance number
low byte
high byte
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
98
Command Details: Delete
Category
Advanced
Details
Command Code.:
04h
Valid for:
Object
Description
This command deletes an e-mail instance.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
E-mail instance number
Comments
low byte
high byte
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
99
Command Details: Send Email From File
Category
Advanced
Details
Command Code.:
11h
Valid for:
Object
Description
This command sends an e-mail based on a file in the file system.
File format:
The file must be a plain ASCII-file in the following format:
[To]
recipient
[From]
sender
[Subject]
email subject
[Headers]
extra headers, optional
[Message]
actual email message
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Path + filename of message file
•
Comments
-
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
100
Command Details: Send Email
Category
Advanced
Details
Command Code.:
10h
Valid for:
Instance
Description
This command sends the specified e-mail instance.
•
Command Details
(no data)
•
Response Details
(no data)
Object Specific Error Codes
Error Codes
1
2
3
4
5
6
255
(other)
Meaning
SMTP server not found
SMTP server not ready
Authentication error
SMTP socket error
SSI scan error
Unable to interpret e-mail file
Unspecified SMTP error
(reserved)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
101
9.8 File System Interface Object (0Ah)
Category
Advanced
Object Description
This object provides an interface to the built-in file system. Each instance represents a handle to a file
stream and contains services for file system operations.
Supported Commands
Object:
Get_Attribute
Create( “Command Details: Create” on page 103)
Delete( “Command Details: Delete” on page 104)
Format Disc( “Command Details: Format Disc” on page 113)
Instance:
Get_Attribute
File Open( “Command Details: File Open” on page 104)
File Close( “Command Details: File Close” on page 105)
File Delete( “Command Details: File Delete” on page 105)
File Copy( “Command Details: File Copy” on page 106)
File Rename( “Command Details: File Rename” on page 107)
File Read( “Command Details: File Read” on page 108)
File Write( “Command Details: File Write” on page 109)
Directory Open( “Command Details: Directory Open” on page 109)
Directory Close( “Command Details: Directory Close” on page 110)
Directory Delete( “Command Details: Directory Delete” on page 110)
Directory Read( “Command Details: Directory Read” on page 111)
Directory Create( “Command Details: Directory Create” on page 112)
Directory Change( “Command Details: Directory Change” on page 112)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
102
Object Attributes (Instance #0)
#
1
2
3
4
11
12
13
14
15
Name
Name
Revision
Number of instances
Highest instance no.
Max. no. of instances
Disable virtual file system
Total disc size
Free space
Disc CRC
Access
Get
Get
Get
Get
Get
Get
Get
Get
Get
Data Type
Array of CHAR
UINT8
UINT16
UINT16
UINT16
BOOL
Array of UINT32
Array of UINT32
Array of UINT32
Value
‘File System Interface’
01h
0004h
False
-
Description
Value:Type:
00h Reserved
01h File instance
02h Directory instance
File size in bytes (zero for directories)
Path where instance operates
Instance Attributes
Advanced
#
1
Name
Instance type
Access
Get
Type
UINT8
2
3
File size
Path
Get
Get
UINT32
Array of CHAR
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
103
Command Details: Create
Category
Advanced
Details
Command Code.:
03h
Valid for:
Object
Description
This command creates a file operation instance.
•
Command Details
Field
Contents
CmdExt[0] (reserved, set to zero)
CmdExt[1]
•
Comments
-
Response Details
Field
Contents
CmdExt[0] (reserved, ignore)
CmdExt[1]
MsgData[0] Instance number
MsgData[1]
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comments
low byte
high byte
Doc.Id. HMSI-168-80
104
Command Details: Delete
Category
Advanced
Details
Command Code.:
04h
Valid for:
Object
Description
This command deletes a file operation instance.
•
Command Details
Field
Contents
CmdExt[0] File operation instance number
CmdExt[1]
•
Comments
low byte
high byte
Response Details
(no data)
Command Details: File Open
Category
Advanced
Details
Command Code.:
10h
Valid for:
Instance
Description
This command opens a file for reading, writing, or appending.
•
Command Details
Field
CmdExt[0]
Contents
Mode
CmdExt[1]
(reserved, set to zero)
MsgData[0... n] Path + filename
•
Comments
Value:Mode:
00h Read mode
01h Write mode
02h Append mode
Relative to current path
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
105
Command Details: File Close
Category
Advanced
Details
Command Code.:
11h
Valid for:
Instance
Description
This command closes a previously opened file.
•
Command Details
(no data)
•
Response Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
MsgData[1]
MsgData[2]
MsgData[3]
Contents
(reserved, ignore)
Comments
-
File size
low byte, low word
high byte, high word
Command Details: File Delete
Category
Advanced
Details
Command Code.:
12h
Valid for:
Instance
Description
This command permanently deletes a specified file from the file system.
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Path + filename
•
Comments
Relative to current path
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
106
Command Details: File Copy
Category
Advanced
Details
Command Code.:
13h
Valid for:
Instance
Description
This command makes a copy of a file.
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Source path + filename
NULL
Destination path + filename
•
Comments
Relative to current path, separated by NULL
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
107
Command Details: File Rename
Category
Advanced
Details
Command Code.:
14h
Valid for:
Instance
Description
This command renames or moves a file.
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Old path + filename
NULL
New path + filename
•
Comments
Relative to current path, separated by NULL
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
108
Command Details: File Read
Category
Advanced
Details
Command Code.:
15h
Valid for:
Instance
Description
Reads data from a file previously opened for reading.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
Bytes
(reserved, set to zero)
Comments
no. of bytes to read
-
Response Details
Field
Contents
CmdExt[0]
(reserved, ignore)
CmdExt[1]
MsgData[0... n] Data
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comments
Data read from file
Doc.Id. HMSI-168-80
109
Command Details: File Write
Category
Advanced
Details
Command Code.:
16h
Valid for:
Instance
Description
Writes data to a file previously opened for writing or appending.
•
Command Details
Field
Contents
CmdExt[0] (reserved, set to zero)
CmdExt[1]
Data[0... n] Data
•
Comments
Data to write to file
Response Details
Field
Contents
CmdExt[0] Bytes
CmdExt[1] (reserved, ignore)
Comments
no. of bytes written
-
Command Details: Directory Open
Category
Advanced
Details
Command Code.:
20h
Valid for:
Instance
Description
This command opens a directory.
•
Command Details
Field
Contents
CmdExt[0] (reserved, set to zero)
CmdExt[1]
Data[0... n] Path + name of directory
•
Comments
Relative to current path
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
110
Command Details: Directory Close
Category
Advanced
Details
Command Code.:
21h
Valid for:
Instance
Description
This command closes a previously opened directory.
•
Command Details
(no data)
•
Response Details
(no data)
Command Details: Directory Delete
Category
Advanced
Details
Command Code.:
22h
Valid for:
Instance
Description
This command permanently deletes an empty directory from the file system.
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Path + name of directory
•
Comments
Relative to current path
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
111
Command Details: Directory Read
Category
Advanced
Details
Command Code.:
23h
Valid for:
Instance
Description
This command reads the contents of a directory previously opened for reading.
The command returns information about a single directory entry, which means that the command must
be issued multiple times to retrieve the complete contents of a directory. When the last entry has been
read, the command returns an “empty” response (i.e. a response where the data size is zero).
•
Command Details
(no data)
•
Response Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
MsgData[1]
MsgData[2]
MsgData[3]
MsgData[4]
Contents
(reserved, ignore)
Comments
-
Size of entry
Low byte, low word
High byte, high word
Bit:Meaning:
0 Entry is a directory
1 Entry is read-only
2 Entry is hidden
3 Entry is a system entry
-
Flags
MsgData[5... n] Name of entry
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
112
Command Details: Directory Create
Category
Advanced
Details
Command Code.:
24h
Valid for:
Instance
Description
This command creates a directory.
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Path + name of directory
•
Comments
Relative to current path
Response Details
(no data)
Command Details: Directory Change
Category
Advanced
Details
Command Code.:
25h
Valid for:
Instance
Description
This command changes the current directory/path for an instance.
•
Command Details
Field
Contents
CmdExt[0]
(reserved, set to zero)
CmdExt[1]
MsgData[0... n] Path + name of directory
•
Comments
Relative to current path
Response Details
(no data)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
113
Command Details: Format Disc
Category
Advanced
Details
Command Code.:
30h
Valid for:
Object
Description
This command formats the file system.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
(reserved, set to zero)
Comments
-
Response Details
(no data)
Object Specific Error Codes
Error Codes
1
2
3
4
5
6
7
8
9
10
11
12
Meaning
Failed to open file
Failed to close file
Failed to delete file
Failed to open directory
Failed to close directory
Failed to create directory
Failed to delete directory
Failed to change directory
Copy operation failure (could not open source)
Copy operation failure (could not open destination)
Copy operation failure (write failed)
Unable to rename file
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
114
9.9 Network Ethernet Object (0Ch)
Category
Extended
Object Description
This object provides Ethernet-specific information to the application.
Supported Commands
Object:
Get_Attribute
Instance:
Get_Attribute
Object Attributes (Instance #0)
#
1
2
3
4
Name
Name
Revision
Number of instances
Highest instance no.
Access
Get
Get
Get
Get
Data Type
Array of CHAR
UINT8
UINT16
UINT16
Value
‘Network Ethernet’
01h
-
Instance Attributes (Instance #1)
Extended
#
1
Name
MAC Address
Access
Get
Type
Description
Array of UINT8 Current MAC address.
See also “Ethernet Host Object (F9h)” on page 126)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
115
9.10 CIP Port Configuration Object (0Dh)
Category
Advanced
Object Description
This object is used to populate and enumerate the CIP Port Object (see “Port Object (F4h)” on page
60) on the network side. Basically, this is a matter of creating and updating instances and attributes which
shall represent a CIP Port within the host application. This process is necessary in case support for Unconnected CIP Routing has been enabled (see “EtherNet/IP Host Object (F8h)” on page 118, Instance
Attribute #17).
Each instance within this object corresponds to an instance in the CIP Port Object. The object supports
up to 8 instances, where instance #1 is dedicated to the local TCP port, enabling the host application to
implement up to 7 additional ports. Instance #1 will automatically be populated with default values,
however it is possible for the host application to customize instance attributes #2 and #4.
Apart from attribute #7, it is possible to write to the instance attributes only during setup. The host application is responsible for keeping instance attribute #7 updated for all ports located within the host
application.
See also...
•
“Port Object (F4h)” on page 60 (CIP)
•
“EtherNet/IP Host Object (F8h)” on page 118 (Instance Attribute #17)
IMPORTANT: Note that the module does not take over the host application responsibility for error control; the module
will not verify that the data set by the host application is correct.
Supported Commands
Object:
Get_Attribute
Create
Delete
Instance:
Get_Attribute
Set_Attribute
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
116
Object Attributes (Instance #0)
#
1
2
3
4
11
Name
Name
Revision
Number of instances
Highest instance no.
Max. no. of instances
Access
Get
Get
Get
Get
Get
Data Type
Array of CHAR
UINT8
UINT16
UINT16
UINT16
Type
UINT16
UINT16
Array of UINT8
Array of CHAR
Array of UINT8
Value
‘CIP Port Configuration’
01h
0008h
Instance Attributes
Advanced
#
1
2
3
4
5
6
7
Name
Port Type
Port Number
Link Path
Port Name
Node Address
Access
Set
Set
Set
Set
Set
8
Port Node Range
Set
Description
Enumerates the port (see CIP specification)
CIP port number associated with this port
Logical path segments which identify the object for this port.
String (max. no. of characters is 64) which names the port.
(reserved)
(reserved)
Node number of this device on port. The data type restricts
the range to a Port Segment. The encoded port number
must match the value specified in attribute #2.
A device which does not have a node number on the port
can specify a zero length node address within the Port Segment (i.e. 10h 00h).
In case the node address changes during runtime, the host
application is responsible for updating this attribute as well.
Struct of:
Minimum and maximum node number on port.
UINT16 (Min) Support for this attribute is conditional; the attribute shall be
UINT16 (Max) supported provided that the node number can be reported
within the range of the data type (e.g. DeviceNet). If not (as
is the case with networks such as EtherNet/IP which uses a
4 byte IP address), the attribute shall not be supported.
See also...
•
“Port Object (F4h)” on page 60 ( “Instances Attributes (Instance #1)” on page 61)
•
“Port Object (F4h)” on page 60 ( “Instances Attributes (Instances #2... #8)” on page 61)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Chapter 10
10. Host Application Objects
10.1 General Information
This chapter specifies the host application object implementation in the module. The objects listed here
may optionally be implemented within the host application firmware to expand the EtherNet/IP implementation.
Standard Objects:
•
Application Object (see Anybus CompactCom 30 Software Design Guide)
•
Application Data Object (see Anybus CompactCom 30 Software Design Guide)
Network Specific Objects:
•
“EtherNet/IP Host Object (F8h)” on page 118
•
“Ethernet Host Object (F9h)” on page 126
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
118
10.2 EtherNet/IP Host Object (F8h)
Category
Basic, extended, advanced
Object Description
This object implements EtherNet/IP specific features in the host application. Note that this object must
not be confused with the Ethernet Host Object, see “Ethernet Host Object (F9h)” on page 126.
The implementation of this object is optional; the host application can support none, some, or all of the
attributes specified below. The module will attempt to retrieve the values of these attributes during startup; if an attribute is not implemented in the host application, simply respond with an error message (06h,
“Invalid CmdExt[0]”). In such case, the module will use its default value.
If the module attempts to retrieve a value of an attribute not listed below, respond with an error message
(06h, “Invalid CmdExt[0]”).
Note that some of the commands used when accessing this object may require segmentation. For more
information, see “Message Segmentation” on page 130.
See also...
•
“Identity Object (01h)” on page 46 (CIP)
•
“Assembly Object (04h)” on page 50 (CIP)
•
“Port Object (F4h)” on page 60 (CIP)
•
“CIP Port Configuration Object (0Dh)” on page 115 (Anybus Module Object)
•
Anybus CompactCom 30 Software Design Guide, “Error Codes”
Supported Commands
Object:
Process_CIP_Object_Request
(See “Command Details: Process_CIP_Object_Request” on page 121)
Set_Configuration_Data
(See “Command Details: Set_Configuration_Data” on page 122)
Process_CIP_Routing_Request
(See “Command Details: Process_CIP_Routing_Request” on page 124)
Get_Configuration_Data
(See “Command Details: Get_Configuration_Data” on page 125
Instance:
-
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
119
Object Attributes (Instance #0)
#
1
2
3
4
Name
Name
Revision
Number of instances
Highest instance no.
Access
Get
Get
Get
Get
Data Type
Array of CHAR
UINT8
UINT16
UINT16
Value
‘EtherNet/IP’
02h
0001h
0001h
Instance Attributes (Instance #1)
Basic
#
1
2
3
4
Name
Vendor ID
Device Type
Product Code
Revision
Access
Get
Get
Get
Get
5
6
Serial Number
Product Name
Get
Get
Type
UINT16
UINT16
UINT16
struct of:
UINT8 Major
UINT8 Minor
UINT32
Array of CHAR
Default Value
005Ah
0000h
0063h
(software revision)
Comment
These values are forwarded to the Identity
Object (CIP).
See also...
- “Device Customization” on page 13
- “Identity Object (01h)” on page 46 (CIPobject)
(set at production)
‘Anybus-CC EtherNet/IP’ Note: Changing any of these attributes
requires a new Vendor ID.
Extended
#
7
Name
Producing
Instance No.
Access Type
Get
UINT16
Default Value
0064h
8
Consuming
Instance No.
Get
UINT16
0096h
9
Enable communi- Get
cation settings
from Net
BOOL
True
12 Enable Parameter Object
Get
13 Input-Only heart- Get
beat instance
number
14 Listen-Only heart- Get
beat instance
number
BOOL
True
UINT16
0003h
UINT16
0004h
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Comment
See also...
- “Instance 64h Attributes (Producing
Instance)” on page 52 (CIP-instance)
See also...
- “Instance 96h Attributes (Consuming
Instance)” on page 52 (CIP-instance)
Value:Meaning:
True Can be set from network
False Cannot be set from network
See also...
- “TCP/IP Interface Object (F5h)” on page
62 (CIP-object)
- “Ethernet Link Object (F6h)” on page 65
(CIP-object)
- “Network Configuration Object (04h)” on
page 72
(Anybus Module Object)
Value:Meaning:
True Enable CIP Parameter Object
False Disable CIP Parameter Object
See also...
- “Instance 03h Attributes (Heartbeat,
Input-Only)” on page 50 (CIP-instance)
See also...
- “Instance 04h Attributes (Heartbeat, Listen-Only)” on page 51 (CIP-instance)
Doc.Id. HMSI-168-80
120
# Name
15 Assembly object
Configuration
instance number
16 Disable Strict IO
Match
Access Type
Get
UINT16
Default Value
0005h
Get
BOOL
False
UINT16
0006h
UINT16
0007h
BOOL
False
18 Input only
Get
extended heartbeat number
19 Listen only
Get
extended heartbeat instance
number
26 Enable EtherNet/ Get
IP Quick Connecta
Comment
See also...
- “Instance 05h Attributes (Configuration
Data)” on page 51 (CIP-instance)
If true, the module will accept Class1 connection requests that have sizes that’s less
than or equal to the configured IO sizes.
See also...
- “Instance 06h Attributes (Heartbeat,
Input-Only Extended)” on page 51
See also...
- “Instance 07h Attributes (Heartbeat, Listen-Only Extended)” on page 51
Value: Meaning:
True EtherNet/IP QuickConnect functionality enabled
False EtherNet/IP QuickConnect functionality disabled
a. If the module is configured to use EIP QuickConnect functionality, the EDS file has to be changed. As the EDS file
is changed, the identity of the module has to be changed and the module will require certification, see “Conformance Test Guide” on page 10.
Advanced
# Name
11 Enable CIP forwarding
17 Enable unconnected routing
Access Type
Get
BOOL
Default Value
False
Get
BOOL
False
29 Ignore Sequence Get
Count Check
BOOL
False
Comment
Value:Meaning:
True Enable CIP forwarding (requests to
unknown EtherNet/IP objects or unknown
assembly object instances are routed to the
application)
False Disable CIP forwarding
See also...
- “Command Details: Process_CIP_Object_Request” on page 121.
If true, the module enables unconnected CIP
routing. This also triggers an initial upload of
the contents of the CIP Port Mapping object.
Setting this attribute to “true” makes the
module ignore the Sequence Count Check
for consumed Class 1 data.
This means that all data, not just changed/
new data, received from the Originator, will
be copied to the application.
Copying all data and not just changed data
is a violation of the CIP specification. It will
also affect the performance of the module.
Use precaution when setting this flag to
“true”.
HMS will do NO performance measurements and states NO guarantees about how
performance will be affected when copying
all data.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
121
Command Details: Process_CIP_Object_Request
Category
Advanced
Details
Command Code.:
10h
Valid for:
Object Instance
Description
By setting the ‘Enable CIP Request Forwarding’-attribute (#11), all requests to unimplemented CIP-objects or unimplemented assembly object instances will be forwarded to the host application through this
command. The application then has to evaluate the request and return a proper response. The module
supports up to 6 pending CIP-requests; additional requests will be rejected by the module.
Note that since the telegram length on the host interface is limited, the request data size must not exceed
255 bytes. If it does, a the module will send a ‘resource unavailable’ response to the originator of the
request and the message will not be forwarded to the host application.
Note: This command is similar - but not identical - to the ‘Process_CIP_Request’-command in the Anybus CompactCom 30 DeviceNet.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0... m]
MsgData[m... n]
•
Contents
CIP Service Code
Request Path Size
Request Path
Request Data
Notes
CIP service code from original CIP request
Number of 16-bit words in the Request Path field
CIP Padded EPATH (Class, Instance, Attr. etc.)
Service-specific data
Response Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
MsgData[1]
MsgData[2... m]
MsgData[m... n]
Contents
CIP Service Code
00h
General Status
Size of Additional Status
Additional Status
Response data
Notes
(Reply bit set)
(reserved, set to zero)
CIP General Status Code
Number of 16-bit words in Additional Status array
Additional Status, if applicable
Actual response data, if applicable
IMPORTANT: When using this functionality, make sure to implement the common CIP Class Attribute (attribute
#1, ‘Revision’) for all objects in the host application firmware. Failure to observe this will prevent the module from successfully passing conformance tests.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
122
Command Details: Set_Configuration_Data
Category
Advanced
Details
Command Code.:
11h
Valid for:
Object Instance
Description
If the data segment in the CIP ‘Forward_Open’ service contains Configuration Data, this will be forwarded to the host application through this command. If implemented, the host application should evaluate the request and return a proper response.
Since the telegram length on the host interface is limited, segmentation is needed for data sizes larger
than 255 bytes. The maximum total amount of configuration data that will be accepted by the module
is 458 bytes.
Note: This command must be implemented in order to support Configuration Data. If not implemented, the CIP ‘Forward_Open’-request will be rejected by the module.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0 - 1]a
MsgData[2 - 3]a
MsgData[0... n]
Contents
Segmentation Control bits
Producing connection point
Notes
(reserved, ignore)
See “Message Segmentation” on page 141
Producing connection point, requested by the originator.
Consuming connection point Consuming connecition point, requested by the originator.
Data
Actual configuration data
a. MsgData[0 - 1]and MsgData[2 - 3] can both be 0. Normally, the Set_Configuration_Data command is sent to the
application when an I/O connection is setup on the network. Producing connection point and consuming connection point are available and will be forwarded with the command. But if the configuration data originates from a set
attribute single request or a not matching NULL forward open request, there is no information on the connection
points and 0 (zero) will be forwarded to the application.
•
Response Details (Success)
Field
CmdExt[0]
CmdExt[1]
Contents
00h
00h
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Notes
(reserved, set to zero)
(reserved, set to zero)
Doc.Id. HMSI-168-80
123
•
Response Details (Error)
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
MsgData[1]
Contents
00h
00h
Error code
Extended error code
MsgData[2 - 3]
Index
Notes
(reserved, set to zero)
(reserved, set to zero)
Anybus error code
If the Anybus error code is set to FFh, the extended error
code shall be translated as shown in “Extended Error
Code” on page 123.
If the Extended error code is set to 02h (invalid configuration), this parameter points to the attribute that failed.
Extended Error Code
If the Error code equals FFh (Object specific error), the extended code will be translated as below:
Code
01h
02h
Contents
Ownership conflict
CIP no. CIP status code Additional Information
01h
Connection failure The configuration data was supplied in a forward open
request.
10h
Device State con- The configuration data was supplied in a set request
flict
to the Assembly object.
Invalid configura- 09h
Bad attribute data CIP extended error code: Use value from MsgData[2 tion
3]. The extended error code shall only be used if the
request originated from a Forward Open request, not
for explicit set requests.
See also...
•
“Connection Manager (06h)” on page 53 (CIP)
•
“Message Segmentation” on page 130
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
124
Command Details: Process_CIP_Routing_Request
Category
Advanced
Details
Command Code.:
12h
Valid for:
Object Instance
Description
The module will strip the first path within the Unconnected_Send service and evaluate whether or not
it’s possible to continue with the routing (e.g. check that the requested port exists within the port object).
If the stripped path was the last path the contents delivered to the application will be the CIP request
sent to the destination node, otherwise it will be an Unconnected_Send service with updated route path
information.
The module supports up to 6 pending requests. Additional requests will be rejected by the module.
Note: Since the telegram length on the host interface is limited, the data must not exceed 255 bytes in
length. If it does, the module will reject the originator of the request (‘Resource unavailable’), and this
command will not be issued towards the host application.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0... n]
MsgData[n+1]
MsgData[n+2]
MsgData[n+3... m]
•
Contents
Destination Path
Time_tick
Time-out_ticks
CIP message
Notes
(reserved, ignore)
(reserved, ignore)
Destination path encoded as an EPATH.
Valid after timeout parameters have been updated
Valid after timeout parameters have been updated
CIP message to route
Response Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
MsgData[1]
MsgData[2]
MsgData[3]
MsgData[4... n]
MsgData[n+1... m]
Contents
00h
00h
CIP Service
00h
General Status
Size of Additional Status
Additional Status Array
Response Data
Notes
(reserved, set to zero)
(reserved, set to zero)
Actual CIP service code, response bit set
(reserved, set to zero)
Actual CIP General status code
No. of 16-bit words in Additional Status Array
Additional status, if applicable
Actual response data
See also...
•
“Port Object (F4h)” on page 60 (CIP)
•
“CIP Port Configuration Object (0Dh)” on page 115
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
125
Command Details: Get_Configuration_Data
Details
Command Code.: 13h
Valid for:
Object Instance
Description
If the configuration data is requested from the network, the Anybus will issue this command to the application. The application shall send the stored configuration data in the response message.
Since the telegram length on the host interface is limited, segmentation is needed for data sizes larger
than 255 bytes. The maximum total amount of configuration data that will be accepted by the module
is 458 bytes.
Note: This command must be implemented in order to support Configuration Data. If not implemented, the request will be rejected by the Anybus module.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
MsgData[0... n]
•
Notes
No extended message data
Response Details (Success)
Field
CmdExt[0]
CmdExt[1]
MsgData[0 - n]
•
Contents
00h
00h
-
Contents
00h
Segmentation Control bits
Status
Notes
(reserved, set to zero)
See “Message Segmentation” on page 130
Configuration data from the application
Response Details (Error)
Field
CmdExt[0]
CmdExt[1]
MsgData[0]
Contents
00h
Segmentation Control bits
Status
Notes
(reserved, set to zero)
See “Message Segmentation” on page 130
Anybus protocol error code
See also...
“Message Segmentation” on page 130
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
126
10.3 Ethernet Host Object (F9h)
Category
Basic, extended
Object Description
This object implements Ethernet features in the host application.
Supported Commands
Object:
Get_Attribute
Instance:
Get_Attribute
Set_Attribute
Object Attributes (Instance #0)
#
1
2
3
4
Name
Name
Revision
Number of instances
Highest instance no.
Access
Get
Get
Get
Get
Data Type
Array of CHAR
UINT8
UINT16
UINT16
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Value
‘Ethernet’
01h
0001h
0001h
Doc.Id. HMSI-168-80
127
Instance Attributes (Instance #1)
Basic
#
Name
Access
1
MAC addressb
Get
Defaulta Comment
Array of UINT8 6 byte physical address value; overrides the
pre-programmed Mac address. Note that the
new Mac address value must be obtained from
the IEEE.
Type
a. If an attribute is not implemented, the module will use this value instead
b. The module is pre-programmed with a valid Mac address. To use that address, do not implement this attribute.
Extended
#
Name
Access
Type
2
Enable HICP
Get
BOOL
3
Enable Web Server
Get
BOOL
5
Enable Web ADI access Get
BOOL
6
Enable FTP server
Get
BOOL
7
Enable admin mode
Get
BOOL
8
Network Status
Set
UINT16
Defaulta Comment
True
Value:Meaning:
True HICP enabled
False HICP disabled
(see “HICP (Host IP Configuration Protocol)”
on page 132)
True
Value:Meaning:
True web server enabled
False web server disabled
(see “Web Server” on page 20)
True
Value:Meaning:
True web ADI access enabled
False web ADI access disabled
(see “Web Server” on page 20)
True
Value:Meaning:
True FTP server enabled
False FTP server disabled
(see “FTP Server” on page 18)
False
Value:Meaning:
True FTP Admin mode enabled
False FTP Admin mode disabled
(see “FTP Server” on page 18)
See “Network Status” on page 127
a. If an attribute is not implemented, the module will use this value instead
Network Status
This attribute holds a bit field which indicates the overall network status as follows:
Bit
0
Contents
Link
1
IP established
2... 15 (reserved)
Description
Value:Meaning:
True Link sensed
False No link
Value:Meaning:
True IP address established
False IP address not established
(mask off and ignore)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix A
A. Categorization of Functionality
The objects, including attributes and services, of the Anybus CompactCom and the application are divided into three categories: basic, advanced and extended.
A.1 Basic
This category includes objects, attributes and services that are mandatory to implement or to use. They
will be enough for starting up the Anybus CompactCom and sending/receiving data with the chosen
network protocol. The basic functions of the industrial network are used.
Additional objects etc, that will make it possible to certify the product also belong to this category.
A.2 Extended
Use of the objects in this category extends the functionality of the application. Access is given to the
more specific characteristics of the industrial network, not only the basic moving of data to and from
the network. Extra value is given to the application.
A.3 Advanced
The objects, attributes and services that belong to this group offer specialized and/or seldom used functionality. Most of the available network functionality is enabled and accessible. Access to the specification of the industrial network is normally required.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix B
B. Implementation Details
B.1 SUP-Bit Definition
The supervised bit (SUP) indicates that the network participation is supervised by another network device. In the case of EtherNet/IP, this means that the SUP-bit is set when one or more CIP (Class 1 or
Class 3) connections has been opened towards the module.
B.2 Anybus State Machine
The table below describes how the Anybus State Machine relates to the EtherNet/IP network.
Anybus State
WAIT_PROCESS
Implementation
The module stays in this state until a Class 1
connection has been opened.
ERROR
1. Class 1 connections errors
2. Duplicate IP address detected
PROCESS_ACTIVE Error free Class 1 connection active (RUN-bit set
in the 32-bit Run/Idle header of an ExclusiveOwner connection)
IDLE
Class 1 connection idle.
Comment
-
EXCEPTION
MS LED turns red (to indicate a major fault)
NS LED is off
Unexpected error, e.g. watchdog timeout etc.
Only valid for consuming connections.
B.3 Application Watchdog Timeout Handling
Upon detection of an application watchdog timeout, the module will cease network participation and
shift to state ‘EXCEPTION’. No other network specific actions are performed.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix C
C. Message Segmentation
C.1 General
Category: Advanced
The maximum message size supported by the Anybus CompactCom 30 is 255 bytes. To provide support
for longer messages (needed when using the socket interface), a segmentation protocol is used.
The segmentation protocol is implemented in the message layer and must not be confused with the fragmentation used on the serial host interface. Consult the general Anybus CompactCom 30 Software Design Guide for further information.
The module supports 1 (one) simultaneous segmented message per instance.
C.2 Command Segmentation
When a command message is segmented, the command initiator sends the same command header multiple times. For each message, the data field is exchanged with the next data segment.
Please note that some commands can’t be used concurrently on the same instance, since they both need
access to the segmentation buffer for that instance.
Command segmentation is used for the following commands:
•
Set_Configuration_Data (see “Command Details: Set_Configuration_Data” on page 122)
•
Send (see “Command Details: Send” on page 90)
•
Send To (see “Command Details: Send_To” on page 91)
Segmentation Control bits (Command)
Bit
0
1
2
3...7
Contents
FS
LS
AB
(reserved)
Meaning
Set if the current segment is the first segment
Set if the current segment is the last segment
Set if the segmentation shall be aborted
Set to 0 (zero)
Segmentation Control bits (Response)
Bit
0...7
Contents
(reserved)
Meaning
Ignore
When issuing a segmented command, the following rules apply:
•
When issuing the first segment, FS must be set.
•
When issuing subsequent segments, both FS and LS must be cleared.
•
When issuing the last segment, the LF-bit must be set.
•
For single segment commands (i.e. size less or equal to 255 bytes), both FS and LS must be set.
•
The last response message contains the actual result of the operation.
•
The command initiator may at any time abort the operation by issuing a message with AB set.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Message Segmentation 131
•
If a segmentation error is detected during transmission, an error message is returned, and the current segmentation message is discarded. Note however that this only applies to the current segment; previously transmitted segments are still valid.
C.3 Response Segmentation
When a response is segmented, the command initiator requests the next segment by sending the same
command multiple times. For each response, the data field is exchanged with the next data segment.
Response segmentation is used for responses to the following commands:
•
Receive (object specific, see “Command Details: Receive” on page 88)
•
Receive From (object specific, see “Command Details: Receive_From” on page 89)
•
Get_Configuration_Data (see “Command Details: Get_Configuration_Data” on page 125)
Segmentation Control bits (Command)
Bit
0
1
2
3...7
Contents
(reserved)
Meaning
(set to zero)
AB
(reserved)
Set if the segmentation shall be aborted
(set to zero)
Segmentation Control bits (Response)
Bit
0
1
2...7
Contents
FS
LS
(reserved)
Meaning
Set if the current segment is the first segment
Set if the current segment is the last segment
(set to zero)
When receiving a segmented response, the following rules apply:
•
In the first segment, FS is set
•
In all subsequent segment, both FS and LS are cleared
•
In the last segment, LS is set
•
For single segment responses (i.e. size less or equal to 255 bytes), both FS and LS are set.
•
The command initiator may at any time abort the operation by issuing a message with AB set.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix D
D. HICP (Host IP Configuration Protocol)
D.1 General
The module supports the HICP protocol used by the Anybus IPconfig utility for changing settings, e.g.
IP address, Subnet mask , and enable/disable DHCP. Anybus IPconfig can be downloaded free of
charge from the HMS website, www.anybus.com. This utility may be used to access the network settings
of any Anybus product connected to the network via UDP port 3250.
D.2 Operation
Upon starting the program, the network is scanned for Anybus products. The network can be rescanned at any time by clicking ‘Scan’.
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’, or click
‘Cancel’ to cancel all changes.
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’.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix E
E. Technical Specification
E.1 Front View
#
1
Item
Network Status LED
1
2
Module Status LED
3
Link/Activity
4
Ethernet Interface
8
1
2
4
3
Network Status LED
Note: A test sequence is performed on this LED during startup.
LED State
Off
Green
Green, flashing
Red
Red, flashing
Description
No power or no IP address
On-line, one or more connections established (CIP Class 1 or 3)
On-line, no connections established
Duplicate IP address, FATAL error
One or more connections timed out (CIP Class 1 or 3)
Module Status LED
Note: A test sequence is performed on this LED during startup.
LED State
Off
Green
Green, flashing
Red
Red, flashing
Description
No power
Controlled by a Scanner in Run state
Not configured, or Scanner in Idle state
Major fault (EXCEPTION-state, FATAL error etc.)
Recoverable fault(s)
LINK/Activity LED
LED State
Off
Green
Green, flickering
Description
No link, no activity
Link established
Activity
Ethernet Interface
The Ethernet interface supports 10/100Mbit, full or half duplex operation.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Technical Specification 134
E.2 Protective Earth (PE) Requirements
In order to ensure proper EMC behaviour, the module must be properly connected to protective earth
via the PE pad / PE mechanism described in the general Anybus CompactCom 30 Hardware Design
Guide.
HMS Industrial Networks does not guarantee proper EMC behaviour unless these PE requirements are
fulfilled.
E.3 Power Supply
Supply Voltage
The module requires a regulated 3.3V power source as specified in the general Anybus CompactCom 30
Hardware Design Guide.
Power Consumption
The Anybus CompactCom 30 EtherNet/IP is designed to fulfil the requirements of a Class A module.
For more information about the power consumption classification used on the Anybus CompactCom
platform, consult the general Anybus CompactCom 30 Hardware Design Guide.
The current hardware design consumes up to 200mA1.
E.4 Environmental Specification
Consult the Anybus CompactCom 30 Hardware Design Guide for further information.
E.5 EMC Compliance
Consult the Anybus CompactCom 30 Hardware Design Guide for further information.
1. Note that in line with HMS policy of continuous product development, we reserve the right to change the
exact power requirements of this product without prior notification. Note however that in any case, the
Anybus CompactCom 30 EtherNet/IP will remain as a Class A module.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix F
F. Timing & Performance
F.1 General Information
This chapter specifies timing and performance parameters that are verified and documented for the
Anybus CompactCom 30 EtherNet/IP w. IT Functionality.
The following timing aspects are measured:
Category
Startup Delay
NW_INIT Delay
Telegram Delay
Command Delay
Anybus Read Process Data Delay (Anybus Delay)
Anybus Write Process Data Delay (Anybus Delay)
Network System Read Process Data Delay (Network System Delay)
Network System Write Process Data Delay (Network System Delay)
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Parameters
T1, T2
T3
T4
T5
T6, T7, T8
T12, T13, T14
T9, T10, T11
T15, T16, T17
Page
Please consult the Anybus CompactCom 30 Software Design
Guide, App. B.
137
137
Doc.Id. HMSI-168-80
Timing & Performance 136
F.2 Process Data
F.2.1 Overview
Host Application
Application
software
Anybus
Host
interface
software
HMS Driver
Network Master
Network
specific
software
Network
specific
hardware
Network Media
Event
Anybus Delay
Network System Delay
F.2.2 Anybus Read Process Data Delay (Anybus Delay)
The Read Process Data Delay (labelled ‘Anybus delay’ in the figure above) is defined as the time measured from just before new data is buffered and available to the Anybus host interface software, to when
the data is available to the host application (just after the new data has been read from the driver).
Please consult the Anybus CompactCom 30 Software Design Guide, Appendix B, for more information.
F.2.3 Anybus Write Process Data Delay (Anybus Delay)
The Write Process Data Delay (labelled ‘Anybus delay’ in the figure) is defined as the time measured
from the point the data is available from the host application (just before the data is written from the
host application to the driver), to the point where the new data has been forwarded to the network buffer
by the Anybus host interface software.
Please consult the Anybus CompactCom 30 Software Design Guide, Appendix B, for more information.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Timing & Performance 137
F.2.4 Network System Read Process Data Delay (Network System Delay)
The Network System Read Process Data Delay (labelled ‘Network System Delay in the figure), is defined
as the time measured from the point where an event is generated at the network master to when the
corresponding data is available to the host application (just after the corresponding data has been read
from the driver).
Parameter
T9
T10
T11
Description
Network System Read Process Data delay, 8 ADIs (single UINT8)
Network System Read Process Data delay, 16 ADIs (single UINT8)
Network System Read Process Data delay, 32 ADIs (single UINT8)
Typ.
8.7
8.8
9.0
Avg.
5.9
6.0
6.0
Max.
11.0
11.0
11.0
Unit.
ms
ms
ms
Conditions:
Parameter
Application CPU
Timer system call interval
Driver call interval
No.of ADIs (single UINT8) mapped to Process Data in each direction.
Communication
Telegram types during measurement period
Bus load, no. of nodes, baud rate etc.
Conditions
1 ms
0.2... 0.3 ms
8, 16 and 32
Parallel
Process Data only
Normal
F.2.5 Network System Write Process Data Delay (Network System Delay)
The Network System Write Process Data Delay (labelled ‘Network System Delay in the figure), is defined as the time measured from the time after the new data is available from the host application (just
before the data is written to the driver) to when this data generates a corresponding event at the network
master.
Parameter
T15
T16
T17
Description
Network System Write Process Data delay, 8 ADIs (single UINT8)
Network System Write Process Data delay, 16 ADIs (single UINT8)
Network System Write Process Data delay, 32 ADIs (single UINT8)
Typ.
8.7
8.8
9.0
Avg.
5.9
6.0
6.0
Max.
11.0
11.0
11.0
Unit.
ms
ms
ms
Conditions: as in “Network System Read Process Data Delay (Network System Delay)” on page 137.
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Appendix G
G. Key Numbers
Item
Network Data Format
Acyclic Data Support
Max. no. of Elements Per ADI
Max. ADI Size (in bytes)
Lowest Addressable ADI no.
Highest Addressable ADI no.
Max. Process Data (Read + Write, in bytes)
Min. Process Data (Read + Write, in bytes)
Max. Write Process Data (in bytes)
Min. Write Process Data (in bytes)
Max. Read Process Data (in bytes)
Min. Read Process Data (in bytes)
Requires ‘Get/Set_Indexed_Attribute’
Requires ‘Get_Instance_Number_By_Order’
Max. no. of Diagnostic Instances
Supports Network Reset Type 0: ‘Power-on
reset’
Supports Network Reset Type 1: ‘Factory
default reset’
Supports SINT64
Supports UINT64
Supports FLOAT
Anybus CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Ethernet/IP
LSB first
Yes
255
255
1
65535
512
0
256
0
256
0
No
Yes
Section
Network Object (03h)
Page
71
6
Yes
Yes
Yes
Yes
Yes
Doc.Id. HMSI-168-80
Appendix H
H. 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 CompactCom 30 EtherNet/IP w. IT Functionality
Doc.Rev. 3.11
Doc.Id. HMSI-168-80
Was this manual useful for you? yes no
Thank you for your participation!

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

Download PDF

advertisement