Delta Tau ACC-72EX Hardware Reference Manual
Delta Tau ACC-72EX Hardware Reference Manual

Delta Tau ACC-72EX Hardware Reference Manual

Umac fieldbus interface
Table of Contents

Advertisement

HARDWARE REFERENCE MANUAL
^2
Accessory 72EX
UMAC Fieldbus Interface
3 0-603958- U
January 31, 2022
Document # MN-000251

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ACC-72EX and is the answer not in the manual?

Questions and answers

Summary of Contents for Delta Tau ACC-72EX

  • Page 1 HARDWARE REFERENCE MANUAL Accessory 72EX UMAC Fieldbus Interface 3 0-603958- U January 31, 2022 Document # MN-000251...
  • Page 2 © 2022 Delta Tau Data Systems, Inc. All rights reserved. This document is furnished for the customers of Delta Tau Data Systems, Inc. Other uses are unauthorized without written permission of Delta Tau Data Systems, Inc. Information contained in this manual may be updated from time-to-time due to product improvements, etc., and may not conform in...
  • Page 3 Safety Instructions Qualified personnel must transport, assemble, install, and maintain this equipment. Properly qualified personnel are persons who are familiar with the transport, assembly, installation, and operation of equipment. The qualified personnel must know and observe the following standards and regulations: IEC364resp.CENELEC HD 384 or DIN VDE 0100 IEC report 664 or DIN VDE 0110 National regulations for safety and accident prevention or VBG 4...
  • Page 4 REVISION HISTORY DESCRIPTION DATE APPVD Preliminary Manual 11/05/12 Added Power PMAC support and address settings 09/24/13 based upon 603958-102 Corrected ACC72EX.Data8[i] references 10/21/13 Added C code and setup examples; corrected typos 07/29/15 DCDP Fixed Jumper E2 description 03/17/16 Added KC Conformity 10/17/18 Added environmental specifications table 09/14/20...
  • Page 5: Table Of Contents

    MOUNTING AND INSTALLATION ..................11 THEORY OF OPERATION ..................... 12 UBUS Interface ..........................12 How ACC-72EX Works ......................12 Turbo PMAC Memory ........................13 Power PMAC Memory ......................... 13 Hilscher ComX Module Addressing to Turbo PMAC Addressing Conversion ......14 Hilscher ComX Module Addressing to Power PMAC Addressing Conversion ......
  • Page 6 SOFTWARE SETUP ........................72 Required Software Packages ......................72 SyCon.NET Software Setup ......................72 ACC-72EX Setup Assistant ......................80 Turbo PMAC Setup for Using ACC-72EX .................. 82 Initialization PLC ........................82 Watchdog Function ........................83 Enabling the Communication Bus ................... 83 Locating the Input/Output Data Image in PMAC ..............
  • Page 7 ACC-72EX User Manual CC-Link – Slave – OPT51 ..................... 108 EtherCAT – Master – OPT60 ....................109 EtherCAT – Slave – OPT61 ....................110 EtherNet/IP – Scanner/Master – OPT70 ................111 EtherNet/IP – Adaptor/Slave – OPT71 .................. 112 Open Modbus/TCP – OPT80 ....................113 PROFINET IO –...
  • Page 8: Introduction

    This manual provides the information needed to configure ACC-72EX, a fieldbus/real-time Ethernet interface for the Turbo or Power UMAC. The ACC-72EX is equipped with a “gateway” daughter card that allows the UMAC (also referred to as host application) to send and receive data through the supported fieldbus/real-time Ethernet protocols.
  • Page 9: Specifications

    ACC-72EX User Manual SPECIFICATIONS Environmental Specifications Description Specification Notes Operating Temperature 0°C to 55°C Storage Temperature -25°C to 70°C Humidity 10% to 95 % Non-Condensing specifications...
  • Page 10: Agency Approval And Safety

    ACC-72EX User Manual Agency Approval and Safety Item Description CE Mark EN61326-1 EN55011 Class A Group 1 EN61000-4-2 EN61000-4-3 EN61000-4-4 EN61000-4-5 EN61000-4-6 Flammability Class UL 94V-0 EMI: KN 11 EMS: KN 61000-6-2 UKCA 2016 No. 1091 사 용 자 안 내 문...
  • Page 11: Mounting And Installation

    System malfunction can occur due to noise/chatter if the ACC-72EX is placed outside of the recommended order as seen in the illustration above. Note that the ACC-72EX is a Fieldbus device and should be placed adjacent to the CPU, and as close as possible to ensure smooth communication.
  • Page 12: Theory Of Operation

    DPRAM. UBUS Interface The UBUS is Delta Tau’s bus interface for the UMAC controller. The ACC-72EX maps to the UBUS as a DPRAM style board. It occupies contiguous memory locations (both X and Y memory for Turbo PMAC) of the lower two bytes of the 24-bit (middle 16 bits of each 32 bit word for Power PMAC), DPRAM addresses.
  • Page 13: Turbo Pmac Memory

    M6000->Y:$06C000,0,16,U Turbo PMAC Memory Organization Power PMAC Memory Power PMAC uses 32-bit data bus architecture. ACC-72EX Memory is accessed in Power PMAC data structures or their equivalent #define statements. The #define statements are included later in this manual. .Udata16[0] .Udata16[1]...
  • Page 14: Hilscher Comx Module Addressing To Turbo Pmac Addressing Conversion

    ACC-72EX User Manual Hilscher ComX Module Addressing to Turbo PMAC Addressing Conversion As explained in previous sections, Turbo PMAC places 4 bytes of Hilscher ComX memory data in each PMAC memory word. This means that for each address offset increment on the PMAC side, there will be 4 increments of offset addresses on the Hilscher DPRAM side.
  • Page 15 Definition Type : DP ==4 bytes Address Mod(INT(Offset/2),2) Definition Type : Y Start (PMAC Address) PMAC Address = ACC-72EX Based address + Definition Type : X INT(Offset/4) An address conversion tool is provided in the ACC-72EX Setup Assistant software. Theory of Operation...
  • Page 16: Hilscher Comx Module Addressing To Power Pmac Addressing Conversion

    ACC-72EX User Manual Hilscher ComX Module Addressing to Power PMAC Addressing Conversion In Power PMAC, specific Acc72EX[i] data structures have been implemented which allow bit-wide, byte-wide, 2-byte and 4-byte access to Hilscher ComX Dual Ported RAM. Acc72EX[i].Udata16[j] structures can be used for individual bit access, both for read and for write purpose.
  • Page 17: Hardware

    E-point jumper E3 on the ACC-72EX controls the base address and range on the UBUS. Since each ACC-72EX uses full-13 bit addressing, it consumes all the memory addressable through each chip select. As a result, two is the maximum number of ACC-72EX boards that can be used in a Turbo UMAC rack. Turbo PMAC...
  • Page 18: Jumper Settings

    Selection of UMAC CPU architecture. This selection affects the data bus and provides contiguous data addressing for the DPRAM: 1-2 Turbo PMAC 2-3 Power PMAC Selection of base address for ACC-72EX: 1-2 Selects Y/X:$6C000 - $6FFFF (Acc72EX[0]) 2-3 Selects Y/X:$74000 - $7FFFF (Acc72EX[1]) Connects DPRAM interrupt to UBUS IRQ-1...
  • Page 19: Communication Option-Dependent E-Point Jumper Settings

    ACC-72EX User Manual Communication Option-Dependent E-Point Jumper Settings Comm. Protocol Option Option Part Number PROFIBUS-DP – Master 310-603958-OPT PROFIBUS-DP – Slave 311-603958-OPT DeviceNet – Master 320-603958-OPT DeviceNet – Slave 321-603958-OPT CANopen – Master 330-603958-OPT CANopen – Slave 331-603958-OPT CC-Link – Slave 351-603958-OPT EtherCAT –...
  • Page 20: Connector Pinouts

    The USB connection is not a galvanically isolated connection. The ground of the PC will be connected to the ground of the UMAC system through the USB connection, which can damage components on the PC and/or ACC-72EX. Make sure that there is no potential difference between the grounds on both ends.
  • Page 21: Dpram Memory Map

    ACC-72EX User Manual DPRAM MEMORY MAP Below is the standard memory map of address offsets found in the DPRAM of the ACC-72EX module. Start and end addresses for each of the memory blocks are specified both in Hilscher offset (0x notation for hexadecimal) and Turbo PMAC offset ($ notation for hexadecimal) notation.
  • Page 22: Dpram Blocks

    $0000. It holds information about the system itself (netX, netX operating system) and provides a mailbox transfer mechanism for system-related messages or packets. ACC-72EX Setup Assistant software uses the data available in this channel to generate the information in the memory map output file.
  • Page 23 ACC-72EX User Manual Channel Information Block The system block includes information about all the other channels and their availability on the COMX module. This information is used to locate and identify different channels in the system. Hilscher Documentation ACC-72EX Setup Assistant...
  • Page 24: Handshake Channel

    The handshake channel provides a mechanism that allows the synchronizing of data transfer between the UMAC CPU and ACC-72EX dual-port memory. The handshake channel brings all handshake registers from other channel blocks together in one location. The handshake register could be moved from the handshake block to the beginning of each of the communication channels.
  • Page 25 UMAC via the system mailbox and to handle certain changes of state function. They also hold information about the status of the ACC-72EX Hilscher module and can be used to execute certain commands in the module (for a module-wide reset, for example).
  • Page 26 ACC-72EX User Manual netX System Flags The ACC-72EX Hilscher module firmware writes to the netX system register; UMAC reads this register. The netX system register is located at address offset $80 in the dual-port memory. netX System Flags bNetxFlags (ACC-72EX  UMAC) Bit No.
  • Page 27 $81 in the dual-port memory. bHostFlags – UMAC writes, netX reads Bit 15 14 13 12 11 10 Reserved Host System Flags bHostFlags (UMAC  ACC-72EX) Bit No. Definition / Description Reset (HSF_RESET) The Reset flag is set by the UMAC to execute a system wide reset. This forces the system to restart.
  • Page 28 It also informs the UMAC about its current network state. The UMAC reads this register. usNetxFlags – netX writes, UMAC reads Bit 15 14 13 12 11 10 Reserved Communication Channel Flags usNetXFlags (ACC-72EX  UMAC) DPRAM Memory Map...
  • Page 29 ACC-72EX User Manual Definition / Description Communicating (NCF_COMMUNICATING) The NCF_COMMUNICATING flag is set if the protocol stack has successfully opened a connection to at least one of the configured network slaves (for master protocol stacks), respectively has an open connection to the network master (for slave protocol stacks). If cleared, the input data should not be evaluated, because it may be invalid, old or both.
  • Page 30 The netX protocol stack reads this register. usHostFlags – UMAC writes, netX reads Bit 15 14 13 12 11 10 Reserved Communication Channel Flags usHostFlags (UMAC  ACC-72EX) DPRAM Memory Map...
  • Page 31 ACC-72EX User Manual Bit No. Definition / Description 0, 1 Reserved, set to 0 Host Change Of State Command (HCF_HOST_COS_CMD) The HCF_HOST_COS_CMD flag signals a change in the state of the UMAC. A new state is set in the ulApplicationCOS variable in the communication control block. The protocol stack on the netX then toggles the NCF_HOST_COS_ACK flag in the netX communication flags back acknowledging that the new state has been read.
  • Page 32 ACC-72EX User Manual Application Handshake Cells Although these cells are not supported yet, the following structure groups have been defined for backward compatibility as a placeholder: netX Communication Flags Host Communication Flags DPRAM Memory Map...
  • Page 33: Communication Channel

    ACC-72EX User Manual Communication Channel The communication channel structure is mainly dependent on the protocol firmware and COMX module. However, there are common sub-block structures which are common to all protocols. Control Block The control block of a dual-port memory features a Watchdog function to allow the operating system running on the netX to supervise the host application and vice versa.
  • Page 34 ACC-72EX User Manual Bit No. Definition / Description Lock Configuration Enable (RCX_APP_COS_LOCK_CONFIG_ENABLE) The Lock Configuration Enable flag is used together with the Lock Configuration flag above. If set, this flag enables the execution of the Lock Configuration command in the netX firmware.
  • Page 35 ACC-72EX User Manual Bit No. Definition / Description Ready (RCX_COMM_COS_READY) The Ready flag is set as soon as the protocol stack is started properly. Then, the protocol stack awaits a configuration. As soon as the protocol stack is configured properly, the Running flag is set.
  • Page 36 ACC-72EX User Manual Communication Channel Error This field holds the current error code of the communication channel. If the cause of error is resolved, the communication error field is set to zero (= RCX_S_OK) again. Not all of the error codes are supported in every implementation.
  • Page 37 ACC-72EX User Manual changes to FAILED. For protocols that support non-cyclic communication only, the slave state is set to OK as soon as a valid configuration is found. Value Definition / Description UNDEFINED OK. No Fault. FAILED. At least one slave failed...
  • Page 38: Application Channel

    Auto-Generated Dual-Ported Memory Map ACC-72EX Setup Assistant Software, designed for use with Turbo PMAC, provides some level of automation in the identification of Hilscher COMX modules by generating a memory map file, suggested M-Variable definitions for important registers, and appropriate macro names.
  • Page 39: Memory Map Generator

    ACC-72EX User Manual Memory Map Generator The Memory Map Generator section of the software identifies the ACC-72EX cards in a UMAC system and generates both a memory map as a text file and M-Variable definition file with proper addressing, both of which indicate the ACC-72EX-based address selection.
  • Page 40 ACC-72EX User Manual HilscherMemoryMap_$6C000.txt File Content Notes Delta Tau Data Systems, Inc. ACC-72EX Setup Assistant Auto-generated Memory Map ACC-72EX Address: $6C000 Base address of the ACC- 72EX selected in the Memory Map Generator section netX Identification: netX The identification cookie...
  • Page 41 ACC-72EX User Manual |--- Subblock 4: MAILBOX Size: 128 bytes Start Offset: $6C060 Transfer Direction: IN (netX to Host System) Transfer Type: DPM (Dual-Port Memory) Handshake Mode: UNKNOWN Handshake Bit: + Block 1: Channel Type: Handshake Size of Channel: 256 bytes...
  • Page 42 ACC-72EX User Manual Transfer Direction: OUT (Host System to netX) Transfer Type: DPM (Dual-Port Memory) Handshake Mode: BUFFERED, HOST CONTROLLED Handshake Bit: |--- Subblock 6: PROCESS DATA IMAGE Size: 5760 bytes Start Offset: $6CA60 Transfer Direction: IN (netX to Host System)
  • Page 43 ACC-72EX User Manual Transfer Type: DPM (Dual-Port Memory) Handshake Mode: BUFFERED, HOST CONTROLLED Handshake Bit: |--- Subblock 4: MAILBOX Size: 1600 bytes Start Offset: $6D210 Transfer Direction: IN (netX to Host System) Transfer Type: DPM (Dual-Port Memory) Handshake Mode: UNKNOWN...
  • Page 44 ACC-72EX User Manual Suggested M-Variable Definition File Here is a sample macro name and suggested M-Variable definition file. MacroNameDefinition_$6C000.h File Content #define SI_abCookie_0_ M6000 #define SI_abCookie_1_ M6001 #define SI_abCookie_2_ M6002 #define SI_abCookie_3_ M6003 #define SI_ulDpmTotalSize M6004 #define SI_ulDeviceNumber M6005 #define SI_ulSerialNumber...
  • Page 45 ACC-72EX User Manual #define AC0I_bNumberOfBlocks M6064 #define AC0I_ulSizeOfChannel M6065 #define AC1I_bChannelType M6066 #define AC1I_bChannelId M6067 #define AC1I_bSizePositionOfHandshake M6068 #define AC1I_bNumberOfBlocks M6069 #define AC1I_ulSizeOfChannel M6070 #define SCtrl_ulSystemCommandCOS M6071 #define SStat_ulSystemCOS M6072 #define SStat_ulSystemStatus M6073 #define SStat_ulSystemError M6074 #define SStat_ulBootError M6075 #define SStat_ulTimeSinceStart...
  • Page 46 ACC-72EX User Manual #define SRMB_ultData13 M6135 #define SRMB_ultData14 M6136 #define SRMB_ultData15 M6137 #define SRMB_ultData16 M6138 #define SRMB_ultData17 M6139 #define SRMB_ultData18 M6140 #define SRMB_ultData19 M6141 #define SRMB_ultData20 M6142 #define HCSC_bNetxFlags M6143 #define HCSC_NSF_READY M6144 #define HCSC_NSF_ERROR M6145 #define HCSC_NSF_HOST_COS_ACK M6146 #define HCSC_NSF_NETX_COS_CMD...
  • Page 47 ACC-72EX User Manual #define HCCC2_NCF_PD1_OUT_ACK M6206 #define HCCC2_NCF_PD1_IN_CMD M6207 #define HCCC2_usHostFlags M6208 #define HCCC2_HCF_HOST_COS_CMD M6209 #define HCCC2_HCF_NETX_COS_ACK M6210 #define HCCC2_HCF_SEND_MBX_CMD M6211 #define HCCC2_HCF_RECV_MBX_ACK M6212 #define HCCC2_HCF_PD0_OUT_CMD M6213 #define HCCC2_HCF_PD0_IN_ACK M6214 #define HCCC2_HCF_PD1_OUT_CMD M6215 #define HCCC2_HCF_PD1_IN_ACK M6216 #define HCCC3_usNetxFlags M6217 #define HCCC3_NCF_COMMUNICATING...
  • Page 48 ACC-72EX User Manual #define CC0_RCX_APP_COS_APP_READY M6277 #define CC0_RCX_APP_COS_BUS_ON M6278 #define CC0_RCX_APP_COS_BUS_ON_ENABLE M6279 #define CC0_RCX_APP_COS_INIT M6280 #define CC0_RCX_APP_COS_INIT_ENABLE M6281 #define CC0_RCX_APP_COS_LOCK_CFG M6282 #define CC0_RCX_APP_COS_LOCK_CFG_ENA M6283 #define CC0_RCX_APP_COS_DMA M6284 #define CC0_RCX_APP_COS_DMA_ENABLE M6285 #define CC0_ulDeviceWatchdog M6286 #define CC0_RCX_COMM_COS_READY M6287 #define CC0_RCX_COMM_COS_RUN M6288 #define CC0_RCX_COMM_COS_BUS_ON...
  • Page 49 ACC-72EX User Manual #define CC1_bSyncHskMode M6348 #define CC1_bSyncSource M6349 #define CC1_ulSlaveState M6350 #define CC1_ulSlaveErrLogInd M6351 #define CC1_ulNumOfConfigSlaves M6352 #define CC1_ulNumOfActiveSlaves M6353 #define CC1_ulNumOfDiagSlaves M6354 MacroNameDefinition_$6C000.pmc File Content CLOSE END GAT DEL GAT #Include "MacroNameDefinition_$6C000.h" SI_abCookie_0_->Y:$6C000,0,8 SI_abCookie_1_->Y:$6C000,8,8 SI_abCookie_2_->X:$6C000,0,8 SI_abCookie_3_->X:$6C000,8,8 SI_ulDpmTotalSize->DP:$6C001 SI_ulDeviceNumber->DP:$6C002 SI_ulSerialNumber->DP:$6C003...
  • Page 50 ACC-72EX User Manual CC3I_bSizePositionOfHandshake->X:$6C020,0,8 CC3I_bNumberOfBlocks->X:$6C020,8,8 CC3I_ulSizeOfChannel->DP:$6C021 CC3I_usCommunicationClass->Y:$6C022,0,16 CC3I_usProtocolClass->X:$6C022,0,16 CC3I_usConformanceClass->Y:$6C023,0,16 AC0I_bChannelType->Y:$6C024,0,8 AC0I_bChannelId->Y:$6C024,8,8 AC0I_bSizePositionOfHandshake->X:$6C024,0,8 AC0I_bNumberOfBlocks->X:$6C024,8,8 AC0I_ulSizeOfChannel->DP:$6C025 AC1I_bChannelType->Y:$6C028,0,8 AC1I_bChannelId->Y:$6C028,8,8 AC1I_bSizePositionOfHandshake->X:$6C028,0,8 AC1I_bNumberOfBlocks->X:$6C028,8,8 AC1I_ulSizeOfChannel->DP:$6C029 SCtrl_ulSystemCommandCOS->DP:$6C02E SStat_ulSystemCOS->DP:$6C030 SStat_ulSystemStatus->DP:$6C031 SStat_ulSystemError->DP:$6C032 SStat_ulBootError->DP:$6C033 SStat_ulTimeSinceStart->DP:$6C034 SStat_usCpuLoad->Y:$6C035,0,16 SStat_ulHWFeatures->DP:$6C036 SSMB_usPackagesAccepted->Y:$6C040,0,16 SSMB_ulDest->DP:$6C041 SSMB_ulSrc->DP:$6C042 SSMB_ulDestId->DP:$6C043 SSMB_ulSrcId->DP:$6C044 SSMB_ulLen->DP:$6C045 SSMB_ulId->DP:$6C046 SSMB_ulState->DP:$6C047 SSMB_ulCmd->DP:$6C048 SSMB_ulExt->DP:$6C049 SSMB_ulRout->DP:$6C04A SSMB_ultData0->DP:$6C04B SSMB_ultData1->DP:$6C04C SSMB_ultData2->DP:$6C04D...
  • Page 51 ACC-72EX User Manual SRMB_ultData4->DP:$6C06F SRMB_ultData5->DP:$6C070 SRMB_ultData6->DP:$6C071 SRMB_ultData7->DP:$6C072 SRMB_ultData8->DP:$6C073 SRMB_ultData9->DP:$6C074 SRMB_ultData10->DP:$6C075 SRMB_ultData11->DP:$6C076 SRMB_ultData12->DP:$6C077 SRMB_ultData13->DP:$6C078 SRMB_ultData14->DP:$6C079 SRMB_ultData15->DP:$6C07A SRMB_ultData16->DP:$6C07B SRMB_ultData17->DP:$6C07C SRMB_ultData18->DP:$6C07D SRMB_ultData19->DP:$6C07E SRMB_ultData20->DP:$6C07F HCSC_bNetxFlags->X:$6C080,0,8 HCSC_NSF_READY->X:$6C080,0,1 HCSC_NSF_ERROR->X:$6C080,1,1 HCSC_NSF_HOST_COS_ACK->X:$6C080,2,1 HCSC_NSF_NETX_COS_CMD->X:$6C080,3,1 HCSC_NSF_SEND_MBX_ACK->X:$6C080,4,1 HCSC_NSF_RECV_MBX_CMD->X:$6C080,5,1 HCSC_bHostFlags->X:$6C080,8,8 HCSC_HSF_RESET->X:$6C080,8,1 HCSC_HSF_BOOTSTART->X:$6C080,9,1 HCSC_HSF_HOST_COS_CMD->X:$6C080,10,1 HCSC_HSF_NETX_COS_ACK->X:$6C080,11,1 HCSC_HSF_SEND_MBX_CMD->X:$6C080,12,1 HCSC_HSF_RECV_MBX_ACK->X:$6C080,13,1 HCCC0_usNetxFlags->Y:$6C082,0,16 HCCC0_NCF_COMMUNICATING->Y:$6C082,0,1 HCCC0_NCF_ERROR->Y:$6C082,1,1 HCCC0_NCF_HOST_COS_ACK->Y:$6C082,2,1 HCCC0_NCF_NETX_COS_CMD->Y:$6C082,3,1 HCCC0_NCF_SEND_MBX_ACK->Y:$6C082,4,1 HCCC0_NCF_RECV_MBX_CMD->Y:$6C082,5,1...
  • Page 52 ACC-72EX User Manual HCCC2_usNetxFlags->Y:$6C084,0,16 HCCC2_NCF_COMMUNICATING->Y:$6C084,0,1 HCCC2_NCF_ERROR->Y:$6C084,1,1 HCCC2_NCF_HOST_COS_ACK->Y:$6C084,2,1 HCCC2_NCF_NETX_COS_CMD->Y:$6C084,3,1 HCCC2_NCF_SEND_MBX_ACK->Y:$6C084,4,1 HCCC2_NCF_RECV_MBX_CMD->Y:$6C084,5,1 HCCC2_NCF_PD0_OUT_ACK->Y:$6C084,6,1 HCCC2_NCF_PD0_IN_CMD->Y:$6C084,7,1 HCCC2_NCF_PD1_OUT_ACK->Y:$6C084,8,1 HCCC2_NCF_PD1_IN_CMD->Y:$6C084,9,1 HCCC2_usHostFlags->X:$6C084,0,16 HCCC2_HCF_HOST_COS_CMD->X:$6C084,2,1 HCCC2_HCF_NETX_COS_ACK->X:$6C084,3,1 HCCC2_HCF_SEND_MBX_CMD->X:$6C084,4,1 HCCC2_HCF_RECV_MBX_ACK->X:$6C084,5,1 HCCC2_HCF_PD0_OUT_CMD->X:$6C084,6,1 HCCC2_HCF_PD0_IN_ACK->X:$6C084,7,1 HCCC2_HCF_PD1_OUT_CMD->X:$6C084,8,1 HCCC2_HCF_PD1_IN_ACK->X:$6C084,9,1 HCCC3_usNetxFlags->Y:$6C085,0,16 HCCC3_NCF_COMMUNICATING->Y:$6C085,0,1 HCCC3_NCF_ERROR->Y:$6C085,1,1 HCCC3_NCF_HOST_COS_ACK->Y:$6C085,2,1 HCCC3_NCF_NETX_COS_CMD->Y:$6C085,3,1 HCCC3_NCF_SEND_MBX_ACK->Y:$6C085,4,1 HCCC3_NCF_RECV_MBX_CMD->Y:$6C085,5,1 HCCC3_NCF_PD0_OUT_ACK->Y:$6C085,6,1 HCCC3_NCF_PD0_IN_CMD->Y:$6C085,7,1 HCCC3_NCF_PD1_OUT_ACK->Y:$6C085,8,1 HCCC3_NCF_PD1_IN_CMD->Y:$6C085,9,1 HCCC3_usHostFlags->X:$6C085,0,16 HCCC3_HCF_HOST_COS_CMD->X:$6C085,2,1 HCCC3_HCF_NETX_COS_ACK->X:$6C085,3,1 HCCC3_HCF_SEND_MBX_CMD->X:$6C085,4,1 HCCC3_HCF_RECV_MBX_ACK->X:$6C085,5,1 HCCC3_HCF_PD0_OUT_CMD->X:$6C085,6,1 HCCC3_HCF_PD0_IN_ACK->X:$6C085,7,1...
  • Page 53 ACC-72EX User Manual HCAC1_usHostFlags->X:$6C087,0,16 HCAC1_HCF_HOST_COS_CMD->X:$6C087,2,1 HCAC1_HCF_NETX_COS_ACK->X:$6C087,3,1 HCAC1_HCF_SEND_MBX_CMD->X:$6C087,4,1 HCAC1_HCF_RECV_MBX_ACK->X:$6C087,5,1 HCAC1_HCF_PD0_OUT_CMD->X:$6C087,6,1 HCAC1_HCF_PD0_IN_ACK->X:$6C087,7,1 HCAC1_HCF_PD1_OUT_CMD->X:$6C087,8,1 HCAC1_HCF_PD1_IN_ACK->X:$6C087,9,1 CC0_RCX_APP_COS_APP_READY->Y:$6C0C2,0,1 CC0_RCX_APP_COS_BUS_ON->Y:$6C0C2,1,1 CC0_RCX_APP_COS_BUS_ON_ENABLE->Y:$6C0C2,2,1 CC0_RCX_APP_COS_INIT->Y:$6C0C2,3,1 CC0_RCX_APP_COS_INIT_ENABLE->Y:$6C0C2,4,1 CC0_RCX_APP_COS_LOCK_CFG->Y:$6C0C2,5,1 CC0_RCX_APP_COS_LOCK_CFG_ENA->Y:$6C0C2,6,1 CC0_RCX_APP_COS_DMA->Y:$6C0C2,7,1 CC0_RCX_APP_COS_DMA_ENABLE->Y:$6C0C2,8,1 CC0_ulDeviceWatchdog->DP:$6C0C3 CC0_RCX_COMM_COS_READY->Y:$6C0C4,0,1 CC0_RCX_COMM_COS_RUN->Y:$6C0C4,1,1 CC0_RCX_COMM_COS_BUS_ON->Y:$6C0C4,2,1 CC0_RCX_COMM_COS_CONFIG_LOCKED->Y:$6C0C4,3,1 CC0_RCX_COMM_COS_CONFIG_NEW->Y:$6C0C4,4,1 CC0_RCX_COMM_COS_RESTART_REQ->Y:$6C0C4,5,1 CC0_RCX_COMM_COS_RESTART_REQ_ENA->Y:$6C0C4,6,1 CC0_RCX_COMM_COS_DMA->Y:$6C0C4,7,1 CC0_ulCommunicationState->DP:$6C0C5 CC0_ulCommunicationError->DP:$6C0C6 CC0_usVersion->Y:$6C0C7,0,16 CC0_usWatchdogTime->X:$6C0C7,0,16 CC0_bPDInHskMode->Y:$6C0C8,0,8 CC0_bPDInSource->Y:$6C0C8,8,8 CC0_bPDOutHskMode->X:$6C0C8,0,8 CC0_bPDOutSource->X:$6C0C8,8,8 CC0_ulHostWatchdog->DP:$6C0C9 CC0_ulErrorCount->DP:$6C0CA CC0_bErrorLogInd->Y:$6C0CB,0,8...
  • Page 54 ACC-72EX User Manual CC1_bPDInSource->Y:$6D008,8,8 CC1_bPDOutHskMode->X:$6D008,0,8 CC1_bPDOutSource->X:$6D008,8,8 CC1_ulHostWatchdog->DP:$6D009 CC1_ulErrorCount->DP:$6D00A CC1_bErrorLogInd->Y:$6D00B,0,8 CC1_bErrorPDInCnt->Y:$6D00B,8,8 CC1_bErrorPDOutCnt->X:$6D00B,0,8 CC1_bErrorSyncCnt->X:$6D00B,8,8 CC1_bSyncHskMode->Y:$6D00C,0,8 CC1_bSyncSource->Y:$6D00C,8,8 CC1_ulSlaveState->DP:$6D00E CC1_ulSlaveErrLogInd->DP:$6D00F CC1_ulNumOfConfigSlaves->DP:$6D010 CC1_ulNumOfActiveSlaves->DP:$6D011 CC1_ulNumOfDiagSlaves->DP:$6D012 DPRAM Memory Map...
  • Page 55: Dpram Data Processing

    Memory simultaneously, several handshaking modes can be used to guarantee data consistency. Each sub-block defines the type of handshaking, if any, it requires. The ACC-72EX Setup Assistant software output file lists the type of handshaking required for each of the sub-blocks available on the COMX module.
  • Page 56 ACC-72EX User Manual Hilscher Documentation ACC-72EX Setup Assistant usWaitingPackages SRMB_usWaitingPackages ulDest SRMB_ulDest ulSrc SRMB_ulSrc ulDestId SRMB_ulDestId ulSrcId SRMB_ulSrcId ulLen SRMB_ulLen ulId SRMB_ulId ulState SRMB_ulState ulCmd SRMB_ulCmd ulExt SRMB_ulExt ulRout SRMB_ulRout … SRMB_ultData0 .. SRMB_ultData20 The size of a packet is always at least 40 bytes. Depending on the command, a packet may or may not have a payload in the data field (tData).
  • Page 57 ACC-72EX User Manual  Identifier The ulId field is used to identify a specific packet among others of the same kind. That way the application or driver can match a specific reply or confirmation packet to a previous request packet. The receiving task does not change this field and passes it back to the originator of the packet.
  • Page 58: About System And Channel Mailbox

    ACC-72EX User Manual About System and Channel Mailbox The preferred way to address the netX operating system, rcX, is through the system mailbox. The preferred way to address a protocol stack is through its channel mailbox. All mailboxes, however, have a mechanism to route packets to any communication channel or the system channel.
  • Page 59: Command And Acknowledge

    ACC-72EX User Manual Command and Acknowledge To ensure data consistency over the content of a mailbox, the firmware uses a pair of flags, each for one direction. Engaging these flags gives access rights alternating to either the user application or the netX firmware.
  • Page 60 ACC-72EX User Manual The following flowcharts illustrate how the transfer mechanism (send and receive packets) works. In order to send a packet, first the function checks if the size of the packet to be sent exceeds the mailbox size. If both the Host Send Mailbox Command flag and the netX Send Mailbox Acknowledge flag are either set or cleared, the host application is allowed to send the packet.
  • Page 61 ACC-72EX User Manual In order to receive a packet, the function checks if the netX Receive Mailbox Command flag and the Host Receive Mailbox Acknowledge flag have different values. If so, the host application is allowed to access the mailbox. When the host is done copying data from the mailbox, the host toggles the Host Receive Mailbox Acknowledge flag to give control to the netX firmware.
  • Page 62: Using Ulsrc And Ulsrcid

    ACC-72EX User Manual Using ulSrc and ulSrcId Generally, a netX protocol stack is addressed through its communication channel mailbox. The example below shows how a host application addresses a protocol stack running in the context of the netX chip. The application is identified by a number (#444 in this example). The application consists of three processes numbered #11, #22 and #33.
  • Page 63: Client/Server Mechanism

    ACC-72EX User Manual Client/Server Mechanism Depending on the message destination or packet protocol, the UMAC program or application can act as a client or a server. This section explains both methods, but selection of the appropriate method depends on the destination or protocol option.
  • Page 64: Input/Output Data Image

     DMA (Direct Memory Access) Mode However, the modules used in ACC-72EX only support the DPM mode, and only Hilscher PCI cards support DMA mode. In DPM Mode, handshaking between the UMAC (host) program and netX is required for any data transfer.
  • Page 65 ACC-72EX User Manual Step-by-Step Procedure Step 1 The protocol stack sends data from the internal OUT buffer to the network and receives data from the network in the internal IN buffer. Step 2 The application has control over the dual-port memory and exchanges data with the input and output data images in the dual-port memory.
  • Page 66 ACC-72EX User Manual Time-Related View The following figure shows the procedure in a time-related view. Output Data Exchange 1. The protocol stack constantly transmits data from the buffer to the network. 2. The application has control over the dual-port memory and can copy data to the output data image.
  • Page 67: Start / Stop Communication

    ACC-72EX User Manual In case of a network fault (e.g. disconnected network cable), a slave firmware keeps the last state of the input data image. As soon as the firmware detects the network fault, it clears the Communicating flag in the netX communication flags. The input data should then no longer Note be evaluated.
  • Page 68: Reset Command

    ACC-72EX User Manual Reset Command System Reset vs. Channel Initialization There are several methods to restart the netX firmware. The first is called “System Reset.” The System Reset affects the netX operating system, rcX, and the protocol stacks. It forces the chip to immediately stop all running protocol stacks and the rcX itself.
  • Page 69 ACC-72EX User Manual Value Definition/Description $55AA55AA System reset cookie The image below illustrates the steps the host application has to perform in order to execute a systemwide reset on the netX chip through the dual-port memory. System Reset Timing The duration of the reset outlined above depends on the firmware. Typically, the NSF_READY flag is cleared within around 100 –...
  • Page 70 ACC-72EX User Manual Below is the sequence: CC0_RCX_APP_COS_INIT=1 CC0_RCX_APP_COS_INIT_ENABLE=1 HCCC0_HCF_HOST_COS_CMD=1 During channel initialization, the RCX_COMM_COS_READY flag and the RCX_COMM_COS_RUN flag are cleared together. The RCX_COMM_COS_READY flag stays cleared for at least 20 ms before it is set again, indicating that the initialization has finished. The RCX_COMM_COS_RUN flag is set if a valid configuration was found.
  • Page 71: System Reset Through Packets

    ACC-72EX User Manual System Reset through Packets The netX chip can be reset using a packet instead of the dual-port memory. The request packet is passed through the system mailbox. All open network connections are interrupted immediately, regardless of their current state. Reinitializing the channel is not allowed if the database is locked.
  • Page 72: Software Setup

    Hilscher Corporation. With the power off, plug the ACC-72EX into the UBUS backplane and turn on the power to the UMAC rack. Connect the diagnostic port to a USB port on the PC using a micro-USB type cable.
  • Page 73 ACC-72EX User Manual Start a new project or load an existing project from the File menu: Select the COMX module to which the USB is connected from the Fieldbus protocol list. In this example, an EtherNet/IP module has been selected:...
  • Page 74 ACC-72EX User Manual Drag and drop the module onto the BusLine in the netDevice window (notice that the module can only be inserted on the BusLine). Establish USB communication to the COMX gateway by right-clicking on the device icon and selecting “Configuration…”:...
  • Page 75 ACC-72EX User Manual In the netDevice Configuration window, select the Driver folder under Settings folder in the NavigationArea, check the checkmark box for netX Driver on the driver list, and click Apply: Select the netXDriver node under the Driver folder in the Navigation Area and select the port resembling the USB connection to the COMX module.
  • Page 76 ACC-72EX User Manual Check Windows Device Manager in order to identify which COM port provides the connection to the Hilscher COMX module. Note Software setup...
  • Page 77 SCtrl_ulSystemCommandCOS=$55AA55AA Note HCSC_HSF_RESET=1 Note that ACC-72EX Setup Assistant software automatically resets the cards if it cannot detect the identification cookie. The rest of the steps are protocol/module dependent, and it is strongly recommended to follow the directions for these modules in Hilscher documentation available through their website. The current example will be continued with specifics to EtherNet/IP Scanner/Adapter setup.
  • Page 78 ACC-72EX User Manual Now that the COMX driver for communication between the PC and COMX module using the diagnostic port has been set up, go through protocol specific setup parameters under the Configuration folder in the Navigation Area. Software setup...
  • Page 79 ACC-72EX User Manual After finishing modifying the settings for the device, press the OK button. Back in the netDevice tree, right click on the device icon, and select Connect (as shown below). Once connected, right click on the device icon one more time and select Download (as shown below).
  • Page 80: Acc-72Ex Setup Assistant

    Third party slave modules can be added to that list by going to “Import Device Descriptions…” in the Network tab: See Appendix C for an example setup using an ACC-72EX Ethernet IP slave with a third party Ethernet IP master PLC controller.
  • Page 81 The program asks for a folder location to save the M-Variable definition and memory map files. This will generate three files which are named based upon the ACC-72EX base address. The M-variable definition and its header file can be used in writing PLCs and motion programs in PMAC.
  • Page 82: Turbo Pmac Setup For Using Acc-72Ex

    Hilscher. Initialization PLC Recall that ACC-72EX requires a reset after each power up, power cycle, $$$ (reset), or $$$*** (factory default reset). This can be achieved with a startup (or initialization) PLC. Example: CLOSE...
  • Page 83: Watchdog Function

    CC0_RCX_APP_COS_BUS_ON=1 // Setting the Bus On flag for 1st ACC-72EX CC0_RCX_APP_COS_BUS_ON_ENABLE=1 // Enabling the execution of Bus On Flag for 1st ACC-72EX S_CC0_RCX_APP_COS_BUS_ON=1 // Setting the Bus On flag for 2nd ACC-72EX S_CC0_RCX_APP_COS_BUS_ON_ENABLE=1 // Enabling the execution of Bus On Flag for 2nd ACC-72EX...
  • Page 84: Locating The Input/Output Data Image In Pmac

    ACC-72EX User Manual Locating the Input/Output Data Image in PMAC Although the ACC-72EX Setup Assistant software defines M-Variables for accessing setup registers and flags in COMX modules, it does not assign any M-Variables for input/output data images. However, starting address and size of each input/output processed data image in’s PMAC memory addressing format are calculated and included as a part of the memory map file that is generated.
  • Page 85: Reading/Writing From/To Input/Output Data Images

    ACC-72EX User Manual |--- Subblock 6: PROCESS DATA IMAGE Size: 5760 bytes Start Offset: $6CA60 Transfer Direction: IN (netX to Host System) Transfer Type: DPM (Dual-Port Memory) Handshake Mode: BUFFERED, HOST CONTROLLED Handshake Bit: |--- Subblock 7: HIGH PRIORITY DATA IMAGE...
  • Page 86 ACC-72EX User Manual This example demonstrates a 16-bit integer register transfer. Notice that only the first 16-bit portion of the integer in P200 will be transferred. CLOSE END GAT DEL GAT #include "M-VariableDefinition_$6C000.pmc" #include "M-VariableDefinition_$74000.pmc" #define Master_OutputData1 M2000 #define Master_InputData1...
  • Page 87: Power Pmac Setup For Using Acc-72Ex

    ACC-72EX dual ported RAM from Power PMAC, no additional software is required for memory mapping and/or identification in comparison to Turbo PMAC. This section of the manual covers Power PMAC’s built in data structures for ACC-72EX in addition to providing examples for header files, start-up and handshaking PLCs.
  • Page 88 Index values j in the square brackets can be integer constants in the range 0 to 262,143, or local L- variables. No expressions or non-integer constants are permitted. The size of the DPRAM is dependent on the ACC-72EX communication option and installed Hilscher ComX module. Acc72Ex[i].Udata16[j] is located in the same registers as Acc72Ex[i].Data8[2*j] to Acc72Ex[i].Data8[2*j+1], Acc72Ex[i].Idata16[j], Acc72Ex[i].Idata32[j/2] and...
  • Page 89 Index values j in the square brackets can be integer constants in the range 0 to 262,143, or local L- variables. No expressions or non-integer constants are permitted. The size of the DPRAM is dependent on the ACC-72EX communication option and installed Hilscher ComX module. Acc72Ex[i].Udata32[j] is located in the same registers as Acc72Ex[i].Data8[4*j] to Acc72Ex[i].Data8[4*j+5], Acc72Ex[i].Idata16[2*j] to Acc72Ex[i].Idata16[2*j+1],...
  • Page 90: C Programming Access To Acc-72Ex Structures

    ACC-72EX User Manual C Programming Access to ACC-72EX Structures One can use the following header file full of functions to read from and write to the aforementioned Acc72EX[i] structures from a C program. The input argument CardIndex is i and ArrayIndex is j as above.
  • Page 91 ACC-72EX User Manual void Acc72EX_SetIdata32(unsigned int CardIndex, unsigned int ArrayIndex, Input) unsigned int *myptr = (unsigned int *)piom + (DPRCSBase + CardIndex * 0x100000) / 4; myptr[ArrayIndex] = ((Input << 16) >> 8); myptr[ArrayIndex + 1] = ((Input >> 16) << 8);...
  • Page 92: Global Header For Power Pmac Projects

    /* ACC-72EX Power PMAC Project Header /* This header file provides macro definitions for most common registers in Hilsche COMX modules /* used in ACC-72EX. /* Instructions: /* Uncomment the related #define depending on ACC-72EX option /***********************************************************************************************/ //#define __PROFIBUS_DP_Master__ //#define __PROFIBUS_DP_Slave__...
  • Page 93 ACC-72EX User Manual #define CC0I_bNumberOfBlocks Acc72Ex[0].Data8[83] #define CC0I_ulSizeOfChannel Acc72Ex[0].Udata32[21] #define CC0I_usCommunicationClass Acc72Ex[0].Udata16[44] #define CC0I_usProtocolClass Acc72Ex[0].Udata16[45] #define CC0I_usConformanceClass Acc72Ex[0].Udata16[46] // Communication Channel 1 Information Structure #define CC1I_bChannelType Acc72Ex[0].Data8[96] #define CC1I_bChannelId Acc72Ex[0].Data8[97] #define CC1I_bSizePositionOfHandshake Acc72Ex[0].Data8[98] #define CC1I_bNumberOfBlocks Acc72Ex[0].Data8[99] #define CC1I_ulSizeOfChannel Acc72Ex[0].Udata32[25] #define CC1I_usCommunicationClass Acc72Ex[0].Udata16[52]...
  • Page 94 ACC-72EX User Manual #define SSMB_ulState Acc72Ex[0].Udata32[71] #define SSMB_ulCmd Acc72Ex[0].Udata32[72] #define SSMB_ulExt Acc72Ex[0].Udata32[73] #define SSMB_ulRout Acc72Ex[0].Udata32[74] ptr SSMB_Data8(84)->*; ptr SSMB_Data16(42)->*; ptr SSMB_Data32(21)->*; // NETX_SYSTEM_RECEIVE_MAILBOX #define SRMB_usWaitingPackages Acc72Ex[0].Udata16[192] #define SRMB_ulDest Acc72Ex[0].Udata32[97] #define SRMB_ulSrc Acc72Ex[0].Udata32[98] #define SRMB_ulDestId Acc72Ex[0].Udata32[99] #define SRMB_ulSrcId Acc72Ex[0].Udata32[100] #define SRMB_ulLen Acc72Ex[0].Udata32[101]...
  • Page 95 ACC-72EX User Manual #define HCCC1_NCF_PD0_OUT_ACK Acc72Ex[0].Udata16[262].6 #define HCCC1_NCF_PD0_IN_CMD Acc72Ex[0].Udata16[262].7 #define HCCC1_NCF_PD1_OUT_ACK Acc72Ex[0].Udata16[262].8 #define HCCC1_NCF_PD1_IN_CMD Acc72Ex[0].Udata16[262].9 // CC1 usHostFlags #define HCCC1_usHostFlags Acc72Ex[0].Udata16[263] #define HCCC1_HCF_HOST_COS_CMD Acc72Ex[0].Udata16[263].2 #define HCCC1_HCF_NETX_COS_ACK Acc72Ex[0].Udata16[263].3 #define HCCC1_HCF_SEND_MBX_CMD Acc72Ex[0].Udata16[263].4 #define HCCC1_HCF_RECV_MBX_ACK Acc72Ex[0].Udata16[263].5 #define HCCC1_HCF_PD0_OUT_CMD Acc72Ex[0].Udata16[263].6 #define HCCC1_HCF_PD0_IN_ACK Acc72Ex[0].Udata16[263].7 #define HCCC1_HCF_PD1_OUT_CMD Acc72Ex[0].Udata16[263].8...
  • Page 96 ACC-72EX User Manual // CC0_CommunicationCOS #define CC0_RCX_COMM_COS_READY Acc72Ex[0].Udata16[392].0 #define CC0_RCX_COMM_COS_RUN Acc72Ex[0].Udata16[392].1 #define CC0_RCX_COMM_COS_BUS_ON Acc72Ex[0].Udata16[392].2 #define CC0_RCX_COMM_COS_CONFIG_LOCKED Acc72Ex[0].Udata16[392].3 #define CC0_RCX_COMM_COS_CONFIG_NEW Acc72Ex[0].Udata16[392].4 #define CC0_RCX_COMM_COS_RESTART_REQ Acc72Ex[0].Udata16[392].5 #define CC0_RCX_COMM_COS_RESTART_REQ_ENA Acc72Ex[0].Udata16[392].6 #define CC0_RCX_COMM_COS_DMA Acc72Ex[0].Udata16[392].7 // CC0_Status Block #define CC0_ulCommunicationState Acc72Ex[0].Udata32[197] #define CC0_ulCommunicationError Acc72Ex[0].Udata32[198] #define CC0_usVersion Acc72Ex[0].Udata16[398]...
  • Page 97 ACC-72EX User Manual #define CC2_RCX_APP_COS_BUS_ON_ENABLE Acc72Ex[0].Udata16[16004].2 #define CC2_RCX_APP_COS_INIT Acc72Ex[0].Udata16[16004].3 #define CC2_RCX_APP_COS_INIT_ENABLE Acc72Ex[0].Udata16[16004].4 #define CC2_RCX_APP_COS_LOCK_CFG Acc72Ex[0].Udata16[16004].5 #define CC2_RCX_APP_COS_LOCK_CFG_ENA Acc72Ex[0].Udata16[16004].6 #define CC2_RCX_APP_COS_DMA Acc72Ex[0].Udata16[16004].7 #define CC2_RCX_APP_COS_DMA_ENABLE Acc72Ex[0].Udata16[16004].8 #define CC2_ulDeviceWatchdog Acc72Ex[0].Udata32[8003] // CC2_CommunicationCOS #define CC2_RCX_COMM_COS_READY Acc72Ex[0].Udata16[16008].0 #define CC2_RCX_COMM_COS_RUN Acc72Ex[0].Udata16[16008].1 #define CC2_RCX_COMM_COS_BUS_ON Acc72Ex[0].Udata16[16008].2 #define CC2_RCX_COMM_COS_CONFIG_LOCKED Acc72Ex[0].Udata16[16008].3...
  • Page 98 ACC-72EX User Manual #define CC3_bErrorPDInCnt Acc72Ex[0].Data8[47661] #define CC3_bErrorPDOutCnt Acc72Ex[0].Data8[47662] #define CC3_bErrorSyncCnt Acc72Ex[0].Data8[47663] #define CC3_bSyncHskMode Acc72Ex[0].Data8[47664] #define CC3_bSyncSource Acc72Ex[0].Data8[47665] #ifdef __PROFIBUS_DP_Master__ #define CC0_PD0_OUT_OFFSET_2BYTE $980 #define CC0_PD0_OUT_SIZE_2BYTE 2880 #define CC0_PD0_IN_OFFSET_2BYTE $14C0 #define CC0_PD0_IN_SIZE_2BYTE 2880 #define CC0_PD1_OUT_OFFSET_2BYTE $8C0 #define CC0_PD1_OUT_SIZE_2BYTE #define CC0_PD1_IN_OFFSET_2BYTE $8E0...
  • Page 99 ACC-72EX User Manual #endif #ifdef __CC_Link_Slave__ #define CC0_PD0_OUT_OFFSET_2BYTE $980 #define CC0_PD0_OUT_SIZE_2BYTE #define CC0_PD0_IN_OFFSET_2BYTE $C80 #define CC0_PD0_IN_SIZE_2BYTE #define CC0_PD1_OUT_OFFSET_2BYTE $8C0 #define CC0_PD1_OUT_SIZE_2BYTE #define CC0_PD1_IN_OFFSET_2BYTE $8E0 #define CC0_PD1_IN_SIZE_2BYTE #endif #ifdef __EtherCAT_Master__ #define CC0_PD0_OUT_OFFSET_2BYTE $980 #define CC0_PD0_OUT_SIZE_2BYTE 2880 #define CC0_PD0_IN_OFFSET_2BYTE $14C0 #define CC0_PD0_IN_SIZE_2BYTE...
  • Page 100 ACC-72EX User Manual #define CC0_PD0_IN_OFFSET_2BYTE $14C0 #define CC0_PD0_IN_SIZE_2BYTE 2880 #define CC0_PD1_OUT_OFFSET_2BYTE $8C0 #define CC0_PD1_OUT_SIZE_2BYTE #define CC0_PD1_IN_OFFSET_2BYTE $8E0 #define CC0_PD1_IN_SIZE_2BYTE #endif #ifdef __PROFINET_IO_Device_Slave__ #define CC0_PD0_OUT_OFFSET_2BYTE $980 #define CC0_PD0_OUT_SIZE_2BYTE 2880 #define CC0_PD0_IN_OFFSET_2BYTE $14C0 #define CC0_PD0_IN_SIZE_2BYTE 2880 #define CC0_PD1_OUT_OFFSET_2BYTE $8C0 #define CC0_PD1_OUT_SIZE_2BYTE #define CC0_PD1_IN_OFFSET_2BYTE...
  • Page 101: Initialization Plc

    Sys.BusCtrl[15]=$4646 global CommErrorFlag=0; Initialization PLC Recall that ACC-72EX requires a reset after each power up, power cycle, $$$ (reset), or $$$*** (factory default reset). This can be achieved with a startup (or initialization) PLC. Example: // ACC-72EX initialization PLC /****************************************/...
  • Page 102 ACC-72EX User Manual L0++ L0=0 while(L0<21) CMD"SRMB_Data32(%d)->Acc72Ex[0].uData32[%d]",L0,L0+107 sendallcmds L0++ // Defining pointers to Out/In PDOs L0=0 while(L0<CC0_PD0_OUT_SIZE_2BYTE) CMD"CC0_PD0_OUT16(%d)->Acc72Ex[0].uData16[%d]",L0,L0+CC0_PD0_OUT_OFFSET _2BYTE; sendallcmds L0++ L0=0 while(L0< CC0_PD0_IN_SIZE_2BYTE) CMD"CC0_PD0_IN16(%d)->Acc72Ex[0].uData16[%d]",L0,L0+CC0_PD0_IN_OFFSET_2 BYTE sendallcmds L0++ L0=0 while(L0<CC0_PD1_OUT_SIZE_2BYTE) CMD"CC0_PD1_OUT16(%d)->Acc72Ex[0].uData16[%d]",L0,L0+CC0_PD1_OUT_OFFSET _2BYTE sendallcmds L0++ L0=0 while(L0< CC0_PD1_IN_SIZE_2BYTE) CMD"CC0_PD1_IN16(%d)->Acc72Ex[0].uData16[%d]",L0,L0+ CC0_PD1_IN_OFFSET_2BYTE sendallcmds...
  • Page 103: Startup

    ACC-72EX User Manual // Toggle Communication Channel 0’s Change of State Acknowledge bit in // order to read the CC0_RCX_COMM_COS_RUN which is a part of Communication // Channel 0 State Register HCCC0_HCF_NETX_COS_ACK = HCCC0_HCF_NETX_COS_ACK ^ 1 (CommErrorFlag==0) while ((CC0_RCX_COMM_COS_RUN) == 0)
  • Page 104: Enabling The Communication Bus

    Locating the Input/Output Data Image in PMAC The header file provided for use with ACC-72EX provides proper addressing and offsets for each of the PDOs available for each communication module. There are also pointers declared in the header file and are defined as a part of the initialization PLC shown above.
  • Page 105 ACC-72EX User Manual // ACC-72EX Reading from PDO Sample PLC /****************************************/ open Acc72EX_PDO_ReadPLC if(HCCC0_NCF_PD0_IN_CMD == HCCC0_HCF_PD0_IN_ACK) // If CMD flag and ACK flags are // equal, then the input data image // register can be read P201=CC0_PD0_IN16(0); // read the input data image register...
  • Page 106: Diagnostics

    DIAGNOSTICS LEDs There is one system LED (SYS LED) per ACC-72EX. SYS LED is always present as described below. There are up to 4 LEDs per communication and application channel. These LEDs, like the communication channel LED (COM LED), are network-specific and are described separately.
  • Page 107: Devicenet - Master - Opt20

    ACC-72EX User Manual DeviceNet – Master – OPT20 The following table describes the meaning of the LEDs for the comX communication modules when the firmware of the DeviceNet Master protocol is loaded to the comX communication module: MNS LED (COM0)
  • Page 108: Canopen - Slave - Opt31

    ACC-72EX User Manual CANopen – Slave – OPT31 The following table describes the meaning of the LEDs for the comX CANopen Slave communication modules (COMX-CA-CO/ COMX-CNCOS) when the firmware of the CANopen Slave protocol is loaded to the comX communication module:...
  • Page 109: Ethercat - Master - Opt60

    ACC-72EX User Manual EtherCAT – Master – OPT60 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX 100CA-RE/ COMX 100CN-RE) when the firmware of the EtherCAT Master protocol is loaded to the comX communication module:...
  • Page 110: Ethercat - Slave - Opt61

    ACC-72EX User Manual EtherCAT – Slave – OPT61 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX 100CA-RE/ COMX 100CN-RE) when the firmware of the EtherCAT Slave protocol is loaded to the comX communication module:...
  • Page 111: Ethernet/Ip - Scanner/Master - Opt70

    ACC-72EX User Manual EtherNet/IP – Scanner/Master – OPT70 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX-CA-RE/ COMX-CNRE) when the firmware of the EtherNet/IP Scanner (Master) protocol is loaded to the comX communication module:...
  • Page 112: Ethernet/Ip - Adaptor/Slave - Opt71

    ACC-72EX User Manual EtherNet/IP – Adaptor/Slave – OPT71 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX-CA-RE/ COMX-CNRE) when the firmware of the EtherNet/IP Adapter (Slave) protocol is loaded to the comX communication module:...
  • Page 113: Open Modbus/Tcp - Opt80

    ACC-72EX User Manual Open Modbus/TCP – OPT80 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX 100CA-RE/ COMX 100CN-RE) when the firmware of the Open Modbus/TCP protocol is loaded to the comX communication module:...
  • Page 114: Profinet Io - Controller - Opt90

    ACC-72EX User Manual PROFINET IO – Controller – OPT90 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX 100CA-RE/ COMX 100CN-RE) when the firmware of the PROFINET IO-RT Controller protocol is loaded to the comX communication module:...
  • Page 115: Profinet Io - Device - Opt91

    ACC-72EX User Manual PROFINET IO – Device – OPT91 The following table describes the meaning of the LEDs for the comX Real-Time Ethernet communication modules (COMX-CA-RE/ COMX-CNRE) when the firmware of the PROFINET IO-RT-Device protocol is loaded to the comX communication module:...
  • Page 116: Appendix A - Setup Examples

    CompactLogix controller (1769-L18ERM-BB1B) as a master. SYCON.net for netX 1.310 was used in this example. With the power off, plug the ACC-72EX into the UBUS backplane, and then power the UMAC rack. Connect the diagnostic port to a USB port on the PC using a micro-USB type cable.
  • Page 117 ACC-72EX User Manual Select the COMX module, to which the USB is connected, from the Fieldbus protocol list: Drag and drop the module onto the BusLine in the netDevice window (notice that the module can only be inserted on the BusLine):...
  • Page 118 ACC-72EX User Manual Establish USB communications to the COMX gateway by right clicking on the device icon and selecting “Configuration…”: In the netDevice Configuration window, select the Driver folder under Settings folder in the Navigation Area, check the checkmark box for netX Driver on the driver list, and click Apply:...
  • Page 119 ACC-72EX User Manual Select the netX Driver node in Driver folder in the Navigation Area, and select the port for the USB connection to the COMX module. Click Save and Apply (just click OK if Apply is grayed out): Note: You can Check Windows Device Manager in order to identify which COM port provides the connection to the Hilscher COMX module: Appendix A –...
  • Page 120 Make sure the device receives a system wide reset using the PMAC suggested M-variables ulSystemCommandCOS and HSF_RESET registers as shown here. SCtrl_ulSystemCommandCOS=$55AA55AA Note HCSC_HSF_RESET=1 Note that ACC-72EX Setup Assistant software automatically resets the cards if it cannot detect the identification cookie. Appendix A – Setup Examples...
  • Page 121 ACC-72EX User Manual Set the IP address for the COMX module in the General Configuration window: Set Connections: Appendix A – Setup Examples...
  • Page 122: Rslogix 5000 Setup

    ACC-72EX User Manual Set Instance IDs and Data lengths in the Assembly window. 240 is the maximum length for the CompactLogix 1769-L18ERM-BB1B controller. RSLogix 5000 Setup RSLogix 5000 version 20 is used in this example. Launch RSLogix, and click on Who Active in the Communications pull down menu to find the CompactLogix controller: Appendix A –...
  • Page 123 Select the controller, and click the Go Online button to test communication: The Controller OK indicator box should change to green like below: Next, install the EDS file for the Hilscher COMX slave of the ACC-72EX. Go to the Tools pull down menu, and select EDS Hardware Installation Tool:...
  • Page 124 ACC-72EX User Manual Click Next: Select the Register an EDS file(s) radial button: Browse to and select the Hilsher EDS file. EDS files can be downloaded at hilscher.com at http://www.hilscher.com/hcuk/support_software.html . Click Next. Appendix A – Setup Examples...
  • Page 125 ACC-72EX User Manual Follow the directions in the remaining windows for finishing the EDS installation. The next step will apply the EDS installation, but first the controller needs to be offline. Click the Go Offline selection under the Communications tab (Go Offline is displayed when the controller is online, and Go Online is displayed when offline).
  • Page 126 ACC-72EX User Manual The created entry should appear under Ethernet in the Control Organizer. Right-click on it, and select Properties: Under the General tab, set the IP address of the ACC-72EX: Appendix A – Setup Examples...
  • Page 127 ACC-72EX User Manual Check the settings under the Connection tab: Double-click on Controller Tags, and open the Monitor Tags tab: Appendix A – Setup Examples...
  • Page 128 ACC-72EX User Manual Click on “+” to expand the input data entries. Now input values from the ACC-72EX can be seen in the Value column (controller must be online). Click on “+” to expand the output data entries. The values seen in the Value column should now be seen as inputs in the ACC-72EX.
  • Page 129 Click on the File/Misc. tab, and then drag and drop COP (copy) onto a rung. Look for a green dot to appear on the left side of the rung when the cursor is hovered there, and then drop the COP function. To copy all the ACC-72EX inputs into corresponding CopactLogix outputs, set Source COMX_RE_EIS:I.Data[0],...
  • Page 130: Comx Test Plc

    CLOSE open plc2 clr timer =4000 msec // Reset Time-out Timer //M_CC0_RCX_APP_COS_APP_READY=1 IF (M_HCSC_HSF_HOST_COS_CMD = M_HCSC_NSF_HOST_COS_ACK) M_CC0_RCX_APP_COS_BUS_ON=1 // Setting the Bus On flag for 1st ACC-72EX M_CC0_RCX_APP_COS_BUS_ON_ENABLE=1 M_HCSC_HSF_HOST_COS_CMD = M_HCSC_HSF_HOST_COS_CMD^1 ENDIF timer = 1000 msec // Reset Time-out Timer ENABLE PLC 28...
  • Page 131 ACC-72EX User Manual M_HCCC0_HCF_PD0_OUT_CMD = M_HCCC0_HCF_PD0_OUT_CMD^1 // Toggling the CMD flag (^: XOR) ENDIF CLOSE OPEN PLC 11 CLEAR IF (M_HCCC0_NCF_PD0_IN_CMD = M_HCCC0_HCF_PD0_IN_ACK) // If CMD flag and ACK flags are M_HCCC0_HCF_PD0_IN_ACK = M_HCCC0_HCF_PD0_IN_ACK ^ 1 // toggle the acknowledge bit...
  • Page 132 ACC-72EX User Manual #define M_CC1I_bNumberOfBlocks M5040 #define M_CC1I_ulSizeOfChannel M5041 #define M_CC1I_usCommunicationClass M5042 #define M_CC1I_usProtocolClass M5043 #define M_CC1I_usConformanceClass M5044 #define M_CC2I_bChannelType M5045 #define M_CC2I_bChannelId M5046 #define M_CC2I_bSizePositionOfHandshake M5047 #define M_CC2I_bNumberOfBlocks M5048 #define M_CC2I_ulSizeOfChannel M5049 #define M_CC2I_usCommunicationClass M5050 #define M_CC2I_usProtocolClass M5051 #define M_CC2I_usConformanceClass...
  • Page 133 ACC-72EX User Manual #define M_SRMB_usWaitingPackages M5111 #define M_SRMB_ulDest M5112 #define M_SRMB_ulSrc M5113 #define M_SRMB_ulDestId M5114 #define M_SRMB_ulSrcId M5115 #define M_SRMB_ulLen M5116 #define M_SRMB_ulId M5117 #define M_SRMB_ulState M5118 #define M_SRMB_ulCmd M5119 #define M_SRMB_ulExt M5120 #define M_SRMB_ulRout M5121 #define M_SRMB_ultData0 M5122 #define M_SRMB_ultData1...
  • Page 134 ACC-72EX User Manual #define M_HCCC1_NCF_SEND_MBX_ACK M5182 #define M_HCCC1_NCF_RECV_MBX_CMD M5183 #define M_HCCC1_NCF_PD0_OUT_ACK M5184 #define M_HCCC1_NCF_PD0_IN_CMD M5185 #define M_HCCC1_NCF_PD1_OUT_ACK M5186 #define M_HCCC1_NCF_PD1_IN_CMD M5187 #define M_HCCC1_usHostFlags M5188 #define M_HCCC1_HCF_HOST_COS_CMD M5189 #define M_HCCC1_HCF_NETX_COS_ACK M5190 #define M_HCCC1_HCF_SEND_MBX_CMD M5191 #define M_HCCC1_HCF_RECV_MBX_ACK M5192 #define M_HCCC1_HCF_PD0_OUT_CMD M5193 #define M_HCCC1_HCF_PD0_IN_ACK...
  • Page 135 ACC-72EX User Manual #define M_HCAC0_HCF_PD0_OUT_CMD M5253 #define M_HCAC0_HCF_PD0_IN_ACK M5254 #define M_HCAC0_HCF_PD1_OUT_CMD M5255 #define M_HCAC0_HCF_PD1_IN_ACK M5256 #define M_HCAC1_usNetxFlags M5257 #define M_HCAC1_NCF_COMMUNICATING M5258 #define M_HCAC1_NCF_ERROR M5259 #define M_HCAC1_NCF_HOST_COS_ACK M5260 #define M_HCAC1_NCF_NETX_COS_CMD M5261 #define M_HCAC1_NCF_SEND_MBX_ACK M5262 #define M_HCAC1_NCF_RECV_MBX_CMD M5263 #define M_HCAC1_NCF_PD0_OUT_ACK M5264 #define M_HCAC1_NCF_PD0_IN_CMD...
  • Page 136 ACC-72EX User Manual Next file: // M-VariableDefinition_$6C000.pmc CLOSE END GAT DEL GAT #Include "MacroNameDefinition_$6C000.h" M_SI_abCookie_0_->Y:$6C000,0,8 M_SI_abCookie_1_->Y:$6C000,8,8 M_SI_abCookie_2_->X:$6C000,0,8 M_SI_abCookie_3_->X:$6C000,8,8 M_SI_ulDpmTotalSize->DP:$6C001 M_SI_ulDeviceNumber->DP:$6C002 M_SI_ulSerialNumber->DP:$6C003 M_SI_ausHwOptions_0_->Y:$6C004,0,16 M_SI_ausHwOptions_1_->X:$6C004,0,16 M_SI_ausHwOptions_2_->Y:$6C005,0,16 M_SI_ausHwOptions_3_->X:$6C005,0,16 M_SI_usManufacturer->Y:$6C006,0,16 M_SI_usProductionDate->X:$6C006,0,16 M_SI_ulLicenseFlags1->DP:$6C007 M_SI_ulLicenseFlags2->DP:$6C008 M_SI_usNetxLicenseID->Y:$6C009,0,16 M_SI_usNetxLicenseFlags->X:$6C009,0,16 M_SI_usDeviceClass->Y:$6C00A,0,16 M_SI_bHwRevision->X:$6C00A,0,8 M_SI_bHwCompatibility->X:$6C00A,8,8 M_SI_bDevIdNumber->Y:$6C00B,0,8 M_SCI_bChannelType->Y:$6C00C,0,8 M_SCI_bSizePositionOfHandshake->X:$6C00C,0,8 M_SCI_bNumberOfBlocks->X:$6C00C,8,8 M_SCI_ulSizeOfChannel->DP:$6C00D M_SCI_usSizeOfMailbox->Y:$6C00E,0,16 M_SCI_usMailboxStartOffset->X:$6C00E,0,16...
  • Page 137 ACC-72EX User Manual M_AC0I_bSizePositionOfHandshake->X:$6C024,0,8 M_AC0I_bNumberOfBlocks->X:$6C024,8,8 M_AC0I_ulSizeOfChannel->DP:$6C025 M_AC1I_bChannelType->Y:$6C028,0,8 M_AC1I_bChannelId->Y:$6C028,8,8 M_AC1I_bSizePositionOfHandshake->X:$6C028,0,8 M_AC1I_bNumberOfBlocks->X:$6C028,8,8 M_AC1I_ulSizeOfChannel->DP:$6C029 M_SCtrl_ulSystemCommandCOS->DP:$6C02E M_SStat_ulSystemCOS->DP:$6C030 M_SStat_ulSystemStatus->DP:$6C031 M_SStat_ulSystemError->DP:$6C032 M_SStat_ulBootError->DP:$6C033 M_SStat_ulTimeSinceStart->DP:$6C034 M_SStat_usCpuLoad->Y:$6C035,0,16 M_SStat_ulHWFeatures->DP:$6C036 M_SSMB_usPackagesAccepted->Y:$6C040,0,16 M_SSMB_ulDest->DP:$6C041 M_SSMB_ulSrc->DP:$6C042 M_SSMB_ulDestId->DP:$6C043 M_SSMB_ulSrcId->DP:$6C044 M_SSMB_ulLen->DP:$6C045 M_SSMB_ulId->DP:$6C046 M_SSMB_ulState->DP:$6C047 M_SSMB_ulCmd->DP:$6C048 M_SSMB_ulExt->DP:$6C049 M_SSMB_ulRout->DP:$6C04A M_SSMB_ultData0->DP:$6C04B M_SSMB_ultData1->DP:$6C04C M_SSMB_ultData2->DP:$6C04D M_SSMB_ultData3->DP:$6C04E M_SSMB_ultData4->DP:$6C04F M_SSMB_ultData5->DP:$6C050 M_SSMB_ultData6->DP:$6C051 M_SSMB_ultData7->DP:$6C052 M_SSMB_ultData8->DP:$6C053 M_SSMB_ultData9->DP:$6C054 M_SSMB_ultData10->DP:$6C055...
  • Page 138 ACC-72EX User Manual M_SRMB_ultData12->DP:$6C077 M_SRMB_ultData13->DP:$6C078 M_SRMB_ultData14->DP:$6C079 M_SRMB_ultData15->DP:$6C07A M_SRMB_ultData16->DP:$6C07B M_SRMB_ultData17->DP:$6C07C M_SRMB_ultData18->DP:$6C07D M_SRMB_ultData19->DP:$6C07E M_SRMB_ultData20->DP:$6C07F M_HCSC_bNetxFlags->X:$6C080,0,8 M_HCSC_NSF_READY->X:$6C080,0,1 M_HCSC_NSF_ERROR->X:$6C080,1,1 M_HCSC_NSF_HOST_COS_ACK->X:$6C080,2,1 M_HCSC_NSF_NETX_COS_CMD->X:$6C080,3,1 M_HCSC_NSF_SEND_MBX_ACK->X:$6C080,4,1 M_HCSC_NSF_RECV_MBX_CMD->X:$6C080,5,1 M_HCSC_bHostFlags->X:$6C080,8,8 M_HCSC_HSF_RESET->X:$6C080,8,1 M_HCSC_HSF_BOOTSTART->X:$6C080,9,1 M_HCSC_HSF_HOST_COS_CMD->X:$6C080,10,1 M_HCSC_HSF_NETX_COS_ACK->X:$6C080,11,1 M_HCSC_HSF_SEND_MBX_CMD->X:$6C080,12,1 M_HCSC_HSF_RECV_MBX_ACK->X:$6C080,13,1 M_HCCC0_usNetxFlags->Y:$6C082,0,16 M_HCCC0_NCF_COMMUNICATING->Y:$6C082,0,1 M_HCCC0_NCF_ERROR->Y:$6C082,1,1 M_HCCC0_NCF_HOST_COS_ACK->Y:$6C082,2,1 M_HCCC0_NCF_NETX_COS_CMD->Y:$6C082,3,1 M_HCCC0_NCF_SEND_MBX_ACK->Y:$6C082,4,1 M_HCCC0_NCF_RECV_MBX_CMD->Y:$6C082,5,1 M_HCCC0_NCF_PD0_OUT_ACK->Y:$6C082,6,1 M_HCCC0_NCF_PD0_IN_CMD->Y:$6C082,7,1 M_HCCC0_NCF_PD1_OUT_ACK->Y:$6C082,8,1 M_HCCC0_NCF_PD1_IN_CMD->Y:$6C082,9,1 M_HCCC0_usHostFlags->X:$6C082,0,16 M_HCCC0_HCF_HOST_COS_CMD->X:$6C082,2,1 M_HCCC0_HCF_NETX_COS_ACK->X:$6C082,3,1 M_HCCC0_HCF_SEND_MBX_CMD->X:$6C082,4,1...
  • Page 139 ACC-72EX User Manual M_HCCC2_NCF_PD0_IN_CMD->Y:$6C084,7,1 M_HCCC2_NCF_PD1_OUT_ACK->Y:$6C084,8,1 M_HCCC2_NCF_PD1_IN_CMD->Y:$6C084,9,1 M_HCCC2_usHostFlags->X:$6C084,0,16 M_HCCC2_HCF_HOST_COS_CMD->X:$6C084,2,1 M_HCCC2_HCF_NETX_COS_ACK->X:$6C084,3,1 M_HCCC2_HCF_SEND_MBX_CMD->X:$6C084,4,1 M_HCCC2_HCF_RECV_MBX_ACK->X:$6C084,5,1 M_HCCC2_HCF_PD0_OUT_CMD->X:$6C084,6,1 M_HCCC2_HCF_PD0_IN_ACK->X:$6C084,7,1 M_HCCC2_HCF_PD1_OUT_CMD->X:$6C084,8,1 M_HCCC2_HCF_PD1_IN_ACK->X:$6C084,9,1 M_HCCC3_usNetxFlags->Y:$6C085,0,16 M_HCCC3_NCF_COMMUNICATING->Y:$6C085,0,1 M_HCCC3_NCF_ERROR->Y:$6C085,1,1 M_HCCC3_NCF_HOST_COS_ACK->Y:$6C085,2,1 M_HCCC3_NCF_NETX_COS_CMD->Y:$6C085,3,1 M_HCCC3_NCF_SEND_MBX_ACK->Y:$6C085,4,1 M_HCCC3_NCF_RECV_MBX_CMD->Y:$6C085,5,1 M_HCCC3_NCF_PD0_OUT_ACK->Y:$6C085,6,1 M_HCCC3_NCF_PD0_IN_CMD->Y:$6C085,7,1 M_HCCC3_NCF_PD1_OUT_ACK->Y:$6C085,8,1 M_HCCC3_NCF_PD1_IN_CMD->Y:$6C085,9,1 M_HCCC3_usHostFlags->X:$6C085,0,16 M_HCCC3_HCF_HOST_COS_CMD->X:$6C085,2,1 M_HCCC3_HCF_NETX_COS_ACK->X:$6C085,3,1 M_HCCC3_HCF_SEND_MBX_CMD->X:$6C085,4,1 M_HCCC3_HCF_RECV_MBX_ACK->X:$6C085,5,1 M_HCCC3_HCF_PD0_OUT_CMD->X:$6C085,6,1 M_HCCC3_HCF_PD0_IN_ACK->X:$6C085,7,1 M_HCCC3_HCF_PD1_OUT_CMD->X:$6C085,8,1 M_HCCC3_HCF_PD1_IN_ACK->X:$6C085,9,1 M_HCAC0_usNetxFlags->Y:$6C086,0,16 M_HCAC0_NCF_COMMUNICATING->Y:$6C086,0,1 M_HCAC0_NCF_ERROR->Y:$6C086,1,1 M_HCAC0_NCF_HOST_COS_ACK->Y:$6C086,2,1 M_HCAC0_NCF_NETX_COS_CMD->Y:$6C086,3,1 M_HCAC0_NCF_SEND_MBX_ACK->Y:$6C086,4,1...
  • Page 140 ACC-72EX User Manual M_HCAC1_HCF_PD1_IN_ACK->X:$6C087,9,1 M_CC0_RCX_APP_COS_APP_READY->Y:$6C0C2,0,1 M_CC0_RCX_APP_COS_BUS_ON->Y:$6C0C2,1,1 M_CC0_RCX_APP_COS_BUS_ON_ENABLE->Y:$6C0C2,2,1 M_CC0_RCX_APP_COS_INIT->Y:$6C0C2,3,1 M_CC0_RCX_APP_COS_INIT_ENABLE->Y:$6C0C2,4,1 M_CC0_RCX_APP_COS_LOCK_CFG->Y:$6C0C2,5,1 M_CC0_RCX_APP_COS_LOCK_CFG_ENA->Y:$6C0C2,6,1 M_CC0_RCX_APP_COS_DMA->Y:$6C0C2,7,1 M_CC0_RCX_APP_COS_DMA_ENABLE->Y:$6C0C2,8,1 M_CC0_ulDeviceWatchdog->DP:$6C0C3 M_CC0_RCX_COMM_COS_READY->Y:$6C0C4,0,1 M_CC0_RCX_COMM_COS_RUN->Y:$6C0C4,1,1 M_CC0_RCX_COMM_COS_BUS_ON->Y:$6C0C4,2,1 M_CC0_RCX_COMM_COS_CONFIG_LOCKED->Y:$6C0C4,3,1 M_CC0_RCX_COMM_COS_CONFIG_NEW->Y:$6C0C4,4,1 M_CC0_RCX_COMM_COS_RESTART_REQ->Y:$6C0C4,5,1 M_CC0_RCX_COMM_CO_REQ_ENA->Y:$6C0C4,6,1 M_CC0_RCX_COMM_COS_DMA->Y:$6C0C4,7,1 M_CC0_ulCommunicationState->DP:$6C0C5 M_CC0_ulCommunicationError->DP:$6C0C6 M_CC0_usVersion->Y:$6C0C7,0,16 M_CC0_usWatchdogTime->X:$6C0C7,0,16 M_CC0_bPDInHskMode->Y:$6C0C8,0,8 M_CC0_bPDInSource->Y:$6C0C8,8,8 M_CC0_bPDOutHskMode->X:$6C0C8,0,8 M_CC0_bPDOutSource->X:$6C0C8,8,8 M_CC0_ulHostWatchdog->DP:$6C0C9 M_CC0_ulErrorCount->DP:$6C0CA M_CC0_bErrorLogInd->Y:$6C0CB,0,8 M_CC0_bErrorPDInCnt->Y:$6C0CB,8,8 M_CC0_bErrorPDOutCnt->X:$6C0CB,0,8 M_CC0_bErrorSyncCnt->X:$6C0CB,8,8 M_CC0_bSyncHskMode->Y:$6C0CC,0,8 M_CC0_bSyncSource->Y:$6C0CC,8,8 M_CC0_ulSlaveState->DP:$6C0CE M_CC0_ulSlaveErrLogInd->DP:$6C0CF M_CC0_ulNumOfConfigSlaves->DP:$6C0D0...
  • Page 141: Appendix B - Turbo Pmac Memory Maps

    ACC-72EX User Manual APPENDIX B – TURBO PMAC MEMORY MAPS PROFIBUS-DP Master PROFIBUS-DP Slave DeviceNet Master DeviceNet Slave CANopen Master CANopen Slave CC-Link Slave EtherCAT Master EtherCAT Slave EtherNet/IP EtherNet/IP Open Modbus/TCP PROFINET IO PROFINET IO Scanner/Master Adapter/Slave Controller/Master Device/Slave...
  • Page 142 ACC-72EX User Manual PROFIBUS-DP Master PROFIBUS-DP Slave DeviceNet Master DeviceNet Slave CANopen Master CANopen Slave CC-Link Slave EtherCAT Master EtherCAT Slave EtherNet/IP EtherNet/IP Open Modbus/TCP PROFINET IO PROFINET IO Scanner/Master Adapter/Slave Controller/Master Device/Slave |--- Subblock 4 MAILBOX MAILBOX MAILBOX MAILBOX...
  • Page 143 ACC-72EX User Manual PROFIBUS-DP Master PROFIBUS-DP Slave DeviceNet Master DeviceNet Slave CANopen Master CANopen Slave CC-Link Slave EtherCAT Master EtherCAT Slave EtherNet/IP EtherNet/IP Open Modbus/TCP PROFINET IO PROFINET IO Scanner/Master Adapter/Slave Controller/Master Device/Slave | Channel Start Address $6D000 $6C800 $6D000...
  • Page 144: Appendix C - Power Pmac Memory Maps

    ACC-72EX User Manual APPENDIX C – POWER PMAC MEMORY MAPS PROFIBUS-DP Master PROFIBUS-DP Slave DeviceNet Master DeviceNet Slave CANopen Master CANopen Slave CC-Link Slave EtherCAT Master EtherCAT Slave EtherNet/IP EtherNet/IP Open Modbus/TCP PROFINET IO PROFINET IO Scanner/Master Adapter/Slave Controller/Master Device/Slave ACC-72EX Address Acc72EX[i].a...
  • Page 145 ACC-72EX User Manual PROFIBUS-DP Master PROFIBUS-DP Slave DeviceNet Master DeviceNet Slave CANopen Master CANopen Slave CC-Link Slave EtherCAT Master EtherCAT Slave EtherNet/IP EtherNet/IP Open Modbus/TCP PROFINET IO PROFINET IO Scanner/Master Adapter/Slave Controller/Master Device/Slave |--- Subblock 4 MAILBOX MAILBOX MAILBOX MAILBOX...
  • Page 146 ACC-72EX User Manual PROFIBUS-DP Master PROFIBUS-DP Slave DeviceNet Master DeviceNet Slave CANopen Master CANopen Slave CC-Link Slave EtherCAT Master EtherCAT Slave EtherNet/IP EtherNet/IP Open Modbus/TCP PROFINET IO PROFINET IO Scanner/Master Adapter/Slave Controller/Master Device/Slave | Channel Start Address NOT AVAILABLE NOT AVAILABLE...

Table of Contents