Download Print this page
Lenze AC Tech MotionView OnBoard PositionServo ETHERNET/IP Reference Manual

Lenze AC Tech MotionView OnBoard PositionServo ETHERNET/IP Reference Manual

Communications protocol

Advertisement

Quick Links

PositionServo ETHERNET/IP
Communications Protocol Reference Guide

Advertisement

loading
Need help?

Need help?

Do you have a question about the AC Tech MotionView OnBoard PositionServo ETHERNET/IP and is the answer not in the manual?

Questions and answers

Summary of Contents for Lenze AC Tech MotionView OnBoard PositionServo ETHERNET/IP

  • Page 1 PositionServo ETHERNET/IP Communications Protocol Reference Guide...
  • Page 2 MotionView ® , PositionServo ® , and all related indicia are trademarks of Lenze AG in the United States and other countries.
  • Page 3 Contents Safety Information ....................1 Warnings, Cautions & Notes ..................... 1 Reference Documents...................... 2 Introduction ......................3 EtherNet/IP Overview ....................... 3 Ethernet TCP/IP Configuration ..................3 Installation ......................5 Mechanical Installation ....................5 Electrical Installation ......................5 Grounding ........................5 Cabling ..........................5 Maximum Network Length ....................
  • Page 4 Contents Ethernet/IP Objects ....................34 Identity Object ........................ 34 PositionServo System Object................... 35 Assembly Object ......................36 TCP/IP Interface Object ....................36 Ethernet Link Object ....................... 37 Applications ......................38 Application Example 1 - Velocity Control ................. 38 Application Example 2 - Indexing ..................41 Application Example 3 - Configuration Using Explicit Messages ........
  • Page 5 Safety Information Warnings, Cautions & Notes Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, with the potential to cause attached motors to move or rotate. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
  • Page 6 Safety Information Additional information can be obtained from the national regulation documentation. In the United States, electrical installation is regulated by the National Electric Code (nec) and NFPA 70 along with state and local regulations. The documentation contains information about installation in compliance with EMC (shielding, grounding, filters and cables).
  • Page 7 Introduction Introduction EtherNet/IP just like its close siblings DeviceNet and ControlNet, uses CIP (Common Industrial Protocol a.k.a. Control and Information Protocol) to exchange data between devices on an Ethernet network. AC Tech implementation of CIP follows the standard supported by the ODVA (governing organization) and supports the two main types of EtherNet/IP communication: Explicit Messaging and I/O Messaging.
  • Page 8 Introduction 2.2.1 MultiCast Configuration By default the PositionServo drive automatically generates the multicast address used for I/O messaging. The default multicast TTL (time to leave) value is 1 which means that the multicast I/O packets will be propagated over the local subnet only. The user is allowed to explicitly set the drive’s multicast address and TTL values but this feature should be used carefully.
  • Page 9 Installation Installation Ethernet/IP communication is not supported by the RS232-based PositionServo drive even if the RS232-based drive has the Ethernet option module E94ZAETH1 installed. Ethernet/IP is also not supported by the MVCD PositionServo drives (part number ending in “X”). Ethernet/IP is supported by the MVOB equipped PositionServo drives (part number ending in “M”...
  • Page 10 Installation Table 3: Maximum Network Length Type of Cable Data Rate (bits/sec) Maximum Trunk Length (m) Copper - UTP/STP CAT 5 Copper - UTP/STP CAT 5 100M Fiber Optic - Multi-mode 2000 Fiber Optic - Multi-mode 100M 3000 Fiber Optic - Single-mode no standard Fiber Optic - Single-mode 100M...
  • Page 11 Installation 3.7.4 Firewalls A firewall allows separate networks to be connected together similar to a router, however the firewall offers more security features and control. Typical features include address translation, port filtering, protocol filtering, URL filtering, port mapping, service attack prevention, monitoring and virus scanning. A firewall is the preferred method of allowing traffic from a manufacturing network to the business network.
  • Page 12 Installation 3.8.3 Single PC to Multiple PositionServo Drives and Multiple Switches (Switch to Switch) Non crossover or crossover cable depends on switch Switch 1 Switch 2 Non crossover cable Non crossover cable Non crossover cable (Drives to Switch) (Drives to Switch) (PC to Switch) PC/Laptop PositionServo Drives...
  • Page 13 Commissioning Configuring EtherNet/IP To setup an Ethernet/IP network, the ethernet port on each device that will be part of the network must be configured. For the example illustrated in sections 4 through 6 of this manual, the devices on the network include an Allen-Bradley 1769-L32E CompactLogix controller, a PC and a PositionServo drive.
  • Page 14 Commissioning A connection needs to be setup only once per session or any time the communication settings are changed. If the work is saved to a project file then the connection does not need to be setup unless different communication settings are used.
  • Page 15 Commissioning Figure 11: REBOOT Message Ethernet Hardware Settings The Ethernet folder displays the IP Address, Subnet Mask and Default Gateway for the drive selected in the Node Tree. The TCP Reply Delay can be set in 1 millisecond increments from 0 to 15ms. To obtain the IP address via DHCP, check the box adjacent to [Obtain IP address using DHCP].
  • Page 16 Commissioning EtherNet/IP Parameters Defined by the Ethernet hardware settings, the EtherNet/IP folder contains the configuration parameters for the EtherNet/IP (Industrial Protocol). To change an EtherNet/IP parameter, use the pull-down menu to select a pre-defined value or click in the box adjacent to the parameter and enter a numeric value that is within the parameter’s specified range.
  • Page 17 Commissioning Configuring a Scanner or Bridge To configure a simple network like the network illustrated in Figure 14, follow the steps in paragraphs 4.3 through 4.5. This example uses an Allen-Bradley 1769-L32E CompactLogix controller to communicate with PositionServo drives using implicit I/O messaging over an ethernet network. The controller has a scanner (bridge) that needs to be configured.
  • Page 18 Commissioning Figure 15: RSLogix 5000 Window (CompactLogix L32E) Figure 16: RSLogix 5000 Window (SoftLogix 5800) P94ETH01D...
  • Page 19 Commissioning For CompactLogix and SoftLogix only: Right click on [Backplane, 1789-A17/A Virtual Chassis] to choose the Ethernet adapter. Select [New module] and the “Select Module” dialog box will open. Under the “By Category” tab, click the [+] icon to expand the [Communications] folder Select the EtherNet/IP scanner or bridge used by your controller.
  • Page 20 Commissioning Set the “New Module” properties using the information in Table 6 Table 6: “New Module” Fields Type Name A name to identify the scanner or bridge. Slot The slot # of the EtherNet/IP scanner or bridge in the rack. Revision The minor revision of the firmware in the scanner.
  • Page 21 Commissioning 3. Select [ETHERNET-MODULE] to configure, and then click [OK]. The Module Properties dialog box will open as shown in Figure 20. Figure 20: Module Properties Dialog Box 4. In the General tab, edit the adapter information as specified in Table 7. Table 7: Adapter Properties Type Name...
  • Page 22 Commissioning 6. Click [Next >] to display the next page. 7. In the Requested Packet Interval (RPI) box, set the value to 5.0 milliseconds or greater. This value determines the maximum interval that a controller should use to move data to or from the adapter. To conserve bandwidth, use higher values for communicating with low priority devices.
  • Page 23 Commissioning Saving the Configuration After adding the scanner (or bridge) and the adapter to the I/O configuration, the configuration must be downloaded to the controller. The configuration should also be saved to a file on your computer. 1. On the top toolbar, click [Communications] then select [Download] from the pull down menu. The Download dialog box will open.
  • Page 24 Cyclic Data Access I/O Messaging Overview of I/O Messaging Typically I/O messaging is used for the data exchange between a scanner and an adapter device in a cyclic manner. Therefore it is used for data that needs to be updated periodically. A good example is the reference set point value for velocity or torque.
  • Page 25 Cyclic Data Access Using Assemblies for Control and Status/Data Monitoring Output assemblies are commonly used for controlling the enable/disable state of the drive and for supplying the velocity or torque reference. Input assemblies are commonly used to monitor the drive status and run-time quantities such as current velocity, current, actual position and position error.
  • Page 26 Cyclic Data Access Enable: Enable the transfer data Format: Data presentation format 0 = U32 (32 bit integer) 1 = F32 (Real) variable ID, link uses data from/for Example: A DataLink needs to be configured to the transfer data of the Phase Current in REAL format. The ID of VAR_ PHCUR (Phase current) is 188 (dec).
  • Page 27 Cyclic Data Access NOTE: The Variable ID is the PositionServo variable’s index number. Refer to the PositionServo Programming Manual (PM94H201) STATUS2 WORD format The STATUS2 WORD includes bits from the PositionServo STATUS (#53) and EXSTATUS (#54) system variables as shown in Table 17. Table 17: STATUS2 Word Byte Bit7...
  • Page 28 Cyclic Data Access Table 20: Assembly #106 PositionServo Basic Control 32-bit Word Variable ID Type Name DRIVE ENABLE: Non 0 = enabled, 0 = disabled REFERENCE: Velocity mode = velocity in RPS; Current mode = current in phase A(rms) Table 21: Assembly #108: PositionServo Extended Control. 32-bit Word Variable ID Type...
  • Page 29 Cyclic Data Access Click on the [+] icon next to the tag name to expand the tags and reveal the output and input configuration. The output tag for this example program requires two REAL data words as shown in Figure 22. The input tag for this example requires nine REAL data words (Figure 23) and input status tag requires two 32-bit words SimpleServo:I {.
  • Page 30 Cyclic Data Access This example uses the I/O assemblies mapped as shown previously Figures 20 and 21. Main Routine - Ladder Diagram Page 1 CompactLogix1: Main Task: Main Program mm/dd/yyyy hh:mm:ss PM Total number of rungs in routine: 6 CompactLogix1.ACD This is a simple example of IO messaging with the SimpleServo drive.
  • Page 31 Risk of injury to personnel and/or damage to equipment exists. The examples in this publication are intended solely for purposes of example. Lenze AC Tech Corporation does not assume responsibility or liability (to include intellectual property liability) for actual use of the examples shown in this publication.
  • Page 32 Acyclic Data Access NOTE: To display the Message Configuration dialog box in RSLogix 5000, add a message instruction (MSG), create a new tag for the message (properties: Base tag type, MESSAGE data type, controller scope), and click the Configure button. Table 22: Configuration Dialog Fields for Explicit Message in RSLogix 5000 Description Message Type...
  • Page 33 Acyclic Data Access Performing Explicit Messages There are five basic events in the Explicit Messaging process as defined herein and illustrated in Figure 27. The details of each step will vary depending on the controller (ControlLogix, PLC, or SLC). Refer to the documentation for your controller.
  • Page 34 Acyclic Data Access Explicit Message Example To format and execute a [Get Attribute Single] or [Set Attribute Single] Explicit Message using a CompactLogix controller, use this example program. Message Formats When formatting an example message, refer to Formatting Explicit Messages in this chapter for an explanation of the content of each box.
  • Page 35 Acyclic Data Access 6.3.1 Example of Get Attribute Single Message (Rung 1 of Figure 31) Figure 29 illustrates the configuration of the message to read the value from the drive to the PLC controller memory. In this example, the PLC reads instance #100 (User Variable V0) from the PositionServo system variables class 64(h) and stores it in the controller tag Value_Get.
  • Page 36 Acyclic Data Access 6.3.2 Example of Set Attribute Single Message (Rung 2 of Figure 31) Figure 30 illustrates the configuration of the message to write the value from the PLC controller memory to the drive. In this example, the PLC writes instance #100 (User Variable V0) from the controller tag Value_Set. Table 24: Message Configuration Parameters for Set Attribute Single Step 1 Step 2...
  • Page 37 Acyclic Data Access Main Routine - Ladder Diagram Page 1 CompactLogix1: Main Task: Main Program mm/dd/yyyy hh:mm:ss PM Total number of rungs in routine: 3 CompactLogixExplicitMessaging.ACD This is a simple example that allows the user to send and receive data by executing Explicit Messages. It uses the Get Attribute Single and Set Attribute Single methods to read/write data.
  • Page 38 Acyclic Data Access Ethernet/IP Objects Section 7 contains information about the Ethernet/IP objects that can be accessed using Explicit Messages. For information on the format of Explicit Messages and example ladder logic programs, refer to section 6. Table 25: Ethernet/IP Objects Object Class Code Identity...
  • Page 39 Acyclic Data Access PositionServo System Object The PositionServo system object encapsulates all valid PositionServo variables. Each PositionServo variable is represented by an instance of a System940 object. The instance number therefore matches the variable’s index. A complete list of PositionServo variables with their corresponding indices is in the PositionServo Programming Manual (PM94H201).
  • Page 40 Acyclic Data Access Assembly Object An Assembly Object is the “assembly” or mapping of data from different instances of various classes into a single attribute. With assembly mapping, the I/O data is produced in one block. An assembly object can be used to configure a device using one block of data instead of setting the individual device parameters.
  • Page 41 Acyclic Data Access Ethernet Link Object The Ethernet Link object is the network link object that defines the CIP as Ethernet, DeviceNet or ControlNet. Class Code 0xF6 Class Attributes: Revision Max Instance Number Instance Class Services: Get_Attribute_All() Get_Attribute_Single() Instance Attributes Interface Speed Interface Flags Physical Address...
  • Page 42 Applications Applications Application Example 1 - Velocity Control This application illustrates how to control velocity using an Allen-Bradley PLC and an AC Tech PositionServo drive. Objective: This example shows how to use I/O messaging (I/O scan) to control the PositionServo drive in velocity mode using Ethernet/IP communication protocol.
  • Page 43 Applications Requirements: A PositionServo drive must be configured before this example can be executed. The PositionServo drive can be configured in 2 ways: by using MotionView software or by running a short user’s program. Note that setup can also be performed using Explicit messages (refer to section 8.3). The configuration file (for use with MotionView) and the user’s program are both provided on the same CD this example resides.
  • Page 44 Applications Main Routine - Ladder Diagram Page 1 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 9 SoftLogixVelocityControl.ACD SIM_IO_Enable CMD_Enable <Local:4:I.Data[1].0> CMD_Enable Compute Dest Drive125:O.Data[0] Expression CMD_Enable Compute Dest Drive125:O.Data[0] Expression ATTENTION: Set up the drive as follows: Operating mode = Velocity Input Reference = Internal Use the setup user’s code program...
  • Page 45 Applications Application Example 2 - Indexing This application illustrates how to index using an Allen-Bradley PLC and an AC Tech PositionServo drive. Objective: This example shows how to use explicit messages to configure indexing parameters and issue indexing commands. I/O messaging (I/O scan) is used to monitor real time data such as status, velocity target and actual position etc.
  • Page 46 Applications Requirements: A PositionServo drive must be configured before this example can be executed. The PositionServo drive can be configured in 2 ways: by using MotionView software or by running a short user’s program. Note that setup can also be performed using Explicit messages (refer to section 8.3). The configuration file (for use with MotionView) and the user’s program are both provided on the same CD this example resides.
  • Page 47 Applications Example Details: 1. The simulated software I/O module 1789-SIM is used to control the application. You can substitute your I/O with one from your taget PLC or create BOOL type tags and use them instead of the I/O to control the application.
  • Page 48 Applications Main Routine - Ladder Diagram Page 1 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 11 SoftLogixIndexing.ACD This program shows simple indexing. Move indexes. Index0 and Index1 of simulated I/O (inputs 8 and 9 of 1789 soft module) provide a choice of 4 indexes.
  • Page 49 Applications Main Routine - Ladder Diagram Page 2 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 11 SoftLogixIndexing.ACD This rung sets the necessary profile ACCEL, DECEL and VELOCITY. Sends new values for move profile to 94P CNTRL_ChangeAccel StorageBits register for ONS instructions...
  • Page 50 Applications Main Routine - Ladder Diagram Page 3 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 11 SoftLogixIndexing.ACD CMD_Enable Compute Dest Drive125:O.Data[0] Drive’s Status flag Expression Set when motion is completed Motion Completed <Drive 125:S.Data[0].24> Local:4:O.Data[0].1 (End) RSLogix 5000...
  • Page 51 Applications Application Example 3 - Configuration Using Explicit Messages This application illustrates how to configure a PositionServo drive using explicit messages. Objective: This example shows how to configure a PositionServo drive by sending a list of explicit messages. Equipment: 1. PositionServo drive (firmware revision 3.4 or later) 2.
  • Page 52 Applications Main Routine - Ladder Diagram Page 1 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss PM Total number of rungs in routine: 17 SoftLogixConfigurationMessages.ACD This example shows how to control the 94P drive in velocity mode using I/O messaging. It also shows an example of how to use an explicit message to configure the drive prior to using it.
  • Page 53 Applications Main Routine - Ladder Diagram Page 2 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 17 SoftLogixConfigurationMessages.ACD CMD_Enable Compute Dest Drive125:O.Data[0] Expression Preset speed control. There are two preset inputs on the 1789 simulation I/O. You can replace them with your real I/O or register bits by redefining the alias tags PresetInput0 and PresetInput1.
  • Page 54 Applications Main Routine - Ladder Diagram Page 3 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 17 SoftLogixConfigurationMessages.ACD Status_DriveFault Drive_Fault_LED <Drive125:S.Data[0].1> <Local:4:O.Data[0].16> CMD FaultReset <Local:4:I.Data[1].4> Compute TrueValue Dest Expression Type - CIP Generic MSG_940ResetFault . . . Message Control (End) RSLogix 5000...
  • Page 55 Applications SoftLogixMSGgen - User Defined Data Type Page 1 SoftLogixMSGgen (Controller) mm/dd/yyyy hh:mm:ss AM SoftLogixConfigurationMessages.ACD Data type Name: Msg_List_Control Description: Messages list control structure Size: 184 byte(s) Name Data Type Style Description State DINT Decimal ListLength DINT Decimal MsgIndex DINT Decimal ListDone BOOL...
  • Page 56 Applications Rung 4 Indicates on the I/O that the full configuration list is done. This status interlocks rung 5 to prevent the ENABLE command before configuration is completed. Rung 5-13,15 Same as in original example. Rung 14 This rung is a “Convenience” entry. This rung never becomes true. It is needed to configure the MSG instruction field with constants (drive address, message type etc.).
  • Page 57 Applications CASE Config_list.State of //it is idle state , just return If Config_list.List_Start AND NOT Config_list.List_latch then Config_list.State:=1; END_IF; Config_list.List_latch:=Config_list.List_Start; //State Start Config_list.MsgIndex :=0; //reset index Config_list.ListDone:=0; //reset DONE flag Config_list.ListErr:=0; //reset error flag MSG_Set940PID.Instance:=Config_list.List_instance[Config_list.MsgIndex]; //this is normally should be done in state2 Config_list.List_CurrentValue:=Config_list.List_Value[Config_list.MsgIndex];...
  • Page 58 Applications Application Note - Detection of EtherNet/IP Exclusive Ownership Loss The PositionServo provides bits in the extended status register to detect a loss of exclusive ownership over EtherNet/IP. The user can use these bits in a logical program to detect this condition and take action as necessary for their application, such as to prevent a runaway condition in velocity or torque mode.
  • Page 59 Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales: 800 217-9100 • Service: 508 278-9100 www.lenzeamericas.com P94ETH01D...