background image

Communication Protocols 

Copyright IXXAT Automation GmbH 

111 

IEM Manual, 1.5 

 

5.3.7  Configuration 

For configuration of EtherCAT a data mapping has to be available at the mod-
ule  to  establish  process  data  communication.  EtherCAT  data  mapping  uses 
the PDO mechanisms to assign process data objects. 

 

5.3.7.1  PDO mapping 

Process data objects can be selected and mapped to available PDO’s. 
The EtherCAT FW supports 2 

static predefined PDO’s per data direction (start-

ing with FW V1.2.0 up to 5 PDO’s per data direction with flexible index configu-
ration).  Up  to  45  mapping  entries  per  PDO  are  allowed  (starting  with  FW 
V1.2.0 up to 50 mapping entries per PDO). 

There are 2 basic mechanisms for submitting the mapping to the device. 
 

5.3.7.1.1 

Configuration by tool (TwinCAT) 

Mapping  data  generated  by  the  configuration  tool  are  downloaded  by  SDO 
commands if checkboxes are activated as shown in the screenshot. Mapping 
object values are automatically written by the IEM. 
Using the tool mapping download feature is recommended for creating a map-
ping  which  can  be  stored  later  on  the  IEM.  Remember  that  the  tool  based 
mapping download is not useful for a constant mapping since the startup time 
will be increased by SDO transfers. 
 

 

Figure 5-20: Configuration download by tool 

 

Summary of Contents for IEM-200 EtherCAT

Page 1: ...Hard Software Manual Industrial Ethernet Module Modbus TCP...

Page 2: ...bution of this document is only allowed with explicit permission of IXXAT Automation GmbH IXXAT Automation GmbH reserves the right to change technical data without prior announcement The general busin...

Page 3: ...4 2 Process data 17 1 8 5 Software concept 20 1 8 5 1 Command channel 20 1 8 5 2 Service channels 20 1 8 5 3 State control 20 2 Getting started 23 2 1 Software directory structure 23 2 2 EMI Ethernet...

Page 4: ...upport package BSP 41 3 1 2 Adaption of the memory management GEO 42 3 1 3 Adaption of the SPI driver 42 3 1 3 1 Data packet design 42 3 1 3 2 SPI bus performance 43 3 1 3 3 SPI Serial Peripheral Inte...

Page 5: ...annelConfigure 60 4 1 2 17 EMI_cmdCfgStore 60 4 1 2 18 EMI_cmdCfgRestore 61 4 1 2 19 EMI_cmdCommandRespQuery 62 4 1 2 20 EMI_cmdNetworkTimeReq 62 4 1 2 21 EMI_cmdNetworkTimeQuery 63 4 1 2 22 EMI_cmdNe...

Page 6: ...rl 83 4 1 2 51 EMI_cmdFtpUserSet 83 5 Communication Protocols 85 5 1 PROFINET 85 5 1 1 Device Description File 85 5 1 2 PROFINET device model 85 5 1 3 Variable access 87 5 1 4 Process data mapping 88...

Page 7: ...107 5 3 4 1 Protocol specific addressing 107 5 3 4 2 Protocol specific parameters 108 5 3 4 3 Protocol specific attributes 108 5 3 5 Initialization area 108 5 3 5 1 Device addressing 108 5 3 5 2 Data...

Page 8: ...rlink 123 5 4 1 Device Description File 123 5 4 2 Process data mapping 125 5 4 3 Synchronization to IEM 125 5 4 4 LEDs 125 6 Error handling 127 6 1 Error classes priorities 127 6 2 Assignment between...

Page 9: ...6 5 25 COM_k_UNIT_ID_MC_DHSI unit id 140 152 6 5 26 COM_k_UNIT_ID_MC_EMHI unit id 141 152 6 5 27 COM_k_UNIT_ID_MC_HTH unit id 142 152 6 5 28 COM_k_UNIT_ID_MC_FUPM unit id 150 152 6 5 29 COM_k_UNIT_ID_...

Page 10: ...3 3 2 Data read access 169 7 3 3 3 Data write access 169 7 3 3 4 Timing diagram 170 7 3 4 Timing for SPI based access 170 7 3 4 1 SPI settings 171 7 3 4 2 Timing CS 171 7 4 Mechanical specification 1...

Page 11: ...application layer over EtherCAT CRC cyclic redundancy check EDS Electronic Data Sheet EtherNet IP EIP EtherNet IP EMI Ethernet Module Interface API of the Industrial Ethernet Module Firmware Througho...

Page 12: ...output data of a system compare PLC are combined RMA return material authorization RWWB read while write buffer SD Service Data SDO Service Data Object SHM Shared Memory interface SoC Start of Cycle...

Page 13: ...on Specification for PROFINET IO Version 2 2 October 2007 Order No 2 712 PNIO4 Application Layer protocol for decentralized periphery and distributed automation Specification for PROFINET IO Version 2...

Page 14: ...ss stated otherwise 1 5 Support For more information on our products FAQ lists and installation tips please refer to the support area on our homepage http www ixxat de There you will also find informa...

Page 15: ...applicable DPRAM interface guarantees data consistency Optional SPI interface On board LEDs Galvanic isolated Ethernet interface Certified components Synthesis of all major design recommendations of...

Page 16: ...signals as well as the power supply for the IEM The Board to Board Connector contains all signals to connect to the host CPU either using an address and data bus 16 bit wide on IEM 16 32 bit wide for...

Page 17: ...concept is that all process data is read written from to buffers in the DPRAM which are additionally protected by a set of semaphores to ensure data consistency on large memory blocks When the buffers...

Page 18: ...ter when studying the functional interface EMI of the IEM What Figure 1 2 and Figure 1 3 depicted is displayed in Figure 1 4 in more detail Additionally it shows which API functions of the Ethernet Mo...

Page 19: ...endRequest CCI_ClinkTestResponse CCI_ClinkReadResponse CCI_FifoAcquireRead CCI_FifoReleaseRead CCI_FifoAcquireRead CCI_FifoReleaseRead CCI_FifoAcquireRead CCI_FifoReleaseRead CCI_FifoAcquireWrite CCI_...

Page 20: ...ism between host and module A request is performed by the host and answered by the module by means of a response An indication is initiated from the module and answered by the host by means of a confi...

Page 21: ...EMI_Channel_Stop EMI_Channel_Reset EMI_Channel_Close EMI_Channel_Stop EMI_Channel_Start EMI_Channel_Open EMI_Channel_Reset Figure 1 5 MSM transitions Following is a brief description of the MSM states...

Page 22: ...e Ethernet network Protocol online Connection to the Ethernet network is established connect requests for process data exchange will be accepted The functions shown in Figure 1 5 can only be called in...

Page 23: ...r the following Microcontrollers Compilers Infineon XC161 Keil Vision 4 TMS320F2812 Code Composer Note Please keep in mind that the Texas Instruments TMS320 processor and the IEM have different byte s...

Page 24: ...ection queue sizes data format src src Target cpu name GEO Generic operating system functions memory and time access Hint Please adapt GEO_alloc and GEO_free to your behavior src src src externals ABM...

Page 25: ...c src externals SPI cpu name Serial Peripheral Interface containing device driver Hint This Unit should be adapt to your system if you use a different C EtherCAT not supported at the moment Figure 2 2...

Page 26: ...ace 2 3 IEM demo application overview 2 3 1 Startup As a first step the IEM has to be initialized by calling EMI_cmdBrdInit With initialization of the board a unique board handle is created which is u...

Page 27: ...n the protocol see Table 7 2 The configuration initialization leads to a protocol specific part A module con figuration can be written to the configuration area With EMI_cmdChannelOpen the module inst...

Page 28: ...the appropriate callback function in which the message could be saved In case of the demo application the indications and responses are stored inside a pool which is cyclically polled and worked by AP...

Page 29: ...ing matrix Figure 2 7 shows the valid combi nations and the effect to the storage location COM_k_ ATTR_ PROCESS COM_k_ ATTR_ WRITE COM_k_ ATTR_ READ COM_k_ ATTR_ HOST COM_k_ ATTR_READ_ WRITE COM_k_ AT...

Page 30: ...on shared memory Consistent process data access on host side is en sured both if polling or interrupt data transmit methods are used by means of hardware semaphores On module side this depends from t...

Page 31: ...configuration will only be used if the host doesn t provide a valid configuration structure If a valid configuration structure is written by the host application the stored configuration will always b...

Page 32: ...ter first This enables the application to assign a callback function which will be executed All events are queued from the module into an event queue FIFO Hence it s necessary that this queue is polle...

Page 33: ...FuncAMbs APPdemoGen c APPdemoSpe c Generic part Wrapper Dispatcher Protocol specific APPdemoPnio c APPdemoEip c APPdemoEtc c APPdemoEpl c APPdemoSc3 c APPdemoMbs c Figure 2 10 Application dispatcher...

Page 34: ...you firstly have to initialize the module by calling EMI_cmdBrdInit To fetch information from the IEM e g which Ether net protocol is available the function EMI_cmdBrdInfoReq should be used COM_e_ERRO...

Page 35: ...lling mode To continue with the generic overview for this example the asynchronous mode is select ed Select the update mode of the process images according to the available protocol of the IE Module s...

Page 36: ...C and init CCI e_ret EMI_cmdChannelOpen APP_d_BrdRef TRUE if e_ret COM_k_OK DBG_PRINTF Error d in EMI_Channel_Open n e_ret return e_ret Figure 2 13 Initial configuration and channel open 2 3 11 1 5 Cr...

Page 37: ...pecific address of variable initialized at protocol specific part s_specific protocol specific information associated with variable initialized at protocol specific part typedef struct UINT32 dw_refer...

Page 38: ...ESS and COM_t_SPECIFIC APPdemoGenMain c Generic attributes Specific attributes t_MAP_ENTRY_INIT APPdemoxxx c COM_t_ADDRESS COM_t_SPECIFIC EMI_cmdChannelConfigure APP_t_MAP_ENTRY APP_as_MapTable i APP_...

Page 39: ...pecific APP_dw_Protocol if e_ret COM_k_OK DBG_PRINTF Error d in APP_EventRegisterSpecific n e_ret return e_ret Figure 2 17 Register events I The following code snippet shows how an event is being regi...

Page 40: ...dChannelStart APP_d_BrdRef TRUE if e_ret COM_k_OK DBG_PRINTF Error d in EMI_Channel_Start n e_ret return e_ret return COM_k_OK Figure 2 20 Starting communication 2 3 11 1 8 DemoMain In the main loop t...

Page 41: ...the BSPiem c are all functions around the usage of IEM The second file BSPdemo c contains all functions which are necessary to run the demo application Settings for module reset and interrupt functio...

Page 42: ...I already implements the needed functions for our reference design 3 1 3 1 Data packet design The communication between host CPU and module is handled with data packets Every datagram is built with th...

Page 43: ...potential on the SPI bus Please have a look on the delays t0 t1 and t3 These three delays should be as short as possible 3 1 3 3 SPI Serial Peripheral Interface SPI h SPI c This unit is the API to the...

Page 44: ...nction to perform SPI READ command Parameter Dir Description pv_src IN source address in SHM pv_dst OUT pointer to rx buffer w_length IN data length to be sent received Return Value Description 3 2 Co...

Page 45: ...P_as_MapTable i dw_offset SETUINT32 s_createCmd dw_attributes 0 APP_as_MapTable i dw_attributes further initialization MEMCPY PVOID s_cmd ab_comData 0 PVOID s_createCmd sizeof COM_t_CREATE e_ret EMI_c...

Page 46: ...h and COMxxx h NOTE The request response channel is used to trigger PROFINET alarms According to the specification it s could be necessary for the application to send alarms f e ReturnOfSubmoduleAlar...

Page 47: ...If set to zero all queues are disabled A value of 1 only allows using one channel in each direction at a time With values greater 1 parallel services are supported Allowed values 1 ABM_k_MAX_QUEUE_ELE...

Page 48: ..._FUP CFG_k_FEAT_ENABLE 3 2 3 Target h The target h file contains all target specific settings and macros The important settings are endianess little or big and the macros Define the host system set XC...

Page 49: ...dule configuration states 3 3 2 Administration queues The number of administration queues ABM_cfg_NUM_QUEUE_ELEMENTS can be scaled from 1 to a maximum of 128 default setting A value of 1 only al lows...

Page 50: ..._PASSWORD_LEN Maximum size of the username and the password inclusive 0 for the FTP ac cess define EMI_k_MAX_FTP_USER_NAME_PASSWORD_LEN 20 PLATFORM_FACTOR 4 1 1 2 EMI_t_API_CONFIG EMI configuration st...

Page 51: ...e reset of the Industrial Ethernet Module EMI_cmdPowerOnReset must be called in the very beginning of the applica tion Remarks It is important to call this function prior to other EMI calls to provide...

Page 52: ...ry area to configure the module Remarks This function must be called prior to all other module calls It enables the In dustrial Ethernet Module boot firmware to accept a new firmware download or to st...

Page 53: ...ate 4 1 2 5 EMI_cmdBrdInfoReq COM_e_ERROR EMI_cmdBrdInfoReq COM_t_BOARD_REF td_brdRef COM_t_BOARDINFO ps_brdInfo Description This function retrieves the saved module information stored in the referenc...

Page 54: ...quested by means of EMI_cmdBrdInfoReq Parameter Dir Description td_brdRef IN unique IEM reference ps_brdInfo OUT pointer to receiving structure Return Value Description COM_k_OK operation succeeded CO...

Page 55: ...the module Remarks EMI_cmdBrdInfoReq must be called before Parameter Dir Description td_brdRef IN unique IEM reference Return Value Description hardware version UINT32 4 1 2 9 EMI_cmdProtocolGet UINT3...

Page 56: ...ory area of acyclic data by means of EMI_AD_Write For example for EtherNet IP the local IP Ethernet speed and duplex mode are written The passed parameters possess a specific structure that is describ...

Page 57: ...previously initialized communication stack instance on the Industrial Ethernet Module The firmware stays initialized in order to be able to start the protocol stack with a different parameter set aft...

Page 58: ...I_cmdChannelOpen Parameter Dir Description td_brdRef IN unique IEM reference o_blocking IN blocking non blocking execution Return Value Description COM_k_OK channel enabled for normal operation COM_k_...

Page 59: ...rforms the reset of the bus protocol stack and sets it into its default state power on state The stored configuration parameters are used for initialization if possible The CMD channel is used for the...

Page 60: ...ther wise the application has to query for the response by means of EMI_cmdCommandRespQuery Remarks This function can only be called after successful call of EMI_cmdChannelOpen Parameter Dir Descripti...

Page 61: ...k_BUSY CMD channel busy COM_k_INVALID_BOARD invalid IEM reference COM_k_INVALID_STATE routine called in invalid state COM_k_ERROR store operation failed 4 1 2 18 EMI_cmdCfgRestore COM_e_ERROR EMI_cmdC...

Page 62: ...e has been received window size 1 Thus the existence of two communication channels can be hidden The command code is mirrored as part of the re sponse Parameter Dir Description td_brdRef IN unique IEM...

Page 63: ...tion delivers the current time that has been requested by means of EMI_cmdNetworkTimeReq Parameter Dir Description td_brdRef IN unique IEM reference pv_netTime OUT pointer to receiving structure Retur...

Page 64: ...routine called in invalid state COM_k_ERROR operation failed 4 1 2 23 EMI_cmdNetworkInfoQuery COM_e_ERROR EMI_cmdNetworkInfoQuery COM_t_BOARD_REF td_brdRef COM_t_NETWORKINFO ps_networkInfo Descriptio...

Page 65: ...cific must not exceed COM_k_MAX_CALLBACK_CNT The registered event callback will receive the module reference as well as the event type when called Parameter Dir Description td_brdRef IN unique IEM ref...

Page 66: ...ameter error 4 1 2 26 EMI_evtEventCheck COM_e_ERROR EMI_evtEventCheck COM_t_BOARD_REF td_brdRef UINT32 pdw_event Description This function reads the next event of the event queue and calls the associa...

Page 67: ...dRef IN unique IEM reference ps_request IN pointer to the service request ptd_reqRef OUT pointer to the variable receiving the reference of the request Return Value Description COM_k_OK request to ope...

Page 68: ...e applica tion may send several requests before the first response is received window size 1 The queue is periodically checked for pending requests The service requests are transmitted via the SD chan...

Page 69: ...ery COM_t_CONNECTION_REF ps_conRef COM_t_REQUEST_REF td_reqRef COM_t_SERVICE_DATA ps_response COM_t_SERVICE_DATA pps_response Description If the parameter ps_response isn t NULL the function copies th...

Page 70: ...NO_RESP no response available COM_k_ERROR request failed 4 1 2 31 EMI_srvrespSegmentQuery COM_e_ERROR EMI_srvrespSegmentQuery COM_t_BOARD_REF td_brdRef COM_t_CONNECTION_REF ps_conRef COM_t_REQUEST_REF...

Page 71: ...f the EMI_srvrespQuery Parameter Dir Description td_reqRef IN unique request reference Return Value Description COM_k_OK response successfully received COM_k_INVALID_BLOCK invalid request reference CO...

Page 72: ...ce COM_k_INVALID_STATE routine called in invalid state COM_k_ERROR request failed 4 1 2 34 EMI_srvindQuery COM_e_ERROR EMI_srvindQuery COM_t_CONNECTION_REF ps_conRef COM_t_REQUEST_REF s_indRef COM_t_S...

Page 73: ...receiving indication data pps_indication OUT pointer to pointer receiving address of indication Return Value Description COM_k_OK indication successfully received COM_k_INVALID_BOARD invalid IEM refer...

Page 74: ...on This function executes the queues of service requests and service confirma tions Received messages are reassembled and stored in the response re spectively indication queue The size of both queues...

Page 75: ...ks for pending transmit packets of a segmented service data transfer and continues the transmission via the CCI The number of transmit ted segments per call can be configured Remarks The user has to e...

Page 76: ...ue Description COM_k_OK valid status word COM_k_BUSY status buffer busy COM_k_INVALID_BOARD invalid IEM reference COM_k_INVALID_STATE routine called in invalid state COM_k_ERROR status buffer doesn t...

Page 77: ...Dir Description td_brdRef IN unique IEM reference pw_status IN OU T pointer to store the status word Return Value Description COM_k_OK valid status word COM_k_BUSY status buffer busy COM_k_INVALID_BO...

Page 78: ...Return Value Description COM_k_OK access to shared memory granted COM_k_INVALID_BOARD invalid IEM reference COM_k_BUSY no access to shared memory possible Retry limit was hit COM_k_INVALID_STATE rout...

Page 79: ...memory Return Value Description COM_k_OK access to shared memory granted COM_k_INVALID_BOARD invalid IEM reference COM_k_INVALID_STATE routine called in invalid state COM_k_ERROR parameter error 4 1 2...

Page 80: ...ss The access to data is protected by means of a hardware semaphore The semaphore is implemented on the IEM If 1 is written to the semaphore register and a subsequent read also returns 1 then the acce...

Page 81: ...erwise the semaphore is busy The write ac cess to the semaphore is repeated several times If the maximum number of retries is exceeded the function returns COM_k_BUSY This limitation avoids a deadlock...

Page 82: ...rror case 4 1 2 48 EMI_ioCyclReadImageSizeGet UINT32 EMI_ioCyclReadImageSizeGet COM_t_BOARD_REF td_brdRef Description This function return the size of the input process image in the shared memory Rema...

Page 83: ...tion td_brdRef IN unique IEM reference ps_ioctrl IN pointer to ioctrl structure o_blocking IN blocking non blocking execution Return Value Description COM_k_OK operation succeeded COM_k_INVALID_BOARD...

Page 84: ...N TRUE blocking execution this function is blocked waiting on the response FALSE non blocking execu tion the response shall be queried by the application with the help of EMI_cmdCommandRespQuery Retur...

Page 85: ...internal structure of the device can be customized dy namically when configuring the system Nevertheless data within both of the above mentioned devices can be ad dressed using the following hierarch...

Page 86: ..._addApi dw_apiNum 0xABCDEF00 register a new API e_ret EMI_cmdChannelConfigure td_brdRef s_cmd TRUE s_response blocking memset s_cmd 0x00 sizeof COM_t_CMD_REQUEST s_cmd dw_command COM_k_PNIO_MOD_PLUG p...

Page 87: ...d in the IEM by means of the Create service see code example in Figure 5 2 Note Before any variable could be created a triple API slot sub slot has to be registered in the IEM see chapter 5 1 2 For an...

Page 88: ...ts has been changed by the PROFINET Controller Supervisor the Host receives the COM_k_EVT_VARIABLE_ACCESS event with a corresponding parameter value from the COM_k_PNIO_DEVICE_XXX set 5 1 4 Process da...

Page 89: ...th the IOXS Bad in the IO image o Running the submodule is in the operating state and deliver either valid or invalid data according to the IOXS o Parameterized the submodule has been already paramete...

Page 90: ...igured in the engineering tool and expected by the IO Controller The application has three possibilities to react o no reaction the submodule is out of the process o or pull existing submodule and plu...

Page 91: ...rd In order to get known by the host about changes made with the DeviceName and IP Parameters from the network side the event COM_k_EVT_VARIABLE_ACCESS has to be registered This event has one ex tende...

Page 92: ...ng indication of this module buzzing or flash test red on module failure state LED2 lower LED Color Mode Status off connection AR to the controller established green on protocol not initialized red on...

Page 93: ...able see Figure 5 4 COM_t_BOARD_REF td_brdRef COM_e_ERROR e_ret COM_t_CMD_REQUEST s_cmd COM_t_CREATE p_c COM_t_CMD_RESPONSE s_response UINT32 dw_reference variable reference memset s_cmd 0x00 sizeof C...

Page 94: ...qRef NULL send request and wait for response signalled via callback while received global variable received is set in callback e_ret EMI_srvServiceHandle td_brdRef read response e_ret EMI_srvrespQuery...

Page 95: ...le Get_Attr_Single 10 x GET_VALUE SET_VALUE x choosen No not possible Figure 5 6 Relation between EMI and EIP services Example see row seven of table a variable may be located in the SHM sec tion of a...

Page 96: ...nce service Code Name 0x01 Get_Attribute_All 0x05 Reset Type 0 and 1 supported 0x0E Get_Attribute_Single 0x10 Set_Attribute_Single Figure 5 7 Identity object attributes and services Message router obj...

Page 97: ...ttributes get 7 Max ID number instance attributes get Class services Code Name 0x0E Get_Attribute_Single Instance attributes ID Name Access 3 Data get set 4 Size get Instance service Code Name 0x0E Ge...

Page 98: ...0x0E Get_Attribute_Single 0x10 Set_Attribute_Single 0x4E Forward close 0x52 Unconnected send 0x54 Forward open 0x5A Get_Connection_Owner 0x5B Large_Forward_Open Figure 5 10 Connection manager object...

Page 99: ...ink object 0xF6 Class attributes ID Name Access 1 Revision get 2 Max instance get 3 Number of instances get 4 Optional attribute list get 6 Max ID number class attributes get 7 Max ID number instance...

Page 100: ...e 5 13 Quality of Service QoS object attributes and services 5 2 3 Ethernet IP specific variable mapping 5 2 3 1 Process data mapping In EIP process data is usually arranged in data containers called...

Page 101: ...ata variable The efficient implementation of process data transfer imposes some re strictions on the use of EIP variables as process data First the order of varia bles in the SHM assigned to the same...

Page 102: ...it may be useful for the host not only to control the error re sponses of existent attributes but also to control error responses of non existent ones A possible use case could be a host controlled o...

Page 103: ...Data 0 COM_t_REMOTE_OPEN s_service COM_t_SERVICE_DATA ps_response memset s_request 0x00 sizeof COM_t_SERVICE_DATA memset s_service 0x00 sizeof COM_t_REMOTE_OPEN ps_h pb_data UINT8 s_service link to se...

Page 104: ...ds the structure COM_t_EIP_CONNECTION_INFO which contains all information of the received ForwardOpen request This includes e g the re quested RPI or connection point as well as the configuration asse...

Page 105: ...his events using the EMI_evtEventRegister function The first parameter of the event holds the connection ID of the affected con nection 5 2 7 LEDs The following LEDs are used by the IEM s Ethernet IP...

Page 106: ...Communication Protocols Copyright IXXAT Automation GmbH 106 IEM Manual 1 5 LED4 6 yellow Color Mode Status yellow off 10 Mbit s yellow on 100 Mbits s...

Page 107: ...es are actual ized 5 3 3 E PROM The E2PROM required by EtherCAT is represented by a specific flash area at the IEM The start address of this area is depending on the size of the availa ble flash e g 2...

Page 108: ...ic data area used for init configuration at ear ly initialization phase For EtherCAT this area can be used for device identifi cation settings and data mapping contents 5 3 5 1 Device addressing The E...

Page 109: ...rofile area Objects with index range 0x1000 0x1FFF are fix part of the communication profile area The Figure 2 2 shows the objects with their definitions Index Object Type PDO mappable SI count Commen...

Page 110: ...18 EtherCAT objects 5 3 6 2 Application profile area Application specific objects for EtherCAT with index range 0x2000 0xFFFE can be added dynamically to the object dictionary Application objects can...

Page 111: ...ex configu ration Up to 45 mapping entries per PDO are allowed starting with FW V1 2 0 up to 50 mapping entries per PDO There are 2 basic mechanisms for submitting the mapping to the device 5 3 7 1 1...

Page 112: ...16 bit elements are expected The content corresponds to the data generated by the configuration tool for mapping The layout is described at the host demo application aw_PdoConfig EtherCAT specific PD...

Page 113: ...rds To create a valid mapping using mixed mode these steps are necessary 1 Declare PDO count and index 2 Fill mapping contents See the following code parts for a sample of this use case 1 Declare user...

Page 114: ...ess s_ect b_subindex b_subindex ps_PdoConfig dw_length UINT32 b_length MEMCPY PVOID ps_PdoConfig ab_parameter 0 PVOID dw_value sizeof UINT32 e_ret EMI_cmdChannelConfigure APP_td_BrdRef s_cmd TRUE s_re...

Page 115: ...id PDO mapping can be stored on IEM flash The COM_k_STORE_DYN_OBJECTS command starts writ ing of the actual PDO mapping to the flash The configuration is loaded auto matically from IEM flash with next...

Page 116: ...ndex entries from one index in case of array or record is supported for upload only Depending on the attributes of an object the actual device state the applica tion implementation and the SDO access...

Page 117: ...an be forced to be acknowledged by the application using the protocol enable disable command The acknowledge re quest is only valid for the next transition and has to be reconfigured if needed again 5...

Page 118: ...ECT_ESC_OP State transition to cyclic output process data exchange A request to be acknowledged by the application is signaled at optional parameter value 0 COM_k_ECT_EVT_STORE Object with index 0x101...

Page 119: ...is related to a data structure COM_t_ECT_XXX describing the parameters used with it Ether CAT supports the following commands set by host COM_k_ECT_PDO_ASSIGN Submit PDO mapping contents with single...

Page 120: ...system load minor fault Even if the bus cycle time is slower than 125 s the operating system OS on the module can reach the performance limit e g if the process data size is too large The OS is signa...

Page 121: ...of events The maximum size for a re mote data transfer is limited by the corresponding mailbox settings 5 3 17 Mailbox service The IEM supports the AoE EoE and FoE mailbox services described at ETC1...

Page 122: ...pyright IXXAT Automation GmbH 122 IEM Manual 1 5 Within the RJ45 connectors LED3 5 green Color Mode Status green off no link green on link established green flicker activity LED4 6 yellow Color Mode S...

Page 123: ...8 COM_t_BOARD_REF td_brdRef COM_e_ERROR e_ret COM_t_CMD_REQUEST s_cmd COM_t_CREATE s_createCmd COM_t_CMD_RESPONSE s_response UINT32 dw_reference 0 variable reference memset void s_cmd 0 sizeof COM_t_C...

Page 124: ...ervice request e_ret EMI_srvreqSend td_brdRef 0 s_request s_reqRef NULL send request and wait for response signalled via callback while received global variable received has to be set in callback e_re...

Page 125: ...SDO Write x choosen No not possible Figure 5 30 Relation between EMI and Powerlink services 5 4 2 Process data mapping In Ethernet POWERLINK the objects that are located in the cyclic section of the...

Page 126: ...CS_PRE_OPERATIONAL_1 NMT_MS_PRE_OPERATIONAL_1 green double flash NMT_CS_PRE_OPERATIONAL_2 NMT_MS_PRE_OPERATIONAL_2 green triple flash NMT_CS_READY_TO_OPERATE NMT_MS_READY_TO_OPERATE green on NMT_CS_OP...

Page 127: ...1 Error classes priorities The errors are allocated to three different classes for error management This allows the software to react differently according to the occurred error class All error codes...

Page 128: ...ID_MC_BPW_SC3 113u define COM_k_UNIT_ID_MC_BPW_MBS 114u define COM_k_UNIT_ID_MC_OS 120u define COM_k_UNIT_ID_MC_TCPIP 121u define COM_k_UNIT_ID_MC_TSE 122u define COM_k_UNIT_ID_MC_PNIO 128u define COM...

Page 129: ...ns that the queue which element we want to remove from is empty FATAL 6 1 0x30102006 ABM_k_ERR_QUEUE_EMPTY This error means that the queue which element we want to remove from is empty FATAL 6 2 0x101...

Page 130: ...TE_INV This error means that the execution of the command is not allowed in the current state MINOR 2 7 0x20608002 EMI_k_STATE_INV This error means that the execution of the command is not allowed in...

Page 131: ...ng the transport protocol in the response channel FATAL 14 4 0x3060100f EMI_k_RESP_OFFSET_INV This error means that the offset parameter is invalid FATAL 15 1 0x3060400f EMI_k_RESP_OFFSET_INV This err...

Page 132: ...I_k_REQ_FIFO_REL_WRITE This error means that an error occurred while releasing a request fifo FATAL 32 1 0xb0607020 EMI_k_REQ_FIFO_REL_WRITE This error means that an error occurred while releasing a r...

Page 133: ...s FATAL 9 1 0xb070100a FUPM_k_SHM_RD_CLBK This error means that the application callback function indicated an error during the reading of a Host segment FATAL 10 1 0xb070100b FUPM_k_SHM_SEG_STATUS Th...

Page 134: ...k_ERR_ETC_BOO2INIT_LOC K This error means that it was not possible to lock the BOOT INIT state transition FATAL 401 1 0x30709191 FUPH_k_ERR_ETC_BOO2INIT_LOC K This error means that it was not possible...

Page 135: ...r Class Unit Err File ID 0x33301001 SHM_k_ERR_REGION_INV This error means that the SHM region code is invalid FATAL 1 1 0x33301002 SHM_k_ERR_IO_SUBREGION_INV This error means that the IO subregion cod...

Page 136: ...d FATAL 21 1 0x36c01016 BPW_k_GEN_INIT_STR_FLAG_INV This error means that the validation flag of the init struc ture in the flash is invalid FATAL 22 1 0x26c01017 BPW_k_GEN_EVT_NOT_FOUND This error me...

Page 137: ...error means that an error occurred while acquiring a confirmation FIFO FATAL 41 1 0xb6c06029 BPW_k_GEN_CONF_FIFO_ACQ_RE AD This error means that an error occurred while acquiring a confirmation FIFO...

Page 138: ...This error means that an error occurred while releasing the response fifo FATAL 59 1 0xb6c0903b BPW_k_GEN_RESP_FIFO_REL_WRI TE This error means that an error occurred while releasing the response fifo...

Page 139: ...occurred while calling PNIO_rec_write_rsp MINOR 2 4 0x36d05002 DEV_k_NO_MEM_FOR_MOD_LIST This error means that an error occurred while allocation a memory for the module list FATAL 2 5 0x16d01003 BPWP...

Page 140: ...t an error occurred in the start de vice call sequence MINOR 7 5 0x36d01008 CYC_k_CBF_DATA_WRITE_VAR_N OT_EXIST This error means that the PNIO stack tried to update an input process variable that is n...

Page 141: ...V_k_FLASH_WRITE_FAILED This error means that an error occurred while writing a flash block MINOR 14 1 0xa6d0200e ALR_k_EXT_DIAG_CHAN_REM_FAI LED This error means that an error occurred calling PNIO_ex...

Page 142: ...INOR 21 1 0x36d01015 BPWP_k_DEBUG_TASK_QUEUE_C REATE_FAILED This error means that an error occurred while creating a message queue for the debug task FATAL 21 1 0x36d02015 ALR_k_ENTRY_ADD_FAILED This...

Page 143: ...reading a flash block MINOR 33 1 0xb6d01021 DEV_k_AR_CHECK_ABORT_FAILED This error means that an error occurred while aborting a connection FATAL 33 1 0xb6d05021 DEV_k_AR_CHECK_ABORT_FAILED This error...

Page 144: ...STOP_SEND_API_NOT_EXI ST This error means that we got STOP_SEND indication from the PNIO stack for API that does not exist in our database FATAL 48 1 0x36d01031 DEV_k_STOP_SEND_SUB_NOT_EXI ST This err...

Page 145: ...ror means that an error occurred while posting on a message box FATAL 70 1 0xb6d05046 DEV_k_SAVE_CONF_MBOX_POST_ FAILED This error means that an error occurred while posting on a message box FATAL 70...

Page 146: ...9 1 0xb6e0100a BPW_k_PDO_CFG_ERR Pdo configuration error protocol specific FATAL 10 1 6 5 16 COM_k_UNIT_ID_MC_BPW_EPL unit id 111 Error Code Define Description Error Class Unit Err File ID 0x36f01001...

Page 147: ...alized yet MINOR 2 3 0x27004002 BPW_k_DEV_NOT_INITIALIZED_1 EIP task not initialized yet MINOR 2 4 0x27001003 BPW_k_EIP_GET_IP_FAILED IP configuration could not be read from flash MINOR 3 1 0x27002003...

Page 148: ...W_k_ACY_NO_RSRC_4 no more resources FATAL 11 3 0x2700400b BPW_k_DEV_INVALID_EVENT_1 invalid common event MINOR 11 4 0x3700100c BPW_k_EIP_INIT_TASK_CREATE_F AILED error while creating the Init task FAT...

Page 149: ...sembly doesn t exist MINOR 24 2 0x27003018 BPW_k_ACY_UNCON_SEND_ERR_ 6 error when calling clientSendUnconnectedRequest cli entSendClientResponse MINOR 24 3 0x27002019 BPW_k_CYC_INVALID_ASSEM_4 assembl...

Page 150: ...xist MINOR 42 1 0x2700302a BPW_k_ACY_INVALID_VAR_4 variable reference doesn t exist MINOR 42 3 0x2700202b BPW_k_CYC_MISSING_ASSEM_8 assembly doesn t exist MINOR 43 2 0x2700302b BPW_k_ACY_TARGET_IP_ERR...

Page 151: ...UNIT_ID_MC_OS unit id 120 Currently no error codes specified 6 5 19 COM_k_UNIT_ID_MC_TCPIP unit id 121 Currently no error codes specified 6 5 20 COM_k_UNIT_ID_MC_TSE unit id 122 Currently no error cod...

Page 152: ...y failed MINOR 4 1 0x29601005 FUPM_k_ERR_FLASH_ERASE The flash erasing failed MINOR 5 1 0x29601006 FUPM_k_ERR_FLASH_READ_MERG E The flash read access failed for the flash data merge MINOR 6 1 0x296010...

Page 153: ...te file is too large Only 0 HOST firmware block is allowed MINOR 34 1 0x29601023 FUPM_k_ERR_HOST_START_ADDR Parser error in the 0 HOST firmware block at the start address field MINOR 35 1 0x29601024 F...

Page 154: ...n the 0 module control state MINOR 64 1 6 5 29 COM_k_UNIT_ID_MC_FUPMv2 unit id 151 Error Code Define Description Error Class Unit Err File ID 0x29701001 FUPM_k_FLASH_OPEN This error means that the fla...

Page 155: ...M_k_SM_DATA_ALL This error means that it was not possible require all fol lowing data from FUP file FATAL 114 1 0x39702072 FUPM_k_SM_DATA_ALL This error means that it was not possible require all fol...

Page 156: ...ed FATAL 138 1 0xb970208a FUPM_k_SM_EVENT_PROLOG This error means that the event during the prologue state is not defined FATAL 138 2 0xb970108b FUPM_k_SM_EVENT_WF_RX_FILE_ HDR This error means that t...

Page 157: ...FUPM_k_CTRL_INIT_FOPEN This error means that it was not possible to close to the control file during the initialization MINOR 160 1 0x297030a0 FUPM_k_CTRL_INIT_FOPEN This error means that it was not...

Page 158: ...xa97030b0 FUPM_k_CTRL_READ_SEEK This error means that it was not possible to seek at the control file MINOR 176 3 0x197010c8 FUPM_k_DATA_PARAMETER This error means that a function call with invalid pa...

Page 159: ...he file system could not be regis tered at the flashing task MINOR 602 1 0xa970625a FUPM_k_NIOS_INIT_FILE_SYSTEM_ TASK This error means that the file system could not be regis tered at the flashing ta...

Page 160: ...t possible MINOR 704 11 0xa97012c1 FUPM_k_NIOS_FILE_WRITE_GETS PACE This error means that it was not possible to get infor mation about the free space from the file system MINOR 705 1 0xa970b2c1 FUPM_...

Page 161: ...om application processor to IEM I O a24 GND ground b23 BE0 input byte enable 0 active low I O a23 RD input read active low parallel interface I O SPI_CLK SPI clock serial interface b22 GND ground a22...

Page 162: ...nput address line 2 I O b3 GPIO2HOST1 output GPIO from IEM to application processor on parallel interface I O SPI_MISO Data output on serial interface I O a3 GPIO2HOST2 output GPIO from IEM to applica...

Page 163: ...es Note These pins are only supported in parallel interface mode Example A 32 bit variable 0x1234ABCD was stored into the Shared memory The byte order is little endian and the value is stored at addre...

Page 164: ...SPI Note These pins are only supported in serial interface mode 7 1 1 2 8 GPIOs from application processor 7 1 1 2 8 1 GPIO2NIOS1 parallel interface SPI access mode This pin is used to select the bus...

Page 165: ...Bus protocol GPIO2HOST1 GPIO2HOST2 EtherCAT Special synchronization mechanism SYNC0 Cyclic data Ethernet IP PROFINET Powerlink 5 4 3 Synchronization to IEM Table 7 2 Overview of GPIOs to application p...

Page 166: ...NET port 001 port 002 EtherCAT IN OUT Ethernet IP Port 1 Port 2 Powerlink name not specified name not specified Figure 7 8 RJ45 identification for each bus protocol 7 1 3 LED labeling LED2 LED1 LED5 L...

Page 167: ...ole Top side Bottom side Earth PE RJ45 shields washers Figure 7 10 Shield connector overview To comply with the protocol recommendation we recommend following table Bus protocol RJ45 shields earth PE...

Page 168: ...RD WR ADDR0 BHE GPIO2HOST2 GPIO2HOST1 GPIO2NIOS1 GPIOx GPIOy INTERRUPTx INTERRUPTy VCC GND GPIO2NIOS2 future use GPIOz Figure 7 12 Parallel interface access 7 2 2 SPI interface access Processor IEM R...

Page 169: ...Timings on accessing parallel interface Tsysclk 13 3ns 75MHz system clock Tsetup 13 3ns max time frame required for setup Toutput 13 3ns max time frame for data output Tsetup host setup time for the...

Page 170: ...T5 T6 T10 T7 dataout T8 T9 T11 T1 Figure 7 16 Timing diagram DPRAM interface In the table below the detailed timing is specified Time Detail Values Remark min max T1 write access time 40ns T2 CS activ...

Page 171: ...n rising edge Min data rate 5 0 MHz Max data rate 12 5 MHz IDLE IDLE Latch Shift MSB LSB Figure 7 18 SPI settings Note Please be sure that your SPI clock is in between of the minimum and maximum data...

Page 172: ...holes for mechanical connection with the base PCB Figure 7 21 Mounting holes Mounting hole B and C are for sole mechanical connection Mounting hole A is used to connect PE protective earth with the IE...

Page 173: ...1 8 1 27 7 2 4 2 5 7 6 0 75 Figure 7 22 Board to Board connector Selecting the appropriate mating product various PCB to PCB distances are achievable Some examples are noted in the Figure 7 23 Mating...

Page 174: ...5 Height restrictions To maintain enough space between the IEM and the surrounding parts of the carrier PCB is shown in Figure 7 25 On the bottom side is the height restrictions generally 5 0 mm for t...

Page 175: ...7 5 Environmental Specification 7 5 1 Temperature Operating mode min max operating 40 C 85 C non operating 40 C 85 C Figure 7 26 Temperature specification 7 5 2 Relative humidity The IEM is designed...

Page 176: ...BSP 128 byte IO 6 x 850 byte 5100 byte ASC 1024 byte 0x0000 0x1770 0x17F0 0x2BDC 0x2FDC 0x2FF8 0x2FFA 0x2FFC 0x2FFE 0x2FE0 Tripple buffer Tripple buffer 0x3000 Offset READ2 4 byte Offset WRITE2 4 byte...

Page 177: ...tested and found to comply with the limits for a Class A digital device pursuant to Part 15 of the FCC Rules These limits are designed to provide reasonable protection against harmful interference whe...

Page 178: ...duct complies with the EU directive 2004 108 EC Applied harmonized standards EN 55022 2006 A1 2007 Class A EN 61000 6 2 2005 26 04 2010 Dipl Ing Christian Schlegel Managing Director IXXAT Automation G...

Reviews: