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