USER GUIDE. > EtherNet/IP Protocol

Similar documents
CM-EIP-1 G9SP Safety Controller EtherNet/IP Adapter Application and Setup Guide

Operating a Power Xpert C445 Global Motor Management Relay with a Rockwell PLC via Ethernet/IP

Cobalt Dashboard. Reference Manual

Integration of In-Sight with AB PLCs running RSLogix

Using AKD EtherNet/IP with RSLogix Manual

Technical Note. ACSI Motor/Drive/Controller & ACS Drive with Allen Bradley RSLogix 5000 EtherNet/IP Setup Guide. Contents

AKD Using AKD EtherNet/IP with RSLogix Manual

EtherNet/IP - Getting Started User's Manual

For the configuration of the I/O-modules in a control system an EDS-file is required. The names of the files are as follows:

EtherNet/IP Configuration for a Moxa MGate 5105-MB-EIP and an Allen-Bradley CompactLogix L32E. Copyright 2013 Moxa Inc Released on July 15, 2013

GW-7472 / GW EtherNet/IP to Modbus RTU/TCP Gateway User Manual

Network USB over IP Server With 1-USB2.0 Port. User Manual V1.0

Tritex II EtherNet/IP - Option

HDMI A/V over Gigabit Ethernet Adapter. User s Manual

Operating a PowerXL DC1/DE1 Drive with a Rockwell PLC on Ethernet/IP

Ethernet DHX Driver Help Ethernet DHX Driver for Allen-Bradley TCP/IP Networks

DL User s Manual

USB Server User Manual. USB Server Manual (DN-13010)

DEFAULT IP ADDRESS

Installation Guide. DVI Net ShareStation GDIP201 PART NO. M1048

TeSys T LTM R EtherNet/IP with a Third-Party PLC Quick Start Guide

Grid Connect EtherNet/IP Adapter CP1W-EIP61. Application and Setup Guide

Datalogic and the Datalogic logo are registered trademarks of Datalogic S.p.A. in many countries, including the U.S.A. and the E.U.

EtherNet/IP DEVICE CONFIGURATION. A Step by Step Guide

Deployment Overview. Logging via SiteManager EasyTunnel Client

EtherNet/IP Programmer s Guide

Version 2.0. January For Firmware versions 4.25 and 5.2

Xcalibur Global Version 1.2 Quick Configuration Guide Document Version 3.0

G9SP Ethernet IP Communication to Omron s NJ5 PLC s Rev1.0 Mike Wash

Skynax. Remote Assist Console. User Guide

Silver Peak EC-V and Microsoft Azure Deployment Guide

PROMISE ARRAY MANAGEMENT ( PAM) USER MANUAL

PROMISE ARRAY MANAGEMENT ( PAM) FOR FastTrak S150 TX2plus, S150 TX4 and TX4000. User Manual. Version 1.3

IDPort User Guide.

OSPREY BOSS USER GUIDE

CJ Series EtherNet/IP TM Connection Guide. Yamaha Motor Co., Ltd. Robot Controller (RCX340) P624-E1-01

CARD PRINTER. INSTALL GUIDE Revision 2.05

The Cosy 131 User Guide USER MANUAL

Vision Express Vision VE810 Installation Guide Vision Engraving & Routing Systems

Application Note EXOR UniOP etop HMI and Jmobile Studio

Electronic Displays, Inc. EDV111 Series LED Signs Allen Bradley AOI (Add on Instruction) Software Manual

EtherNET/IP Software Help File

Digital Signage Station

Secomea GateManager BASIC Guide Learning Secomea Remote Access

ProSafe Plus Switch Utility

Addendum to Verbatim Gateway Owner's Manual. Gateway Ethernet Module Setup. Version 5.0

BIET EtherNet Interface

DeviceNet Network Configuration

Integration of Dimetix D Series Laser via Ethernet IP with Allen Bradley Systems PLC July 19, 2018

Chapter 5: Communications 5 1 SR55 Communications Overview 5 2

HP Video Over Ethernet. User Guide

L12 - Studio 5000 and Logix: Basics Lab. For Classroom Use Only!

Learning Secomea Remote Access (Using SiteManager Embedded for Windows)

Addendum to Verbatim Gateway Owner's Manual. Verbatim Gateway EtherNet Module Setup. Version 4.0

MP8000 SOFTWARE Instruction Manual

User s Guide to On-Line RMAs EASEOFCARE

Software Upgrade Online Help

LogTunnel Deployment Guide

CompactLogix 5330/5370 Top 5 Questions

Application Note: Split Public Addresses between WAN and DMZ

How to reach a device behind the ewon Cosy 131 from a PC on the remote site

Developer Application Note: Using the MiniTerm as a Serial LCD Copyright 2008, Genovation, Inc.

Redirector User Guide

Secomea Remote Device Management

Vision Express Engraver S5 Installation Guide Vision Engraving & Routing Systems

Wireless-N USB Network Adapter. with Dual-Band QUICK INSTALLATION GUIDE. Package Contents

eth1000_large.jpg Using ICC ETH-1000 EtherNet/IP Interface with Mitsubishi iq PLC

AC 800M EtherNet/IP DeviceNet Configuration

IntesisBox MAPS. Configuration & monitoring software of IntesisBox KNX series. User's manual Issue Date: 06/17 r1.0 eng

Anybus CompactCom 40 Diagnostic Events for EtherNet/IP

CJ Series EtherNet/IP TM Connection Guide. ABB Ltd. IRC5 Robot Controller P572-E1-01

TrustGate Identify the ToS bits

Vision VE810 Engraver S5 Installation Guide Vision Engraving & Routing Systems

Vision 1612, 1624, 2424 and 2448 Installation Guide

2.6 Configuring the Ethernet Communication Module as an EtherNet/IP Adapter

Phoenix 1212 Engraver S5 Installation Guide Vision Engraving & Routing Systems

Getting Started GateManager5 PREMIUM Domain Administration

ControlLogix EtherNet/IP Bridge Module

Application Note. Adding an MPiec Controller as an EtherNet/IP Adapter to Allen Bradley CompactLogixL32E. Applicable Product: MPiec, CompactLogix5332E

Tofino CMP Installation & Upgrade Guide Tofino CMP Version Tofino Firmware Version 1.7.0

Valcom SLP Responder Utility

LE840/LE850. Network Tool Manual Technical Reference

Application Note ABB PM583 PLC with Control Builder Plus

ETH044-4 SSR (230VAC) and 4 Digital IO

EIP ET200 Configuration Tool User Reference Guide

AMBA Remap and Pause. Technical Reference Manual. Revision: r0p0. Copyright 1997 ARM Limited. All rights reserved. ARM DDI 0048AC

Application Note IMO ismart SMT-Client software

CJ Series IO-Link Connection Guide (EtherNet/IP TM Host Communications) OMRON Corporation Proximity Sensor (E2E-series IO-Link)

Testing and Restoring the Nasuni Filer in a Disaster Recovery Scenario

CENTERLINE 2100 Motor Control Centers EtherNet/IP Network Adapter

Upgrade Guide GateManager Version 5.x to 5.x

Machine Automation Controller NJ-series. EtherNet/IP TM. Connection Guide. OMRON Corporation. CJ2-series Controller P568-E1-01

KODAK Dental Imaging Software Installation Guide for the KODAK1500 Intraoral Camera

CJ Series EtherNet/IP TM Connection Guide. OMRON Corporation RFID Reader/Writer (V680S-series) P626-E1-01

eth1000_large.jpg Using ICC ETH-1000 EtherNet/IP Interface with Mitsubishi iq PLC

SEVIO User Guide. Document ID: sv_user_guide_en_v17_05

FEN20 Start-up Guide. Date: Version: 1.4. Created By: Division 3

Dell Canvas Layout. Version 1.0 User s Guide


Recovery Guide for Cisco Digital Media Suite 5.4 Appliances

Transcription:

USER GUIDE > EtherNet/IP Protocol

Datalogic S.r.l. Via S. Vitalino 13 40012 Calderara di Reno Italy EtherNet/IP Protocol User Guide Ed.: 09/2017 Helpful links at www.datalogic.com: Contact Us, Terms and Conditions, Support. 2017 Datalogic S.p.A. and/or its affiliates ALL RIGHTS RESERVED. Without limiting the rights under copyright, no part of this documentation may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means, or for any purpose, without the express written permission of Datalogic S.p.A. and/or its affiliates. Datalogic and the Datalogic logo are registered trademarks of Datalogic S.p.A. in many countries, including the U.S.A. and the E.U. Lighter Suite are trademarks of Datalogic S.p.A. and/or affiliates. All other trademarks and brands are property of their respective owners. Datalogic reserves the right to make modifications and improvements without prior notification. Datalogic shall not be liable for technical or editorial errors or omissions contained herein, nor for incidental or consequential damages resulting from the use of this material. Ed.: 09/2017 ii

REVISION INDEX Version Date Number of added or edited pages 09/2017 22/09/2017 Release NOTE: We sometimes update the documentation after original publication. Therefore, you should also review the documentation at www.datalogic.com for updates. iii

TABLE OF CONTENTS REVISION INDEX... III TABLE OF CONTENTS... IV 1. SETUP OVER EIP NETWORK... 5 1.1 CONFIGURING THE LASER MARKER FOR USE OVER EIP... 5 1.1.1 Basic net setting of the Laser Marker... 5 1.1.2 Advanced net settings of the Laser Marker... 7 1.2 CONFIGURING THE COMPACTLOGIX 5370 CONTROLLER FOR USE OVER EIP... 14 1.2.1 Importing a New Module using the EDS file... 14 1.2.2 Importing a New Module using the predefined Generic Ethernet Module... 17 2. CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM... 19 2.1 INPUT ASSEMBLY MEMORY MAP... 21 2.1.1 Description of the Input Assembly Memory Map... 22 2.2 OUTPUT ASSEMBLY MEMORY MAP... 24 2.2.1 Description of the Output Assembly Memory Map... 24 2.3 POSSIBLE ERRORS... 27 2.3.1 Command Error... 27 2.3.2 Protocol Error... 27 3. STUDIO 5000 PROGRAM EXAMPLE... 28 3.1 EXAMPLE OF LOAD LAYOUT COMMAND... 28 3.2 EXAMPLE OF START MARKING COMMAND... 30 NOTE:... 31 iv

SETUP OVER EIP NETWORK 1 1. SETUP OVER EIP NETWORK In order to have a EIP communication between the PLC and the laser, it is necessary to set up both elements. Clearly both the PLC and the laser must be working on the same Subnet. All Datalogic Laser Marking Systems are configured in order to have a single IP address working on the same Subnet. These default value are the following: IP Address: 192.168.0.10 Subnet Mask: 255.255.255.0 Nevertheless, it is possible to change these values according to the ITC needs of the plant where the Laser Marking System is working. 1.1 CONFIGURING THE LASER MARKER FOR USE OVER EIP Some operations must be made on the Laser in order to have it working on an EtherNet/IP network; both the IP address and the Subnet of the Laser System have to be known in the setup phase. Please get this information from the IT technician before proceeding. 1.1.1 Basic net setting of the Laser Marker The Laser Marking Systems which can be used on an EtherNet/IP network contain an Embedded PC, with Windows 7 Embedded, so changing the IP address and the Subnet mask of the Datalogic Laser Marking System is very simple. Open the Network and Sharing Center on the Laser Marking System, and then click on the Local Area Connection inside the window, as shown. 5

1 ETHERNET/IP PROTOCOL Now click on Proprieties. Double click Internet Protocol Version 4 (TCP/IPv4). Now the IP address and the Subnet Mask can be edited. Must be unchecked! Enter IP address and Subnet Mask here 6

SETUP OVER EIP NETWORK 1 In order to have a single IP address which distinguishes the Laser Marking System on the production site at all times (e.g. also after rebooting), EtherNet/IP does not allow connection to devices which use DHCP to obtain an IP address. This means that it is forbidden to set the option Obtain an IP address automatically ; users should give the laser a single IP address and a matching Subnet Mask (by entering the data in the 2 editable lines which follow the Use the following IP address: selection). Once these settings have been entered, in order to make them permanent on the Laser Marking System, please double click on the Save-Data.bat icon, present on the Desktop of the machine. 1.1.2 Advanced net settings of the Laser Marker Ethernet IP bases the explicit messaging on port 44818 and implicit messaging on port 2222. All Laser Marking devices have both these ports blocked by Windows Firewall; so to have an EIP connection between the PLC and the Laser Marker, the user must disable the Windows Firewall action on both these ports. In order to do so, the User can follow this procedure on the Laser Marker: 1. Enter the Control Panel and select Advanced settings. 7

1 ETHERNET/IP PROTOCOL 2. New Inbound and Outbound rules need to be set on the ports interested by EIP: click on Inbound Rule and then select New Rule. 3. A Wizard GUI will guide you through the procedure: select Port. 8

SETUP OVER EIP NETWORK 1 4. Select TCP and specify port 44818. 5. Select Allow the connection. 9

1 ETHERNET/IP PROTOCOL 6. Select all 3 types of Network. 7. Give this property a recognizable name. 10

SETUP OVER EIP NETWORK 1 8. Go back to point 2 and proceed up to point 7 creating a new Inbound Rule called EIP udp 44818, 2222 for UDP ports 2222 and 44818. When repeating step 4, these are the instructions to follow: 9. At this point, both your Inbound Rules will have been set: 11

1 ETHERNET/IP PROTOCOL 10. Now the Outbound rules must be set, just as done with the Inbound Rules, making sure that all connection would be allowed also in an Output direction. Basically, the procedure must be repeated from point 2 to point 9, creating two new outbound rules. Once this is done, the created output rules will be seen along with all the other firewall rules. Once all these settings have been entered, in order to make them permanent on the Laser Marking System, please double click on the Save-Data.bat icon, present on the Desktop of the machine, as done in the basic net settings. At this point, to activate EIP communication on the Laser Marking side, it is sufficient to set Laser Engine in Remote Mode, by clicking on the indicated Push Button from the Laser Engine GUI: 12

SETUP OVER EIP NETWORK 1 In order to have the Laser Engine starting in Remote Mode also after the Laser Marker has rebooted, click Start in remote mode from the Laser Engine icon in the Windows tray bar. When in Remote Mode, the Laser Engine GUI will look like this (having all the Push Buttons disabled except for the one which brings Laser Engine back to Local Mode). 13

1 ETHERNET/IP PROTOCOL 1.2 CONFIGURING THE COMPACTLOGIX 5370 CONTROLLER FOR USE OVER EIP All the CompactLogix 5370 PLC configuration resumed in this file is made using Studio 5000 Logix Designer v.30 Standard Edition. In order to create a Datalogic Laser Marker new module in an already existing project, Studio 5000 allows to import an EDS file or to create one by using the default Generic Ethernet Module. 1.2.1 Importing a New Module using the EDS file Select the EDS Hardware Installation Tool from the Tools Menu. Now follow the steps in order to find the EDS file. 14

SETUP OVER EIP NETWORK 1 Press Browse in order to select the Lighter_6.4_EDS_1.3_S5000_v1.eds file, then press Forward. Press Forward until the EDS installation is complete. Right click the Ethernet icon under the I/O Configuration folder, and select New Module. 15

1 ETHERNET/IP PROTOCOL Select the Datalogic Laser Marker, as shown here: Give the Laser Module a Name and enter the IP address which has been set on the laser. 16

SETUP OVER EIP NETWORK 1 During the rest of this document, references will be made to a module called AREX : if the user decides to type AREX inside the Name field and the IP Address entered is correct, this is what will be found as Ethernet connections inside the Studio 5000 project: 1.2.2 Importing a New Module using the predefined Generic Ethernet Module Studio 5000 allows the user to interface the PLC also with devices which are not provided with EDS files: in order to do so, the user will have to enter some information which is necessary for the program to interact correctly with the device. In case the user does not have the EDS file on him, it can be useful to know how to import a Generic Ethernet Module which represents the Datalogic Laser Marking device. Right click on Ethernet and select New Module. 17

1 ETHERNET/IP PROTOCOL Select the Generic Ethernet Module, as shown here, then press Create. Enter the name of the device (during the rest of the document, references will be made to a module called AREX, so please use this Name), as well as the Assembly Instances and the Sizes of each Memory area reserved for the Laser marking Device. 18

CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM 2 2. CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM An EtherNet/IP network allows the PLC to monitor and command each device which is connected: in order to do so, there needs to be a continuous flow of information between the PLC and each device on the network. At each Requested Packet Interval (RPI), whole memory areas are exchanged from the devices in one way (Laser Marker PLC) and the other (PLC Laser Marker) so to accomplish this behavior. In order to properly command the Laser Marker and to give the PLC an appropriate feedback, all the information must be entered in precise portions of these memory maps exchanged periodically between the devices. The memory area which is generated by the Laser Marker towards the PLC will be called Input Assembly Memory Map, while the memory area generated by the PLC towards the Laser Marker will be called Output Assembly Memory Map. Once connection is established between the PLC and the Datalogic Laser System, most certainly the PLC programmer will want to program the PLC so to command the Laser System by giving it an automatic flow of commands: this process will include the handling of a simple protocol, regarding the use of different bits, both on the Input and Output Assembly Memory Map: - Command Bit: this bit will be present on the Output Assembly Memory Map and according to its position, it will indicate the action which the PLC wants the Laser System to execute. - Mirroring Bit: this bit will be present on the Input Assembly Memory Map and according to its position, it will indicate when the requested operation has been started (when HIGH) and when it has been terminated (when LOW). WARNING: Nearly all Command Bit have a matching Mirroring Bit: this means that whatever command the PLC requests the laser to execute by setting a Command Bit 0 1, there will nearly always be a dedicated Mirroring bit which informs the PLC about the stage of the command execution.. In order to make sure that the command is fully executed by the laser, a simple protocol must be respected by the PLC programmer. Here are the 5 steps: 1. Check the State of the Laser System (address 0 and 1 of the Input Memory Map) and that the protocol is still running correctly (address 2 and 3 must be 0 in DEC format): see the list of possible errors at paragraph 2.3. 2. Set the Command Bit 0 1 (e.g. if the requested command is to Start Marking, then the Command Bit is bit 0 at Address 0, which must now pass 0 1), and if necessary also the Request Data field and Request Data size. 3. As soon as the Laser starts executing the command requested by the PLC, both the Mirroring Bit and the Command Executing bit on the Input Memory Map pass 0 1. Usually point 3 comes just after a single Requested Packet Interval (RPI) has passed from point 2. 4. The PLC must reset the Command Bit 1 0 as soon as it detects the Mirroring Bit passing 0 1 (e.g. the Mirroring Bit for the Start Marking Command is at Address 10 Bit 0), if the selected command has a Mirroring bit : otherwise, just check that the Command Executing bit passes 0 1. 5. When the Mirroring bit and the Command Executing bit pass 1 0, it means that the requested command has been completed: the Laser System is ready to start again from step 1 with another command. 19

2 ETHERNET/IP PROTOCOL COMMAND BIT MIRRORING BIT COMMAND EXECUTING BIT This behavior is summed up by this State Diagram: 1. 2. 3. 4. 5. ENTRY POINT BOOTING UP state Booting Up bit = 1 when the first Output Assembly memory Map is full of 0 then Booting Up bit 1 0 LISTENING state Command Executing bit = 0 Legend: Actions which are made by the PLC Actions which are made by the Datalogic Laser System Command Bit 0 1 & no errors detected Command Executing bit 0 1 Mirroring bit 1 0 (if present) EXECUTING state Command Executing bit =1 when the Mirroring bit 0 1 (if present) then Command Bit 1 0 As soon as the connection is established, the State diagram is positioned at its Entry Point: the protocol will not accept any command from the PLC before receiving an Output Assembly Memory Map fully made of 0. Until this condition is fulfilled, the Laser State Diagram will remain in BOOTING UP state and the Booting Up bit=1 (the Booting Up bit is bit 7 address 3 of the Input Assembly Memory Map). When this condition is achieved, the Booting Up bit passes 1 0, meaning that the LISTENING state has been reached. Now the PLC can ask the Laser Marker to execute a command. The execution of the command is underway when the Command Executing bit passes 0 1; moreover, as soon as the Mirroring Bit of the requested command passes 0 1, the PLC must set the Command Bit 1 0. If the selected Command Bit doesn t have a matching Mirroring Bit, then the Command Bit can be pulled down whenever Command Executing bit=1. If, by any chance, the Command Bit is not pulled down before the Mirroring Bit turns 1 0, then the Command Executing bit will not turn to 0 when the command is ended. The Protocol State will pass in LISTENING as soon as the Command Executing bit passes 1 0. 20

CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM 2 2.1 INPUT ASSEMBLY MEMORY MAP The input Assemby Memory Map has been developed in order to structure all the data coming from the Datalogic Laser System towards the PLC. Depending on the information that the Laser is returning at every RPI, the PLC could need to check a single bit or multiple bytes from the following memory map. Address Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 Laser Emission Laser Ready Shutter Closed Laser Ready Laser Standby Shutter Closed Laser Standby Laser Wait for start 1 Laser Error 2 3 Protocol Boot Up 4 Command Error Code 5 Protocol Error Code Protocol Error Laser Warm Up Laser Warning Command Error Laser Off Laser Busy Shutter Closed Command Executing 6 to 9 Reserved 10 Stop Marking Start Marking 11 Reserved 12 Set Global String Value Get Global String Value Set Global Counter Value Get Global Counter Value Set Data Field Value Get Data Field Value Save Document Open Document From Device 13 DisableData Field EnableData Field 14 Move data field Move and rotate document 15 to 17 Reserved 18 Stop axis Reset axis Move axis 19 Reserved 20 21 R Axis Home Z Axis Home Y Axis Home X Axis Home R Axis Enabled Z Axis Movement Z Axis Enabled Z Axis Movement Y Axis Enabled Y Axis Movement X Axis Enabled X Axis Movement 22 to 25 Reserved 26 I/O port Laser Output Status ( 0..7) 27 I/O port Laser Output Status (8...15) 28 to 53 Reserved 54 Response Data Size (Low Byte) 55 Response Data Size (High Byte) 56 to 254 Response Data 21

2 ETHERNET/IP PROTOCOL 2.1.1 Description of the Input Assembly Memory Map According to the logic state of the following bits, the PLC is constantly informed about the Datalogic Laser System state, in addition to the state of a requested command. Address Bit Name Value Description 0 1 0 Laser Off 1 Laser Warm Up 2 Laser Wait For Start 3 Laser Standby 4 Laser Standby Shutter Closed 5 Laser Ready 6 Laser Ready Shutter Closed 7 Laser Emission 0 Laser Busy Shutter Closed 1 Laser Warming 2 Laser Error 0 Command Executing 0=not LE current state; 1=LE current state 0=not LE current state; 1=LE current state USB connection with Ulyxe not established Laser is in Warm Up State (KEY=1, ENABLE=0) Laser is in Wait For Start State (KEY=0, ENABLE=0) When one of the two Enables has been closed Laser is in Standby Shutter Closed State (KEY=1, ENABLE=0, after the Warm Up stage) Laser is in Laser Ready State (KEY=1, ENABLE=1) Not available Laser is in Laser Emission State (KEY=1, ENABLE=1) Laser is in Laser Busy Shutter Closed State (KEY=1, ENABLE=0) Laser is in Laser Warning State (Warning code represented in xxxx) Laser is in Laser Error State (Error code is represented in xxxx) Lighter is executing a command 2 1 Command Error Lighter has generated a Command 0: Protocol is not currently in this Error 2 Protocol Error phase; 1: Protocol is currently in Lighter has generated a Protocol Error this phase Lighter EIP is booting up: it will end as 3 7 Protocol Boot Up soon as a completely empty memory map is sent to the laser 4 0 to 7 Command Error Code See error paragraph 2.3 Gives information about the Command error 5 0 to 7 Protocol Error Code See error paragraph 2.3 Gives information about the Protocol Error 6 to 9 Reserved 10 0 Start Marking 1 Stop Marking 1:Laser started Marking; 0:Laser is not marking 1:Laser emission has been stopped; 0:Laser marking has not been stopped 11 Reserved 12 0 Open Document From Device 1 Save Document 2 Get Data Field Value 3 Set Data Field Value 4 5 Get Global Counter Value Set Global Counter Value 0: Not executing this command; 1:Executing this command Informs on the marking process, and turns to 0 when this has ended Informs whether the marking process has been stopped Loading a document which is present in the Laser Engine default filepath Saving the loaded and/or modified document Returning the content of the object with the specified ID Setting the content of the object with a specified ID Returning a Global Counter value Setting a Global Counter value 6 Get Global String Value Returning a Global String value 7 Set Global String Value Setting a Global String value 13 0 Enable Data Field Enabling the specified Data Field 1 Disable Data Field Disabling the specified Data Field 22

CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM 2 14 0 Move and rotate document 1 Move Data Field 15 to 17 Reserved 18 0 Move Axis 1 Reset Axis 0: Not executing this command; 1:Executing this command Moving and rotating a document Moving the specified Data Field to the given position, in relation to the center of the marking field Moving the selected Axis to the desired position Moving the selected Axis in Home position 2 Stop Axis Stopping the laser movement 19 Reserved 0 X Axis Enabled X Axis is enabled 1 Y Axis Enabled 0: Axis not enabled; 1: Axis Y Axis is enabled 2 Z Axis Enabled enabled Z Axis is enabled 20 3 R Axis Enabled R Axis is enabled 4 X Axis Home X Axis is in home position 5 Y Axis Home 0: Axis not in Home position; 1: Y Axis is in home position 6 Z Axis Home Axis in Home position Z Axis is in home position 7 R Axis Home R Axis is in home position 0 X Axis Movement X Axis is moving 21 1 Y Axis Movement Y Axis is moving 0: Axis not moving; 1: Axis moving 2 Z Axis Movement Z Axis is moving 3 R Axis Movement R Axis is moving 22 to 25 Reserved 26 0 to 7 27 0 to 7 I/O port Laser Output Status (0..7) I/O port Laser Output Status (8..15) (Regarding each bit) 0: the matching Output is not being pulled up; 1: the matching Output is being pulled up 28 to 53 Reserved 54 0 to 7 55 0 to 7 56 to 254 0 to 7 (for each address Byte) Response Data Size (Low Byte) Response Data Size (High Byte) Response Data "Response Data" field usable length (Low and High byte) Each byte represents an ASCII character that the laser is reporting towards the PLC Pulling up Output N where N is the position of the HIGH bit inside these addresses (example: if address 26 has value 4, it means output2 is HIGH, while if address 27 has value 4, it means output10 is HIGH) Telling the PLC how long the usable data is inside the 'Responde Data' field (example: low byte=0x00 and low byte=0x05 means that the data inside the Response Data field that the PLC should From Address 56 for a number of bytes specified by the 'Response Data Size' fields, the PLC can find the data sent by the Laser Marker 23

2 ETHERNET/IP PROTOCOL 2.2 OUTPUT ASSEMBLY MEMORY MAP The Output Assembly Memory Map has been developed in order to structure all the data coming from the PLC towards the Datalogic Laser System. The PLC will need to set a single bit or multiple bytes in the following memory map. Address Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 Stop Marking Start Marking 1 Command Error Clear Get Laser Engine Version Get Ethernet- IP Protocol Version 2 Set Global String Value Get Global String Value Set Global Counter Value Get Global Counter Value Set Data Field Value Get Data Field Value Save Document Open Document From Device 3 DisableData Field EnableData Field 4 5 to 7 Reserved Move data field Move and rotate document 8 Stop axis Reset axis Move axis 9 Reserved 10 R axis Z axis Y axis X axis 11 to 21 Reserved 22 Reset Output Set Output 23 Reserved 24 I/O port Laser Output ( 0..7) 25 I/O port Laser Output ( 8..15) 26 to 53 Reserved 54 Request Data Size (Low Byte) 55 Request Data Size (High Byte) 56 to 254 Request Data 2.2.1 Description of the Output Assembly Memory Map Address Bit Name Value Description & examples 0 1 0 Start Marking 1 Stop Marking 0 1 Get Ethernet-IP Protocol Version Get Laser Engine Version 0 1 Start Marking ; 1 0 as soon as the mirroring bit is HIGH 0 1 Stop Laser Emission; 1 0 as soon as the mirroring bit is HIGH 0 1 Start Marking ; 1 0 as soon as the mirroring bit is HIGH 0 1 Asking the Laser Marker to reply with the Laser Engine version ; 1 0 as soon as the mirroring bit is HIGH This action starts the Marking process (in order to have Laser emission, the Laser Marker must be in Laser Ready State before this bit goes HIGH) This action stops the Marking process. Gets the Ethernet-IP Protocol Version currently running inside the Laser Engine. No Mirroring bit has been implemented for this command Gets the Laser Engine Version running on the PC communicating with the PLC. No Mirroring bit has been implemented for this command 24

CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM 2 7 Command Error Clear 0 Open Document From Device 1 Save Document 2 Get Data Field value 3 Set Data Field Value 0 1 Sets the Laser Engine back into 'Listening' state after a 'Command Error' ; 1 0 as soon as the 'Command Error' bit is HIGH 0 1 Asking to load an XLP ; 1 0 as soon as the mirroring bit is HIGH 0 1 Save current document; 1 0 as soon as the mirroring bit is HIGH 0 1 Gets the content of the Data Field specified inside the Requested Data Field; 1 0 as soon as the mirroring bit is HIGH 0 1 Sets the content of the specified Data Field ; 1 0 as soon as the mirroring bit is HIGH Sets the Laser Marker back to 'Listening' state after that a Command Error is notified to the PLC. No Mirroring bit has been implemented for this command Loads the document specified in the Request Data Field (".xlp" extension must be included); the document must be in the Laser Engine default filepath Overwrites the current document. No Mirroring bit has been implemented for this command Requests the content of the object which ID is specified in the Request Data Field Sets the content of the object which ID is specified in the Request Data Field, which should follow this syntax: <FieldID><LF><NewValue> 2 4 Get Global Counter Value 0 1 Asking to return the value of the Global Counter specified in the Request Data Field ; 1 0 as soon as the mirroring bit is HIGH Requests the value of the Global Counter specified in the Request Data Field 5 Set Global Counter Value 0 1 Setting the value of the Global Counter; 1 0 as soon as the mirroring bit is HIGH Sets the value of the Global Counter specified in the Request Data Field 6 Get Global String Value 7 Set Global String Value 0 1 Asking to return the value of the Global String specified in the Request Data Field ; 1 0 as soon as the mirroring bit is HIGH 0 1 Setting the value of the Global String; 1 0 as soon as the mirroring bit is HIGH Requests the value of the Global String specified in the Request Data Field Sets the value of the Global String specified in the Request Data Field 3 4 0 Enable Data Field 1 Disable Data Field 0 Move and Rotate Document 1 Move Data Field 0 1 Enables the Data Field specified in the Request Data Field; 1 0 as soon as the mirroring bit is HIGH 0 1 Enables the Data Field specified in the Request Data Field; 1 0 as soon as the mirroring bit is HIGH 0 1 Moves and/or rotates the document; 1 0 as soon as the mirroring bit is HIGH 0 1 Moves the specified Data Field to the position specified inside Request Data Field; 1 0 as soon as the mirroring bit is HIGH 5 to 7 Reserved Enables the Data Field specified in the Request Data Field Disables the Data Field specified in the Request Data Field Moves and rotates the document according to the offset written inside the Request Data Field, which should have this format: <X>,<Y>,<Angle> (HEX example byte per byte of the Request Data field when using this command with offsets <0>, <10>, <+45 >: 30 2C 31 30 2C 34 35 ) Moves the object with a specified ID to the position wanted. Both informations (ID and new position coordinates) must be given inside the Request Data field with the format <FieldID><LF><X>,<Y>) 25

2 ETHERNET/IP PROTOCOL 0 Move Axis 0 1 Moves the Axis specified in address 10 to the position reported in Request Data Field; 1 0 as soon as the mirroring bit is HIGH Moves the axis reported at address 10 into the position spoecified inside the Requested Data field 8 1 Reset Axis 0 1 Moves the Axis specified at address 10 in Home position; 1 0 as soon as the mirroring bit is HIGH Moves the axis reported at address 10 into Home Position 2 Stop Axis 0 1 Stops the movement of the Axis specified at address 10; 1 0 as soon as the mirroring bit is HIGH 9 Reserved 10 0 X Axis 1 Y Axis 2 Z Axis 3 R Axis 0 1 indicates that the operation requested at address 8 must be made on the selected Axis; 1 0 as soon as the selected Axis Movement bit is HIGH 11 to 21 Reserved 22 0 Set Output 1 Reset Output 0 1 Sets the Outputs selected by the mask at the address 24 and/or 25; 1 0 as soon as the 'I/O port Laser Output Status' mask turns to the desired mask 0 1 Resets the Outputs selected by the mask at the address 24 and/or 25; 1 0 as soon as the 'I/O port Laser Output Status' mask turns to the desired mask 23 Reserved Stops the movement of the axis specified at address 10 Indicated the axis on which the command requested at address 8 must be executed. Requesting the laser to follow the I/O mask indicated at address 24 and 25 Requesting to pull down to LOW all the digital I/O 24 0 to 7 25 0 to 7 I/O port Laser Output (0..7) I/O port Laser Output (8..15) (Regarding each bit) 0: asking for the matching Output to not be pulled up; 1: asking for the matching Output to be pulled up Indicating a single or a multiple I/O in relation to the command reported at address 22 26 to 53 Reserved 54 0 to 7 55 0 to 7 56 to 254 0 to 7 (for each address Byte) Request Data Size (Low Byte) Request Data Size (High Byte) Request Data "Response Data" field usable length (Low and High byte) Each byte represents an ASCII character that the PLC is reporting towards the Laser Marker Low/High Byte which must reflect the length of the Request Data field. Example: Low Byte=12 in DEC format (in BIN format, from 7 to 0 address 54 is '0001100'), High Byte=0 in DEC format, means that the laser will need to take into account only the first 12 bytes starting from address 56 onwards 26

CYCLIC COMMUNICATION BETWEEN THE PLC AND THE DATALOGIC LASER SYSTEM 2 2.3 POSSIBLE ERRORS There are 2 kinds of error which can turn up during the normal use of a Datalogic Laser Marker via EtherNet/IP: -Command Error; -Protocol Error. The PLC is informed by 2 bits in the Input Assembly Memory Map if any kind of error happens: these 2 bits are bits 1 and 2 in Address 2 (respectively Command Error and Protocol Error ). 2.3.1 Command Error A Command Error is notified to the PLC when the requested command cannot be executed. In addition to the single Command Error notification bit, a whole byte (address 4) of the Input Assembly Memory Map describes the reason of such an error. The values which the address 4 byte can have when a Command Error is notified, are summed up in the following table. 2.3.2 Protocol Error A Protocol Error is notified to the PLC when the Laser Marking System is not able to correctly determinate a single command to execute. In addition to the single Protocol Error notification bit, a whole byte (address 5) of the Input Assembly Memory Map describes the reason of the error. The reasons for which a Protocol Error is notified are the following: Command conflict: more than 1 command bit are set to 1. Address 5 value in DEC format=1. Unknown command: bits in reserved areas are set to 1. Address 5 value in DEC format=2. Busy: Protocol in Executing state when Command bit is set to 1. Address 5 value in DEC format=3. Critical: Protocol state machine is faulted. Address 5 value in DEC format=255. When a Protocol Error is notified, in case 1, 2 and 3 it is necessary for the PLC to set the Command Error Clear bit (Address 1 bit 7), which sets the Protocol back into Listening state. This operation will not work if the reason of the Protocol Error is point 4.: in this case, the Ethernet/IP connection must be closed and then re-established between the Laser System and the PLC. 27

3 ETHERNET/IP PROTOCOL 3. STUDIO 5000 PROGRAM EXAMPLE After describing the protocol that allows to interface a Datalogic laser System to a PLC, the user can find in this chapter an example of a Diagram Program, developed on Studio 5000 v. 30.0.0 Standard Edition by 2016 Rockwell Automation Technologies, Inc. All Rights Reserved. 3.1 Example of Load Layout command This command makes the Laser Marker load a layout which must be present inside the Laser Marker in the default Laser Engine filepath (D:\Data\Docs\Layouts). In order to place the string containing the name of the XLP file which needs to be loaded, lets define a string (in the example here called Layout1 ). This local variable proprieties are here shown: The variable is 198 bytes long, but the.len string propriety allows to count only the characters which are different from $00, in this case 5; and it contains the string 3.xlp, which is the name of the layout we want to load. 28

STUDIO 5000 PROGRAM EXAMPLE 3 As soon as the LoadLayoutCommand local variable is set to 1, this ladder portion sets the following data inside the Output Assembly memory map: - Address 54: copies here the length of the Layout1 variable. - Address 56 onwards: copies byte-per-byte each character of the Layout 1 variable. - Address 2 bit 0: Sets the Command Bit to 1, and in this case of a Load Layout command, the Command Bit is bit 0 at address 2. Moreover, in parallel to these instructions but still on the same Rung, we suggest to code the status of the Mirroring Bit : the Mirroring Bit in case of a Load Layout command is bit 0 at Address 12 of the Input Assembly Memory Map. By doing so, the status of the interested mirroring bit will always be available inside the program as a local variable, called LoadLayoutStatus. The automation will have to reset 0 1 the LoadLayoutCommand as soon as the LoadLayoutStatus variable passes 1 0. A new command can be given to the Laser Marker as soon as the Command Executing bit passes 1 0. 29

3 ETHERNET/IP PROTOCOL 3.2 Example of Start Marking Command In order to have Laser Emission from the Laser Marker, before sending a Start Marking command it is necessary that the Laser Engine state is Laser Ready: this means that bit 5 at Address 0 on the Input Assembly Memory map must be HIGH before sending this command. As for the first example, we suggest to handle the Start Marking Command Bit, which is bit 0 address 0, by using a Local Variable (in this case StartMarkingCommand ). Moreover, the Mirroring Bit, bit 0 address 10 of the Output Assembly Memory map, state should also be reflected into a Local Variable (in this case StartMarkingStatus ). By doing so, inside the program it is possible to set the StartMarkingCommand variable in order to start Laser Emission. As soon as this operation starts, the Laser Engine Status will pass from Laser Ready to Laser Emission ; if the Start Marking is executed while the Laser Engine status is Laser Standby Shutter Closed, the process will take the exact time, but Laser Engine will go in Laser Busy Shutter Closed. The automation will have to reset 0 1 the StartMarkingCommand as soon as the StartMarkingStatus variable passes 1 0. A new command can be given to the Laser Marker as soon as the Command Executing Bit passes 1 0. 30

NOTE: 31