null  null
Network Interface Appendix
Anybus CompactCom 30 SERCOS III
®
Doc.Id. HMSI-168-72
Rev. 2.10
Connecting DevicesTM
HALMSTAD • CHICAGO • KARLSRUHE • TOKYO • BEIJING • MILANO • MULHOUSE • COVENTRY • PUNE • COPENHAGEN
HMS Industrial Networks
Mailing address: Box 4126, 300 04 Halmstad, Sweden
Visiting address: Stationsgatan 37, Halmstad, Sweden
E-mail: [email protected]
www.anybus.com
Important User Information
This document is intended to provide a good understanding of the functionality offered by SERCOS III. The document only describes the features that are specific to the Anybus CompactCom 30 SERCOS III. For general information regarding the Anybus CompactCom, consult the Anybus CompactCom 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 SERCOS III-specific functionality may require in-depth knowledge in SERCOS III networking internals and/or information from the official SERCOS III specifications. In such cases, the
people responsible for the implementation of this product should either obtain the SERCOS III 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 SERCOS III Network Interface Appendix
Rev 2.10
Copyright© HMS Industrial Networks AB
Feb 2015 Doc Id HMSI-168-72
Table of Contents
Table of Contents
Preface
About This Document
Related Documents.................................................................................................................................. 7
Document History ................................................................................................................................... 7
Conventions & Terminology .................................................................................................................. 8
Glossary........................................................................................................................................... 8
Support....................................................................................................................................................... 8
Chapter 1
About the Anybus CompactCom 30 SERCOS III
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
Chapter 3
Basic Operation
General Information .............................................................................................................................. 12
Software Requirements ................................................................................................................... 12
SDDML File ............................................................................................................................... 12
Network Identity .................................................................................................................................... 13
Communication Settings ....................................................................................................................... 13
Network Data Exchange....................................................................................................................... 13
Application Data (ADI)............................................................................................................... 13
Process Data .................................................................................................................................. 14
Diagnostics .............................................................................................................................................. 14
Web Interface.......................................................................................................................................... 15
Email Client............................................................................................................................................. 15
Network Reset Handling....................................................................................................................... 15
Restore Manufacturer Parameters to Default .................................................................................. 15
SERCOS address .................................................................................................................................... 15
File System............................................................................................................................................... 16
General Information....................................................................................................................... 16
System Files ................................................................................................................................... 16
Chapter 4
SERCOS III Implementation
Standard IDNs........................................................................................................................................ 17
Manufacturer Specific IDNs................................................................................................................. 20
Translation of ADIs to IDNs ....................................................................................................... 20
Translation of ADI Properties ....................................................................................................... 21
Chapter 5
FTP Server
General Information .............................................................................................................................. 22
User Accounts......................................................................................................................................... 22
Session Example ..................................................................................................................................... 23
Chapter 6
Web Server
General Information .............................................................................................................................. 24
Default Web Pages ................................................................................................................................. 24
Network statistics page................................................................................................................... 25
Server Configuration.............................................................................................................................. 26
General Information....................................................................................................................... 26
Index Page..................................................................................................................................... 26
Default Content Types ................................................................................................................... 27
Authorization ................................................................................................................................ 27
Chapter 7
Email Client
General Information .............................................................................................................................. 28
How to Send Email Messages .............................................................................................................. 28
Chapter 8
Server Side Include (SSI)
General Information .............................................................................................................................. 29
Include File .............................................................................................................................................. 29
Command Functions ............................................................................................................................. 30
General Information....................................................................................................................... 30
GetConfigItem() ............................................................................................................................. 31
SetConfigItem() .............................................................................................................................. 32
SsiOutput().................................................................................................................................... 34
DisplayRemoteUser........................................................................................................................ 34
ChangeLanguage() ......................................................................................................................... 35
IncludeFile()................................................................................................................................... 36
SaveDataToFile() .......................................................................................................................... 37
printf() ........................................................................................................................................... 38
scanf() ............................................................................................................................................ 40
Argument Functions .............................................................................................................................. 42
General Information....................................................................................................................... 42
ABCCMessage() ........................................................................................................................... 42
SSI Output Configuration..................................................................................................................... 46
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 9
Anybus Module Objects
General Information .............................................................................................................................. 47
Anybus Object (01h).............................................................................................................................. 48
Diagnostic Object (02h) ........................................................................................................................ 49
Network Object (03h)............................................................................................................................ 50
Network Configuration Object (04h).................................................................................................. 51
Multilingual Strings ....................................................................................................................... 56
Command Details: Reset_Command.............................................................................................. 57
Socket Interface Object (07h) (Advanced Users Only).................................................................... 58
Command Details: Accept.............................................................................................................. 65
SMTP Client Object (09h) .................................................................................................................... 75
File System Interface Object (0Ah) ..................................................................................................... 80
Network Ethernet Object (0Ch) .......................................................................................................... 92
Chapter 10 Host Application Objects
General Information .............................................................................................................................. 93
SERCOS III Object (F1h) .................................................................................................................... 94
Ethernet Host Object (F9h) ................................................................................................................. 97
Appendix A Categorization of Functionality
Basic........................................................................................................................................................ 100
Extended................................................................................................................................................100
Advanced ............................................................................................................................................... 100
Appendix B Implementation Details
SUP-Bit Definition............................................................................................................................... 101
Anybus State Machine ......................................................................................................................... 101
Appendix C Message Segmentation
General................................................................................................................................................... 102
Command Segmentation ..................................................................................................................... 102
Response Segmentation....................................................................................................................... 103
Appendix D HICP (Anybus IPconfig)
General................................................................................................................................................... 104
Operation............................................................................................................................................... 104
Appendix E Conversion Tables
Data Format ..........................................................................................................................................105
Languages Codes ..................................................................................................................................105
Error Codes........................................................................................................................................... 106
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Appendix F Technical Specification
Front View............................................................................................................................................. 108
Protective Earth (PE) Requirements.................................................................................................109
Power Supply ........................................................................................................................................109
Environmental Specification ..............................................................................................................109
EMC Compliance ................................................................................................................................. 109
Appendix G Timing & Performance
General Information ............................................................................................................................110
Process Data..........................................................................................................................................111
Overview ......................................................................................................................................111
Anybus Read Process Data Delay (Anybus Delay)......................................................................111
Anybus Write Process Data Delay (Anybus Delay)..................................................................... 111
Network System Read Process Data Delay (Network System Delay)...........................................112
Network System Write Process Data Delay (Network System Delay).......................................... 112
Appendix HCopyright Notices
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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 Software Design Guide
Anybus-CompactCom Hardware Design Guide
Anybus-CompactCom Software Driver User Guide
SERCOS III Specification
Author
HMS
HMS
HMS
SERCOS International
P.2 Document History
Summary of Recent Changes ( 2.04... 2.10)
Change
Corrected all instances of SSDML to SDDML
Added minimum cycle time
Added timing and performance chapter
Front view description moved to Technical Specification Appendix
Page(s)
9
110
108
Revision List
Revision
1.00
2.00
2.01
2.02
2.03
2.04
2.10
Date
2009-11-06
2010-04-15
2010-08-26
2011-02-10
2012-01-26
2012-10-14
2015-02-13
Author(s)
KeL
KeL
KeL
KeL
KeL
KeL
KeL
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Chapter(s)
All
G
8, 10, P
2
E
1, F, G
Description
First official release
Change of concept
Added copyright notices
Minor updates
Minor update
Minor correction
Minor updates and additions
Doc.Id. HMSI-168-72
About This Document P-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.3.1 Glossary
Word
IDN
IDN/S
IDN/P
SCP
GDP
FTP
TFTP
Explanation
Identification numbers, data objects on SERCOS III
Identification numbers, standard data objects on SERCOS III
Identification numbers, manufacturer specific data objects on SERCOS III
SERCOS Communication Profile
Generic Device Profile
File Transfer Protocol
Trivial File Transfer Protocol
P.4 Support
For general contact information and support, please refer to the contact and support pages at
www.anybus.com.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 1
1. About the Anybus CompactCom 30 SERCOS III
1.1 General
The Anybus CompactCom 30 SERCOS III communication module provides instant SERCOS III 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 Identity Object to 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 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
•
Complete SERCOS III node
•
Up to 256 byte of I/O data in each direction
•
Up to 16319 ADIs can be accessed as manufacturer specific IDNs
•
Supports GDP Basic, SCP_FixCFG, SCP_NRT, and FSP_10
•
100 Mbit/s full duplex Ethernet with integrated 2-port switch
•
TCP/IP Socket interface
•
FTP server, TFTP server, e-mail and dynamic web server with SSI support
•
Customizable Identity object
•
500 μs minimum cycle time
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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. 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 SERCOS III networks.
2.2 Fieldbus Conformance Notes
•
The Anybus CompactCom 30 SERCOS III has been pre-compliance tested by the Institute for
Control Engineering of Machine Tools and Manufacturing Units (ISW) at the University of
Stuttgart and found to comply with SERCOS interface specification, Compliance Class A. For
details, please consult www.anybus.com.
For further information, please contact HMS.
2.3 Conformance Test Guide
When using the default settings of all parameters, the Anybus CompactCom SERCOS III 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 SDDML file, supplied by HMS, will require a certification. A Vendor ID can be obtained from SERCOS International and is compulsory for certification. This section
provides a guide for successful conformance testing your product, containing the Anybus CompactCom
SERCOS III module, to comply with the demands for network certification set by SERCOS International..
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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 SERCOS III Host Object (F1h) and the Ethernet Host Object
(F9h). Therefore, the attributes listed below shall be implemented and proper values returned.
Object/Instance
Customer sample
Comment
SERCOS III Host Object #1, Component
(F1h), Instance 1
name
Attribute
With this attribute you “Communication
set the Component
Adapter”
name of the device.
“Widget”
This information must match the
keyword values of the “ElectronicLabel” section in the SDDML file.
SERCOS III Host Object #2, Vendor code
(F1h), Instance 1
With this attribute you 005Ah
set the Vendor code
of the device.
1111h
SERCOS III Host Object #3, Device name
(F1h), Instance 1
With this attribute you “Anybus Compactset the Device name Com SERCOS III”
of the device
“Fast Widget”
SERCOS III Host Object #4, Vendor device
(F1h), Instance 1
ID
With this attribute you “ABCC SRC3”
set the Vendor device
ID of the device.
“WID”
SERCOS III Host Object #5, Software revi(F1h), Instance 1
sion
With this attribute you
set the Software revision of the device.
1.1
SERCOS III Host Object #6, Serial number
(F1h), Instance 1
With this attribute you
set the Serial number
of the device.
12345678h
Ethernet Host Object
(F9h), Instance 1
With this attribute you
set theMAC address
of the device.
00-11-22-33-44-55
#1, MAC address
Explanation
Default
6 byte physical address value from
range obtained from IEEE
2.3.2 Factory Default Reset
Reset command to Application Object (FFh) must be supported
When Anybus CompactCom 30 SERCOS III modules are delivered, they are required to be in their
“Factory Default” state. When a Factory Default Reset command is received from the network, the Anybus module will erase all non volatile information 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 Software
Design Guide.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 3
3. Basic Operation
3.1 General Information
3.1.1 Software Requirements
Generally, no additional network support code needs to be written to support the Anybus CompactCom
30 SERCOS III, however due to the nature of the SERCOS III networking system certain things must
be taken into account:
•
The Anybus CompactCom 30 SERCOS III supports one consuming and one producing connection.
•
The flexible nature of the Anybus concept allows the application to modify the behavior on SERCOS III in ways which contradict the generic SDDML File or in other ways voids network certification. Those responsible for the implementation of the final product should ensure that their
level of implementation matches their own requirements and policies regarding network certification and interoperability.
•
The use of advanced SERCOS III-specific functionality may require in-depth knowledge in
SERCOS III networking internals and/or information from the official SERCOS III specification. 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 in
such a way that this is not necessary.
See also...
•
“Process Data” on page 14
•
“Diagnostic Object (02h)” on page 49 (Anybus Module Object)
•
Anybus-CompactCom Software Design Guide, ‘Application Data Object (FEh)’
3.1.2 SDDML File
Each device on SERCOS III is associated with an SDDML File in XML format, which holds a description of the device and its functions.
HMS supplies a generic Device Description File which can serve as a basis for new implementations.
However, due to the flexible nature of the Anybus CompactCom concept, it is possible to alter the functionality of the module in ways which contradicts the information in this file. This may cause trouble if
the master expects the configuration stated in the file. In some cases, these problems can be rectified by
the end user by manually changing I/O parameters etc. However, to ensure interoperability and to reduce the complexity for the end user, it is generally recommended to create a custom SDDML File to
match the final implementation of the product.
The following scenarios are known to require a custom SDDML File.
•
The use of a custom Vendor code
•
The use of a custom Vendor device ID
Note that any deviations from the generic SDDML File requires the use of custom Vendor- and Product
IDs.
See also...
•
“Fieldbus Conformance Notes” on page 10
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Basic Operation 13
3.2 Network Identity
By default, the module identifies itself as a generic Anybus implementation as follows:
Vendor Code
Device Type
Vendor Device ID
Device Name
005Ah (HMS Industrial Networks, allocated by SERCOS International)
“Communication adapter”
“ABCC SRC3”
“Anybus-CompactCom SERCOS III”
It is possible to customize the identity information so that the Anybus module appears as a vendor specific implementation rather than a generic Anybus product. Note however that this invalidates the standard XML-file an thus re-certification of the product is necessary.
See also...
•
“SERCOS III Object (F1h)” on page 94
3.3 Communication Settings
Network related communication settings are grouped in the Network Configuration Object (04h). In
case of the Anybus CompactCom 30 SERCOS III this includes...
•
Ethernet Interface Settings
The module is locked to 100Mbit full duplex operation as required by SERCOS III.
•
TCP/IP Settings
These settings must be set in order for the module to be able to participate on the network.
•
SMTP Account Settings
These settings must be set in order for the module to be able to send email messages.
See also...
•
“Web Server” on page 24
•
“Network Configuration Object (04h)” on page 51
•
“HICP (Anybus IPconfig)” on page 104
3.4 Network Data Exchange
3.4.1 Application Data (ADI)
Application Data Instances (ADIs) can be accessed from the network as manufacturer specific IDNs.
4096 ADIs are accessible in each of the eight manufacturer specific parameter sets, for a total of 32767
possible ADIs. However, SERCOS limits the maximum total number of IDNs in a slave to 16383. This
includes both standard IDNs and manufacturer specific IDNs. Any ADIs with instance numbers exceeding 32767 or order numbers exceeding 16383 minus the number of standard IDNs, implemented
by the module, will not be accessible.
See also...
•
“Manufacturer Specific IDNs” on page 20
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Basic Operation 14
3.4.2 Process Data
ADIs mapped as Process Data will be exchanged cyclically. The actual map is based on the Process Data
map specified during startup and cannot be changed from the network during runtime.
The module supports one consuming and one producing connection, each containing up to 256 bytes
of data as shown in this table:
Device control
2 Byte
Connection control
2 Byte
Process data connection content
IO Control
ABCC process data
2 Byte
0 - 256 Byte
Pad byte
0 - 1 Byte
If the process data size is not even (odd number of bytes), an extra pad byte is appended at the end.
Note 1: Due to limitations in the SERCOS FSP_IO profile, only a total of 255 process data mappings
(total of inputs and outputs) are supported.
Note 2: “Device control” is sent with “Process data connection”, but is not tied to it. The order does
not have to be as shown in the table.
See also...
•
“Standard IDNs” on page 17
•
“Manufacturer Specific IDNs” on page 20
3.5 Diagnostics
The standard Diagnostic Object (02h) provides access to basic diagnostic functionality. Major unrecoverable events will cause the module to physically disconnect itself from the network, thus preventing network participation.
Major diagnostic events are translated to SERCOS Class 1 diagnostic events, if support for latching diagnostic events is included in the SERCOS III application object. Otherwise the major diagnostic events
will be translated to class 2 events.
Up to 5 diagnostic instances can be created by the host application. An additional 6th instance may be
created in event of a major unrecoverable fault.
See also...
•
“SERCOS III Object (F1h)” on page 94
•
“Diagnostic Object (02h)” on page 49
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Basic Operation 15
3.6 Web Interface
The built-in web server can be used to provide rich, dynamic content, by means of SSI scripting. This
enables access to information and configuration settings within the file system, as well as through the
Anybus CompactCom object module.
Web server content resides within the FLASH-based file system, which means it can be accessed and
customized as needed using a standard FTP-client.
See also...
•
“File System” on page 16
•
“FTP Server” on page 22
•
“Web Server” on page 24
•
“Server Side Include (SSI)” on page 29
3.7 Email Client
The built-in email client enables the host application to send email messages stored in the file system, or
defined directly within the SMTP Client Object (09h). Messages are scanned for SSI content, which
means it’s possible to embed dynamic information from the file system or from the Anybus CompactCom object model.
See also...
•
“File System” on page 16“Instance Attributes (Instance #3, SERCOS Address)” on page 52
•
“Email Client” on page 28
•
“Server Side Include (SSI)” on page 29
•
“SMTP Client Object (09h)” on page 75
3.8 Network Reset Handling
3.8.1 Restore Manufacturer Parameters to Default
Upon receiving a ‘Load defaults procedure command’ from the network, the module will issue a reset
command to the Network Configuration Object (04h),with CmdExt[1] set to 01h (‘Factory default reset’).
See also...
•
“Command Details: Reset_Command” on page 57
3.9 SERCOS address
The SERCOS address range is 0 - 511. If defined during setup, the address can not be changed later
from the network. If defined after setup, the SERCOS address can be changed from the network.
See also...
•
“Instance Attributes (Instance #3, SERCOS Address)” on page 52 (Network Configuration Object (04h))
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Basic Operation 16
3.10 File System
3.10.1 General Information
The built-in file system hosts 1.18 MByte of non-volatile storage, which can be accessed by the HTTP,
FTP and TFTP 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 22
•
“Web Server” on page 24
•
“Email Client” on page 28
•
“Server Side Include (SSI)” on page 29
•
“File System Interface Object (0Ah)” on page 80
IMPORTANT: The file system is located in flash memory. Due to technical reasons, each flash segment can be 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.10.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 some 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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 4
4. SERCOS III Implementation
4.1 Standard IDNs
The following standard IDNs are supported in Anybus CompactCom 30 SERCOS III.
IDN
S-0-0014
S-0-0017
S-0-0021
S-0-0025
S-0-0095
S-0-0099
S-0-0127
S-0-0128
S-0-0262
S-0-0265
S-0-0266
S-0-0390
S-0-1000
S-0-1002
S-0-1003
S-0-1009
S-0-1010
S-0-1011
S-0-1012
S-0-1013
S-0-1014
S-0-1017
S-0-1019
S-0-1020
S-0-1021
S-0-1022
S-0-1026
S-0-1027.0.1
S-0-1027.0.2
S-0-1035
S-0-1040
Name
Description
Interface status
IDN list of all operation data
Returns a list of all IDNs, including ADI IDNs
IDN list of invalid operation data
for CP2
IDN list of all procedure commands
Diagnostic message
Text string description of diagnostic message, see also Diagnostics
on page 3-14 and Diagnostic Object (02h) on page 9-49
Reset class 1 diagnostic
This procedure command will send a Reset diagnostic request to the
SERCOS III application object, see page 10-94
CP3 transition check
CP4 transition check
Load defaults procedure com- This procedure command will send a factory def al ut reset to the
mand
application object as well as restore all instances of the NC object to
their default values
Language selection
See Languages Codes on page E-105
List of available languages
See Languages Codes on page E-105
DiagnosticNumber
Diagnostic code of the latest diagnostic event.
SCP Type & Version
List of supported SCPs (SERCOS Communication Profiles)
This device supports FSP_IO, SCP_FIX_CFG (fixed configuration)
and SCP_NRT (TCP/IP)
Communication Cycle Time
(tScyc)
Communication timeout for
CP3/CP4
Device control offset in MDT
Lengths of MDTs
Device status offset in AT
Lengths of AT
SVC offset in MDT
SVC offset in AT
IPC transmission time
MAC address
Returns the current MAC ID
IP address
Get/set current IP address
Subnet mask
Get/set current subnet mask
Gateway address
Get/set current gateway address
Version of communication hard- SERCON100S version
ware
Maximum MTU in NRT channel
(requested)
Maximum MTU in NRT channel MTU less than 68 will disable TCP/IP since TCP/IP requires an
(effective)
unfragmented frame size of at least 68 bytes
Error counter Port1 & Port2
SERCOS address
Current SERCOS address. See “Instance Attributes (Instance #3,
SERCOS Address)” on page 52.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
SERCOS III Implementation 18
IDN
S-0-1044
S-0-1045
S-0-1050.0.3
Name
Device control
Device status
Telegram assignment
S-0-1050.0.5
S-0-1050.0.8
S-0-1050.1.3
Actual length of connection
Connection control
Telegram assignment
S-0-1050.1.5
S-0-1050.1.8
S-0-1300.0.01
S-0-1300.0.03
S-0-1300.0.04
S-0-1300.0.05
S-0-1300.0.09
S-0-1300.0.12
S-0-1301
S-0-1302.0.1
S-0-1302.0.2
S-0-1399.0.1
S-0-1500.0.1
S-0-1500.0.2
Actual length of connection
Connection control
Component Name
Vendor Code
Device Name
Vendor Device ID
Software Revision
Serial Number
GDP Type & Version
FSP Type & Version
Function groups
Diagnostic Event
IO Control
IO Status
S-0-1500.0.3
List of module type codes
S-0-1500.0.11 List of replaced function groups
S-0-1500.0.12 Rearrangement of IO resource
S-0-1502.x.3
S-0-1502.x.4
S-0-1503.x.7
S-0-1503.x.8
Digital output, channel quantity
Digital output, channel width
Digital input, channel quantity
Digital input, channel width
S-0-1504.x.3
S-0-1504.x.4
S-0-1505.x.7
S-0-1505.x.8
Analog output, channel quantity
Analog output, channel width
Analog input, channel quantity
Analog input, channel width
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Description
Telegram type (MDT or AT), telegram number (0 - 3), and C-Com offset for this connection
Write process data size + 4 + pad byte if process data size is odd
Telegram type (MDT or AT), telegram number (0 - 3), and C-Com offset for this connection
Read process data size + 4 + pad byte if process data size is odd
See “SERCOS III Object (F1h)” on page 94.
List of all instanced FSP_IO function groups
Hidden IDN. Used by conformance test
High bit activates PROCESS_ACTIVE state
Bit 15 set when in PROCESS_ACTIVE state
Bit 14 always set
Bit 12-13 indicate any DI instances
List of FSP_IO module type codes:
1500: “bus coupler”
1502: digital outputs
1503: digital inputs
List of FSP_IO function group replacements.
The module only supports one-to-one replacements.
Function groups 1502, 1503, 1504, and 1505 are supported.
Attempts at replacement with other function groups will be refused.
Procedure command used to perform the replacement according to
IDN/S-0-1500.0.11
One 1502 IDN is generated for every read process data mapping,
and one 1503 IDN is generated for every write process data mapping. Quantity and width are set to match the number of elements
and data type size of the mapping.
The structure instance number starts at 1 and is incremented for
each process data mapping. For this reason the module will only
support a maximum of 255 process data mappings.
Normally there are no 1504 or 1505 IDNs available, but IDN/S-01500.0.11 and procedure command IDN/S-0-1500.0.12 can be used
to replace digital 1502 and 1503 IDNs with analog 1504 and 1505
IDNs respectively.
The replacement is purely a change in representation of the process
data, and has no effect on the actual raw process data exchange.
Doc.Id. HMSI-168-72
SERCOS III Implementation 19
Anybus CompactCom 30 SERCOS III does not support synchronization of process data, but due to
limitations in the SERCON100S, early versions of this product implements several SCP_SYNC related
IDNs as well, see table below:
IDN
S-0-1005
S-0-1006
S-0-1007
S-0-1008
S-0-1015
S-0-1016
S-0-1023
S-0-1024
S-0-1028
S-0-1041
S-0-1050.0.1
S-0-1050.1.1
S-0-1050.0.10
S-0-1050.1.10
S-0-1050.0.11
S-0-1050.1.11
S-0-1050.0.12
S-0-1050.1.12
Name
Minimum feedback processing time
AT transmission starting time
Feedback acquisition capture point
Command value valid time
Ring delay
Slave delay
SYNC jitter
SYNC delay measuring procedure command
Error counter MST-P/S
AT Command value valid time
Connection setup
Connection setup
Producer Cycle Time
Producer Cycle Time
Allowed Data Losses
Allowed Data Losses
Error Counter Data Losses
Error Counter Data Losses
Note: These IDNs may be removed from this product when and if the SERCON100S is updated to
support devices without synchronization.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
SERCOS III Implementation 20
4.2 Manufacturer Specific IDNs
4.2.1 Translation of ADIs to IDNs
ADIs are accessible from the network as manufacturer specific IDNs. 4096 ADIs are accessible in each
of the eight manufacturer specific parameter sets, for at total of 32767 possible ADIs (IDN/P-0-0000
is unused).
An IDN is addressed with 32 bits and an ADI with 16. ADIs with numbers up to 32767 are possible to
address from the network, but only up to total of 16319 can be accessed. Translation between IDN
numbers and ADI numbers is done as follows:
Structure Instance
31
Structure Element
24 23
0
0
S/P Parameter Set
16 15 14
12 11
1
Data Block Number
0
ADI number
Structure of IDN number:
IDN/(S/P)1-(Parameter Set)-(Data Block Number).(Structure Instance).(Structure Element)
Examples:
ADI number
1
2
3
:
4095
4096
4097
:
32767
IDN number
IDN/P-0-0001.0.0
IDN/P-0-0002.0.0
IDN/P-0-0002.0.0
:
IDN/P-0-4095.0.0
IDN/P-1-0000.0.0
IDN/P-1-0001.0.0
:
IDN/P-7-4095.0.0
1. S: Standard IDN
P: Manufacturer specific IDN
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
SERCOS III Implementation 21
4.2.2 Translation of ADI Properties
ADI attributes are translated to SERCOS IDN elements.
IDN element
No. Name
1
IDN
2
Name
3
Attribute
4
5
Unit
Minimum input
value
Maximum input
value
Operation data
6
7
Description
The name of the ADI translated to UTF8, and truncated to 60 bytes.
String length information is prepended.
Description:
Bits:
28-30 set for read-only ADIs
24-27 0000h (decimal point)
20-22 see data type translation, page E-105
19
0 (not a procedure command)
16-18 see data type translation, page E-105
0-15
0001h (conversion factor)
(not supported)
ADI Min value converted to SERCOS type.
Not supported for ADIs of SERCOS list type.
ADI Max value converted to SERCOS type.
Not supported for ADIs of SERCOS list type.
Value of the ADI translated according to data type translation, page E105
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 5
5. FTP Server
5.1 General Information
The built-in FTP-server1 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.
5.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.
1. The module also supports TFTP.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
FTP Server 23
•
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’).
5.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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 6
6. Web Server
6.1 General Information
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 22
•
“Server Side Include (SSI)” on page 29
•
“Ethernet Host Object (F9h)” on page 97
6.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 16
•
“File System Interface Object (0Ah)” on page 80
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Web Server 25
6.2.1 Network statistics page
The Network statistics web page contains the following information:
Ethernet Link
Port 1
Speed:
Duplex:
Port 2
Speed:
Duplex:
Description
The current link speed.
The current duplex configuration.
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
FCS Errors:
Description
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 greater than the 802.3 standard maximum length of 1518 bytes.
The size of the received packet was less than 64 bytes (inc. CRC).
Alignment Errors:
Frame Too Long:
Runt Packets:
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Web Server 26
6.3 Server Configuration
6.3.1 General Information
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...
- 6-27 “Default Content Types”
•
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.
6.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 24
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Web Server 27
6.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 6-26 “General Information”.
6.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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 7
7. Email Client
7.1 General Information
The built-in email client allows the application to send email 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 51
•
“SMTP Client Object (09h)” on page 75
7.2 How to Send Email Messages
To be able to send email messages, the SMTP-account settings must be specified.
This includes...
•
A valid SMTP-server address
•
A valid user name
•
A valid password
To send an email message, perform the following steps:
1. Create a new email instance using the ‘Create’-command (03h)
2. Specify the sender, recipient, topic and message body in the email instance
3. Issue the ‘Send Instance Email’-command (10h) towards the email instance
4. Optionally, delete the email 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 78.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Chapter 8
8. Server Side Include (SSI)
8.1 General Information
Server Side Include functionality, or SSI, allows data from files and objects to be represented on web
pages and in email 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).
8.2 Include File
This function includes the contents of a file. The content is scanned for SSI.
Note: This function cannot be used in email messages.
Syntax:
<?--#include file="filename"-->
filename-Source file
Default Output:
Scenario
Success
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Default Output
(contents of file)
Doc.Id. HMSI-168-72
Server Side Include (SSI) 30
8.3 Command Functions
8.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 SERCOS III
Doc.Rev. 2.10
Valid for Email Messages
Yes
No
Yes
No
No
Yes
No
Yes
No
Page
8-31
8-32
8-34
8-34
8-35
8-36
8-37
8-38
8-40
Doc.Id. HMSI-168-72
Server Side Include (SSI) 31
8.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")'-->
filename-Source file to read from.
key
-Source [key] in file.
separator-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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 32
8.3.3 SetConfigItem()
This function stores an HTML-form as a file in the file system.
Note: This function cannot be used in email 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 behaviour 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
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Default Output
“Configuration stored to “filename” ”
“Authentication error ”
“Failed to open file “filename” “
“Could not store configuration to “filename” “
Doc.Id. HMSI-168-72
Server Side Include (SSI) 33
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.shtml">
<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.shtml’.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 34
8.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...
•
8-46 “SSI Output Configuration”
8.3.5 DisplayRemoteUser
This command stores returns the user name on an authentication session.
Note: This command cannot be used in email messages.
Syntax:
<?--#exec cmd_argument='DisplayRemoteUser'-->
Default Output:
Scenario
Success
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Default Output
(current user)
Doc.Id. HMSI-168-72
Server Side Include (SSI) 35
8.3.6 ChangeLanguage()
This command changes the language setting based on an HTML form object.
Note: This command cannot be used in email 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.shtml">
<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.shtml’.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 36
8.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...
•
8-29 “Include File”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 37
8.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: This command cannot be used in email messages.
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 behaviour 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.shtml">
<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.shtml’.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 38
8.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-
8-39 “Formatting Tags”
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...
•
8-42 “ABCCMessage()”
Default Output:
Scenario
Success
ABCCMessage error
Default Output
(printf() result)
ABCCMessage error string (8-45 “Errors”)
Example:
See also...
- 8-42 “ABCCMessage()”
- 8-44 “Example (Get_Attribute):”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 39
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 40
8.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-
8-41 “Formatting Tags”
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...
•
8-42 “ABCCMessage()”
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 (8-45 “Errors”)
Example:
See also...
- 8-42 “ABCCMessage()”
- 8-44 “Example (Set_Attribute):”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 41
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:
- It can be a signed value
g, G
- 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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 42
8.4 Argument Functions
8.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
8-42
8.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
•
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()).
c_type - Specifies the data type in the command (msgdata)
See also...
•
8-43 “Command Data Types (c_type)”
r_type - Specifies the data type in the response (msgdata)
See also...
•
8-43 “Response Data Types (r_type)”
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...
•
8-44 “Example (Get_Attribute):”
•
8-44 “Example (Set_Attribute):”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 43
•
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 44
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...
- 8-38 “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...
- 8-40 “scanf()”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 45
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...
•
8-46 “SSI Output Configuration”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Server Side Include (SSI) 46
8.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...
- 8-45 “Errors”
•
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...
•
8-34 “SsiOutput()”
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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 SERCOS III.
Standard Objects:
•
"Anybus Object (01h)” on page 48
•
"Diagnostic Object (02h)” on page 49
•
"Network Object (03h)” on page 50
•
"Network Configuration Object (04h)” on page 51
Network Specific Objects:
•
"Socket Interface Object (07h) (Advanced Users Only)” on page 58
•
"SMTP Client Object (09h)” on page 75
•
"File System Interface Object (0Ah)” on page 80
•
"Network Ethernet Object (0Ch)” on page 92
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
48
9.2 Anybus Object (01h)
Category
Basic
Object Description
This object assembles all common Anybus data, and is described thoroughly in the general AnybusCompactCom 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 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... 15
-
-
struct of:
UINT8(LED1A)
UINT8(LED1B)
UINT8(LED2A)
UINT8(LED2B)
-
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Value
0401h (Standard Anybus-CompactCom)
Consult the general Anybus-CompactCom
Software Design Guide for further information.
Value:Color:
01h Green
02h Red
01h Green
02h Red
Consult the general Anybus-CompactCom
Software Design Guide for further information.
Doc.Id. HMSI-168-72
49
9.3 Diagnostic Object (02h)
Category
Basic
Object Description
This object provides a standardised way of handling host application events & diagnostics, and is thoroughly described in the general Anybus-CompactCom Software Design Guide.
The Anybus CompactCom 30 SERCOS III supports up to 6 events/instances. One instance is reserved
for major unrecoverable events.
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 Software
Design Guide for further information.
5+1
Access
Get
Get
Type
UINT8
UINT8
Value
Consult the general Anybus-CompactCom Software
Design Guide for further information.
Instance Attributes
Basic
#
1
2
Name
Severity
Event Code
Major diagnostic events are translated to SERCOS Class 1 diagnostic events if support for latching diagnostic events is included in the SERCOS III application object. Otherwise the major diagnostic events
will be translated to class 2 events.
The most recent diagnostic event is presented in IDN/S-0-0390 with the value C10yzz00h, where “zz”
is the Anybus CompactCom event code, and “y” is “F” for major events and “E” for minor events.
See also...
•
“Diagnostics” on page 14
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
50
9.4 Network Object (03h)
General Information
Basic
Object Description
For more information regarding this object, consult the general Anybus-CompactCom 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 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
0098h
‘SERCOS III’
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
Consult the general Anybus-CompactCom Software
Design Guide for further information.
a. Consult the general Anybus-CompactCom Software Design Guide for further information.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
51
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 13
•
“Email Client” on page 28
Supported Commands
Object:
Get_Attribute
Reset
Instance:
Get_Attribute
Set_Attribute
Get_Enum_String
Object Attributes (Instance #0)
#
1
2
3
4
Name
Name
Revision
Number of instances
Highest instance number
Access
Get
Get
Get
Get
Type
Array of CHAR
UINT8
UINT8
UINT8
Description
‘Network configuration’
01h (first revision of object)
0Ch (supported number of instances)
0Eh (highest implemented instance)
(Consult the general Anybus-CompactCom Software Design Guide for further information.)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
52
Instance Attributes (Instance #3, SERCOS Address)
Changes are valid after reset. IDN/S-0-1040 will be write-protected if this instance is written during
SETUP state. It will otherwise be writable in CP2.
Extended
#
1
2
3
4
5
Name
Namea
Data type
Number of elements
Descriptor
Value
Access
Get
Type
Description
Array of CHAR ‘SERCOS ADR’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
UINT16
05h (= UINT16)
01h (one element)
07h (read/write/shared access)
Valid range: 0 - 511 (Default = 0)b
a. Multilingual, see “Multilingual Strings” on page 56.
b. The seven most significant bits will be unconditionally masked to zero when this instance is set.
Instance Attributes (Instance #4, IP Address)
Changes are valid after reset.
Extended
#
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 56.
Instance Attributes (Instance #5, Subnet Mask)
Changes are valid after reset.
Extended
#
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 56.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
53
Instance Attributes (Instance #6, Gateway)
Changes are valid after reset.
Extended
#
1
2
3
4
5
Name
Namea
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-56 “Multilingual Strings”.
Instance Attributes (Instance #7, DHCP)
Changes are valid after reset.
Advanced
#
1
2
3
4
5
Name
a
Access
Get
Type
Description
Array of CHAR ‘DHCP’ (DHCP Enable/Disable)
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 56.
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
Namea
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 56.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
54
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
Namea
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 56.
Instance Attributes (Instance #10, Host name)
This instance holds the host name of the module. Changes are valid after rese.t
Advanced
#
1
2
3
4
5
Name
a
Name
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 (pad with space to full length)
a. Multilingual, see “Multilingual Strings” on page 56.
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, 48 characters (pad with space to full length)
a. Multilingual, see “Multilingual Strings” on page 56.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
55
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
Namea
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, dotted decimal format or server name, 64
characters (pad with space to full length)
a. Multilingual, see “Multilingual Strings” on page 56.
Instance Attributes (Instance #13, SMTP User)
This instance holds user name for the SMTP account. 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 ‘SMTP User’
Get
Get
Get
Get/Set
UINT8
UINT8
UINT8
Array of CHAR
07h (= CHAR)
40h
07h (read/write/shared access)
SMTP account user name, 64 characters
(pad with space to full length)
a. Multilingual, see “Multilingual Strings” on page 56.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
56
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
Namea
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 password, 64 characters
(pad with space to full length)
a. Multilingual, see “Multilingual Strings” on page 56.
9.5.1 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
SERCOS ADR
IP address
Subnet mask
Gateway
DHCP
Enable
Disable
DNS1
DNS2
Host name
Domain name
SMTP Server
SMTP User
SMTP Pswd
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
German
SERCOS ADR
IP-Adresse
Subnetzmaske
Gateway
DHCP
Einschalten
Ausschalten
DNS 1
DNS 2
Host name
Domain name
SMTP Server
SMTP User
SMTP PSWD
Spanish
SERCOS ADR
Dirección IP
Masac. subred
Pasarela
DHCP
Activado
Desactivado
DNS Primaria
DNS Secundia.
Nombre Host
Nobre Domain
Servidor SMTP
Usuario SMTP
Clave SMTP
Italian
SERCOS ADR
Indirizzo IP
Sottorete
Gateway
DHCP
Abilitato
Disabilitato
DNS1
DNS2
Nome Host
Nome Dominio
Server SMTP
Utente SMTP
Password SMTP
French
SERCOS ADR
Adresse IP
Sous-réseau
Passerelle
DHCP
Activé
Désactivé
DNS1
DNS2
Nom hôte
Dom Domaine
SMTP serveur
SMTP utilisa.
SMTP mt passe
Doc.Id. HMSI-168-72
57
9.5.2 Command Details: Reset_Command
Category
Extended
A reset command to this object will result in all instances being set to their default values in the non
volatile memory.
Details
Command Code.:
05h
Valid for:
Object Instance
Description
•
Command Details
Field
CmdExt[0]
CmdExt[1]
Contents
(reserved)
01h
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Notes
FACTORY DEFAULT RESET
Doc.Id. HMSI-168-72
58
9.6 Socket Interface Object (07h) (Advanced Users Only)
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 102.
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 60)
Delete (See “Command Details: Delete” on page 61)
Instance:
Get_Attribute
Set_Attribute
Bind (See “Command Details: Bind” on page 62)
Shutdown (See “Command Details: Shutdown” on page 63)
Listen (See “Command Details: Listen” on page 64)
Accept (See “Command Details: Accept” on page 65)
Connect (See “Command Details: Connect” on page 66)
Receive (See “Command Details: Receive” on page 67)
Receive_From (See “Command Details: Receive_From” on page 68)
Send (See “Command Details: Send” on page 69)
Send_To (See “Command Details: Send_To” on page 70)
IP_Add_membership (See “Command Details: IP_Add_Membership” on page 71)
IP_Drop_membership (See “Command Details: IP_Drop_Membership” on page 72)
DNS_Lookup (See “Command Details: DNS_Lookup” on page 73)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
59
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
Value
‘Socket interface’
01h
0008h
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
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
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)
Value:Meaning:
1 Enabled
0 Disabled (default)
IP Multicast TTL value (UDP sockets only).
Default = 1.
IP multicast loop back (UDP sockets only)a
Value:Meaning:
1 Enable (default)
0 Disable
Time for delayed ACKs in ms (TCP sockets only)
Default = 200msb
Doc.Id. HMSI-168-72
60
# Name
13 TCP No Delay
Access
Get/Set
Type
BOOL
14 TCP Connect
Timeout
Get/Set
BOOL
Description
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. Must belong to group in order to get the loop backed message
b. Resolution is 50ms, i.e. 50...99 = 50ms, 100...149 = 100ms, 199 = 150ms etc.
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 SERCOS III
Doc.Rev. 2.10
Comments
Instance number of the created socket.
Doc.Id. HMSI-168-72
61
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 9-63 “Command Details: Shutdown”) 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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
62
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 SERCOS III
Doc.Rev. 2.10
Comments
Actual port that the socket was bound to.
Doc.Id. HMSI-168-72
63
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
64
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 un-accepted
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
65
9.6.1 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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
66
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
67
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 102).
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:
If no data is available, the command will block until there is.
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 102
Only used in the first segment
Response Details
Note: The data in the response may be segmented (see “Message Segmentation” on page 102).
Field
CmdExt[0]
CmdExt[1]
Data[0...n]
Contents
(reserved)
Segmentation Control bits
Received data
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Notes
(set to zero)
see “Response Segmentation” on page 103
-
Doc.Id. HMSI-168-72
68
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 102).
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:
If no data is available, the command will block until there is.
•
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 102
Only used in the first segment
Response Details
Note: The data in the response may be segmented (see “Message Segmentation” on page 102).
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 SERCOS III
Doc.Rev. 2.10
Notes
(set to zero)
see “Response Segmentation” on page 103
The host address/port information is only
included in the first segment. All data thereafter will start at Data[0]
Doc.Id. HMSI-168-72
69
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 102).
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 102).
Field
CmdExt[0]
CmdExt[1]
Data[0...n]
•
Contents
(reserved)
Segmentation Control
Data to send
Notes
(set to zero)
see “Command Segmentation” on page 102
-
Response Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Contents
(reserved)
Segmentation Control
Number of sent bytes (low)
Number of sent bytes (high)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Notes
(set to zero)
see “Command Segmentation” on page 102
Only valid in the last segment
Doc.Id. HMSI-168-72
70
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 102).
•
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 102).
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
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Notes
(set to zero)
see “Command Segmentation” on page 102
The host address/port information shall only
be included in the first segment. All data
thereafter must start at Data[0]
Doc.Id. HMSI-168-72
71
•
Response Details
Field
CmdExt[0]
CmdExt[1]
Data[0]
Data[1]
Contents
(reserved)
Segmentation Control
Number of sent bytes (low)
Number of sent bytes (high)
Notes
(set to zero)
see “Command Segmentation” on page 102
Only valid in the last segment
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 19 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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
72
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
73
Command Details: DNS_Lookup
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
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
Name
ENOBUFS
ETIMEDOUT
EISCONN
EOPNOTSUPP
ECONNABORTED
EWOULDBLOCK
ECONNREFUSED
ECONNRESET
ENOTCONN
EALREADY
EINVAL
EMSGSIZE
EPIPE
EDESTADDRREQ
ESHUTDOWN
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
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
Doc.Id. HMSI-168-72
74
Error Code
16
17
18
19
20
21
22
28
101
Name
(reserved)
EHAVEOOB
ENOMEM
EADDRNOTAVAIL
EADDRINUSE
(reserved)
EINPROGRESS
ETOOMANYREFS
Command aborted
102
103
104
DNS name error
DNS timeout
DNS command
failed
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Meaning
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.
Failed to resolve the host name (name error response from DNS server)
Timeout when performing a DNS lookup
Other DNS error
Doc.Id. HMSI-168-72
75
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 16
•
“Email Client” on page 28
•
“Instance Attributes (Instance #12, SMTP Server)” on page 55
•
“Instance Attributes (Instance #13, SMTP User)” on page 55
•
“Instance Attributes (Instance #14, SMTP Password)” on page 56
Supported Commands
Object:
Get_Attribute
Create
Delete
Send email from file( “Command Details: Send Email From File” on page 78)
Instance:
Get_Attribute
Set_Attribute
Send instance email( “Command Details: Send Email” on page 79)
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
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Access
Get
Get
Get
Get
Get
Get
Get
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-72
76
Instance Attributes
Instances are created dynamically by the application.
Advanced
#
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 email instance.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
(reserved, set to zero)
Comments
-
Response Details
Field
MsgData[0]
MsgData[1]
Contents
Instance number
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Comments
low byte
high byte
Doc.Id. HMSI-168-72
77
Command Details: Delete
Category
Advanced
Details
Command Code.:
04h
Valid for:
Object
Description
This command deletes an email instance.
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
Instance number to delete
Comments
low byte
high byte
Response Details
(no data)
Command Details: Send Email
Category
Advanced
Details
Command Code.:
10h
Valid for:
Instance
Description
This command sends the specified email instance.
•
Command Details
(no data)
•
Response Details
(no data)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
78
Command Details: Send Email From File
Category
Advanced
Details
Command Code.:
11h
Valid for:
Object
Description
This command sends an email 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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
79
Command Details: Send Email
Category
Advanced
Details
Command Code.:
10h
Valid for:
Instance
Description
This command sends the specified email 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 email file
Unspecified SMTP error
(reserved)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
80
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(9-82 “Command Details: Create”)
Delete(9-82 “Command Details: Delete”)
Format Disc(9-91 “Command Details: Format Disc”)
Instance:
Get_Attribute
File Open(9-83 “Command Details: File Open”)
File Close(9-84 “Command Details: File Close”)
File Delete(9-84 “Command Details: File Delete”)
File Copy(9-85 “Command Details: File Copy”)
File Rename(9-85 “Command Details: File Rename”)
File Read(9-86 “Command Details: File Read”)
File Write(9-87 “Command Details: File Write”)
Directory Open(9-87 “Command Details: Directory Open”)
Directory Close(9-88 “Command Details: Directory Close”)
Directory Delete(9-88 “Command Details: Directory Delete”)
Directory Read(9-89 “Command Details: Directory Read”)
Directory Create(9-90 “Command Details: Directory Create”)
Directory Change(9-90 “Command Details: Directory Change”)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
81
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
82
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]
Comments
low byte
high byte
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] (reserved, ignore)
CmdExt[1]
•
Comments
-
Response Details
(no data)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
83
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
84
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
85
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)
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
86
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 SERCOS III
Doc.Rev. 2.10
Comments
Data read from file
Doc.Id. HMSI-168-72
87
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
88
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
89
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
90
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
91
Command Details: Format Disc
Category
Advanced
Details
Command Code.:
30h
Valid for:
Object
Description
This command formats the file system. All earlier data on the disc will be erased
•
Command Details
Field
CmdExt[0]
CmdExt[1]
•
Contents
Set to zero
(reserved, set to zero)
Comments
Disk to format
-
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
92
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
01h
01h
Instance Attributes (Instance #1)
Extended
#
1
Name
MAC Address
Access
Get
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Type
Description
Array of UINT8 Current MAC address.
See also “Ethernet Host Object (F9h)” on page 97)
Doc.Id. HMSI-168-72
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 SERCOS III implementation.
Standard Objects:
•
Application Object (see Anybus-CompactCom Software Design Guide)
•
Application Data Object (see Anybus-CompactCom Software Design Guide)
Network Specific Objects:
•
“SERCOS III Object (F1h)” on page 94
•
“Ethernet Host Object (F9h)” on page 97
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Host Application Objects 94
10.2 SERCOS III Object (F1h)
Category
Basic, extended
Object Description
This object implements SERCOS specific features in the host application.
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 102.
See also...
•
“Anybus Object (01h)” on page 48
•
“Network Configuration Object (04h)” on page 51
•
Anybus CompactCom Software Design Guide, “Error Codes”
Supported Commands
Object:
Reset_Diagnostic
(See “Command Details: Reset_Diagnostic” on page 96)
Instance:
-
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Host Application Objects 95
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
UINT8
UINT8
Value
‘SERCOS III’
01h
0001h
0001h
Instance Attributes (Instance #1)
Basic
#
1
2
3
4
5
6
Name
Access Type
Default Value
Comment
Component name Get
Array of CHAR “Communication adapter” Type of device
Vendor code
Get
UINT16
005Ah
Vendor code allocated by SERCOS international
Device name
Get
Array of CHAR “Anybus CompactCom
30 SERCOS III”
Vendor device ID Get
Array of CHAR “ABCC SRC3”
Software revision Get
Array of CHAR (revision)
Serial number
Get
Array of CHAR (set at production)
Extended
#
7
Name
Major diagnostic
events are latching
Access Type
Get
BOOL
Default Value
FALSE
Comment
This attribute must be set to TRUE if major
diagnostic events shall be translated into
SERCOS class 1 events.a
a. When the cause for a major diagnostic event is gone, the application shall not delete the diagnostic event. Instead
the module will send a Reset_Diagnostic request to the application to ask permission to delete the diagnostic
event.
All attributes of type CHAR will be translated to UTF8 and truncated to 32 bytes, which may not be 32
UTF characters.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Host Application Objects 96
Command Details: Reset_Diagnostic
Category
Extended
Details
Command Code.:
10h
Valid for:
Object Instance
Description
This command is sent to the application when the Anybus module has received a ‘Reset C1D command’
from the SERCOS III network.
•
Command Details
Field
Data[0... n]
•
Data Type
UINT16
Contents
List of diagnostic instances.
Notes
List of diagnostic instance numbers which the Anybus module requests permission to delete. The list
may be zero in size.
Contents
List of diagnostic instances.
Notes
List of diagnostic instance numbers which the Anybus module is permitted to delete.
Response Details
Field
Data[0... n]
Data Type
UINT16
See also...
•
“Diagnostic Object (02h)” on page 49
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Host Application Objects 97
10.3 Ethernet Host Object (F9h)
Category
Advanced
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
Value
‘Ethernet’
01h
0001h
0001h
Instance Attributes (Instance #1)
Advanced
#
Name
Access
1
MAC addressb
Get
2
Enable HICP
Get
3
Enable Web Server
Get
5
Enable Web ADI access Get
6
Enable FTP server
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
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.
BOOL
True
Value: Meaning:
True HICP enabled
False HICP disabled
(see “HICP (Anybus IPconfig)” on page 104)
BOOL
True
Value: Meaning:
True web server enabled
False web server disabled
(see “Web Server” on page 24)
BOOL
True
Value: Meaning:
True web ADI access enabled
False web ADI access disabled
(see “Web Server” on page 24)
BOOL
True
Value: Meaning:
True FTP server enabled
False FTP server disabled
(see “FTP Server” on page 22)
Type
Doc.Id. HMSI-168-72
Host Application Objects 98
#
Name
Access
Type
7
Enable admin mode
Get
BOOL
8
Network Status
Set
UINT16
Defaulta Comment
False
Value: Meaning:
True FTP Admin mode enabled
False FTP Admin mode disabled
(see “FTP Server” on page 22)
See “Network Status” on page 99
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.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Host Application Objects 99
Network Status
Advanced
This attribute holds a bit field which is updated by the module and indicates the overall network status
as follows:
Bit
0
Contents
Link
1
IP established
2
IP conflict
3
Link port 1
4
Link port 2
5... 15 (reserved)
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Description
Value: Meaning:
True Link sensed on at least one port
False No link
Value: Meaning:
True IP address established
False IP address not established
Value: Meaning:
True IP address conflict detected
False No IP address conflict detected
Value: Meaning:
True Link sensed on port 1
False No link sensed on port 1
Value: Meaning:
True Link sensed on port 2
False No link sensed on port 2
(mask off and ignore)
Doc.Id. HMSI-168-72
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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 SERCOS III, this bit is set when the SERCOS III slave state machine is in “operating
level”, meaning state is CP2 .. CP4 and “operation state outputs” bit in IO Control word is set.
B.2 Anybus State Machine
The table below describes how the Anybus State Machine relates to the SERCOS III network status.
Anybus State
WAIT_PROCESS
Corresponding SERCOS III State
Comment
NRT
CP0, CP1 or CP2
HP0, HP1 or HP2
ERROR
NRT or CP0 (and bit 15 in DeviceStatus is set)
Communication timeout or similar
PROCESS_ACTIVE CP4 and “Producer ready” in C-Con is set and the
“operation state outputs” bit in the IO Control word
is set
IDLE
CP3 or
CP4 and “Producer ready” in C-Con or “operation
state outputs” bit in the IO Control word are cleared
EXCEPTION
Fieldbus hardware disabled
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Appendix C
C. Message Segmentation
C.1 General
The maximum message size supported by the Anybus-CompactCom 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 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.
Command segmentation is used for the following commands:
•
Send (see “Command Details: Send” on page 69)
•
Send To (see “Command Details: Send_To” on page 70)
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.
•
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.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Message Segmentation 103
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 67)
•
Receive From (object specific, see “Command Details: Receive_From” on page 68)
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Appendix D
D. HICP (Anybus IPconfig)
D.1 General
The module supports the HICP protocol used by the Anybus IPconfig utility, which can be downloaded
free of charge from the HMS website. This utility may be used to access the network settings of any Anybus product connected to the network via UDP port 3250.
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Appendix E
E. Conversion Tables
E.1 Data Format
Data is translated between the native network format and the Anybus data format according to this table:
Anybus Data Type
BOOL
SINT8
SINT16
SINT32
UINT8
UINT16
UINT32
CHARa
ENUM
SINT64
UINT64
FLOAT
Corresponding SERCOS Data Type
Elements == 1
Elements != 1
1 octet unsigned decimal list
1 octet signed decimal list
2 octet signed decimal
2 octet signed decimal list
4 octet signed decimal
4 octet signed decimal list
1 octet unsigned decimal list
2 octet unsigned decimal
2 octet unsigned decimal list
4 octet unsigned decimal
4 octet unsigned decimal list
1 octet list text (UTF8)
8 octet signed decimal
8 octet unsigned decimal
4 octet float
1 octet unsigned decimal list
8 octet signed decimal list
8 octet unsigned decimal list
4 octet float list
a. Character set ISO 8859-1 (Latin-1)
All ADI fields of type CHAR will automatically be translated to UTF8 on SERCOS III.
IDN “maximum length” field for ADI of type CHAR will be set to the ADI number of elements times
two and truncated to 255, to account for the effects of Latin1->UTF8 conversion.
E.2 Languages Codes
SERCOS Language Code
0
1
2
3
4
Language
German
English
French
Spanish
Italian
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
ABCC Language Code
1
0
4
2
3
Doc.Id. HMSI-168-72
Conversion Tables 106
E.3 Error Codes
Error codes are translated between SERCOS and the Anybus CompactCom status code according to
this table:
ABCC#
00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
0Ah
0Bh
0Ch
0Dh
0Eh
0Fh
10h
FFh
Other
ABCC Status Code
(reserved)
(reserved)
Invalid message format
Unsupported object
Unsupported instance
Unsupported command
Invalid CmdExt[0]
Invalid CmdExt[1]
Attribute not settable
Attribute not gettable
Too much data
Not enough data
Out of range
Invalid state
Out of resources
Segmentation failure
Segmentation buffer
overflow
Object specific error
-
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
SERCOS Code
X001
X001
X001
X001
X001
X001
X001
X001
X004
X001
X003
X002
X008
X005
X001
X001
X001
SERCOS Description
No X
No X
No X
No X
No X
No X
No X
No X
X cannot be changed (read only)
No X
X transmission too long
X transmission too short
X invalid operation data
X is write-protected at this communication phase
No X
No X
No X
X001
X001
No X
No X
Doc.Id. HMSI-168-72
Appendix F
F. Technical Specification
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Technical Specification 108
F.1 Front View
#
1
2
3
4
5
6
7
8
Item
Sercos III LED
Module Status LED
SERCOS III (port 1)
SERCOS III (port 2)
Link (port 1)
Activity (port 1)
Link (port 2)
Activity (port 2)
5
6
7
8
1
2
3
4
SERCOS III LED
This LED reflects the status of the network communication
State
Off
Flashing Orange (4 Hz)
Orange
Flashing Red (4 Hz)
Red
Flashing Green (4 Hz)
Green
Alternating Green/Red
(4 Hz)
Indication
Not online / No power / EXCEPTION
Identification
CP0 .. CP3
Communication error
Class 1 diagnostic or FATAL eventa
Loopback
CP4, On-line
Communication error
Module Status LED
This LED indicates the status of the Anybus module.
State
Off
Red
Indication
Operating in normal condition
EXCEPTION or FATAL eventa
a. Please contact HMS support in case of FATAL event (Both SERCOS III LED and Module Status LED are red)
Link LEDs
Link (port 1) and Link (port 2) LEDs show the status of the respective links.
State
Off
Green
Indication
No link
Link
Activity LEDs
Activity (port 1) and Activity (port 2) LEDs indicate activity on the respective links.
State
Off
Flashing yellow
Indication
No activity
Activity
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Technical Specification 109
F.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 Hardware Design
Guide.
HMS Industrial Networks does not guarantee proper EMC behaviour unless these PE requirements are
fulfilled.
F.3 Power Supply
Supply Voltage
The module requires a regulated 3.3V power source as specified in the general Anybus-CompactCom
Hardware Design Guide.
Power Consumption
The Anybus CompactCom 30 SERCOS III is designed to fulfil the requirements of a Class B module.
For more information about the power consumption classification used on the Anybus-CompactCom
platform, consult the general Anybus-CompactCom Hardware Design Guide.
The current hardware design consumes up to 400 mA1.
Note: It is strongly advised to design the power supply in the host application based on the power consumption classifications described in the general Anybus-CompactCom Hardware Design Guide, and
not on the exact power requirements of a single product.
F.4 Environmental Specification
Consult the Anybus-CompactCom Hardware Design Guide for further information.
F.5 EMC Compliance
Consult the Anybus-CompactCom 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 SERCOS III will remain as a Class B module.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Appendix G
G. Timing & Performance
G.1 General Information
This chapter specifies timing and performance parameters that are verified and documented for the
Anybus CompactCom 30 SERCOS III.
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 SERCOS III
Doc.Rev. 2.10
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.
112
112
Doc.Id. HMSI-168-72
Timing & Performance 111
G.2 Process Data
G.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
G.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.
G.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 Software 30 Design Guide, Appendix B, for more information.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
Timing & Performance 112
G.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)
Min.
3.3
3.3
3.3
Max.
4.35
5.1
5.95
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
G.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)
Min.
3.3
3.3
3.3
Max.
4.35
5.1
5.95
Unit.
ms
ms
ms
Conditions: as in “Network System Read Process Data Delay (Network System Delay)”, p. 112.
Anybus CompactCom 30 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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 SERCOS III
Doc.Rev. 2.10
Doc.Id. HMSI-168-72
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