Levante Sistemas de Automatización y Control S.L.

Size: px
Start display at page:

Download "Levante Sistemas de Automatización y Control S.L."

Transcription

1 Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port Catarroja (Valencia) Telf. (+34) comercial@lsa-control.com Distribuidor oficial Bosch Rexroth, Indramat, Bosch y Aventics.

2 Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Pneumatics Service Automation Mobile Hydraulics Rexroth VisualMotion 9 Multi-Axis Motion Control using GPP and GMP Firmware R Edition 02 Application Manual

3 About this Documentation VisualMotion 9 Application Manual Title VisualMotion 9 Multi-Axis Motion Control using GPP and GMP Firmware Type of Documentation Application Description Document Typecode Internal File Reference Box, z.b. Box, 49-02V-EN Info for Document Author, z.b. Ablagevermerk Document Number, z.b /EN Purpose of Documentation This documentation describes: PPC-R control using GPP and GMP firmware with non-coordinated, coordinated and electronic line shafting motion capabilities Motion program creation using VisualMotion Toolkit Fieldbus interfaces: Profibus, DeviceNet, ControlNet, EtherNet and Interbus VisualMotion communication servers Record of Revisions Description Release Date Notes 01 06/2003 First Release 02 10/2003 Second Release Copyright 2001 Rexroth Indramat GmbH Copying this document, giving it to others and the use or communication of the contents thereof without express authority, are forbidden. Offenders are liable for the payment of damages. All rights are reserved in the event of the grant of a patent or the registration of a utility model or design (DIN 34-1). Validity The specified data is for product description purposes only and may not be deemed to be guaranteed unless expressly confirmed in the contract. All rights are reserved with respect to the content of this documentation and the availability of the product. Published by Note Rexroth Indramat GmbH Bgm.-Dr.-Nebel-Str. 2 D Lohr a. Main Germany Tel.: +49 (0)93 52/40-0 Fax: +49 (0)93 52/ Telex: Bosch Rexroth Corporation Electric Drives and Controls 5150 Prairie Stone Parkway Hoffman Estates, IL USA Tel.: Fax: Dept. ESG4 (EAN) This document has been printed on chlorine-free bleached paper.

4 VisualMotion 9 Application Manual Table of Contents I Table of Contents 1 VisualMotion 9 Overview System Overview GPP 9 System Overview GPP 9 System Components GPP 9 PLC Support GPP 9 Interface Support Drive I/O Support GMP 9 System Overview GMP 9 Firmware Features GMP 9 System Components GMP 9 Interface Support Drive I/O Support VisualMotion Toolkit Installation Overview System Requirements Installing VisualMotion Toolkit Communication Servers Overview Establish Communication using VisualMotion Toolkit Changing the Baud Rate Serial Communication Ethernet Interface PCI Communication Scalable Communication Platform (SCP) Server Configuring the SCP Server VisualMotion DDE (VM DDE) Server OPC Communication for SCP Features of the OPC Server OPC Communication Sample OPC Clients DDE Communication for SCP DDE Communication for VisualMotion DDE Client Interfaces Creating and Customizing a DDE Client Interface with Microsoft Excel Creating and Customizing a DDE Client Interface with Wonderware InTouch Motion Types Introduction

5 II Table of Contents VisualMotion 9 Application Manual Non-Coordinated Motion Coordinated Motion Electronic Line Shafting (ELS) VisualMotion Programming VisualMotion Operating States Service Mode Project Mode Synchronizing a Project Creating a New Project Project Values Project Variables Step 1: Create the Initialization Task Step 2: Create Task A Step 3 Create the Subroutine Downloading a Project I/O Mapper Register and Bit Labels Placing a Project in Online Mode Activating a Project I/O Box Activating A Project With Register Bits Saving a Project Opening Existing Icon Programs Advanced Programming with Events Event Types Service Mode Electronic Line Shafting (ELS) ELS Overview Assigning Variable and Register Labels Virtual Master, ELS System Master, and ELS Group Default Registers Assigning Program Variables Virtual Master 1 & 2 Default Register Labels ELS System Master Default Registers ELS System Master Configuration Word ELS Group 1-8 Default Register Labels ELS Group Configuration Word Virtual Master Assigning Initial Values Virtual Master Modes of Operation Real Master Positioning a Secondary Encoder Signal ELS System Master ELS Group Master Cascading ELS Groups

6 VisualMotion 9 Application Manual Table of Contents III 6.7 Link Ring Master Slip Monitoring for ELS System Masters Slip Monitoring Variables Using Register Bits to Adjust Slip Monitoring Feature ELS Group ELS Group Slave Configuration Stop and Jog Variables, Compile Time Setup Switching Synchronization between Group Input Masters Synchronized Lock On/Lock Off of ELS Group Master Phase Control Initialization Control Editing ELS Groups and System Masters Online Program Debugging and Monitoring Finding Program Problems Test Code Control Compiler Base Code Base Code instruction mnemonics and valid arguments Icon Language Warnings and Error Messages Text Language Error Messages First Pass Errors Second Pass Compiler Errors Drive Tools Overview DriveTop Determining Drive Direction Drive Operation Modes Drive Scaling Homing the Drive Travel Limits for Software and Hardware (End Switches checking safety features of drive setup) Profibus Fieldbus Interface General Information PPC-R System Description with a Fieldbus The VisualMotion Fieldbus Mapper Data Transfer Direction (Output vs. Input) Fieldbus Data Channel Descriptions Fieldbus Mapper Functionality Initializing the Fieldbus Mapper from VisualMotion Editing a Fieldbus Mapper Fieldbus Slave Definition Fieldbus Slave Configuration Cyclic Data Configuration Additional Functions Information for the GPP Programmer

7 IV Table of Contents VisualMotion 9 Application Manual Fieldbus Status Fieldbus Diagnostics Fieldbus/PLC Cyclic Read/Write Monitoring Fieldbus Error Reaction Information for the PLC Programmer *.gsd File Multiplexing Non-Cyclic Data Access via the Parameter Channel DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces General Information PPC-R System Description with a Fieldbus The VisualMotion Fieldbus Mapper Data Transfer Direction (Output vs. Input) Fieldbus Data Channel Descriptions Fieldbus Mapper Functionality Initializing the Fieldbus Mapper from VisualMotion Creating a New Fieldbus Mapper File Importing a Fieldbus Mapper File Fieldbus Slave Definition Fieldbus Slave Configuration Cyclic Data Configuration Additional Functions Information for the GPP Programmer Fieldbus Status Fieldbus Diagnostics Fieldbus/PLC Cyclic Read/Write Monitoring Fieldbus Error Reaction Information for the PLC Programmer *.eds File Word and Byte Swapping Multiplexing Non-Cyclic Data (Explicit Messaging) Interbus Fieldbus Interface General Information PPC-R System Description with a Fieldbus The VisualMotion Fieldbus Mapper Data Transfer Direction (Output vs. Input) Fieldbus Data Channel Descriptions Fieldbus Mapper Functionality Initializing the Fieldbus Mapper from VisualMotion Creating a New Fieldbus Mapper File Importing a Fieldbus Mapper File Fieldbus Slave Definition Fieldbus Slave Configuration

8 VisualMotion 9 Application Manual Table of Contents V Cyclic Data Configuration Additional Functions Information for the GPP Programmer Fieldbus Status Fieldbus Diagnostics Fieldbus/PLC Cyclic Read/Write Monitoring Fieldbus Error Reaction Information for the PLC Programmer Multiplexing Non-Cyclic Data Access via the Non-Cyclic (PCP) Channel Index Service & Support Helpdesk Service-Hotline Internet Vor der Kontaktaufnahme... - Before contacting us Kundenbetreuungsstellen - Sales & Service Facilities

9 VI Table of Contents VisualMotion 9 Application Manual

10 VisualMotion 9 Application Manual VisualMotion 9 Overview VisualMotion 9 Overview 1.1 System Overview 1.2 GPP 9 System Overview VisualMotion is a programmable multi-axis motion control system capable of controlling up to 40 intelligent digital drives from Bosch Rexroth. The PC software used for motion control management is named VisualMotion Toolkit. VisualMotion 9 supports the following hardware form factors and firmware versions: PPC-R (RECO-version) using GPP 9 firmware PPC-P11.1 (PCI-version) using GMP 9 firmware The PPC-R is a stand-alone multi-axis motion control. It has the RECO02 form factor, a form factor used by Bosch Rexroth for motion controls, PLCs and I/O modules. These devices share the RECO02 back-plane bus for data exchange. VisualMotion motion control is recommended for use with Bosch Rexroth's DIAX04 and/or ECODRIVE03 digital servo drives. The communication between control and digital servo drives is performed using the SERCOS fiber optic interface, the international standard for real-time communication for digital servo drives. VisualMotion can provide multi-axis coordinated or non-coordinated motion control with tightly integrated RECO02 I/O logic control functions. The flexibility of GPP 9 firmware supports a variety of applications, from general motion control to sophisticated multiple master electronic line shafting (ELS) and robotics. PPC-R01.2 PPC-R02.2 RECO RECO H1 H1 S1 S1 X X75 X94 RESET U1 S2 H2 DIST TX COM X16 RESET U1 S2 H2 DIST TX 24V 0V V 0V V X79 DP-SLAVE RDY RUN X99 ETHERNET RDY RUN RX RX 0V X7 NSW01.1R 24V 0V ERR STA ERR STA X1 U2 X10 X1 U2 U3 U4 X10 X16 Q1 Q2 I1 I2 I3 24Ve 0Ve Bb Bb 24V 0V PROG Q1 Q2 I1 I2 I3 24Ve 0Ve Bb Bb 24V 0V PROG COM PPC-R01.2 PPC-R02.2 Fig. 1-1: PPC-R Motion Control PPCR_Overview.FH7

11 1-2 VisualMotion 9 Overview VisualMotion 9 Application Manual GPP 9 System Components The VisualMotion GPP 9 system has the following components: PPC-R control using GPP 9 firmware RECO02 I/O modules (Local and SERCOS) VisualMotion Toolkit (VMT) software for motion control programming, parametrization, system diagnostics and motion control management. VMT also includes DDE and OPC servers. These servers provide the communication protocol between Windows programs and the control. Up to 40 intelligent digital drives can be connected to one control over the SERCOS fiber optic ring DIAX04 (using SSE03 or ELS05 firmware) drives and motors ECODRIVE03 (using SMT02, SGP01, SGP03 or SGP20 firmware) drives and motors ECODRIVE C (using MPG01 firmware) drives and motors HMI interfaces (BTC06, BTV04, BTV05, BTV06) GPP 9 PLC Support The Bosch Rexroth MTS-R is a PLC unit that interfaces with the VisualMotion control (PPC-R) and is available pre-configured in two sizes. MTS-R01.1 with one expansion slot MTS-R02.1 with three expansion slot Note: The expansion slot(s) on the MTS-R can be configured with fieldbus master interface or serial interface cards. GPP 9 Interface Support VisualMotion GPP 9 supports the following interfaces: Fieldbus Interfaces Profibus-DP slave interface (32 words) Interbus slave interface (16 words) DeviceNet, ControlNet or EtherNet/IP slave interface (32 words) Note: When using EtherNet/IP in a VisualMotion 9 system, no other fieldbus interface card (i.e., Profibus, DeviceNet, ControlNet, Interbus) or the MTS-R PLC interface can be installed. EtherNet/IP uses firmware version FMC-ETH01*-PHT-02VRS- NN. Note: The word size in parentheses indicates the maximum number of words allowed in the cyclic telegram for both the Input and Output directions.

12 VisualMotion 9 Application Manual VisualMotion 9 Overview 1-3 Additional Interfaces: Option Card Programmable Limit Switch (16 or 32 outputs) Link Ring for Master/Slave interfacing of VisualMotion controls Ethernet Interface Note: The same EtherNet hardware is used for both EtherNet/IP fieldbus and standard EtherNet TCP/IP networking communication. When enabled as an EtherNet/IP fieldbus interface in VisualMotion 9 using GPP 9 firmware, standard TCP/IP communication between VisualMotion Toolkit over the same network is possible. Drive I/O Support Bosch Rexroth digital drives support the following I/O devices: DEA0x.2M (x = 4, 5 or 6) I/O cards for DIAX04 digital drives EMD I/O module using the EcoX interface for DKC22.3 digital drives using SGP20 firmware 1.3 GMP 9 System Overview The PPC-P11.1 (PCI-version) is a PC-based stand-alone multi-axis motion control. The GMP 9 firmware used with the PPC-P is designed to work as a complete motion control solution. A host PC containing a Logic Controller (SoftPLC) handles the system logic, fieldbus and Ethernet communications. Just like the PPC-R, the PPC-P supports Bosch Rexroth DIAX04 and ECODRIVE03 digital servo drives. Communication between the control and digital servo drives is performed via the SERCOS fiber optic interface. Fig. 1-2: PPC-P (PCI-version) Motion Control ppc_pci.tif

13 1-4 VisualMotion 9 Overview VisualMotion 9 Application Manual GMP 9 Firmware Features GMP 9 System Components All firmware functionality supported in GPP 9 will also be supported in GMP 9 with the following restrictions: VisualMotion fieldbus slave interfaces are not supported. If fieldbus communication is required, the SoftPLC must be equipped to communicate with a PC-based fieldbus card. The PPC-P cyclic channel (real-time communication to/from DPR) is configured using VisualMotion Toolkit's Fieldbus Mapper. Ethernet interface is not supported The VisualMotion GMP 9 system is composed of the following components: PPC-P control using GMP firmware SERCOS RECO02 I/O modules VisualMotion Toolkit (VMT) software for motion control programming, parametrization, system diagnostics and motion control management. VMT also includes DDE and OPC servers. These servers provide the communication protocol between Windows programs and the control. Up to 40 intelligent digital drives can be connected to one control over the SERCOS fiber optic ring DIAX04 (using SSE03 or ELS05 firmware) drives and motors ECODRIVE03 (SMT02, SGP01, SGP03 and SGP20 firmware) drives and motors ECODRIVE C (using MPG01 firmware) drives and motors HMI interfaces (BTC06, BTV04, BTV05, BTV06) Note: When using VisualMotion's I/O Setup tool to assign registers to physical outputs, the location (either input or output registers) will determine which device is the master of the particular set of physical outputs. If they are mapped to the PPC output section, then the PPC will have control of the outputs. If they are mapped to the PPC input section, then the SoftPLC will have control over the physical outputs. GMP 9 Interface Support VisualMotion GMP 9 supports the following interfaces: Optional Programmable Limit Switch Card (16 or 32 outputs). Link Ring for Master/Slave interfacing of VisualMotion controls. Drive I/O Support Bosch Rexroth digital drives support the following I/O devices: DEA0x.2M (x = 4, 5 or 6) I/O cards for DIAX04 digital drives EMD I/O module using the EcoX interface for DKC22.3 digital drives using SGP20 firmware

14 VisualMotion 9 Application Manual VisualMotion Toolkit Installation VisualMotion Toolkit Installation 2.1 Overview VisualMotion Toolkit (VMT) is supplied on CD-ROM format. It is installed with dual language support in English and German. A complete help system is available as part of the installation, which contains detailed information about VisualMotion, including diagnostic and context sensitive information, accessible through the F1 key or Help button. During VisualMotion installation, DriveTop software for commissioning drives is automatically installed. Note: The version of DriveTop in VisualMotion 9 (09E10) will overwrite any previous version of DriveTop installed on your computer with the user ID and password from the existing version of DriveTop. 2.2 System Requirements The following system specifications are recommended for running VisualMotion 9 software. Computer VisualMotion Toolkit can be installed on any IBM PC compatible Pentium computer with the following specifications: Windows NT 4 with service pack 6 or Windows 2000 Internet Explorer 4.0 or later 64 MB of RAM system memory Complete dual language (English and German) installation including help system requires 95 MB of hard disk space. Additional space is required for user files. Display A VGA display is required. A color monitor display makes it possible to take full advantage of VisualMotion's graphic interface. Printer VMT uses the default printer installed on your computer. For optimal resolution, especially when printing projects, use a high-resolution (300- dpi) laser or ink jet printer. Mouse A serial or PS2 mouse is required to use the VMT s Icon programming environment. Serial I/O VMT can be configured to use the PC's serial port for communication between the host PC and the PPC-R. An IKB0005 RS-232 serial cable is required between the host PC and the PPC-R X10 or X16 communication ports. Hardware handshaking is not used.

15 2-2 VisualMotion Toolkit Installation VisualMotion 9 Application Manual 2.3 Installing VisualMotion Toolkit 9.0 To install VisualMotion Toolkit: 1. Insert the VisualMotion CD into the CD-Rom drive. VisualMotion will automatically start. 2. Select the setup language. The install program will prompt you to select either the English or German installation language version from the drop-down menu. This option can be changed at any time after installation by selecting Tools Options from VisualMotion Toolkit's main menu.. Note: If the language selected in VisualMotion does not match the language of the computer s operating system, some windows in VisualMotion will maintain the operating system language. VisualMotion's splash screen will be displayed while an InstallShield Wizard launches. The wizard will guide you through the rest of the setup process. If your computer currently has a previous version of VisualMotion 9 installed on it, the setup program will recognize the software and launch a modify, repair, and remove wizard. By selecting the Repair option (see Fig. 2-1), you can overwrite the files of the existing VisualMotion components with the files of the new version. This will not affect the programs you have created with the earlier version. Programs saved on your computer s hard drive can be downloaded to the new version of VisualMotion.

16 VisualMotion 9 Application Manual VisualMotion Toolkit Installation 2-3 Fig. 2-1: Modify, Repair, Remove VisualMotion Components 3. Click Next> in the Welcome window. 4. Click Yes in the license window to continue with the installation. Install_Repair.tif 5. Enter a user name, company name, and serial number in the Customer Information window. Note: The serial number is printed on the software packaging material. 6. Accept the default folder location for VisualMotion software by clicking Next, or change the default location by clicking the Browse button. Fig. 2-2: Installation Destination Location Install_Destination.tif 7. Select the Installation setup type. The Setup window allows you to choose from 3 different installation types. The amount of hard disk space required for the program is dependent upon the setup type selected.

17 2-4 VisualMotion Toolkit Installation VisualMotion 9 Application Manual Fig. 2-3: Installation Setup Type Install_Setup_Type.tif The Typical setup option installs a default set of the most commonly used VisualMotion components. The Compact option, designed to conserve hard drive space, installs the minimum required options to run VisualMotion. The Custom setup option allows you to install individual software components. The following table outlines how much hard disk space is needed per setup type. Type of Setup Description Required Hard disk Space Compact Required files, no help files 7.2 MB Custom User-selectable installation depends on selection, MB Typical (English) Required files and English help files 36.6 MB Typical (German) Required files and German help files 36.6 MB Table 2-1: Setup Types 8. Select the installation folder location where the software will reside on your hard drive. 9. When the installation is complete, you will be prompted to restart your computer.

18 VisualMotion 9 Application Manual Communication Servers Communication Servers 3.1 Overview VisualMotion 9 supports two communication servers, the VisualMotion Dynamic Data Exchange server (VM DDE) and a scalable communication platform (SCP). SCP uses the SIS protocol, a Bosch Rexroth-specific binary protocol, to communicate with the PPC over Ethernet, serial, or PCI-Bus connection. The OPC interface in SCP uses the OPC protocol to communicate with a client such as a Windows based HMI client software, while the VM DDE interfaces uses ASCII protocol to communicate with VisualMotion or PC based HMIs. This chapter discusses how to configure the communication servers The basic features of each server are listed in the following table: Feature VisualMotion DDE Server (VM DDE) DDE interface Yes Yes OPC Interface No Yes Serial Communication Yes Yes Ethernet Communication Yes Yes PCI-Bus Communication No Yes GPP7-GPP8 Support Yes No GPP9-GMP9 Support Yes Yes Table 3-1: SCP and VM DDE Features Scalable Communication Platform (SCP) 3.2 Establish Communication using VisualMotion Toolkit With VisualMotion Toolkit (VMT) installed on your PC, verify communication with the following procedure: 1. Open VisualMotion and select View and edit control data in Service mode. 2. Select Diagnostics System from the VisualMotion menu If proper communication has been established, the Status tab in the Systems Diagnostics window (shown in Fig. 3-1) will display the operating state.

19 3-2 Communication Servers VisualMotion 9 Application Manual System_Diagnostics_Status.tif Fig. 3-1: System Diagnostics Window If the communication link has failed, an error will be issued. Either there is a problem with the physical connection or the communication settings do not match the settings of the DDE Server. To establish a connection: 3. Click on the Settings button in the error message window to open the Serial Communications window (Fig. 3-2). Serial_Comm.tif Fig. 3-2: Serial Communication 4. Select the baud rate setting in the Serial Communications window that matches the baud rate setting in the control 5. To view the current baud rate settings in the control, depress the S1 button on the faceplate of the control 3 times. To display the baud rate of the X16 connector, depress the S1 button 5 times. 6. Check the status of the system again as described in step 2 to verify that to verify that communication has been established.

20 VisualMotion 9 Application Manual Communication Servers 3-3 Changing the Baud Rate After communication has been established between VisualMotion and the control, the baud rate setting can be changed. To change the baud rate: 1. Open the Control Settings window by selecting Tools Control Settings. 2. Select either the X10 Program Port tab or X16 Communication Port tab. The tabs can only be viewed when your project is in Online mode or VisualMotion is in Service Mode because serial communication parameters are not stored in the project when it is offline. 3. Select the new baud rate setting from the drop-down menu. Change_Baud_Rate.tif Fig. 3-3: Baud Rate Selection 4. Cycle the power to the control. After cycling the power, the new baud rate is shown in the control window. 5. Open the Control Settings window in VisualMotion. When attempting to open the Control Settings window after cycling power, The DDE server error window is displayed. 6. Click the Settings button in the error message window. This will open the Serial Communications window. 7. Change the baud rate to match the baud rate in the control The new baud rate is displayed in the Control Settings window. Serial Communication VisualMotion is installed with a serial connection by default. The connection can be used to establish communication with the control. Both serial ports are configured to respond to the VisualMotion ASCII Host Protocol and SIS protocol (the format is auto-detected by the firmware and can be dynamic). The serial port on the PPC-R01.2 faceplate can also be configured to communicate with the Bosch Rexroth

21 3-4 Communication Servers VisualMotion 9 Application Manual BTC06 VT* interface if no additional cards are used. Both ports always operate with: 8 bits per character 1 stop bit The configurable communication settings are shown in the following table: Serial Com Options Baud Rate Checksum (ASCII Protocol) Main port default 9600 enabled Main port valid settings 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, enabled or disabled Optional port default 9600 enabled Optional port valid settings 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, Table 3-2: Configurable Communication Settings enabled or disabled Ethernet Interface The Ethernet option card resides in the PPC-R control and contains it's own TCP/IP (Transmission Control Protocol/Internet Protocol) stack. The TCP/IP stack enables the Ethernet interface to transmit data over the network or Internet and communicate with VisualMotion Toolkit via the DDE Server. Ethernet Card Setup Before an Ethernet card can be accessed, the following control parameters must be configured in the Parameter Overview window. C Card IP Address C Card Subnet Mask C Card Gateway IP Address C Half / Full Duplex Mode C Card Network Password In addition to the setup parameters, the following read-only parameters are supported: C Card Network Access Control (read-only via Ethernet) Note: When communicating over a serial connection, parameter C , Card Access Network Control, can be directly modified by entering the desired network access level (No Access, Read, ReadWrite). When communicating over an Ethernet connection, the network access level is changed every time the password in C , Card Network Password, is entered in C C CIF Ethernet Card Hardware ID C CIF Ethernet Card Firmware Version C CIF Driver version string

22 VisualMotion 9 Application Manual Communication Servers 3-5 The following steps are used to configure an Ethernet card via a serial connection (IKB0005) to VisualMotion Toolkit. 1. Power up the control, with a connected Ethernet card, and start VisualMotion Toolkit. 2. Open VisualMotion Toolkit in Service mode and select Data Parameters to open the Parameter Overview-Project window. 3. Modify control parameter C and enter the Ethernet card's IP Address in dot notation, for example " ". 4. Modify control parameter C and enter the Ethernet card's Subnet Mask in dot notation, for example " ". 5. Modify control parameter C and enter the Ethernet card's Gateway IP Address in dot notation, for example " ". Every Ethernet card must have a unique IP Address assigned. 6. Modify control parameter C and set the transmission mode to either half duplex or full duplex. Typing "HALF" or "FULL" in uppercase letters modify this parameter. Full-duplex (20 Mbps) can only be achieved if connecting to the Ethernet card via a LAN switch. Optional: Modify control parameter C and enter an alphanumeric network password, up to 20 characters, that will be used to modify the access level to the control. Note: When connected to the control via an Ethernet connection, the password in control parameter C is displayed with asterisks. Only the user with serial access to the control can view the actual text password and modify it if desired. 7. Close VisualMotion Toolkit and cycle power to the control in order for these changes to take affect. After the control is powered up, the LEDs on the faceplate of the Com port card will have the following behavior: RDY LED should be on, and the RUN and STA LED's should flash continuously. Ethernet Registers The following VisualMotion registers monitor and provide the status of ethernet communications for diagnostic purposes: Register 50 Ethernet status. The bits in this register indicate a status of the interface and the current message being processed. Bit 1 Indicates the interface is present (0 = not present, 1 = present) Bit 9 A request has been received and the Ethernet callback function is executing. Bit 10 Response is pending. The message is being processed by the motion control (GPP). Bit 11 The message processing is complete. Bit 12 The response message has been sent to the DDE Server. Bit 13 Sets when a failure to communicate request to GPP Ethernet handler exists. Bit 16 An invalid protocol has been received (standard or encrypted ASCII). Register 51 Standard message count. This register indicates the number of messages that have been received in standard ASCII

23 3-6 Communication Servers VisualMotion 9 Application Manual protocol. It is a 16-bit integer and will rollover when the maximum is reached. Register 52 Cyphered message count. This register indicates the number of messages that have been received in encrypted ASCII protocol. It is a 16-bit integer and will rollover when the maximum is reached. Register 53 Invalid count. This register indicates the number of messages that have been received in which the protocol cannot be determined. It is a 16-bit integer and will rollover when the maximum is reached. Refer to the VisualMotion 9 Functional Description manual for additional information on ASCII protocol. PCI Communication The firmware for the PPC-PCI1.1 is designed to work in a complete system solution consisting of a Logic Controller (Soft PLC) and Motion Controller (PPC-PCI) inside an industrial PC with an HMI package. On the PC, there are three main interfaces with the PPC: a soft PLC, VisualMotion, and HMI packages such as WinHMI or WonderWare. The soft PLC will have direct access to the DPR (dual port RAM), while VisualMotion and the HMI packages will communicate over the DPR via the Scalable Communication Platform (SCP). VisualMotion Toolkit supports a PCI card with GMP firmware. GMP firmware supports all the functionality of the GPP firmware with the following exceptions: Data Mapper is not supported, thus eliminating the option of ordering the corresponding PC104 interface boards with this system. The parent soft control (softplc) communicates directly to the PPC-P11.1 via the DPR over the PCI bus. If additional fieldbus connectivity is required, the soft control (softplc) should be equipped with the capability to communicate with a PC-resident fieldbus card. The Data Mapper software utility is used to set up PCI cyclic channels. PC104 fieldbus slave cards are not supported. The Register and Cyclic channels over the Dual Port RAM use the same cycle time defined for the I/O mapper (2 or 4 ms) I/O setup only consists of SERCOS Reco I/O, ECO-X I/O, and DIAX04 drive I/O. 3.3 Scalable Communication Platform (SCP) Server The SCP has two communication interfaces, SCP-DDE Server and OPC. This server allows communication between a PPC-R or PPC-P and VisualMotion Toolkit or Windows based HMI software programs. The SCP-DDE Server interface of the server is used for communication with the VisualMotion Toolkit. For Windows based HMI software, the OPC interface and the SCP-DDE Sever can be used. Note: The Wonderware HMI, OPCLink in INTouch version 7, does not work with the VisualMotion 9 OPC server. Refer to the Wonderware website for information on upgrading to OPCLink version 7.6 to use the OPC server. The following figure is a model of the SCP server, illustrating it s link to the PPC-R and PPC-P.

24 VisualMotion 9 Application Manual Communication Servers 3-7 ASCII Protocol SIS Protocol PC PC VisualMotion Windows based HMI software VisualMotion Windows based HMI software ASCII Format ASCII Format OPC VisualMotion DDE DDE SCP OPC ASCII Protocol via RS232, RS485 or Ethernet TCP/IP SIS Protocol via RS232, RS485 or Ethernet TCP/IP ASCII Protocol via RS232 or RS485 PPC-R SIS Protocol via RS232, RS485 or PCI Bus PPC-R PPC-P11.1 PPC-P11.1 GMP 9 GPP 7, 8 and 9 GMP 9 GPP 9 Configuring the SCP Server Fig. 3-4: ASCII and SIS Communication Overview With SCP, it is possible for multiple clients to communicate simultaneously through the server. The SCP converts the multiple forms of communication into a universal protocol, the SIS protocol, to communicate with the PPC-R over an Ethernet, serial, or PCI-Bus connection (refer to the VisualMotion 9 Functional Description for more information on SIS protocol). SCP and applications to support SCP and OPC communication are automatically installed with VisualMotion 9 software, including: DDESCP.exe OPCClient.exe OPCScp.exe ScpServer.exe ScpSyscon.exe TraceMonitor These components are installed in the default folder location, C:\Indramat\VisualMotion9\SCP\Bin. ScpSyscon.exe is a program used to configure the SCP server. To run the program: 1. Double-click the ScpSyscon.exe file. 2. In the SCP Systemconfigurator window, click Add Device. 3. VisualMotion will be the only device available, click Next. 4. Configure the device by entering a name, address, and connection type (Ethernet, PCI, or Serial). The device address should match the address listed in the C parameter in the control or in the control display where it appears as the unit number. The device address 128 is a point-to-point connection which

25 3-8 Communication Servers VisualMotion 9 Application Manual generates a response from the control regardless of the setting in C Syscon_Device.tif Fig. 3-5: SCP Systemconfigurator Window Device Configuration For a serial driver: 5. Select the ComPort that matches the setting in VisualMotion. 6. Click the Details-> button to configure the mode, baudrate, and parity. The mode and baudrate settings for the driver should match the control settings. Reference the settings on the control by scrolling through the H1 displays. Note: The parity setting is None (a value of 0) by default in parameters C and C in VisualMotion and in the SCP Systemconfigurator program. If the parity has been changed in VisualMotion from the default setting, then the parity setting in the SCP Systemconfigurator must match.

26 VisualMotion 9 Application Manual Communication Servers 3-9 Syscon_Serial_Driver.tif Fig. 3-6: Serial Driver Settings For an Ethernet driver: 7. Type the IP address and port number of the control. Note: The designated port setting for VisualMotion is This is the only port setting that will work with SCP in VisualMotion. You can verify your selections if you have an active connection to the drive by clicking the Ping button. For the PCI driver; 8. Click Save to add the device. Syscon_Driver_Ethernet.tif Fig. 3-7: SCP Systemconfigurator Ethernet Driver

27 3-10 Communication Servers VisualMotion 9 Application Manual A driver configuration can be modified by selecting the device and then the Change Config button. The Driver type and Device address can be modified, including the settings for the ComPort. Note: To change the Device Name, highlight the device in the tree structure and click Remove Device. Add the device again with the new name using the Add Device button. OPCClient OPCClient is a sample client interface that can be used to test the communication link with the SCP server. By referencing the name of the SCP server that was configured with the Systemconfigurator, the OPCClient provides the interface to add groups and items to build the data structure recognized by the SCP server. The data structure hierarchy is composed of groups and items in the format illustrated in Fig OPC_Server_Data_Structure.tif Fig. 3-8: OPC Server Data Structure The OPCClient.exe file is located in the Bin folder in the Rexroth folder on your hard drive at the following location: C:\Rexroth\VisualMotion 9\SCP\Bin. The program is started by double-clicking the folder. It opens with the OPCClient window which contains tabs for the separate configuration fields.

28 VisualMotion 9 Application Manual Communication Servers 3-11 OPCClient_Server_List.tif Fig. 3-9: OPC Server List The server is assigned groups and each group is assigned items. The configuration is not retained when the OPCClient window is closed without storing it on the PC using the OPC Save button and reloading it using the OPC Load button in the OPCClient window. Configure Group To configure a group: 1. Select the Connect button to establish a connection to the OPC server. 2. Select the IOPCServer tab and click AddGroup. OPCClient_IOPCServer.tif Fig. 3-10: OPC IOPCServer Tab

29 3-12 Communication Servers VisualMotion 9 Application Manual 3. Type the group name and review the default settings for the remainder of the fields in the tab and change where appropriate. Note: The value for the Requested Update Rate sets the Asynchronous update rate. 4. Click Add Group and then OK to close the field. Configure Item To add an item to a group: 1. Select the IOPCItemMgt tab in the OPCClient window. 2. Highlight the group you want to add the item to and click the Select button. 3. Click the AddItems button to activate the item configuration fields. 4. Select the Type from the following items in the drop-down menu: VT_EMPTY VT_12 VT_14 VT_R4 VT_R8 VT_BSTR VT_BOOL VT_DATE 5. Type the Item ID and Access Path (Access Path = SCP.OPC). Note: The item ID includes the target drive name followed by SCP syntax command code. Refer to the OPC Communication section in this chapter for more information. OPCClient_AddItems.tif Fig. 3-11: OPCClient IOPCItemMgt Tab

30 VisualMotion 9 Application Manual Communication Servers Click AddItem and the item will be displayed in the Group field. 7. Click OK to return to the IOPCItemMgt tab. The data type can be reconfigured by selecting the SetDataTypes button with the item highlighted in the Group field. The hierarchy structure is displayed in the OPC SCP Server window. OPC_SCP_Server.tif Fig. 3-12: OPC SCP Server Window The number of items configured for the highlighted group is listed in the right window, but the individual items are not displayed. Read and Write Access Both Synchronous and Asynchronous read and write access is available to and from the OPC server. Two tabs in the OPC Client window allow you to set the rates and display the results.

31 3-14 Communication Servers VisualMotion 9 Application Manual OPCClient_IOPCAsyncIO2ReadWrite.tif Fig. 3-13: IOPCAsyncIO2 Read Write Tab To activate Asynchronous Read and Write: 1. Highlight the group and click Select. The details of the items in the group are displayed in the group field. 2. Highlight the item and click Read to obtain the value at the moment when the button was selected. The write button will open a dialog box where a value can be entered for writing to the server. The read and write values are displayed in the field at the bottom of the OPCClient window. TraceMonitor The TraceMonitor is a Bosch Rexroth internal tool for monitoring and debugging SCP communication. The TraceMonitor program is opened from the location, C:\Rexroth\VisualMotion9\SCP\Bin. It is possible to monitor and analyze the data exchange between the SCP and client applications (such as VisualMotion and Visual Basic clients). More information will be available when the development of this program is complete. 3.4 VisualMotion DDE (VM DDE) Server The VM DDE server supports network communication over an Ethernet bus. The network connection method and target control name and IP address set in VisualMotion Toolkit, is used by the VM DDE server to initiate a connection-oriented path with the motion control (GPP). Fig. 3-4 illustrates the communication between a host PC and the control via Ethernet. VisualMotion DDE Server Settings Communication between VisualMotion Toolkit and an Ethernet-ready control is performed via the DDE Server. The following steps outline the DDE Server setup procedure.

32 VisualMotion 9 Application Manual Communication Servers Start VisualMotion Toolkit and launch the DDE Server shown in the figure below by selecting Tools Registered Tools CLC_DDE. dde_server.tif Fig. 3-14:VM DDE Server Window 2. Select Settings Network Communications from the DDE Server to open the Network Communications window below. net_comm.tif Fig. 3-15:Network Communications Window 3. Click the Add button to add a network configuration. 4. In the Add Network Configuration window below, enter the following information: A label (up to 20 characters) that identifies the control. The control's Ethernet IP Address in dot notation, for example " ". Note: The Comm Timeout and Time to Live (TTL) default values can be modified if desired. The Enable Message Encryption feature encrypts messages before transporting them to the control, providing another layer of security.

33 3-16 Communication Servers VisualMotion 9 Application Manual add_net_config.tif Fig. 3-16: Add Network Configuration Window 5. Click the OK button to return to the Network Communication window where the new configuration will be displayed. Note: The order in which configurations are added to the Network Communication window determines the control's card number. net_comm_done.tif Note: A maximum of 32 network connections are allowed in the Network Communication window. A DDE Server message will be issued if the Add button is pressed for an 11 connection. 6. Checking the Enable NCA option from the Network Communication window enables the Network Communication Accelerator. This feature accelerates communication to the control by creating an open message loop between VisualMotion Toolkit. 7. Click OK to return the DDE Server main window. Establishing Communication between DDE Server and VisualMotion Toolkit With the DDE Server configured, perform the following steps to initiate communication to an Ethernet-ready control via VisualMotion Toolkit. 1. Start VisualMotion Toolkit and select Tools Control Selection to open the Control Selection window below.

34 VisualMotion 9 Application Manual Communication Servers 3-17 Control_Selection.tif Fig. 3-17: Control Selection Window 2. Select Network as the Connection Method from the drop-down list. 3. Select the label of the control you are connecting to from the dropdown list in the Target field. The IP address for the control selected will appear in the Target field after the Control Selection window has been closed and reopened. The address can be edited or a new address can be added by selecting the Configure button, which opens the Network Communications window. Note: The control s card number is determined in the order in which it was added to the Network Communications window, starting with 0. When a project is downloaded to the control, the DDE Server is activated, unless an error occurs during the download. The Network Connection In Progress window, shown in Fig. 3-18, is displayed during communication initialization. net_comm_inprogress.tif Fig. 3-18: Network Connection Status Once communication is established, the VM DDE Server window opens and VisualMotion Toolkit can access the control based on the access level set in control parameter C , Card Access Network Control. The status of the project after it has been downloaded to the control is displayed in the VM DDE Server window. Errors are also indicated, for example, if an error has occurred during download of phase transition.

35 3-18 Communication Servers VisualMotion 9 Application Manual The window can also be displayed while the project is offline, by selecting Tools Registered Tools CLC_DDE from the VisualMotion Toolkit menu. The VM DDE Server window displays diagnostic messages indicating the state of the control, including any errors that occur while the control is running. Fig shows the status message and number for Parameter Mode. DDE_Param_Mode.tif Fig. 3-19: DDE Server Parameter Mode If a parameter error occurs, it will be displayed in the VM DDE Server window, for example, the shutdown message 400 EMERGENCY STOP, as shown in Fig DDE_EStop.tif Fig. 3-20: DDE Server Emergency Stop VM DDE Monitoring Capabilities The VM DDE Server has several options for viewing communication links. The Monitor menu in the VM DDE Server window contains the DDE Conversations, DDE Communications, and Network Monitor interfaces where display options can be set. Fig. 3-21: The Monitor Menu DDE Conversations dde_monitor.tif The DDE Conversations window displays the Conversation, Service and Topic Handles for all of the current DDE conversations. The Item Count column shows the total number of active advise links, request

36 VisualMotion 9 Application Manual Communication Servers 3-19 transactions and poke transactions. An item transaction list can be viewed by selecting a conversation entry and clicking the Properties button. Fig. 3-22: DDE Conversations dde_conv_list.tif DDE Conversation Item The DDE Conversation Item window displays the item transaction list for a conversation. The Service name, Topic string, Item, Format, and Transaction Type are displayed in text format. Use the Next and Previous buttons to cycle through the Item field, if there is more than one item in the conversation. Fig. 3-23: DDE Conversation Item DDE Communications dde_conv_item.tif Selecting Monitor DDE Communications opens the Monitor window. The Monitor window displays all current information being transferred to and from the PPC. The active window builds a communication log of all DDE conversations that occur while the monitor is running. Selecting Clear will empty the log. Selecting Stop will stop the conversation monitoring, allowing you to scroll through the log. The Monitor window can be resized to enlarge the active viewing area.

37 3-20 Communication Servers VisualMotion 9 Application Manual Fig. 3-24: DDE Communication Monitor Network Monitors dde_comm_monitor.tif The Network Monitors menu has several options for; monitoring data transfer of connected configurations, determining accessible IP Addresses on the network, and testing network communication of a specific IP Address. Fig. 3-25: Network Monitors dde_monitor_net.tif Connections Selecting Monitor Network Monitors Connections in the VM DDE Server window opens the Connections window. From this window, you can monitor data transfer statistics, performance statistics, and error counts if the DDE Server is actively communicating with the device.

38 VisualMotion 9 Application Manual Communication Servers 3-21 Fig. 3-26: Monitor Network Communications Map View monitor_net_conn.tif Selecting Monitor Network Monitors Map View from the VM DDE Server main menu opens the Control Network Map window. This window is used to locate active controls within a network Subnet IP Address. Note: The Map View feature is not available for Windows 98/95 Entering a valid Subnet IP Address and clicking the Start button will find all active Ethernet-ready controls and display them as a green G. The Timeout field represents the maximum time needed to determine whether a connection has been established. If all known connections are displayed, click the Stop button to terminate the search. The yellow B represents the broadcast address for the given Subnet.

39 3-22 Communication Servers VisualMotion 9 Application Manual Fig. 3-27: Control Network Map monitor_net_map.tif Card Query Double clicking on a green G, opens the Control Card Query window shown in Fig From this window, the user can view the control's system configuration as well as the control's network information. card_query.tif Fig. 3-28: Control Card Query Add Configuration Right clicking on a green G opens a small pop-up window, where you can add the selected control. Selecting Add Configuration opens the Modify Network Configuration window, shown in Fig From this window, you can modify the Label that will appear in the Network Communication window located under the VM DDE Server's menu selection, Settings Network Communications.

40 VisualMotion 9 Application Manual Communication Servers 3-23 Note: This feature is equivalent to selecting the Add button on the Network Communication window when adding a new configuration to the VM DDE Server. add_config.tif Fig. 3-29: Add Configuration Diagnostics Selecting Monitor Network Monitors Diagnostics from the VM DDE Server main menu opens the Connection Diagnostics window. From this window the user can test the network communication for a control listed in the Available Configurations drop-down list. Each test returns a message indicating if the test passed or failed. In addition to network testing, the user can also trace the route of the network connection for the selected control.

41 3-24 Communication Servers VisualMotion 9 Application Manual Fig. 3-30: Connection Diagnostics conn_diag.tif Local Loopback Test This test verifies that the PC's network interface is operational. Note: This test is not available for Windows 98/95. CIF Hardware Loopback Test This test verifies that the DDE Server can communicate with the Ethernet card in the control. Note: This test is not available for Windows 98/95. GPP Loopback Test This test verifies that the DDE Server can communicate with the GPP firmware in the control via the control's Ethernet card. Trace Route This button opens the Trace Route window, which maps the route of the message through routers from the DDE server to the control. Note: This feature is not available for Windows 98/ OPC Communication for SCP The OPC communication protocol has the following structure: <SCP Device Name><SCP-Command> The SCP Device Name represents the local connection name. Because it is possible to have more than one control interfacing the SCP server, each connection must have a unique SCP device name. The most common SCP Command types (parameter, variable, register, event, point, program, control, PID, and zone) are discussed in the following section.

42 VisualMotion 9 Application Manual Communication Servers 3-25 Features of the OPC Server Specifications The OPC server portion of the SCP supports the following interfaces: Data Access Custom Interface Standard Version 2.04 (September 5, 2000) Data Access Automation Interface Standard Version 2.02 (February 4, 1999) and OPC Common Definitions and Interface Version 1.0 (October 27,1998) with Release 01V01. Note: The following interfaces are currently not supported: Browsing of available items Tree namespace Public groups OPC Security Alarms and Events Historical Data Access Server Types Interfaces The following server types are available: Local InProc Server Local OutProc Server Remote Server The following tables contain the interfaces supported by the OPC server. Additional information about the interfaces is available in the OPC specification document. The command field column in the table indicates the related chapter in the OPC specification. Interface Method Optional Supported Comment IOPCServer AddGroup Yes IOPCServer PublicGroups IOPCBrowseServer AddressSpace IOPCItemProperties GetErrorString GetGroupByName GetStatus RemoveGroup CreateGroupEnumerator QueryOrganization Yes Yes Yes Yes Yes Yes No Yes partial The interface supports just FLAT Space Yes ChangeBrowsePosition Yes No Is not supported because it is just FLAT Space supported BrowseOPCItemIDs GetItemID BrowseAccessPaths QueryAvailableProperties GetItemProperties LookupItemIDs No Yes No This interface is not supported because there are no AccessPath supported, see also IOPCItemMgt Yes Yes Yes New in Version 2.0 of the OPC Specification

43 3-26 Communication Servers VisualMotion 9 Application Manual Interface Method Optional Supported Comment IOPCCommon SetLocaleID Yes Yes New in Version 2.0 of the OPC Specification GetLocaleID QueryAvailableLocaleIDs GetErrorString SetClientName Yes Yes Yes Yes Interface Method Optional Supported Comment IConnectionPoin Container EnumConnectionPoints FindConnectionPoint IPersistFile Yes No Yes Yes Table 3-3: OPCServer Object Interfaces New in Version 2.0 of the OPC Specification ConnectPointContainer of the IOPCShutdown interface Interface Method Optional Supported Comment IOPCGroupStateM GetState Yes gt SetState Yes IOPCPublicGroup StateMgt IOPCASyncIO2 New in Version 2.0 (OPC Specification) SetName CloneGroup Read Write Refresh2 Cancel2 SetEnable GetEnable Yes IOPCAsyncIO Yes No Just in Version 1.0 of the OPC Specification IOPCItemMgt IConnectionPoint Container IOPCSyncIO AddItems ValidateItems RemoveItems SetActiveState SetClientHandles SetDatatypes CreateEnumerator EnumConnectionPoints FindConnectionPoint Read Write Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes New in Version 2.0 of the OPC Specification ConnectPointContainer of the IOPCDataCallback

44 VisualMotion 9 Application Manual Communication Servers 3-27 Interface Method Optional Supported Comment IDataObject Yes No IEnumOPCItem Attributes Next Skip Reset Clone Yes Yes Yes Yes Fig. 3-1: Interfaces and Methods of the OPCGroup OPC Communication The OPC communication protocol has the following structure: <SCP Device Name><SCP-Command> The SCP Device Name is configured with Syscon, the OPC configuration interface. The SCP-Command accesses different data in the motion control. The SCP Commands are explained more in detail in this chapter. SCP Command Syntax Parameter VX 1 X 2,X 3,X 4,X 5 V VisualMotion X 1 Parameter type (D, C, T, or A) X 2 Data type (A, B, D, H, L, P, T, U) X 3 Parameter set number - the drive, axis, or task number depending on the parameter type accessed. The parameter set is always zero for card parameters. X 4 Parameter number (integer format) the S-parameter numbers start at zero. The P parameters numbers have an offset of (for example, the parameter number for P is 32769). Number of elements (integer format) X 5 Note: List parameter access information is not available at this time. This information will be available at a later date. Parameter Type D - Drive Parameter (S and P Parameter) C - Card Parameter T - Task Parameter A - Axis Parameter Data Type A - Attributes (hex) H - Upper limit (mixed) L - Lower limit (mixed) P - Data (mixed) T - Parameter name (string) U - Unit text (string) Table 3-4: Parameter SCP Command Syntax Examples VisualMotion,VDL,1,125 Access the lower limit of drive parameter S , of Drive number 1, from the device VisualMotion

45 3-28 Communication Servers VisualMotion 9 Application Manual SCP Command Syntax Event VEX 1,X 2,X 3 V VisualMotion E Event table X 1 Data type (S, T, D,A, F,M, or L) X 2 Program number in decimal format (0 indicates active program) X 3 Event number 1 to n in decimal format (n is determined through the offline VisualMotion data table) Data Type S T D A F M L Description Status, integer data Type, integer data Direction, integer data Argument, float data Function, string data Message, string data Array format, string data Table 3-5: Event SCP Command Syntax Examples VisualMotion,VEL,0,1 Access event entry (User program = 0, Event = 1) VisualMotion,VEM,0,1 Access message of event 1 of the active program SCP Command Syntax Variable VX 1 X 2,X 3,X 4 V VisualMotion X 1 Variable type (F, I, H, or G) X 2 Data type (P, X, or T) X 3 Program number in decimal format (0 indicates active program) X 4 Variable number 1 to n in decimal format (n is determined through the offline VisualMotion data table) Variable Type F I H G Data Type P X T Description Program Floats Program Integers Global Floats Global Integers Float/Integer data Hex data Label text Table 3-6: Variable SCP Command Syntax Examples VisualMotion,VFP,0,1 Access floating-point F1 variable of the active program

46 VisualMotion 9 Application Manual Communication Servers 3-29 SCP Command Syntax Register VRX 1,X 2,X 3 V R X 1 X 2 X 3 VisualMotion Register Data type Program number in decimal format (0 indicates the active program) used only for labels Register number in decimal format Data Type B D X M F S C E T Description Binary data Decimal data Hex data Hex set bits Binary force mask Binary force state Hex force mask and state Clear all forcing Label text Table 3-7: Register SCP Command Syntax Examples VisualMotion,VRD,0,100 Access register state (Set ID = 0, Register number = 100) VisualMotion,VRB,0,100 Access Register 100 of the currently active program and display the data in binary format. SCP Command Syntax Point VX 1 X 2,X 3,X 4 V VisualMotion X 1 Point type X 2 Data type X 3 Program number in decimal format (0 indicates active program) X 4 Point number 1 to n in decimal format (n is determined through the offline VisualMotion data table) Point Type X Y Data Type X Y Z B S A D Description Absolute Points ABS Relative Points REL X coordinate (float data) Y coordinate (float data) Z coordinate (float data) Blend radius (float data) % of Maximum speed (integer data) % of maximum acceleration (integer data) % of maximum deceleration (integer data)

47 3-30 Communication Servers VisualMotion 9 Application Manual Point Type Description J % jerk (integer data) 1 Event number to enable for this point (integer data) 2 Event number to enable for this point (integer data) 3 Event number to enable for this point (integer data) 4 Event number to enable for this point (integer data) R Roll/Rate (float data) P Pitch (float data) W Yaw (float data) E Elbow state (integer data) L Array format (string) data V Label list (string) Table 3-8: Point SCP Command Syntax Examples VisualMotion,VXL,0,1 Access absolute point 1 from the active program. VisualMotion,VXY,0,10 Access the y-coordinate of absolute point 10 from the currently active program. SCP Command Syntax Program VPX 1,X 2,X 3 V VisualMotion P Program X 1 X 2 X 3 Subclass Program Number Set Subclass Description Program Number Set E Delete a program (integer 0 0 data) H List of programs (string) 0 The element of the list A Activate a program (integer data) 0 0 N Program name (string) The actual program number V X J K List of program variables (string) Copy program data to another program (integer data) List of CAM INDEXER control blocks (string) Compress flash (integer data) Table 3-9: Program SCP Command Syntax The actual program number The number of the source program 0 CAM ID block number

48 VisualMotion 9 Application Manual Communication Servers 3-31 Examples VisualMotion,VPN,10,0 Accesses the name of program 10. Writing the program number to VisualMotion,VPE,0,0 deletes the program. Writing the program number to VisualMotion,VPA,0,0 activates the program. Writing the program number n to VisualMotion,VPX,4,0 copies the program data from program n to program 4. SCP Command Syntax Control PLS VWX 1,X 2,X 3 V VisualMotion W Control PLS X 1 Data type X2 Program number the number of the program from which data is being accessed (0 is the currently active program). X3 PLS number Data Type O R M T A H E F G Description Phase offset (float data) Assigned output register (integer data) Assigned mask register (integer data) Master type (integer data) Master axis number (integer data) List of On, Off, and Lead time values (string) List of On values (float data) List of Off values (float data) List of lead-time values (integer data) Table 3-10: Control PLS SCP Command Syntax Examples VisualMotion,VWM,1,2 Access the assigned mask register of control PLS of program 1. SCP Command Syntax PID VMX 1,X 2, X 3 V VisualMotion M PID X 1 Data type X 2 Program number the number of the program from which data is being accessed (0 is the currently active program). PID number X 3

49 3-32 Communication Servers VisualMotion 9 Application Manual Data Type B E F G J L R S T Description Variables used (string data) Calculated set point (float data) Calculated feedback (float data) Calculated output (float data) Loop time (integer data) List of valid PID loop numbers (integer data) Control register (integer data) Status register (integer data) Type (integer data) Table 3-11: PID SCP Command Syntax Examples SCP Command Syntax VisualMotion,VMS,0,1 Access the number of the status register of PID loop 1 of the currently active program. Zone VZX 1,X 2,X 3 V Z X 1 X 2 X 3 VisualMotion Zone Data type Program number 0 to 10 in decimal format (0 indicates current program) Zone number 1 to n in decimal format (n is determined through the offline VisualMotion data table) Data Type S A B C D E F L Description Status (integer data) Point 1 X coordinate (float data) Point 1 Y coordinate (float data) Point 1 Z coordinate (float data) Point 2 X coordinate (float data) Point 2 Y coordinate (float data) Point 2 Z coordinate (float data) Array format (string data) Table 3-12: Zone SCP Command Syntax Examples VisualMotion,VZL,0,1 Access zone 1 array of the active program. VisualMotion,VZA,0,3 Access the x-coordinate from zone 3 of the currently active program.

50 VisualMotion 9 Application Manual Communication Servers 3-33 Sample OPC Clients Examples of the Wonderware and VisualBasic clients can be installed with VisualMotion if a custom installation is performed and the OPC Sample Applications check box is selected. Reference documents for these samples: Wonderware OPC Client for VisualMotion9 VisualBasic Client for the Bosch Rexroth OPC Server with VM9 are installed in the file location: C:\Rexroth\VisualMotion9\SCP\Samples These documents contain information about source code, establishing communication to the OPC server, and reading and writing data to and from the OPC server. 3.6 DDE Communication for SCP The SCP supports the DDE communication protocol so that a VisualMotion 9 project can communicate over a network, serial, or PCI connection. SCP also provides HMI support of DDE communication. The protocol for the SCP-DDE server uses the same ASCII syntax that the VM DDE server uses. To establish communication, a Service, Topic, and Item name need to be specified. Their formats are: Service Name: CLC_DDE. (for exchanging control data) Topic Name: Device name defined in Systemconfigurator Item Name: Direct ASCII serial protocol (identify the data to be exchanged.) Refer to the VisualMotion 9 (GPP) Multi-Axis Motion Control Functional Description for information about the ASCII protocol. 3.7 DDE Communication for VisualMotion CLC_DDE is a Windows-based DDE Server application that is used to communicate with Bosch Rexroth s GPP motion control. It has been implemented using Windows Dynamic Data Exchange Management Library (DDEML). Features of the DDE server application include: Serial connection (RS232) to the control with support for an RS485 auto switching adapter Network support via an Ethernet connection Access to server parameters and status through DDE Supports Request, Advise and Poke transactions Dynamic Data Exchange Interface A Windows application, known as a client, can pass information between other applications known as servers using DDE. A client establishes a conversation with a server specifying a Service and a Topic. Once a conversation has been started, a client may request or send information by specifying an item. Service Name The control communication server supports the service name CLC_DDE.

51 3-34 Communication Servers VisualMotion 9 Application Manual Topic Name The topic name identifies the method of connection to the control and the unit number. Valid strings consist of a communication device name and a unit number. Valid device names are SERIAL_, and network_ and valid card unit numbers are '0' to 'F'. Connections that use the CLC_FILE service should specify the VisualMotion program file as the topic name. If the file is not located in the same directory as clc_dde.exe then the complete path should be included. To exchange server data, the service name should be CLC_DDE and the topic name should be SERIAL_0, which indicates a serial connection to a GPP control designated as unit 0. Item Name The item name identifies the specific data being exchanged. When exchanging control data, the item name consists of a string that contains the class, subclass and data identifiers of the information for the GPS/GPP controller. The strings follow the ASCII serial protocol. Refer to the VisualMotion 9 (GPP) Multi-Axis Motion Control Functional Description for an explanation of ASCII codes. When exchanging server data, the item name should consist of the section and entry name from the INI file (clc_dde.ini). The two names must be divided by a pipe ( ) character. Not all server data has read/write capabilities, for example: "RX 0.10" Specifies register 10 in hexadecimal format "TP 2.20" Specifies task B parameter 20 "CP 1.122" Specifies card parameter 122 VM DDE Server The DDE Server is first launched when a request is made to the control. The DDE Server can be set to display the control s unit number and current status. In this mode, the DDE Server can act as a diagnostic window for the control system. The DDE Server is displayed as an icon on the Start toolbar when the window in Fig is minimized. Fig. 3-31: DDE Server vm_dde.tif All settings for the DDE Server are performed from the menu selections in Fig

52 VisualMotion 9 Application Manual Communication Servers 3-35 Fig. 3-32: DDE Server Menu Selections The Settings Menu dde_menus.tif The Settings menu is used to configure the DDE Server and communications for the types displayed in Fig Fig. 3-33: The Settings Menu Server Configuration vm_dde_settings.tif The Server Configuration window has settings for system parameters and provides performance status information.

53 3-36 Communication Servers VisualMotion 9 Application Manual server_config.tif Fig. 3-34: Server Configuration The communications settings determine how the DDE Server window will display communication status. Table 3-13 contains descriptions of the settings:

54 VisualMotion 9 Application Manual Communication Servers 3-37 Setting Status Display Description This menu contains the available connection type (serial or Ethernet) and device address combinations in your system. Your selection here determines what will be displayed in the VM DDE Server window. These include: SERIAL_ for serial connection NETWORK_ for Ethernet connection Disable Status (default) turns off this feature The selections result in the following displays in the VM DDE Server window: SERIAL_0 and NETWORK_0 display current status of system, for example, 007 Program Running: A Disable Status displays Status Display is Disabled Response Time-out Communication Retry Attempts The amount of time in seconds that the server will wait for a completed response from the control before diagnosing a disconnect. The valid range of values is seconds. Note: Large projects downloaded to the control could require greater time to download than is allowed by the default timeout setting. When this occurs, the VisualMotion DDE Server Error window is displayed. Selecting Retry in this window will allow the download to resume. To prevent the error from occurring the next time the project is downloaded, increase the Response Time-out time by 10 to 20 percent. The number of times the server will re-send a message before it issues an error. The valid range of values is seconds. Table 3-13: Communications Settings Error Handling settings determine the way the DDE Server tracks and presents errors that occur during transmission. Table 3-14 contains descriptions of the settings: Setting Display Server Errors Intercept Errors And Display Make Error Messages System Modal Log Errors To File Description Checking this box will cause the server to display error responses in a message box. Checking this box will cause the server to intercept control error responses and display them in a message box. Request and poke transactions will return a failure to the client application. Advise links will remain active; however, they will return nothing until the error is resolved. The error response will be written to the error log file if that feature is enabled. If this box is not checked, the error string will be returned to the client. Checking this box will cause all server generated message boxes to have system modal attributes. This means that all applications will be suspended until the user responds to the message box. The window can not be forced to the background. Checking this box will cause the server to log all server errors to a file. The current system date and time will be associated with each log entry. By default, this feature is not enabled. Pressing this button will cause the current error log file to be displayed in Notepad. Table 3-14: Error Handling Settings

55 3-38 Communication Servers VisualMotion 9 Application Manual The DDE settings limit the number of advice links and connection requests that can be established with the DDE Server. Table 3-15, contains descriptions of the settings: Setting Maximum Conversations Maximum Advise Items Self Terminate If No Active Conversations Description This is a static display of the maximum number of allowed DDE conversations as specified in the INI file. The server will refuse any DDE connection request in excess of this value. This is a static display of the maximum number of allowed DDE advise links as specified in the INI file. The server will refuse any request for advise links in excess of this value. Checking this box will cause the server to close when the last DDE conversation has terminated. This is the default state. Table 3-15: DDE Settings Note: If a SERIAL or NETWORK selection is set in the Status Display field, the VM DDE Server window will not close when VisuallMotion is closed, making the window available to additional HMI interfaces. Serial Communications The Serial Communications window contains serial communication parameters for the server. When this window is open, all communication is suspended. If changes are made to the configuration, they will take affect when the Apply or OK button is selected. Fig. 3-35: Serial Communications serial_comm.tif

56 VisualMotion 9 Application Manual Communication Servers 3-39 Baud Rate Serial Port Use Serial Event RS485 Converter Set the baud rate to match the control's port as displayed in VisualMotion under menu selection Settings Control Serial Ports. Note: When changing the baud rate in the control, power to the control must be recycled for the change to occur. Changing the baud rate while online requires the parameter 9600 Select the serial communications COM port to use on the PC. This feature prompts Windows to notify the server when a completed message is in the receive queue. This will increase the number of serial messages sent over polling for a response. Slower computers may not be able to utilize this feature. This option should be used when an RS232 to RS485 converter is present. A delay will be inserted between messages, which is equal to at least one character transmission at the selected baud rate. This is necessary to ensure that the control has had sufficient time in which to turn the RS485 transmitter off and enable the receiver. Please note that the converter must toggle the transmitter and receiver automatically, and disable echo back. DDE Client Interfaces DDE communication allows Windows based HMI software applications, such as Microsoft Excel and Wonderware InTouch, to read from (request) and write to (poke) the control card. Programs that support DDE communication can be used similarly to these programs. The following examples illustrate how to create custom DDE client interfaces for the DDE server. Creating and Customizing a DDE Client Interface with Microsoft Excel Microsoft Excel (Version 5.0 and up) can be used to create a custom DDE client interface for the control. Requested information can be read directly by a spreadsheet, chart or database, while poke transactions allow you to control program execution from within the interface. DDE Worksheet Functions A DDE request can be made directly from a cell within an Excel Worksheet using the formula outlined in Fig Note: The VM DDE Server or SCP-DDE Server should be running before a request is made. Each request is queued in the server and then handled using round robin arbitration. The Excel Worksheet will automatically update the cell, as the information becomes available. The response time varies according to how many other applications are running and how many DDE conversations are occurring at the same time. Limit the number of active DDE requests within a worksheet in order to get a faster response time.

57 3-40 Communication Servers VisualMotion 9 Application Manual Active Cell Formula bar: Displays the formula used in the active cell. Fig. 3-36: Excel Worksheet Select a cell and then enter the DDE Service name, Topic name and Item name within the formula bar using the following syntax as an example: Topic Name =CLC_DDE SERIAL_0! AP Service Name Item Name Fig. 3-37: Syntax Example Formula bar: Displays the formula used in the active cell. To enter/edit formulas, select a cell, type the data and then press ENTER. You can also double-click a cell to edit data directly in the cell. Fig. 3-38: Example DDE Formula The Item name AP1.102 will read the value of the axis parameter A that is the current axis feedback position. Fig. 3-39: Example DDE Formula Result dde_excel_3.tif

58 VisualMotion 9 Application Manual Communication Servers 3-41 The Item name AP1.163 will read the value of the Axis Parameter A that is the Control Cam Output Position. Refer to Direct ASCII Communications for the syntax used with other item names. A pie chart can be used to illustrate the actual feedback and slave axis positions between 0 and 360. Enter two formulas in the second row which subtract the feedback position and slave positions from 360 (=360- A1, =360-B1). Select each column and create a pie chart using the Excel Chart Wizard. If the VM DDE Server or SCP DDE Server is active and a program is running, the pie charts will rotate to reflect the current ELS positions as they change. Fig. 3-40: Pie Chart dde_excel_4.tif DDE Functions using Visual Basic for Excel Visual Basic for Excel has its own DDE Functions that can be used in a spreadsheet macro or module. The following Visual Basic macros illustrate how to use the DDERequest and DDEPoke functions. The DDERequest function is used to read the values of the CAM coefficient and phase offset parameters. The DDEPoke function is used to write values to predefined program variables that were added in the spreadsheet. Each variable also has a corresponding Item name needed for DDE communication. The variables listed in column A were predefined in the CAM program to store the CAM coefficients and Phase Adjust values. Macro 1 requests the current coefficient values from the corresponding Control System (card) and Axis parameters.

59 3-42 Communication Servers VisualMotion 9 Application Manual Note: When making a DDERequest from a macro the Service name and Topic name are included in the DDEInitiate function and assigned to a variable (MYControl). Fig. 3-41: Macro 1 Function Request() MYControl = DDEInitiate("CLC_DDE", "SERIAL_0") m = Application.DDERequest(MYControl, "AP 1.032") Worksheets(1).Cells(5, 2).Value = m n = Application.DDERequest(MYControl, "AP 1.031") Worksheets(1).Cells(6, 2).Value = n h = Application.DDERequest(MYControl, "AP 1.033") Worksheets(1).Cells(7, 2).Value = h l = Application.DDERequest(MYControl, "AP 1.035") Worksheets(1).Cells(8, 2).Value = l sph = Application.DDERequest(MYControl, "AP 1.162") Worksheets(1).Cells(10, 2).Value = sph mph = Application.DDERequest(MYControl, "AP 1.151") Worksheets(1).Cells(11, 2).Value = mph DDEInitiate ( Service Name, Topic Name ) A Cam Slave Factor (M) A Cam Master Factor (N) A Cam Stretch Factor (H) A Cam Master Position (L) A Cam Slave Phase Adjust A Phase Offset End Function Additional variables were added to column A to adjust the ELS Master velocity (F5) and the active CAM number (I1). Column C contains the Item name that corresponds with each program variable (F1-F8 and I1). The DDEPoke command in Macro 2 references the worksheet for the DDE Item name and value for each variable.

60 VisualMotion 9 Application Manual Communication Servers 3-43 Fig. 3-42: Macro 2 When Macro 2 is executed, the data in the value column will be written or poked to the variables defined by the corresponding Item names. This enables you to see how different values will alter the performance of the slave axis with respect to the master. The DDEPoke command uses the following syntax: Application.DDEPoke MYControl, Item Name, Value MYControl is defined in the DDEInitiate command and includes the DDE Service name and Topic name.

61 3-44 Communication Servers VisualMotion 9 Application Manual Function Poke() MYControl = DDEInitiate("CLC_DDE", "SERIAL_0") Application.DDEPoke MYControl, Worksheets(1).Cells(5, 3).Value, Worksheets(1).Cells(5, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(6, 3).Value, Worksheets(1).Cells(6, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(7, 3).Value, Worksheets(1).Cells(7, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(8, 3).Value, Worksheets(1).Cells(8, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(10, 3).Value, Worksheets(1).Cells(10, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(11, 3).Value, Worksheets(1).Cells(11, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(14, 3).Value, Worksheets(1).Cells(14, 2) Application.DDEPoke MYControl, Worksheets(1).Cells(16, 3).Value, Worksheets(1).Cells(16, 2) End Function Creating and Customizing a DDE Client Interface with Wonderware InTouch This section discusses how to create a custom DDE client interface for the control using Wonderware InTouch (Version 7.11 or later). In order for InTouch to communicate with the control, a DDE link between the two must be established. The application DDE Access, identifies which Windows application (clc_dde.exe server or DDESCP.exe server) to use for communication and it must be running in order for InTouch to communicate with the Control. To establish a DDE link, select Special DDE Access Names in the InTouch WindowMaker window. The DDE Access Name Definition window will open. Press the Add button to open the Modify DDE Access Name Window, see Fig Fig. 3-43: Modify DDE Access Name

62 VisualMotion 9 Application Manual Communication Servers 3-45 DDE Access Name DDE Application/Server Name DDE Topic Name The DDE Access Name is user-defined. For the Control, this is the clc_dde server (clc_dde.exe), regardless of whether the VM DDE or SCP-DDE is running. It is not necessary to use the.exe extension. It is good practice, however, to include the path for the clc_dde server in the DOS Path statement and to configure Wonderware to launch the clc_dde server. If Wonderware is in your Windows Start-up group, then the clc_dde server application should also be in that group. Since Windows launches applications in the startup group from left to right, the clc_dde server icon should be to the left of the Intouch icon. The topic name will depend upon the method of communication between the computer and the Control. If you are communicating with the control via the computer s serial port and the VM DDE server, the topic name will be serial_x where x is the Control device number, card parameter C The default for a control is device #0. The topic name can be found in the control server application after VisualMotion has established communications with the Control. To find the active topic name, open Settings Server Configuration in the VM DDE server application. The topic name is found in the Control Status Display box. If you are communicating through the SCP-DDE server, the topic name is the name of the device set in the Systemconfigurator. Individual registers and variables are accessed by addressing their Tagname Definition. The tagname Dictionary is used to define the tags for the registers and variables. To open the Tagname Dictionary, doubleclick the Tagname Dictionary folder in the tree structure of the InTouch Windowmaker window. The Dictionary Tagname Definition window will open. Control parameters and variables are identified in InTouch as Tagnames. The Tagname Definition Dictionary in InTouch is an interface for accessing control parameters and variables. To open the Dictionary Tagname Definition window (see Fig. 3-44), double-click the Tagname Dictionary folder in the tree structure of the InTouch Windowmaker window. Fig. 3-44: Tagname for Displaying Parameters Tagname Type DDE Access Name The Tagname is a label for a parameter or program variable on your control. The Type button lets you select the data type of parameter or program variable that is being accessed. The I/O types you can select include: Real, Integer, Discrete, and Message.. It is type DDE Message, since it is only displaying the parameter DDE Access name is the name of the control being accessed, in this example the CLC is being accessed. Control

63 3-46 Communication Servers VisualMotion 9 Application Manual Item The item field requests the parameter or variable for display. The format for the item is the parameter/variable ID and location number; for example, if the item request CP is entered, the card parameter C System Status Message is displayed. Additional Example item codes are listed in Table 3-16: Parameters Example Parameter Displayed Card CP C System Status Message Task TP Task A param. 123, Task Status Message Drive DP 2.95 Drive 2, param. 95 Drive Status Message Axis AP 3.4 Axis 3, param. 4 Axis Options Variables Example Variable Displayed Floating Points FP 0.12 Active Program, float #12 Integers IP 1.5 Programs #1, integer #5 Global Floats GF 0.1 Active Program, global float #1 Global Integers GI 2.2 Program #2, global integer #2 Table 3-16: Example Item Field Codes To write to a Control variable, parameter, etc, the following format for the tagname can be used: Control name_variable(or parameter, etc.) (for example: CLC_F1) The tagname CLC_F1 represents floating point variable #1 of the active control program. The value of the bit can be changed by using a push button. For example, configure a tagname that will write to register 100 with the following settings: Tagname: Reg_100 Type: DDE Integer Min EU: Min Raw: Max EU: Max Raw: Item RD: 0.100

64 VisualMotion 9 Application Manual Communication Servers 3-47 Fig. 3-45: Tagname Definition To change a bit in this register, place a push button in the window and configure it with the following settings: Object Type: Button Button Type: User Input, Discrete Tagname: Reg_ (for bit 1 of Register 100) This button has two states, on and off. When in the on state, register 100 bit 1 will be set to 1. When in the off state, the bit will be set to 0. To write to other bits in the register, change the tagname. For example, to write to bit 2, change the tagname to Reg_ and bit 3, change the tagname to Reg_100.02, all the way up to bit 16, tagname Reg_

65 3-48 Communication Servers VisualMotion 9 Application Manual

66 VisualMotion 9 Application Manual Motion Types Motion Types 4.1 Introduction Non-Coordinated Motion Single axis Velocity Mode VisualMotion Toolkit is a Windows-based program used for motion control programming, parameterization, system diagnostics and motion control management. With the use of icon driven instructions, motion control projects are created and downloaded to the control for activation. VisualMotion supports three types of motion: Non-Coordinated Coordinated Electronic Line Shafting Non-coordinated motion is primarily used to control a single independent axis. There are two modes of non-coordinated motion: Single axis Velocity mode Single axis motion commands within a VisualMotion project are processed by the control and sent to the digital drive. The project communicates to the drive the target position (travel distance), the velocity and acceleration. This information is used to develop a velocity profile that is maintained and controlled within the intelligent digital drive. As a result, single axis motion does not require continuous calculation by the control and consumes minimum CPU resources. Velocity mode controls the speed of the axis, with no position control loop. Rexroth Indramat's intelligent digital drives maintain torque and velocity loops internally. A special form of non-coordinated motion called ratioed axes permits linking two axes by relating the number of revolutions of a slave axis to a master axis. For example, a ratio might be required when the positioning axis of a gantry robot has a motor on each side of its supporting track. Coordinated Motion Constant Speed The VisualMotion control defines multi-axis coordinated motion in terms of a path composed of standard straight line and circular geometry segments. Point positions, (x, y, z), are used to establish the start, middle or end of a geometry segment. Two points define a line; three points define a circle. The path combines these standard geometry segments so that the start of the next segment begins at the end of the previous segment. A path, therefore, is nothing more than a collection of connected segments. Since each segment has an end point specifying speed, acceleration, deceleration and jerk, each segment can have a unique rate profile curve. A special type of segment, called a blend segment, can be used to join two standard geometry segments. Blend segments provide the capability of continuous smooth motion from one standard segment to another without stopping. They reduce calculation cycle time as well as provide a means of optimal path shaping. A VisualMotion system is capable of calculating a path in any of several different modes: Constant Speed mode is always active and tries to maintain a constant speed between any two connecting segments in the path. The system and axes acceleration and deceleration limit this mode. Constant speed

67 4-2 Motion Types VisualMotion 9 Application Manual Linear Interpolation Circular Interpolation Kinematics is the optimum path motion for applying adhesives or paint, welding and some forms of cutting such as laser or water-jet, etc.. Two points define a coordinated motion straight-line segment. The motion is calculated from the end point of the last segment, or the current position if the system is not in motion, to the new end point. Three points define a coordinated motion circular segment. Circular motion begins with the end point of the last segment executed, or the current system position if the system is not in motion, moves in a circular arc through an intermediate point, and terminates at the specified endpoint. In addition to the standard x, y, z kinematics, the control has the capability of executing several forward and inverse kinematic movements by using an application-specific library of kinematic functions. Kinematics can be developed to customer specifications. Contact Rexroth Indramat's Application Engineering to inquire about applications which could benefit from kinematics. Electronic Line Shafting (ELS) Velocity synchronization Phase synchronization Cam synchronization Electronic Line Shafting is used to synchronize one or more slave axes to a master axis. Using GPS firmware, an ELS master can be a real or virtual axis. GPP firmware introduces multiple master functionality. Each slave axis can use either velocity, phase or cam synchronization. ELS has the capability to jog each axis synchronously or independently, and to adjust phase offset and velocity while the project is running. Velocity synchronization relates slave axes to a master in terms of rotational rate. It is used when axis velocities are most critical, as in paper processing operations in which two or more motors act on a single piece of fragile material. Phase synchronization maintains the same relative position among axes, but adjusts the lead or lag of the slaves to the master in terms of degrees. It is used when the positions of axes are most critical. For example, to achieve proper registration in printing operations, the axis controlling the print head may be programmed for a particular phase offset relative to some locating device, such as a proximity switch. Cam synchronization is used when custom position profiles are needed at a slave axis. A cam profile can be executed either in the control (control cam) or in the drives (drive cams). The number of control cams that can be active at the same time is limited to 4. A cam is an (x, y) table of positions that relate a master axis to a slave. Cams can be stored in the control or in the digital drive. Control cams have more adjustment options and can work with SERCOS drives that do not support the ELS functionality (e.g., SMT or SSE firmware). The same programming commands and utilities are used for both control and drive cams.

68 VisualMotion 9 Application Manual VisualMotion Programming VisualMotion Programming 5.1 VisualMotion Operating States This chapter discusses how to use VisualMotion Toolkit to create a project, download the project to the control, and activate the system from the icon program on the PC. A sample program is presented in this chapter as a model to illustrate these procedures. Two modes of operation are available in VisualMotion, Project mode and Service mode. Service Mode Project Mode Service mode is the state of VisualMotion Toolkit when it is possible to view and edit data in the control only. Making changes while in Service mode only affects the data in the control, not the data stored in the project files on the PC. Edits to a project can be saved to the computer, but in a separate file from the project folder. The file can then be imported into the project folder. Project mode refers to the state of VisualMotion Toolkit when it is possible to interact with data in both the control and in the project file on the PC, depending on whether the project is in online or offline mode. Online and offline modes are indicated in the status bar of the VisualMotion window in the lower right corner, see Fig Main Mode Project Mode Service Mode Sub Mode Online Mode Offline Mode Status Bar Indicator Synch. Unsynch. Fig. 5-1: Program Modes Offline Mode In offline mode, the VisualMotion 9 programming system is not communicating with the control. All data management is directed to the project which is stored in a single subdirectory on the computer. Commissioning tools, such as the I/O Setup, I/O Mapper, Fieldbus Mapper and PLS, can be modified or configured while online or offline. If a configuration for a commissioning tool exists in the project folder, it will automatically be loaded when the tool is commissioned. Online Mode In online mode, the VisualMotion 9 programming system is communicating with the control for viewing and editing data in the control or in the project file. Commissioning tools automatically open with its configuration loaded in online mode, if it has previously been configured. Modifications to data while online, immediately take effect in the project and control, depending on the state of the project and the type of data being modified.

69 5-2 VisualMotion Programming VisualMotion 9 Application Manual Synchronizing a Project Synchronization refers to the process of comparing project data to data in the control when the project goes online. Changes detected in the project are displayed in the Synchronize Project Data window, see Fig Fig. 5-2: Synchronize Project Data Some components can be downloaded while the system is in automatic or manual mode (phase 4), while others require the system to be in parameter mode (phase 2). VisualMotion will notify you if the control needs to be in parameter mode before a component can be downloaded. When the control is in parameter mode, modifications to commissioning tool data are saved to both the project and the control. The state of the project remains synchronized if no errors are detected. Several commissioning tools write to parameters that can not be modified while the system is in phase 4. If you attempt to download changes to a commissioning tool that can not be modified in phase 4, the following window is displayed. Note: After a commissioning tool is modified (online) and saved, the data displayed will be that of the saved file and not the current status of the control. To view the current status of the control, click on the Status toolbar button ( ). The tool will then reload the display with the current data on the control. Fig. 5-3: Saving Commissioning Tool Data

70 VisualMotion 9 Application Manual VisualMotion Programming 5-3 This window allows you to save the changes to the project file, but you will not be able to synchronize the project and control data until you switch to phase 2. If the modifications are saved using the Save to Project File button, the project becomes unsynchronized with the control and the status bar indicator (lower right-hand corner) changes from a green background to a yellow background with a question mark. Runtime Tools 5.2 Creating a New Project Runtime tools, such as parameters, registers and ELS are available online to the project for interacting with configured project components, such as ELS. Commissioning Tools Commissioning tools, such as the I/O Setup, I/O Mapper, Fieldbus Mapper and PLS, can be modified or configured while online or offline. A project consists of an initialization task, tasks A-D, and optional subroutines in both the initialization task and tasks A-D. For each step in building the sample project, a task or subroutine will be created. Step 1: Initialization Task The first step in creating a project is to build the initialization task, which contains a subset of icons that provide the functionality for system initialization. This task is executed automatically when the system exits parameter mode. Step 2: Tasks A-D Step 2 involves building the main project task, Task A. Tasks A-D contain program icons configured with command signals for motion in the drive. The lettered tasks make up the majority of the icon program functionality. VisualMotion can have up to 4 separate processes or tasks running simultaneously in each project. Step 3: Subroutine Step 3 includes building subroutines, which are sub-programs that are called by a task, other subroutine, or event function when the icon is encountered in the program flow. They are used to improve readability as well as to simplify project organization. To create a new project in VisualMotion: 1. Start VisualMotion and, select Create a new project in the What do you want to do? window, which opens automatically when VisualMotion is started.

71 5-4 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-4: VisualMotion 9 What do you want to do? Window 2. Type a name for the new project. Open_Project.tif Note: Project names can not have spaces. When a space is typed, VisualMotion Toolkit automatically enters an underscore. New_Project.tif Fig. 5-5: New Project 3. Select the Target firmware, the firmware version running in the control, GPP9. 4. Select the folder location for storing the project on the computer s hard drive. A project file contains all the data required for a system, including icon program files and their associated data files. The maximum size of the project file is 512K. A project file may contain one of each of the files listed in Table 5-1.

72 VisualMotion 9 Application Manual VisualMotion Programming 5-5 Extension.acc.csv.dat.exb.exc.iom.lss.lst.map.par.pnt.pos.prm.tbl.var.vel.vmj.vtr.mtn.zon Description Text file that ACAM utility converts to a.csv file Comma-Separated-Variable type file used to store cam profiles. Event.dat is an event configuration and Point.dat is a point table initialization Compiled project file that is uploaded from the control. It is ready to run and contains project data. Compiled project file that is downloaded to and executed by the control. I/O Mapper files. Text file consisting of Boolean strings. Text files where Visual Motion stores register and bit labels used by the.str file. Text file that is referred to for registers and bit labels when the registers on the control are viewed. File used by the Show Program Flow function to trace the flow of the project while it is executing. Storage format for all parameter files using the SERCOS, ASCII (DriveTop compatible) format standard. Absolute Point Table Text file that PCAM utility converts to a.csv file Parameter file in archived format. These files can be transferred to the control. Used for old text formats (previous versions of VisualMotion). Text file of points created by the control's Oscilloscope function. Old variable file Text file that PCAM utility converts to a.csv file Project file New variable file Text language program source file. Zone File Table 5-1: VisualMotion File Extensions VisualMotion Toolkit opens with the Initialization Task palette displayed. Both the Start and Finish icons are automatically placed in the icon workspace as shown in Fig. 5-6.

73 5-6 VisualMotion Programming VisualMotion 9 Application Manual Toolbar Project Navigator Icon Workspace Icon Palette Comment Window Fig. 5-6: VisualMotion New Project VM_New_Project.tif Below the icon workspace is the comment window. This area is reserved for documenting comments about the task. This window can be hidden by selecting View Function Comment and removing the check next to the Function Comment menu item. The project navigator displays a tree structure of the project folders. Clicking a folder will display the segment of the icon program from that folder in the icon workspace. When a subroutine or event is added to the icon program, they are indicated as subfolders in the subroutine and event folders. In the Task view of the project navigator, four icon palettes are available as shown in Fig. 5-7

74 VisualMotion 9 Application Manual VisualMotion Programming 5-7 Single Axis Palette Coordinated Motion Palette ELS Palette Utility Palette Icon_Palettes.tif Fig. 5-7: VisualMotion Icon Palettes Each palette contains the group of icons that are available for programming in that type of task. The sample project illustrated in this chapter is a single axis program which defines movement on an axis. Fig. 5-8 shows the programming icons that will be used for this project example and the task in which they will be placed. Initialization Task Task A Subroutine Fig. 5-8: Project Icons Project_Icons.tif

75 5-8 VisualMotion Programming VisualMotion 9 Application Manual The toolbar in VisualMotion contains a set of functional icons for editing the icon program. For additional information about the toolbar icons, refer to the VisualMotion 9 Functional Description manual. Fig. 5-9: Toolbar Programming Icons Toolbar_Programming_Icons.tif Project Values Project Variables Global Variables Program Variables Local Variables Values assigned to an icon for position, or movement can be a numeric value or a text label. When a numeric value is assigned in an icon, the value is fixed in the project once it has been downloaded to the control. Changing the numeric value requires recompiling the project. For greater flexibility, a label, known as a variable, can be assigned in the icon. The variable is a user-defined, text-based name that is assigned a positive, whole number. Both the variable name and number identifies a location in the control s memory where a numeric value is stored. The assigned value of a variable can be changed while a project is running without having to recompile the project. Two types of values can be used in a VisualMotion Project: Integer a positive or negative whole number Floats a positive or negative decimal For each float and integer in a project, a variable and number can be assigned. There are three designations for variables which indicate the accessibility of the variable: Global Variables available to any project Program Variables available throughout the project they are assigned to Local Variables available to the task, subroutine, or event function in which it is assigned. Global variables, designated GF[#] (global float) and GI[#] (global integer), are stored in the control's memory and their values are not retained after power is disconnected. Global floats and integers can, however, be saved to flash memory using VisualMotion Toolkit s Data Editor. Refer to the VisualMotion 9 Functional Description manual for information on the Data Editor. It is possible to have up to 32K of each global floats and integers, both of which can be shared among the projects stored in the control. They can also be used to exchange values between external components of a VisualMotion system that are capable of accessing the global memory area. The default number of global floats is 256 and the default number of global integers is 512. Program variables are designated F[#] (float) and I[#] (integer). Program variables are stored in Autostore and retain their values during power off. The variables can be addressed in a project by assigning a label to the variable number. A maximum of 32K of each floats and integers can be used in a program, but with a limit of a combined total of 54K. Local or stack based variables exist only while in the task, subroutine, or event function where they are declared. Function arguments are used

76 VisualMotion 9 Application Manual VisualMotion Programming 5-9 Constant within a subroutine for local data only. This type of variable is useful for temporary results within a function or to pass values to a function. A fourth designator for a float and integer is a constant. Constant labels are accessed and modified in the VM Data table only, see Fig A constant is a float or integer that is fixed in the control. Unlike standard float and integers, the value assigned to a constant can not be changed after the project has been downloaded to the control. Adding Variables A convenient method for programming with VisualMotion is to declare all variables in the VM Data Table before creating the icon program. Select the VM Data Table button ( ) from the VisualMotion tool bar or select Edit VM Data to open the VM Data Table window, see Fig After selecting the appropriate tab in the VM Data Table window, rightclick in the field to add an item or right-click on an item in the field to edit it. With the VM Data Table complete, variables can be accessed in the icon setup windows by selecting the browse button. Fig. 5-10: Sample Program Floats in VM Data Table For this sample program, three floats will be defined: F1 = Initial_Acceleration F2 = Initial_Velocity F3 = Initial_Move VM_Data_Table.tif Note: When creating a label for a variable, do not use VisualMotion keywords or icon labels. Editing Variables Variable numbers, labels, and values are listed in the Data Editor window in VisualMotion Toolkit, which is opened by selecting Data Variables. The window lists all program and global floats and integers, see Fig Each of these can be edited by double-clicking them. Modifications to variables are read immediately by the control and take effect when the program flow reaches the icon the variable is assigned to.

77 5-10 VisualMotion Programming VisualMotion 9 Application Manual Variables can be modified by doubleclicking on a specific variable and editing the value in the popup window. Drop-down list contains variable types for display in table Assign_Program_Floats.tif Fig. 5-11: Viewing and Editing Variables Step 1: Create the Initialization Task Icon programming begins with the initialization task. The initialization task is a specialized task that runs when the control transitions from Parameter to Manual or Auto mode. The task serves two purposes: It defines the motion resource used in the program, such as axes, virtual/real masters, and groups. It has the ability to write phase 2 parameters. These are parameters that are used to initialize the drive and control at a low level. When creating the initialization task and the initialization subroutine, avoid setting up functions that run in an infinite loop as the initialization task times out in 5 minutes. The completed Initialization task will appear as shown in Fig Fig. 5-12: Initialization Task Icon Sequence Init_Task_Icon_Prgrm.tif To create the initialization task, select the folder in VisualMotion s project navigator if it is not currently selected. The Initialization task will automatically have the Start and Finish icons in the icon workspace. All tasks and subroutines must begin and end with Start and Finish icons. 1. Double-click the Start icon to open the Start Setup window, see Fig

78 VisualMotion 9 Application Manual VisualMotion Programming 5-11 Fig. 5-13: Start Icon Setup Start_Setup.tif In the Start Setup window, local variables can be added to the program by clicking the Define Local Variables button. The floats and integers defined in this window can only be accessed within the Initialization Task and are lost when the Initialization Task has finished running. The local variables defined in the Start icon can be selected from other icons within the Initialization task, but not from other tasks in the project. In addition, the icon caption and password protection can be set. Password protection can be assigned to any or all areas of the project. If an unauthorized user attempts to enter a password protected area of a project, the icon workspace will display an access denied message. For more information about password protection, refer to the VisualMotion 9 Functional Description manual. Once the Start icon has been configured: 2. Select and place an Axis icon to the right of the Start icon. This icon configures the primary operation mode for the axis to be used in this Task. 3. Select Single Axis from the Motion Type drop-down menu box. 4. Click the Add button in the Task Axis Setup window to set up the axis. Fig. 5-14: Task Axes Setup Window 5. In the Single Axis Setup window (Fig. 5-15), set the following: Task Assignment for control and status: Task_A Axis: 1 Task_Axes_Setup.tif

79 5-12 VisualMotion Programming VisualMotion 9 Application Manual Note: The axis can be designated by an integer or label. The browse button opens the VM Data Table where a constant or label can be created to represent the axis. Positioning Mode: Linear Position Type: Relative Units: mm. Fig. 5-15: Single Axis Setup Window Single_Axis_Setup.tif Because the program will contain a subroutine in the Initialization task, a subroutine icon must be placed in the Initialization task to activate the subroutine. To add a Subroutine Icon: 6. Click the Subroutine tool in the VisualMotion toolbar. 7. Place the icon to the right of the axis icon and connect it to the Finish icon. 8. Type the name of the subroutine in the Subroutines window.

80 VisualMotion 9 Application Manual VisualMotion Programming 5-13 Fig. 5-16: Subroutine Window Subroutine_Name.tif When a name is typed in the Subroutines window, VisualMotion will prompt you to create the subroutine you have created the name for. If you select Yes, a new icon workspace will open with Start and Finish icons in place. 9. Select No when prompted to create a subroutine. Creating a subroutine will be discussed in section, Step 3: Create a Subroutine, in this chapter. This completes the set up for the Initialization task. Step 2: Create Task A Tasks A D store and execute the general motion programming that defines the operation of the machine or process. Each task operates independently of the others and allows you to implement a multi-tasking control environment. A single control could operate several machines independently or make several processes in a single machine independent of each other. Each task is assigned I/O registers and parameters that provide the infrastructure for this resource. The completed Task A will appear as shown in Fig TaskA_Icon_Setup.tif Fig. 5-17: Task A from Sample Program To add a task to the project, switch to the Task A icon workspace: 1. In the Project Navigator, select Task_A. When opening a Task for the first time, VisualMotion Toolkit will prompt you to automatically place a Start and Finish icon in the icon workspace. 2. Select the Single Axis tab in the icon palette. The next step is to set the drive homing command in the icon program. Depending on the type of encoder on the motor, single turn or multi turn, a Home icon or Move icon will be used to issue the home command.

81 5-14 VisualMotion Programming VisualMotion 9 Application Manual If you are not sure what type of encoder is in your system, you can get this information through DriveTop. To view the encoder type: 3. Close your VisualMotion project and reopen in Service Mode. 4. Select Commission Drive Overview from the main menu. 5. When DriveTop opens, select the Overview button. 6. From the menu in the DriveTop Drive Status window, select Drive Functions Encoder systems Motor encoder. The Encoder Systems, motor encoder window will indicate the type of encoder in your system. Fig. 5-18: Encoder Systems, Motor Encoder Window Encoder_Type.tif The homing procedure is an internal function of Bosch Rexroth's intelligent digital drives and requires only that VisualMotion send a home command to the drive. Refer to the drive help system for information about drive homing. Note: The Windows help system for drivers is a separate installation from VisualMotion. Refer to chapter 1 of the VisualMotion Project Planning manual for ordering information. Single Turn Encoder For single turn encoders, a Home icon is used to command the drive to run a homing routine. For multi turn encoders, a Move icon is used to move the axis to an absolute position, which will serve as the reference point for a move. For a PPC with a single turn encoder, set the homing signal in the icon program with the following sequence of icons. Single_Encoder_Homing.tif Fig. 5-19: Single Turn Encoder Homing Sequence 1. Place a Home icon to the right of the Start icon. 2. In the Homing Setup window, enter a 1 in the Axis to home field.

82 VisualMotion 9 Application Manual VisualMotion Programming 5-15 Fig. 5-20: Homing Setup Window Homing_Setup.tif Multi Turn Encoder Programming Motion 3. Place a Go icon to the right of the Home icon. 4. Place a Wait icon to the right of the Go icon. A Wait icon must be placed in the program flow to allow the axis to perform the homing routine before the Move command is started. 5. Select Time and enter at a value of 20 ms or greater in the Wait Setup window. A 20 ms wait is required to ensure that the drive has time to switch from AH to AF. For multi turn encoders, use the following icon setup for the homing routine. The sequence of icons is shown in the Fig Place a Go icon to the right of the Start icon. 2. Select Non-Coord for motion type and enter the axis number 1 in the Go/Resume Setup window. 3. Place a Wait icon to the right of the Go icon. 4. Select Time and enter at a value of 20 ms or greater in the Wait Setup window. A 20 ms wait is required to ensure that the drive has time to switch from AH to AF. 5. Place a Move icon to the right of the Wait icon. 6. Select Absolute for the move type and enter the axis number 1 and distance of 0 in Single Axis Move Setup window. The next step in creating the icon program is to add the icons for moving the axis. 1. Select and place the Accel icon to the right of the Wait icon. 2. Enter 1 in the Axis field to specify the axis. 3. Use the browse button to select the float for the Rate field. In this example, the Initial_Acceleration float was established with the value for the rate of acceleration.

83 5-16 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-21: Accel Control Box Accel_Setup.tif 4. Select and place the Velocity icon to the right of the Accel icon. This icon sends the velocity rate that will be used in the move calculation to the drive. 5. Enter a 1 to specify the axis. 6. Use the browse button to select the float for the Rate field. In this example, the Intial_Velocity float was established with the value for the velocity rate. The units for the velocity of the axis appear by default in the window according to the type of axis motion set in the axis icon. Fig. 5-22: Velocity Control Box Velocity_Setup.tif 7. Select and place the Move icon to the right of the Velocity icon. This icon sets the distance that will be traveled by the specified axis. 8. Select Relative for the move Type. Note: A relative move is an incremental distance that is traveled every time the move icon is encountered in the program flow. An absolute move is an exact position that is reached when the move icon is encountered and is not repeated unless the absolute position changes. 9. Enter a 1 to specify the axis number. 10. Use the browse button to select the float for the Distance field. In this example, the Initial_Distance float represents the distance the axis will move.

84 VisualMotion 9 Application Manual VisualMotion Programming 5-17 Fig. 5-23: Single Axis Move Setup Move_Setup.tif 11. Select and place a Wait icon to the right of the Move icon. The task execution (program flow) is suspended at this point until the condition set in the Wait icon is true. In this sample program, the task waits until axis 1 is in position. Fig. 5-24: Wait for Axis in Position Wait_Setup.tif

85 5-18 VisualMotion Programming VisualMotion 9 Application Manual 12. Add a second Wait icon to the space below the previous Wait icon. Select Time and enter 1000 msec. This icon will introduce a pause of 1 second in the program before proceeding to the next relative move. Wait_Setup_Time.tif Fig. 5-25: Wait for Time 13. Select and place the Branch icon to the right of the Wait (Axis in Position) icon. This icon re-directs the program flow based on a true/false logical value. This creates a loop within the program depending on the value of register 100 bit 9. Fig. 5-26: Branch Setup Branch_Setup.tif Note: The Branch icon will loop back to a specified icon until the branch condition is true. In this example, the Finish icon will not be encountered until register 100 bit 9 has the value 1.

86 VisualMotion 9 Application Manual VisualMotion Programming Use the icon to connect the icons. To connect the icons, click once with the left mouse button on the first icon and then click on the next icon in the program flow. A line will join the icons with an arrow indicating program flow. Note: If an error is made while connecting two icons, use the icon to remove the created connection line. Re-select the Line icon to continue connecting icons. The completed project should appear as shown in Fig Note: In order to create the loop from the Branch icon back to the Accel icon, click on the Branch icon first then click on the Wait icon. Repeat the step starting with the Wait icon and finish with the Accel icon. To select multiple icons or lines, click and hold the left mouse button while drawing a selection box around a project section. The current icon may be de-selected, freeing the workspace cursor, by re-clicking outside the selected area of the icon program. Cut, Copy, and Paste an Icon Once a selection has been made, the cut and paste menu selections in the Edit menu can be used. A selection that has been cut or copied is saved to the Windows clipboard. The selection can be pasted in the workspace by clicking the right mouse button and selecting Paste. Position the cursor where you want to place the copied selection and click the left mouse button. Delete an Icon To delete or clear a selection or icon, highlight the selection and click the right mouse button. Select Cut selected from the pop-up menu or click the Cut selected icons icon in the toolbar menu. Note: Deletions can be undone by selecting the Undo icon. The Undo command will only undo the last operation performed. Move an Icon To move an icon, click on the icon, release the mouse button, then click and hold the icon again. This places a red box around the icon and changes its appearance. The icon can now be dragged to a different position and placed by releasing the mouse button. A group of icons can be moved by clicking one of the icons in the group and dragging the cursor to surround all of the icons to be moved. Click the group to highlight and drag again to place the group in the new location. The right mouse button is used for additional operations. They are accessible when the icon has been highlighted by selecting it with the left mouse button, then clicking it again with the right mouse button. The Insert Column and Insert Row commands create an empty space in the column or an empty row and shift existing rows and columns. In order to insert a column or a row, an icon or an empty space in the column or row must be selected first. The Insert Column will move all the icons above, below, or to the right of the selection in a one-space increment. The Insert Row command will move all the icons to the left, right, and below the selection in a one space increment. The Delete Column and

87 5-20 VisualMotion Programming VisualMotion 9 Application Manual Delete Row commands will delete all the icons above and below or to the left and right of the selection. Connect Icons After you have placed the icons in the workspace, they must be connected to indicate the project flow. Most icons have a maximum of three possible inputs and one output. The exception is the branch icon, which has two outputs. To draw a line, select the Connect two icons icon in the VisualMotion toolbar. Position the cursor on the initial icon and click. Move the cursor to the destination icon where the line is to end and click again. VisualMotion draws a line from the first to the second icon, using square corners where appropriate. Arrows on the line indicate the direction of project flow. Continue this process by clicking successive icons, without re-selecting the previous icon. It is possible to manually route an interconnect to provide room for additional icons later. Under some circumstances, the Line icon's auto routing may fail to route an interconnecting line, displaying the message, "Connection could not be made, try connecting adjacent blocks!" Lines may be drawn manually by sequentially clicking on adjacent squares on the invisible workspace grid. A manually placed line may not cross another line, attempting to do so displays an error box. A Connection joint icon makes it possible to connect one line to another from different directions (as shown in Fig. 5-5). Fig. 5-27: Connecting Lines in Icon Program A line connecting two icons may be removed by using the Cut line icon from the toolbar. Select the line in the icon program and click the Cut line icon. The Add a connector icon allows the path of a program to flow between two points that are not connected by a line. When the icon is selected and the cursor is placed in the workspace a Connector Setup window will open with a field to assign a Connect ID number (from 1 to 99). Another Add a connector icon with the same Connect ID number can be placed anywhere within the same task. The flow of project execution will jump from the first connector icon to the second one with the matching ID number, which is displayed in the connector icon in the program flow (see Fig. 5-28).

88 VisualMotion 9 Application Manual VisualMotion Programming 5-21 Step 3 Create the Subroutine Fig. 5-28: Connector Icon Setup This completes the set up for Task A. Connector_Setup.tif The variables used in a program can be declared in a subroutine. In this sample program, the subroutine will be an Initialization subroutine, meaning it is associated with the Initialization task. With this method of programming, all values for the variables are downloaded to the control before the program runs to ensure that the values are available in the control when the program requests the data. To create the Initialization Subroutine: 1. Right click the Initialization subroutine folder in the Project Navigator. 2. Select Add Subroutine to open the Add Subroutine window. 3. Enter the name of the subroutine function (Axis_Setup). The icon workspace for the subroutine opens with Start and Finish icons placed in the program flow. 4. Place a Calc icon for each variable in the icon program after the Start icon and set the following values: Resultant: Use the browse button to select the variable for the variable name of one of the floats created in the VM Data Table. Equation: Enter the following values for the variables: Initial_Acceleration = 100 Initial_Velocity = 100 Initial_Move = 50 Fig. 5-29: Calc Icon Setup Window Calc_Setup.tif

89 5-22 VisualMotion Programming VisualMotion 9 Application Manual Note: A caption for the Calc icon can be added in the Calculation window by selecting the Caption button. Captions appear below the icon in the icon workspace if View Icon captions is selected from the main menu in VisualMotion. With the program setup completed, it is possible to download and activate it using the register bits in the system and task control registers. A more convenient method, however, is to import an I/O Mapper into the project to allow the use of the I/O Box utility. Note: Once and I/O Mapper has been imported into the project, it is no longer possible to manipulate the bits of the control registers. 5.3 Downloading a Project With the project completed, you need to download the project file to the control. Project download occurs when you go online and involves synchronizing the project and control data (refer to Synchronizing a Project). To download your project data: 1. Select the Toggle Online/Offline Mode button in the VisualMotion toolbar. 2. Click Yes when asked to save modifications to the project. 3. Accept all the default components selected in the Synchronize Project Data window to download the entire project to the control. Online mode is indicated by the Toggle Online/Offline Mode button, which changes appearance when online. I/O Mapper The I/O Mapper is a programmed PLC logic task that allows external devices to access designated control registers (registers 1-99). The I/O Mapper is necessary for controlling external I/O devices through VisualMotion or to use the I/O Box utility for program control. VisualMotion s I/O Mapper can be programmed using Boolean strings or a ladder logic interface. For this sample program, the default I/O Mapper in VisualMotion 9 will be used to run the program. With the default I/O Mapper, register 100 is mapped to the System_Control and TaskA_Control registers for program control. User-defined register and bit labels will be created (see the Register and Bit Label section) to associate the user-defined register with the mapped control registers and to generate the labels in the I/O Box utility and Data Register window. Import I/O Mapper in Offline Mode During the initial installation of VisualMotion, a default I/O Mapper file (default.iom) was installed under the \indramat\visualmotion9\param folder. To import the default I/O Mapper file in offline mode: 1. Select File Import Project Component from the VisualMotion Toolkit s menu in offline mode. 2. Select File in the Transfer data from field. 3. Click the Browse button. 4. In the Open window, select the file type, Old I/O Mapper Files (*.iom).

90 VisualMotion 9 Application Manual VisualMotion Programming Locate the Def100.iom file using the path, \indramat\visualmotion9\param folder. 6. Click the I/O Mapper check box in the Import a program and/or data into the project window to select it for import. Note: An alternative method for importing the default I/O Mapper, def100.iom file, is to select Commission I/O Mapper from the VisualMotion Toolkit menu. In the Ladder Editor window, select File Import. Switch the control to parameter mode and complete the import by selecting I/O Mapper check box in the Import a program and/or data into the project window. Once the I/O Mapper has been imported, the control must be placed in parameter mode before the project can go online. 7. Select the Toggle Online/Offline Mode button in the VisualMotion toolbar. 8. Select the I/O Mapper checkbox and then the Go Online Unsynchronized button. 9. Open the Data Editor - Project window by selecting Data Registers from the VisualMotion main menu. 10. Select Binary mode (01) to display the registers. 11. Double-click Register 100 and change Bit 1 (R100-1) from 0 to 1. Fig. 5-30: Edit Register 100 Window Edit_Register.tif Note: VisualMotion detects any changes to the current project on the control (if downloaded previously) and displays a window indicating that components in the project have changed. If the changes are accepted, they will be downloaded to the control. To go online without downloading any data, select Go online Unsynchronized. 12. Select the Synchronize Project Components button in the VisualMotion toolbar. 13. Select the I/O Mapper checkbox.

91 5-24 VisualMotion Programming VisualMotion 9 Application Manual Import I/O Mapper in Online Mode An I/O Mapper can be imported from data stored in the control. With VisualMotion Toolkit in online mode: 1. Switch the control to parameter mode. 2. Select File Import Project Component from VisualMotion Tookit s main menu. 3. Select the I/O Mapper checkbox from the Transfer Control Data to Project window. By default, both control parameters C and C are checked in the Transfer Control Data to Project window. To transfer only the I/O Mapper, uncheck control parameter C Import I/O Mapper in Service Mode To import the default I/O Mapper to the control in Service mode: 1. Open the I/O Mapper and select File Open, locate the Def100.iom file and click on Open. 2. Switch the control to parameter mode. To download the I/O Mapper to the control, select File Send Ladder to control or click on the download icon ( ). Modifications can be made to the I/O Mapper stored in the control s memory in Service mode. I/O Mapper configurations that are downloaded to the control or saved to a file in service mode are not synchronized with a project s offline data. It is the responsibility of the project manager to ensure that I/O Mapper configurations modified in service mode are imported into the appropriate VisualMotion project. To modify an I/O Mapper file in the control: 1. Start VisualMotion Toolkit and select the Service mode radio button. 2. Select Commission I/O Mapper. 3. Switch the control to parameter mode. 4. Upload the I/O Mapper by selecting File Get Ladder from control or click the upload icon ( ). 5. Make the necessary modifications to the I/O Mapper and save the file. Download the modifications to the control by clicking the download icon ( ). Register and Bit Labels Bit labels are names given to register bits for identification. Bit label information is saved with each VisualMotion project file. Assign register bit names in the sample project using the following steps: 1. Open the VM Data Table window from the Edit menu in VisualMotion Toolkit.

92 VisualMotion 9 Application Manual VisualMotion Programming 5-25 Fig. 5-31: Edit Bit Labels Edit_Bit_Labels.tif 2. Right-click in the field and select Add... to enter the register number, bit number, and bit name labels (see Fig. 5-32): Param_Mode Mode_Auto_Manual Task_Stop Task_Start Clear_Errors Live_Man Emergency_Stop Finish_VM_Program Note: Clicking the Apply button after entering data in the fields of the Add Bit window will enter the new data in the VM Data Table without closing the window. Add_Edit_Bit.tif Fig. 5-32: Add/Edit Bit Label 3. After adding the last bit label, click OK to close the Add Bit window. 4. Select Build Compile Program to send the new data to the control.

93 5-26 VisualMotion Programming VisualMotion 9 Application Manual Note: When a project is compiled, a list of the project s components and errors in project construction is displayed in window. Project details can be verified in this window without having to download it to the control. Placing a Project in Online Mode To place your icon program in online mode: 1. Click the Toggle Online/Offline Mode button in the VisualMotion toolbar or by selecting File Online from the VisualMotion Toolkit s main menu. 2. Click Yes when prompted to save modifications to your program. 3. Click OK in the Synchronize Project Data window to allow VisualMotion to synchronize the data in the control with data in the project. Synch_Proj_Data.tif Fig. 5-33: Synchronize Project Data The program should now be online, as indicated by the online symbol in the lower right corner of the VM Project window.

94 VisualMotion 9 Application Manual VisualMotion Programming Activating a Project I/O Box Before a VisualMotion project can be activated, the system must be switched to Parameter Mode. The control register bits can be manipulated to switch to parameter mode by going online in unsynchronized mode. In this mode, changes can be made to the bit states. The DDE Server is used to view the status of the control. It is also possible to switch to parameter mode using the IO Box utility. This allows you to manipulate bits and monitor a running project without the assistance of the DDE Server. The I/O Box is a Visual Basic interface designed for activating and monitoring an icon program. It is automatically installed during the VisualMotion installation and is accessed through the main menu in VisualMotion Toolkit. The I/O Box is an online tool that is independent of the project and offline data. Changes made to parameters or data using the I/O Box are overwritten by the project when it is downloaded. The I/O Box assumes the properties of the current project if this option is selected. To open the I/O Box window: 1. Select Tools Registered Tools IoBox 2. Click Accept in the Load I/O Box window. The I/O Box window opens with 400 EMERGENCY STOP displayed, as shown in Fig Fig. 5-34: I/O Box Window IOBox_New.tif To activate the icon program with the I/O Box, use the following sequence: 1. Clear the error by selecting the E-Stop button and then the Clr Err button. 2. Select the Auto button to put the control in auto mode. 3. Select the Stop button. 4. Select the Start button to activate the icon program. Activating A Project With Register Bits An alternative to using the I/O Box application to activate an icon program, is to directly manipulate the register bits through the Data Editor window. With the default I/O Mapper loaded, Register 100 contains the bits for project activation.

95 5-28 VisualMotion Programming VisualMotion 9 Application Manual Register 100 does not contain a label or Bit labels when it is downloaded with the default I/O Mapper. Labeling the Register and its bits can be done through the VM Data Table window in offline or online mode. In this example, the register and bits will be labeled to match the System Control Register 1. To label the register and bits of Register 100: 1. Open the VM Data Table window, by clicking the VM Data Table icon ( ) in the toolbar or by selecting Edit VM Data Table. 2. Select the Registers tab and right-click in the window to bring up the edit menu for the registers, as shown in Fig Click Add to open the Edit Register window. Fig. 5-35: Add Register Label in VM Data Table VM_Data_Tble_Add_Reg.tif 4. Type the register number and name in the Edit Register window, as shown in Fig Fig. 5-36: Edit Register Label Add_Reg_Lable.tif Note: Two registers can not have the same name. An error will be issued if a name, assigned to another register, is used. An error is also issued when two bits are assigned the same name within the same register. 5. After adding the new register label in the VM Data Table, Save and Synchronize the data to refresh the table with the new entry. 6. Select the Bits tab in the VM Data Table window and add the bit labels, shown in Table 5-2, to Register 100 by right-clicking in the tab window and selecting Add.

96 VisualMotion 9 Application Manual VisualMotion Programming 5-29 Bit Label State 07 Emergency_Stop 0 to 1 01 Parameter_Mode 1 to 0 05 Clear_Errors 0 to 1 02 Mode_Auto_Manual 0 to 1 03 Task_Stop 0 to 1 04 Taks_Start 0 to 1 Table 5-2: Bit Labels and States 7. Enter Register number 100 and the bit number and name for each bit in the Add Bit window, see Fig Fig. 5-37: Adding Custom Register Bit Labels Add_Reg_Bit.tif 8. After adding the new bit labels in the VM Data Table, Save and Synchronize the data to refresh the table with the new entries. 9. With the icon program online, select Data Registers from the VisualMotion Toolkit menu. VisualMotion registers can be displayed in Binary (01), Hexadecimal (0x), or Decimal (12) format. Depending on the format selected, the bits for a register can either be manipulated in the Data Editor window or in the Edit Register window, which is displayed when Binary format is selected. The format can be selected in the Data Editor window.

97 5-30 VisualMotion Programming VisualMotion 9 Application Manual Registers_Format.tif Fig. 5-38: Binary Format of Bits 10. Scroll down to register 100 and double-click it to open. 11. Change the state of the following bits in the order they are listed in Table 5-2, beginning with Bit 07, to activate the program. When the program is running, the bit states will appear in the Edit Register 100 window, as shown in Fig Fig. 5-39: Bit Stat for Running Program Active_Program.tif The data displayed in the Registers, Project window will indicate the program is running by the bits set high in register 100, the register mapped to program operation bits. In Fig the last bit of register 100 is set to one, indicating that the system is in Parameter Mode.

98 VisualMotion 9 Application Manual VisualMotion Programming 5-31 Fig. 5-40: Bit State in Register Data Display Register_Bit_High.tif Note: If variables were added to the sample program, be sure to assign them a value before starting the program. Note: If the program has been started prior to adding values to the variables, the program will not run because all variable values are initially zero. Stop the program by changing the state of bits 3 and 4 from 1 to 0. Once values have been added, reinitialize the program by changing the state of bits 3 and 4 back to 1. To view which program icon is being processed within VisualMotion Toolkit, select Diagnostics Show Program Flow or press F7 on the keyboard to turn the feature on or off. Program flow begins in the initialization task and proceeds through the tasks and subroutines in the order in which they are to be executed, highlighting the icons when the program reaches them in the program flow.

99 5-32 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-41: Show Program Flow Program_Flow.tif Changing the state of any one of the following bits in Register 100 will stop the program from running. Bit Label 01 Param_Mode 02 Mode_Auto_Manual 03 Task_Stop 07 Emergency-Stop 09 Finish_VM_Program If the program was stopped using bit 100-7, Emergency Stop, or from an error, bit Clear_Errors must be toggled from 1 to 0 to 1 before running again. To run the program again, toggle bit Task Start from 1 to 0 to 1. Note: In order to start the program from the very beginning, toggle bit 100-2, Mode_Auto_Manual, from 0 to 1 prior to toggling the Task_Start bit. Saving a Project Icon programs are saved in the project folder on the computer. When a project goes online, the icon program is automatically saved to the project folder on the computer. To save an icon program when offline, use the Save Program option in the VisualMotion File menu..

100 VisualMotion 9 Application Manual VisualMotion Programming 5-33 Opening Existing Icon Programs Icon programs created in VisualMotion 7 and VisualMotion 8 can be opened in those versions or in VisualMotion 9 and downloaded to GPP9 firmware, but the following issues must be considered: A VisualMotion 7 or 8 program that has been downloaded to GPP9 firmware can not be reopened in the earlier version of VisualMotion software. Some icons available in previous versions of VisualMotion are not available in VisualMotion 9. If a VisualMotion 7 or 8 icon program contains an icon that does not exist in VisualMotion 9, the icon will appear in the program after it has been opened in VisulaMotion 9, but it must be removed if additional programming is required. An icon program created in VisualMotion 9 can not be downloaded to firmware versions earlier than GPP9. To open an existing icon program that was created in an earlier version of VisualMotion software in VisualMotion 9, select the program from the list displayed in the window or double-click the Browse Existing files item in the field to bring up the Open window. A warning is issued when a program created in an earlier version of VisualMotion is opened. The program will open in VisualMotion 9 in Service mode. Fig. 5-42: VisualMotion Message Prgrm_Version_Message.tif This completes the sample program illustration. Additional features in VisualMotion for saving, importing/exporting, and archiving projects are discussed in the VisualMotion 9 Functional Description manual. Advanced features for icon programming are discussed in the following section.

101 5-34 VisualMotion Programming VisualMotion 9 Application Manual 5.5 Advanced Programming with Events An advanced method of program construction can be used where events are added to the icon program to control the execution of a task with greater accuracy. Events are special subroutines that run only if they have been armed and specific conditions have been met. An event consists of: Trigger is the information used to arm an event and contains the following: Event number this indicates the order that an event is added to the VM Data Table, but has no significance outside the data table. Event name this is a user defined label for the event trigger in the data table. Event argument the value or condition that must be met for the event function to run. Event type this is one of the following: coordinated motion, singleaxis motion, Repeating Timer, Rotary, Probe, or I/O. Event function name the name for the special subroutine called by the trigger. Event Function The special subroutine that runs when the trigger condition is met. VisualMotion Toolkit offers the flexibility of adding events in more than one way to an icon program. The VM Data Table information for event triggers can be created prior to the icon program. The Events tab in the VM Data Table window displays all the data associated with each event trigger in the project and allows data to be edited, deleted, and created. Fig. 5-43: VM Data Table Events Tab VM_Data_Table_Events.tif Event triggers can also be created through the event related icons in the icon program, including the event, move, circle, and path icons. The VM Data Table is accessed with the browse button in each of these icon setup windows. The icons used to arm an event in an icon program depend on the event type. This chapter discusses the various types of events and how to add them to the icon program.

102 VisualMotion 9 Application Manual VisualMotion Programming 5-35 Note: A Calc icon can also be used to create an event trigger in the icon program. For more information about the arguments used in the Calc icon for events, refer to the VisualMotion 8 (GPP) Multi-Axis Motion Control Application Manual, Rev 02. More than one event arming icon can be configured with the same event trigger, as illustrated in Fig It is also possible to have more than one event trigger call an event function. The event function is not dependent on the type of event trigger; any type of event trigger can call an event function. The event type selected in the Event Arm/Disarm window must match the trigger event type. For example, rotary event arming icon must be configured with a rotary event trigger. Event Arm/Disarm Icon Selection Arm Rotary 1 Arm Timer 2 Arm Rotary 2 Arm Move 4 Arm Rotary 3 Arm Move 6 Arm Rotary 8 Arm Move 7 Event Trigger Types Rotary Event Trigger Timer Event Trigger Move Event Trigger Move Event Trigger Move Event Trigger Timer Event Trigger Move Event Trigger Move Event Trigger Event Functions Event Function 1 Event Function 2 Event Function 3 Event Function 4 Event Function 5 Event Function 6 Event Function 7 Event Function 8 Fig. 5-44: Event Arming, Trigger, and Function Relationship Event functions are added by selecting Edit VM Data or Insert Event Function from the VisualMotion main menu. An event function can also be added by right-clicking the Event Functions folder in the Project Navigator tab.

103 5-36 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-45: Project Navigator Add_Event_Function.tif This opens the Event Function Control Block window where the event name is entered. After the event function name is entered, a new icon programming workspace opens with a Start and Finish icon in place. Fig. 5-46: Event Function Control Block window E_function_block.tif Create the event function that will run when the condition in the icon program is true. Note: Icon instructions that require a long time to process, such as the Wait, Branch, and Parameter Transfer icon instructions, should be avoided in event programs.

104 VisualMotion 9 Application Manual VisualMotion Programming 5-37 Online Event Programming New events can not be added to the icon program while online mode, but existing events can be edited. The event type, event function name, and event argument value can be edited while the icon program is online. To edit an event online: 1. Select Data Events to open the Events, Project window. 2. Double-click the event to open the Edit Event Values window. Fig. 5-47: Edit Event Values Window Online_Events_Edit.tif Note: When making changes to the event type while online, the trigger event type must always match the event type selected in the icon program. Note: The VM Data Table can not be used to make online changes to events.

105 5-38 VisualMotion Programming VisualMotion 9 Application Manual Event Types The following section discusses how to configure each event type allowed in a VisualMotion icon program. These types include: Coordinated Motion Events Single Axis Move Events Repeating Timer Rotary (Repeating Axis Position) Probe I/O Coordinated Motion Events Multi-axis coordinated motion requires the trigger distance specified as a percentage of the total length of the segment or time (in ms) from the start or end of the segment. When specifying a distance-based event trigger with coordinated motion, an event function occurring within a blend segment may not trigger as anticipated. The range of potential paths that could be generated by the path planner through the blend segment must be considered. When one segment is blended into another with a large blend radius and triggers set near the beginning and end of the segments, the second segment may blend into the first segment to the extent that it triggers before the first segment event can occur. The blend segment can be controlled by ensuring that the programmed blend radius is smaller than the specified trigger distance of the second segment. Note: This event function is triggered after the specified distance has been traveled on the axis path. It can be triggered from both coordinated and non-coordinated (single-axis) moves. The response time for coordinated motion events is dependent on the number of coordinated axes in the program and the priority of the task containing the event trigger(task priority A - D). Tasks assigned to coordinated axes require one additional SERCOS cycle. Therefore, the response time may vary from 2 ms to 6 ms SERCOS cycles. Coordinated motion events are set in either the path or circle icon in the Coordinated Motion pallette of the project navigator. To add a coordinated motion event to an icon program: 1. Select either a path or circle icon. 2. In the configuration windows for the path and circles icons, select the browse button to open the VM Data Table window. Fig. 5-48: Path Icon Setup for Percentage of Coordinated Path Event

106 VisualMotion 9 Application Manual VisualMotion Programming In the ABS Points tab, right-click in the empty table and select Add to open the Add ABS Point window. Fig. 5-49: Add ABS Point Window Add_ABS_Point.tif 4. Click a check box in the Enable Events field to activate the browse button. 5. Click the browse button to open the VM Data Table window with the Events tab displayed. 6. In the Events tab, click Add to open the Add Event window. The Event Type field is inactive with the type selected by default. The event types selected by default is determined by the icon setup window, in this case the Coordinated Line Setup window.

107 5-40 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-50: Add Event Window Prcnt_Coord_Pth.tif 7. Enter a value for the event argument and select the coordinated motion event type. 8. Select the event function from the drop-down menu or create a new event function by clicking the New Function button. Note: The event function entered will not appear in VisualMotion Toolkit outside of this window. You will have to recall from memory the title used in this window when creating the actual event, if you have not already created the event. If the event was created before assigning the event function, the title will appear in the Event Function drop-down menu. The event type and data are set in the Add Event window. Note: The Event Type (Coordinated Motion) is selected by default in the Add Event window and matches the Event Type selected in the Event Arm/Disarm window. Single Axis Motion Events For single axis non-coordinated motion, an event function can be triggered at a set distance from the start or before the end of a move, by assigning a value to the motion path. The event function to be executed is specified with the event function name in the Events for this move field of the Single Axis Move Setup window.

108 VisualMotion 9 Application Manual VisualMotion Programming 5-41 Note: Single axis, non-coordinated, motion icons use the internal positioning intelligence of Bosch Rexroth's digital drives. Because the rate profile for single axis motion is developed within the drive, the time method of triggering an event related to motion is not supported. To add a single axis event to an icon program: 1. Place a Move icon in the your project. 2. Select the axis in which you want the event to occur, in the Single Axis Move Setup window. Fig. 5-51: Single Axis Distance Event Setup Single_Axis_Distance.tif 3. Select the distance in the move for the argument. 4. Enter the events for the move by typing the number of the event or by selecting the event from the Events tab in the VM Data Table window.

109 5-42 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-52: Add Event Window Repeating Timer Event Add_Event_Single_Axis.tif The repeating timer event is triggered by an internal clock that runs independently of the event s associated task. The argument for the event is a value which represents the time interval between each triggering of the event. Because the event automatically rearms itself, it will run continuously until it is disarmed. When using a repeating timer event in your project, it is important to restrict the type of icons you place in the event function as the event preempts all user tasks. Task response time and execution can be adversely affected if the event function requires a long time to process. Icons to avoid or use with caution in an event function include, Parameter transfer, Wait, and Branch (looping). To add a repeating timer event to a project: 1. Place an Event icon in the icon program to arm the event. 2. In the Event Arm/Disarm window, select Arm Event for the Event Action and Repeating Timer for the Event Type.

110 VisualMotion 9 Application Manual VisualMotion Programming 5-43 Fig. 5-53: Event Arm/Disarm Window Repeating_Timer_Event.tif 3. Type an event name in the Event Trigger field, select the event name from the Events tab in the VM Data Table window, or create a new event name by selecting Add to open the Add Event window. To disarm the repeating timer event, place a second Event icon in the program and select Disarm Event for the event action. Rotary (Repeating Axis Position) Event Rotary events are triggered each time the axis encounters an absolute position. The axis motion type can be single-axis, ELS, ratio, or velocity mode and configured for modulo or non-modulo positioning. The event function will be triggered each time the axis reaches the position (from either direction) set in the argument. Because rotary motion uses the shortest path to reach the next specified position, verify that the axis will travel through the position specified in the argument. If the event is not disarmed with a second Event icon placed in the same task, it will continue to run even after its associated task has ended. Note: Rotary events cannot be assigned to an axis with single axis distance based events. To add a Rotary event to a project: 1. Place an Event icon in your icon program. 2. Select Arm Event for the Event Action.

111 5-44 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-54: Event Arm/Disarm Window 3. Select Rotary for the Event Type. Rotary_Event.tif 4. Type an event name in the Event Trigger field, select the event name from the Events tab in the VM Data Table window, or create a new event name by selecting Add to open the Add Event window. 5. Select a signal source, depending on whether the event function will be triggered by a single axis, ELS group, or ELS master, position. Probe Event VisualMotion supports SERCOS probe functionality and real-time bits along with the event system to allow icon programs to perform registration functions. The DIAX04 and ECODRIVE03 digital drives provide two probe inputs that can be used for capturing the feedback position. Note: Only the DIAX04 digital drive is capable of transmitting probe feedback from two probes simultaneously through the SERCOS cyclic data telegram. The ECODRIVE03 is limited by its smaller bit capability to a single probe. To send a second probe signal with the ECODRIVE03, it is necessary to re-initiate the icon program.

112 VisualMotion 9 Application Manual VisualMotion Programming 5-45 The inputs are physically wired to each drive according to Fig DIAX04 using the DSS2.1 SERCOS Interface Card DSS2.1 M H3 ERR Connector X12 on DSS S2 LOW S3 HIGH Probe1 connection Probe2 connection E1 E2 E3 E4 E5 E6 +UL 0VL X11 RX X12 E1 E2 E3 E4 E5 E6 +U OV ECODRIVE03 with SERCOS Interface length l 24V 0V ext Fig. 5-55: Connecting the Probe Inputs X3 Ref Limit+ Limit- Cam1 / MessT1 Cam2 / MessT2 E-STOP delete error error 0V warning U D analog E1+ analog E1- analog E2+ analog E2- analog A1 analog A2 0V probe_inputs.eps/ap5092f1.eps The probe inputs are scanned every 1 µs. Upon either a positive or negative transition of a probe input, the drive captures and places the position into the cyclic data telegram. Typically, probes are used to detect registration marks on material. By controlling when the probe is armed, other printing on the material can be filtered out. When the position is captured, the drive signals the control with a real time bit in the SERCOS cyclic data telegram. When the control detects a change in the real time bit, it can execute an optional event function. Note: It is also important that the value being read in the feedback event matches the parameter in the amplifier telegram (AT). If feedback is requested from a probe and its associated parameter is not in the AT, the service channel is used to transmit the data. To add a Probe event to an icon program: 1. Place an Axis icon in the Initialization task of your project. 2. Select the Motion Type for the Axis.

113 5-46 VisualMotion Programming VisualMotion 9 Application Manual Note: Probes can be configured for the following motion types available in the drop-down menu of the Task Axes Setup window: Single Axis Coordinated Velocity Ratioed Axis Torque Mode Torque following Mode 3. Click Add to open the Single Axis Setup window. Probe_Config.tif Fig. 5-56: Configure Probe Window 4. Click Configure Probe(s) to open the Configure Probe window. The following table lists the four probe triggers and their associated SERCOS and Control parameters: Probe Trigger SERCOS Parameter Control Parameter Probe 1, 0->1 S A Probe 1, 1->0 S A Probe 2, 0->1 S A Probe 2, 1->0 S A Select the probes that will be associated with each event trigger in the Configure Probe window.

114 VisualMotion 9 Application Manual VisualMotion Programming In Task A of the Icon program, place an Event icon in program flow. Fig. 5-57: Event Arm/Disarm Window 7. Select Probe for Event Type. Probe_Event.tif 8. Type the event trigger name or select it from the VM Data Table. 9. Select the probe trigger for the event. 10. Select the same Axis for the event that was set in the Axes icon in the Initialization Task. Note: Configure the probes in the drives using DriveTop. Refer to drive documentation for additional information on configuring drives. I/O Events Events can be triggered through an I/O register or bit. There are four types of I/O Events: Task Input Transition I/O Register Event PPC-R Input Event (0->1) PPC-R Input Event (1->0) Task Input Transition Event Bit 9 of each Task Control Register (#002 -#005) is reserved as an event interrupt input for the task. Every low-to-high transition of this input can trigger an event function. Following a high-to-low transition of the input, the event is rearmed automatically. To Disarm the event, an additional event icon in the program flow is necessary to disarm the event.

115 5-48 VisualMotion Programming VisualMotion 9 Application Manual I/O Regsiter Event PPC-R X1 Input Event The control scans the input every 2ms and queues an event upon a lowto-high transition. The event function will take priority over the user tasks, allowing quick response to an external input. The I/O Mapper can be used to invert the logic of the interrupt input, or to direct other external inputs to the Task Control Register's Event Interrupt bit. The I/O Register event uses the bits of register 88 (USER_XI_REG) as inputs for up to 16 separate event triggers. Once an I/O Register event is initially armed, every low-to-high transition of the bit will cause the event function to run. The event is rearmed automatically after the high-to low transition of the triggering event bit. An Event icon must be used in the icon program to disarm an I/O register event. The bits in register 89 (USER_XO_REG) show the event status of their corresponding bit in register 88. This provides an external output to indicate the event is armed and ready for operation. Once an I/O register event is armed in the icon program, the corresponding bit in register 89 is set high. The bit in register 89 is set low again when the event is triggered and is set high again when the event is rearmed. The register 89 output bits are also set low if the event is disarmed through the Event icon. The PPC-R X1 High Speed Inputs can be used for high priority events. When a positive or negative rise is detected by pins 3, 4, and 5 on Connector X1 of the PPC-R, the associated event function is triggered. If another event is currently running and a PPC-R X1 input event is triggered, it will run immediately after the current event has finished and before the next event in the queue. The PPC-R X1 input event is triggered by a physical switch that is connected to pin 3, 4, or 5 of connector X1. The event is triggered by latching the switch to provide 24V to the input. The event could be triggered by either a latch or unlatch of the switch. Power Supply +24VDC 0V X1 PPC-R 1 2 Digital Output 1 Digital Output 2 3 Digital Input 1 4 Digital Input 2 5 Digital Input V external 7 0V external 2x0.75 mm 2 8 WD Contact Rating: 9 WD U = 24V I max = 150 ma VDC +/-20% 0V Ground Screw PPC-RX1_IO_Supply.EPS Fig. 5-58: Wiring Diagram for Digital Input/Output Supply Voltage for PPC-R X1 input event High speed input events are not automatically rearmed. An event icon must be used to rearm the event. Note: The digital inputs on connector X1 are not functional unless 24V are supplied to pins 6 and 7.

116 VisualMotion 9 Application Manual VisualMotion Programming 5-49 Adding an I/O Event I/O Events are added through the Event icon in VisualMotion. To add an I/O Event to a project: 1. Place an Event icon in the task where the event will occur in your icon program. 2. In the Event Arm/Disarm window, select Arm Event. 3. Select I/O for the Event Type. 4. Type the name of the event function or select or create one by selecting the VM Data Table button. 5. In the VM Data window, select the Events tab and select an event or click the Add button to create a new event. 6. In the Add Event window, enter the event number and name. 7. Select the I/O Event Type and enter the event function name or create a new one with the New Function button. Add_Event_IO.tif Fig. 5-59: Add Event Window Event Processing If more than one event is used in an application, the events are prioritized according to the following designation: Highest Priority 1 - Path Planner and single axis events Priority 2 - Event from Task A Priority 3 - Event from Task B Priority 4 - Event from Task C Priority 5 - Event from Task D Priority 6 - Timer Task (repeating events) Lowest Priority 7 - User Tasks A, B, C, D and BTC06

117 5-50 VisualMotion Programming VisualMotion 9 Application Manual The following conditions should be considered when creating a VisualMotion project with events: Events interrupt user tasks Events (except the repeating timer event) are assigned to a user task Each user task has a separate event queue, which can store up to 25 events The repeating timer event queue is separate from user task queues and can store up to 16 events Note: An event queue (stack) is a storage area where events are placed as they are triggered. The events are accumulated in the queue and are activated in the order in which they are received. Once an event has been executed, it is cleared from the queue and the remaining events move up in the queue. If the maximum number of event queues is exceeded, a Stack Overflow error will be issued by VisualMotion. A higher priority event interrupts a lower priority event. For example, events associated with Task A will interrupt execution of events associated with Tasks B, C, & D. Events associated with Task B will interrupt events associated with Tasks C & D, and so on. The queue handles events with the same priority in a First In First Out (FIFO) order. The PPC-R X1 input events are considered fast input events and will always be placed at the top of the FIFO queue.

118 VisualMotion 9 Application Manual VisualMotion Programming 5-51 Summary of Event Types The following table contains a summary of the parameters for each event type described in detail in the previous section. Event Type Examples Arm Mechanism Coordinated Motion Single Axis Motion Repeating Timer Rotary Repeating Axis Probe I/O Register Task Input Transition Start a move from another axis Control a glue gun Start a move from another axis Control a glue gun Switch a pump on every hour Calculate statistics every minute Control a valve Change the H- Factor Start a move from another axis Latch motor position of drive for registration function Detect product position on a belt Move SERVO to a predefined position after opening a door Start a calculation Move SERVO to a predefined position after opening a door Auto Rearm No No Maximum Number 4 events per move segment 4 events per single axis move Priority* Yes 16 absolute 5 = lowest Yes 4 for each axis, group, or master 1 to 4, based on which task the axis is assigned 1 to 4 based on which task the axis is assigned 1 to 4 based on which task the single axis is assigned No 2 per drive 1 to 4 based on which task the axis is assigned Yes 16 absolute 1 for Task A Yes 1 per task 1 for Task A, 2 for Task B, 3 for Task C, and 4 for Task D PPC-R X1 Input Time critical measurements Latch virtual master position No 3 absolute 1 for Task A Table 5-3: Summary of Event Parameters * Priority Levels: Task A = 1 (Highest) Task B = 2 Task C = 3 Task D = 4 Repeating Timer = 5 (Lowest)

119 5-52 VisualMotion Programming VisualMotion 9 Application Manual Runtime Setup The Runtime setup allows you to associate a new event argument or event function to an existing event. The Runtime setup values for an event will overwrite the values for that same event in the VM data table. Runtime changes can be set in the Runtime Setup field in the Event and Move icons. Note: The functionality of the Runtime Setup was accomplished using the Calc icon in earlier versions of VisualMotion. The Calc icon can still be used to change event values in VisualMotion 9 as in previous versions of VisualMotion. Refer to the events topic in VisualMotion online help for information about configuring the Calc icon for and event. The Runtime Setup field in the Event and Move icons has a Set button which opens the Runtime Event Configuration window. Fig. 5-60: Runtime Event Configuration Window Runtime_Setup.tif Note: If a disarm function is used for an event, neither the argument or event function can be changed in runtime. In the Runtime Event Configuration window, the event function should be disabled by removing the check in the Enable check box. A list of all the events in a project can be viewed by selecting View Event Function in the VisualMotion Toolkit main menu.

120 VisualMotion 9 Application Manual VisualMotion Programming 5-53 Fig. 5-61: Event Functions Window Event_Function.tif In the Runtime Event Configuration window, the Enable checkbox must be selected to enable the Argument and Event Function fields. 5.6 Service Mode Fig. 5-62: Runtime Event Configuration Window Runtime_Event_Config.tif The checkbox can also be used to deactivate either setting so that the program will continue to use the original settings in the event trigger. Tools launched from the icon editor without a project loaded will default to service mode. This mode provides access to the control when no project data is available. All of the data on the control can be viewed and changed, without the project being open. Backup and restore operations are also possible in this mode. To open VisualMotion Toolkit in service mode: 1. Launch VisualMotion Toolkit. 2. In the project selection window, select View and edit control data in Service mode.

121 5-54 VisualMotion Programming VisualMotion 9 Application Manual Fig. 5-63: View VisualMotion in Service Mode Open_Service_Mode.tif VisualMotion Toolkit will open with all menus available except Edit, View, and Insert. The menus will display the values of the last program that was downloaded to the control. The icon workspace will be absent from the window because it is not possible to interact with a project while in this mode. Fig. 5-64: VisualMotion Toolkit in Service Mode VM_Toolkit_Service_Mode.tif

122 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) Electronic Line Shafting (ELS) 6.1 ELS Overview Electronic Line Shafting (ELS) is a robust synchronization system that precisely controls motion using electronic gearing and cams. The ELS system has the following components that are connected through adaptable interfaces: Command Sources Signal Router Axis Groups Individual Axes The interfaces can switch between the defined signal path to meet the dynamics of the application, see Fig VisualMotion GPP software and firmware allow more than one active master at a time to support ELS functionality. Electronically synchronized axes can be combined to form ELS Groups. Active masters can control a maximum of eight ELS Groups. Every ELS Group will follow its selected master. GPP supports six system masters in any combination up to a maximum of the following types: 2 Virtual Masters 6 Real Masters 6 ELS Group Masters 6 Link Ring Master IN 1 Link Ring Master OUT Position commands originate from either a Virtual Master in the control or a Real Master generated by a sensor on the motor. The Virtual Master or Real Master signal are assigned a number in the ELS System connection box and can be modified before it is sent to an ELS Group. An output signal from an ELS group can be sent to another ELS Group after being assigned a new ELS System Master number. The example configuration in Fig. 6-1 shows the signal flow through a system with 2 Virtual Masters, 2 Real Masters, 1 ELS Group Master and 4 ELS Groups. Five ELS System Master numbers are assigned in the connection box.

123 6-2 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual real master axes Command Sources Motion Control virtual master 1 virtual master 2 Signal Router ELS group master connection box link master position(s) (received from link ring) link master position (send to link ring) Axis Groups ELS group ELS group ELS group ELS group master Individual Axes axes 0 (for ratio) axes Fig. 6-1: Multiple Master Configuration Example Multiple master functionality in VisualMotion includes 5 types of masters and one group: Virtual Master A Virtual master is a component that generates a command stream based on its input settings. VisualMotion provides two independent Virtual masters that are used to drive a group of axes or programmable limit switches. A Virtual Master has two primary modes of operations: Velocity Mode continuous running Position Mode indexing, jogging Real Master A Real Master is either a primary motor (positive feedback) or secondary encoder (Aux) signal from a drive. Each drive in the system can potentially provide two Real Masters. The raw position value of the Real Master can be filtered and geared by an M/N ratio. ELS Group Master An ELS Group Master is the output position of an ELS Group used as an input master signal, geared by an M/N ratio, to a different ELS Group. ELS System Master Virtual Masters, Real Masters and ELS Group Masters can be combined and assigned to one of 6 ELS System Masters. The master signal from each active system master is conditioned (e.g., geared or filtered) and made available for controlling groups of axes.

124 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-3 Link Ring Master A link Ring Master is an external PPC-R configured as master, which can have up to 31 PPC-Rs configured as Link Ring Slave controls interfacing with it in a fiber optic ring, called a Link Ring. ELS Group An ELS Group is defined as a set of slave axes (40 axes maximum) that follow the position command signal from one of the 6 System Masters. By using ELS Groups, slave axes are combined, according to their function, in groups that control each machine section as an independent process. During operation, an ELS Group can be switched between master signals. Any changes to ELS Group parameters are immediately available to all axes assigned to that group, so that precise synchronization of the machine section is maintained. 6.2 Assigning Variable and Register Labels VisualMotion provides 1024 registers for controlling and monitoring the project. During configuration of the Virtual Masters, ELS Groups, and System Masters, their associated control and status registers must be assigned to a free register. The system has default address ranges defined for the various components, which are automatically indexed as each is created. If you are new to the system, it is recommended that you use the default addresses where possible to simplify the label assignment procedure. Default labels and comments can be added using the Assign Variable Labels button in the icon configuration windows for ELS System Master, ELS Group, and Virtual Master icons. The Variable Labels window displays the Data object, Label, and Comment fields for variables, registers and bits. The window has two buttons that allow you to add the default labels for the variables, registers, and bits: Add Default Labels - This button adds all default labels for the data type selected. Add All Default Labels This button adds all default labels for all three data types. Fig. 6-2 shows an example of adding default labels in the dialog window.

125 6-4 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Fig. 6-2: Add Default Labels Example variable_label.tif The window only allows the addition of default labels. The VM Data Table window should be used to add individual labels or modify default labels. Refer to the chapter for more information on the VM Data Table window. Virtual Master, ELS System Master, and ELS Group Default Registers To avoid using the same registers, the following register numbers in Table 6-1 for Virtual Masters and Table 6-2 for ELS Groups can be used as defaults. Virtual Master Control Register Status Register Table 6-1: Virtual Master Default Registers

126 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-5 ELS Group Control Register Status Register Table 6-2: ELS Group Default Registers ELS System Master Control Register Status Register Table 6-3: ELS System Master Default Register Assigning Program Variables Values that are used by VisualMotion to run the project, such as Virtual Master velocity or acceleration, are stored as program variables. Variables of the same type (float or integer) are typically assigned consecutive numbers in a register to form a group or Block of variables. When configuring a group or master, the icon window will prompt you to enter the initial (lowest) variable number of the block, called the start ID. In the field of the start ID, the block size is indicated. Table 6-4 contains the default start ID and block for each of the mentioned program variables. Function Number of Floats Number of Integers Float ID Block Integer ID Block Virtual Master F100-F114 I100-I101 Virtual Master F120-F134 I105-I106 ELS Master Assignment F140-F189 I110-I139 ELS Group F190-F218 I140-I148 ELS Group F220-F248 I150-I158 ELS Group F250-F278 I160-I168 ELS Group F280-F308 I170-I178 ELS Group F310-F338 I180-I188 ELS Group F340-F368 I190-I198 ELS Group F370-F398 I200-I208 ELS Group F400-F428 I210-I218 Table 6-4: Program Variable Default Start ID Blocks

127 6-6 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Virtual Master 1 & 2 Default Register Labels The default labels for the Virtual Master registers are shown in Table 6-5. The corresponding default bit labels are shown in Table 6-6. Data Object Type Label (20 character limit) Comment (80 character limit) Assigned control register number VM#_CONTROL_REG Virtual Master # control register Assigned status register number VM#_STATUS_REG Virtual Master # status register Table 6-5: Virtual Master Default Registers Default Label Virtual Master 1 & 2 Control Register Data Object Virtual Master 1 Control Register-Bit Data Object Virtual Master 2 Control Register-Bit Comment (80 character limit) Virtual Master 1 & 2 Control Register VM#_CT_FSTOP VM # control, 0 1 triggers fast stop VM#_CT_HOME VM # control, 0 1 loads home position VM#_CT_GO VM # control, 0=stop, 1=go VM#_CT_VMODE VM # control, 0=position, 1=velocity mode VM#_CT_RELMODE VM # control, 0=absolute, 1=relative mode VM#_CT_RELTRIG VM # control, 0 1 triggers relative mode Default Label Virtual Master 1 & 2 Status Register Data Object Virtual Master 1 Control Register-Bit Data Object Virtual Master 2 Status Register-Bit Comment (80 character limit) Virtual Master 1 & 2 Status Register VM#_ST_FSTOP VM # status, 1=fast stop active VM#_ST_HOME VM # status, 1=home complete VM#_RESERVE VM#_ST_VMODE VM # status, 1=velocity mode VM#_ST_RELMODE VM # status, 1=relative mode VM#_RESERVE VM#_ST_ZEROVEL VM # status, 1=standstill, 0=velocity VM#_ST_INPOS VM # status, 1=in position Each # symbol represents an entry for the number of the Virtual Master Table 6-6: Virtual Master 1 & 2 Default Register Bits

128 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-7 Virtual Master 1 & 2 Default Program Variable Labels Default Label Virtual Master 1 & 2 Program Variable Data Object Virtual Master 1 & 2 Comment (80 character limit) Virtual Master 1 & 2 Program Variable Default Value Units Update Mode VM#_HOME_POS F100 F120 Virtual Master # home position 0 Degrees Phase 4 VM#_REL_MOVE_DIST F101 F121 Virtual Master # relative move distance 1 Degrees Phase 4 VM#_STOP_POS F102 F122 Virtual Master # stop position 0 Degrees Phase 4 VM#_CMD_ABS_POS F103 F123 Virtual Master # commanded absolute position 0 Degrees Phase 4 VM#_CMD_VEL F104 F124 Virtual Master # commanded velocity 20 RPM Phase 4 VM#_CMD_ACCEL F105 F125 Virtual Master # commanded acceleration 100 Rad/sec² Phase 4 VM#_CMD_DECEL F106 F126 Virtual Master # commanded deceleration 100 Rad/sec² Phase 4 VM#_E_STOP_DECEL F107 F127 Virtual Master # E-Stop deceleration 500 Rad/sec² Phase 2 VM#_MAX_VEL F108 F128 Virtual Master # maximum velocity 3200 RPM Phase 2 VM#_MAX_ACCEL F109 F129 Virtual Master # maximum acceleration 1000 Rad/sec² Phase 2 VM#_MAX_DECEL F110 F130 Virtual Master # maximum deceleration 1000 Rad/sec² Phase 2 VM#_JERK_ENABLE F111 F131 Virtual Master # jerk limiting enable 1 Phase 2 VM#_CUR_POS F112 F132 Virtual Master # current position 0 Degrees Phase 4 VM#_CUR_VEL F113 F133 Virtual Master # current velocity 0 RPM Phase 4 VM#_POS_WIN F114 F134 Virtual Master # shortest path window 1 Degrees Phase 2 VM#_POS_MODE I100 I105 Virtual Master # positioning mode 1.) 0 Phase 2 VM#_RESERVE_I1 I101 I106 Each # symbol represents an entry for the number of the Virtual Master Note 1.) Absolute Position Mode, 0=Positive, 1= Negative, 2= Shortest Path ELS System Master Default Registers Table 6-7: Virtual Master 1 & 2 Default Program Variables The default labels for the ELS System Master registers are shown in Table 6-5. The corresponding default bit labels are shown in Table 6-9. Data Object Type Label (20 character limit) Comment (80 character limit) Control Register 140 (Default) ELS_MSTR_CONTROL Control Register for ELS Masters Status Register 141 (Default) ELS_MSTR_STATUS Status Register for ELS Masters Table 6-8: Default ELS Master Registers

129 6-8 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Default Label ELS Master 1 to 6 Data Object ELS Master Register-Bit ELS_M_CT_RESERVE to Comment (80 character limit) ELS Master Status Register ELS_M_CT_SET_REF to > 1 Sets ELS Master 1 reference position for real master (Phase 4 only) ELS_M_CT_RESERVE to ELS_MCT_SLIP_CAPT ELS Master Capture Slip Monitoring 0 = No Capture 1 = Capture Run Time Data ELS_M_CT_SLIP_EN ELS Master Enable Slip Monitoring 0 = Off 1 = On ELS_M_ST_STOPPED to ELS Master at Standstill ELS_M_ST_REF to ELS Master Referenced 1 = Referenced 0 = Not referenced(real master only) ELS_M_ST_RESERVE Reserved ELS_M_ST_SLIP_ERR ELS Master Slip Monitoring Error 0 = No error 1 = Error ELS_M_ST_SLIP_ENC ELS Master Slip Monitoring Lead Encoder 0 = Primary 1 = Secondary ELS_M_ST_SLIP_ENA ELS Master Slip Monitoring Enabled 0 = Off 1 = On Table 6-9: ELS System Masters Default Register Bits

130 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-9 ELS System Master Assignment Default Program Variable Labels ELS System Master Program Variable ELS System Master Program Variable ELS System Master Program Variable Default Comment Update Mode Default Label (80 character limit) ELS_MSTR_FREQ# F140 F141 F142 F143 F144 F145 ELS Master # filter cutoff frequency Phase 2 ELS_MSTR_M# F146 F147 F148 F149 F150 F151 ELS Master # M factor Phase 2 ELS_MSTR_N# F152 F153 F154 F155 F156 F157 ELS Master # N factor Phase 2 ELS_MSTR_SLIP_WINDOW F158 ELS Master max allowed slip deviation window ELS_MSTR_SLIP_OFFSET F159 ELS Master position offset for slip monitoring ELS_MSTR_SLIP_VELTHD F160 ELS Master slip monitoring primary velocity threshold Captured on rising edge of capture bit in P4 Phase 2/4 Phase 4 ELS_MSTR_SLIP_PEAK F161 ELS Master peak slip deviation Phase 4 (read-only) ELS_MSTR_SLIP_ACTUAL F162 ELS Master current slip deviation (actual) Phase 4 (read-only) ELS_MSTR_STANDSTILL F163 ELS Master Standstill Velocity Threshold Phase 4 ELS_MSTR_POS# F164 F165 F166 F167 F168 F169 ELS Master # output position Phase 4 (read-only) ELS_MSTR_VEL# F170 F171 F172 F173 F174 F175 ELS Master # output velocity Phase 4 (read-only) ELS_MSTR_OFFSET# F176 F177 F178 F179 F180 F181 ELS Master # real master offset Phase 4 ELS_MSTR_REF_POS# F182 F183 F184 F185 F186 F187 ELS Master # real master reference position Phase 4 ELS_MSTR_A# I110 I111 I112 I113 I114 I115 ELS Master # ID number Phase 2 ELS_MSTR_EC# I116 I117 I118 I119 I120 I121 ELS Master # encoder, Real Master only Phase 2 ELS_MSTR_FLTR# I122 I123 I124 I125 I126 I127 ELS Master # filter Phase 2 ELS_MSTR_TYPE# I128 I129 I130 I131 I132 I133 ELS Master # type Phase 2 ELS_MSTR_SLIP_PRI I134 ELS Master slip primary address Phase 2 ELS_MSTR_SLIP_SEC I135 ELS Master slip secondary address Phase 2 ELS_MSTR_CONFIG I136 ELS Master slip monitoring settings Phase 2/4 ELS_MSTR_RSVD1 I137 reserved for ELS Master Phase 2 ELS_MSTR_RSVD2 I138 reserved for ELS Master Phase 2 ELS_MSTR_RSVD3 I139 reserved for ELS Master Phase 2 Each # symbol represents the number of the ELS Master Shaded program variables are read-only (You can overwrite the current value. However, the ELS system will also overwrite the current value if it changes in the system) Table 6-10: ELS Master Assignment Default Program Variables ELS System Master Configuration Word For every ELS Master, an ELS Master Configuration Word (ELS_MSTR_CONFIG) is used to configure all settings for velocity rounding, slip offset, and slip error. These settings are initially configured within VisualMotion Toolkit s ELS System Master icon and become active when the project is compiled and downloaded to the control. These can also be modified by accessing the appropriate integer number and entering an equivalent hexadecimal value.

131 6-10 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual ELS Master Configuration Word Bit Description Reserved Velocity Rounding Slip Offset Method Slip Error Reaction Fig. 6-3: ELS Master Configuration Word Bit 30 Velocity Rounding Bits 31 Slip Offset Method Bit 32 Slip Error Reaction ELS_MSTR_FREQ# This bit rounds the Virtual Master (VM#_CMD_VEL) and Group Jogging (G#_JOG_VEL) velocity down to the nearest ELS increment in order to eliminate small cycle-to-cycle variations in drive velocity that would otherwise occur. 0 = Disabled 1 = Virtual Master and Group Jogging velocities are rounded-down to the nearest ELS increment In Absolute Position Monitoring mode this parameter is used as an absolute offset between the two master encoders, this allows the Feedback/Master signals to have an offset between the two without needing to mechanically zero the machine. 0= Fixed Absolute Offset the value is static and you set an absolute offset between the two master encoders. 1= Dynamic Offset the system automatically records the position difference between the two master signals when the control switches from phase 2 to phase 4 This bit sets the system reaction to the master encoder signal exceeding the maximum allowed deviation window limits. 0= Fatal Error (system stops) 1= Warning (user defined) ELS System Master Variable Definition Only Real Masters use the filter constant. When a filter (ELS_MSTR_FLTR#) is selected for an axis' position feedback, a cutoff frequency for the filter must be entered. The cutoff frequency is the frequency where the signal is reduced by 3dB. ELS_MSTR_M# and ELS_MSTR_N# Only Real Masters use the ratio constants (M/N). The output of the master is governed by the equation y=(m/n)*x, where x is the feedback value from the real master and y is the master signal used for ELS Groups. All ELS Masters and ELS Groups outputs are modulo 360 degrees. ELS_MSTR_A# This variable identifies a valid ID number for a defined master type. For example, when ELS_MSTR_TYPE# is set to 3 (Virtual Master) this number must be a 1 or 2. Valid ID numbers are Virtual Master: 1 or 2 ELS Group Master: 1-8 Real Master: 1-3

132 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-11 ELS_MSTR_EC# When using an encoder device as a Real Master, this variable identifies the source. 0 = motor encoder 1 = external encoder ELS_MSTR_FLTR# This variable identifies the type of filtering to use for the axis position feedback. Valid types are 0 = no filter 1 = 1 st order low pass 2 = 2 nd order low pass 3 = 3 rd order low pass 4 = 2 nd order Butterworth 5 = 3 rd order Butterworth 6 = 2 nd order low pass with velocity feed forward 7 = 3 rd order low pass with velocity and acceleration feed forward ELS_MSTR_TYPE# Available master types are 0 = Real Master 1 = ELS Group master 2 = External (future development) 3 = Virtual Master 4 = none ELS_MSTR_SLIP_WINDOW In absolute position monitoring mode, this sets the maximum allowable position difference between the two selected master signals. Max Master 2ms SERCOS = 7500 RPM Max Master 4 ms SERCOS = 3750 RPM Max Master 8 ms SERCOS = 1875 RPM (link ring) ELS_MSTR_SLIP_OFFSET In absolute position monitoring mode, this variable is used to offset two master encoders. This eliminates the need to mechanically zero the machine. Range limits: -180 < X 180 ELS_MSTR_SLIP_VELTHD This is the velocity threshold that the primary master encoder must exceed before the system is able to detect the direction of the primary encoder. ELS_MSTR_SLIP_PEAK In absolute positioning mode, this is used to store the peak slip position deviation between the primary and secondary master signals. Every SERCOS cycle, the system compares the value stored in this variable to the current slip deviation. If this value is higher than any of the previous values, it will be set as the new peak deviation position. If you make a change to your program that lowers your peak value, you can write a zero to the variable to force the program to overwrite it with the new peak value. ELS_MSTR_SLIP_ACTUAL In absolute position mode, this variable displays the current position difference between the two selected master signals.

133 6-12 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual ELS_MSTR_STANDSTILL This variable is the velocity threshold that each master output must exceed before the system sets the master status standstill bit to zero for each given master (ELS_MSTR_STATUS, bits 1 to 6). This bit will only o high if the associated ELS System Master has been at or below the threshold velocity for the last two SERCOS cycles. ELS_MSTR_POS# This variable displays the current output position in degrees for each of the six master signals. This variable is stored in the control s memory and when the control is turned on and off, the last recorded value is maintained. You can enter a value in the variable, but it will be overwritten by the current value in the control. ELS_MSTR_VEL# This variable displays the current output velocity for each of the six master signals. ELS_MSTR_SLIP_PRI This variable sets the address of the primary master signal to be monitored. Limits: 0 to 6 (0 not configured) ELS_MSTR_SLIP_SEC This variable sets the address of the secondary master signal to be monitored. ELS_MSTR_CONFIG This variable is used to set the different modes of operation for the master signal monitoring. 1 to 30 - Reserved 31 slip offset method 0 = Fixed Absolute Offset, 1 = Dynamic Offset 32 slip offset reaction 0 = Fatal Error, 1 = Warning ELS_MSTR_CONTROL Available registers: 1 to 14 - Reserved 15 Capture Slip Monitoring (0 = Off, 1 = On) ELS_MSTR_STATUS Available registers: 1 Master 1 at Standstill 2 Master 2 at Standstill 2 Master 3 at Standstill 2 Master 4 at Standstill 2 Master 5 at Standstill 2 Master 6 at Standstill 7 to 13 - Reserved 14 Monitoring ERROR Active (0 = No Error, 1 = Error) 15 Lead Encoder (0 = Primary, 1 = Secondary) 16 Slip Monistoring Enabled (0 = Not Enabled, 1 = Enabled)

134 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-13 ELS Group 1-8 Default Register Labels The default labels for the ELS Group registers are shown in Table The corresponding default bit labels are shown in Table Data Object Type Label (20 character limit) Comment (80 character limit) Assigned control register number G#_CONTROL_REG Group # control register Assigned status register number G#_STATUS_REG Group # status register Default Label ELS Group 1-8 Table 6-11: ELS Group 1-8 Default Registers Data Object ELS Group Control Register-Bit Comment (80 character limit) ELS Group 1-8 Control Register Control Register G#_CT_LOCK_OFF Group # control, 0 1 start lock cycle, 1 0 start unlock G#_CT_M_REL_PH Group # control, 0 1 triggers master relative phase adjust G#_CT_S_REL_PH Group # control, 0 1 triggers slave relative phase adjust G#_CT_MSTR_SEL Group # control, 0=master 1, 1=master 2 G#_CT_VAR_CLK Group # control, 0 1 forcing G#_CT_LOCAL Group # control, 0 1 local mode, 1 0 selected master G#_CT_JOG_INC Group # control, 0=continuous jog mode, 1=incremental jog mode G#_CT_JOG_ABS Group # control, 0=absolute incremental mode, 1=relative incremental mode G#_CT_JOG_PLUS Group # control, 0 1 starts jog mode in positive direction G#_CT_JOG_MINS Group # control, 0 1 starts jog mode in negative direction G#_CT_M_ABS_PH Group # control, 0 1 triggers master absolute phase adjust G#_CT_S_ABS_PH Group # control, 0 1 triggers slave absolute phase adjust Each # symbol represents an entry for the number of the ELS Group Table 6-12: ELS Group 1-8 Default Register Bits

135 6-14 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Default Label ELS Group 1-8 Data Object ELS Group Status Register-Bit Comment (80 character limit) ELS Group 1-8 Status Register Status Register G#_ST_LOCK_ON Group # status, 0=unlocked, 1=locked to master G#_ST_M_REL_PH Group # status, 1=acknowledges master relative phase adjust G#_ST_S_REL_PH Group # status, 1=acknowledges slave relative phase adjust G#_ST_MSTR_SEL Group # status, 0=master 1, 1=master 2 G#_ST_VAR_ACK Group # status, 1=variables updated G#_ST_LOCAL Group # status, 1=local mode active G#_ST_RSVD G#_ST_RSVD G#_ST_MOTION Group # status, 0=no motion, 1=group is in motion G#_ST_JOG_POS Group # status, 1=jog is at absolute target G#_ST_M_ABS_PH Group # status, 1=acknowledges master absolute phase adjust G#_ST_S_ABS_PH Group # status, 1=acknowledges slave absolute phase adjust Each # symbol represents an entry for the number of the ELS Group Table 6-13: ELS Group 1-8 Default Register Bits

136 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-15 ELS Group 1-8 Default Program Variable Labels Default Label ELS Group 1-8 Data Object ELS Group 1-8 Program Variable Comment (80 character limit) ELS Group 1-8 Program Variable Program Variable G#_SYNC_ACCEL F190 F220 F250 F280 F310 F340 F370 F400 Group #, dynamic sync acceleration Update Mode Phase 4 G#_SYNC_VEL F191 F221 F251 F281 F311 F341 F371 F401 Group #, dynamic sync velocity Phase 4 G#_M1 F192 F222 F252 F282 F312 F342 F372 F402 Group #, M factor Phase 4 & Forcing* G#_N1 F193 F223 F253 F283 F313 F343 F373 F403 Group #, N factor Phase 4 & Forcing* G#_PROG_M_PH F194 F224 F254 F284 F314 F344 F374 F404 Group #, master phase adjust value G#_PROG_S_PH F195 F225 F255 F285 F315 F345 F375 F405 Group #, slave phase adjust value G#_ABS_M_PH F196 F226 F256 F286 F316 F346 F376 F406 Group #, absolute master phase adjust G#_ABS_S_PH F197 F227 F257 F287 F317 F347 F377 F407 Group #, absolute slave phase adjust G#_H_LOCKON F198 F228 F258 F288 F318 F348 F378 F408 Group #, H factor lock on cam profile Phase 4 Phase 4 Phase 4 (read-only) Phase 4 (read-only) Phase 4 & Forcing* G#_H_RUN F199 F229 F259 F289 F319 F349 F379 F409 Group #, H factor 1:1 cam profile Phase 4 & Forcing* G#_H_LOCKOFF F200 F230 F260 F290 F320 F350 F380 F410 Group #, H factor lock off cam profile G#_H_USER F201 F231 F261 F291 F321 F351 F381 F411 Group #, H factor user cam profile G#_LOCK_WIN F202 F232 F262 F292 F322 F352 F382 F412 Group #, shortest path window for dynamic sync. phase correction Phase 4 & Forcing* Phase 4 Phase 4 G#_STOP_DECEL F203 F233 F263 F293 F323 F353 F383 F413 Group #, stop ramp deceleration Phase 4 G#_JOG_ACCEL F204 F234 F264 F294 F324 F354 F384 F414 Group #, jog acceleration Phase 4 G#_JOG_VEL F205 F235 F265 F295 F325 F355 F385 F415 Group #, jog velocity Phase 4 G#_JOG_INC F206 F236 F266 F296 F326 F356 F386 F416 Group #, relative position distance (incremental jog) G#_JOG_ABS F207 F237 F267 F297 F327 F357 F387 F417 Group #, absolute position target (absolute jog) G#_JOG_WIN F208 F238 F268 F298 F328 F358 F388 F418 Group #, shortest path window for absolute jog G#_LOCKON_OFFSET F209 F239 F269 F299 F329 F359 F389 F419 Group #, offset added to the output when lock on cam profile is being forced Phase 4 Phase 4 Phase 4 Phase 4 G#_IN_POS F210 F240 F270 F300 F330 F360 F390 F420 Group #, input position Phase 4 & Forcing* G#_IN_VEL F211 F241 F271 F301 F331 F361 F391 F421 Group #, input velocity (read only) G#_OUT_POS F212 F242 F272 F302 F332 F362 F392 F422 Group #, output position (read only) G#_OUT_VEL F213 F243 F273 F303 F333 F363 F393 F423 Group #, output velocity (read only) Phase 4 Phase 4 & Forcing* Phase 4 Table 6-14: ELS Group 1-8 Default Program Variables (part 1 of 2)

137 6-16 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual ELS Group 1-8 Default Program Variable Labels (Cont'd) Default Label ELS Group 1-8 Data Object ELS Group 1-8 Program Variable Comment (80 character limit) ELS Group 1-8 Program Variable Program Variable Update Mode G#_OUT_ACC F214 F244 F274 F304 F334 F364 F394 F424 Group #, output acceleration (read only) G#_CAM_INPUT F215 F245 F275 F305 F335 F365 F395 F425 Group #, group cam profile ID input position G#_MST1_TRIGPOS F216 F246 F276 F306 F336 F366 F396 F426 Group #, master 1 switching trigger position G#_MST1_TRIGPOS F217 F247 F277 F307 F337 F367 F397 F427 Group #, master 2 switching trigger position G#_STANDSTILL_WIN F218 F248 F278 F308 F338 F368 F398 F428 Group # standstill velocity threshold Phase 4 Phase 4 & Forcing* Phase 4 Phase 4 Phase 4 G#_CONFIG I140 I150 I160 I170 I180 I190 I200 I210 Group #, configuration word Refer to Fig. 5-2 G#_MSTR1_AXIS I141 I151 I161 I171 I181 I191 I201 I211 Group #, ELS master ID, number 1 G#_MSTR2_AXIS I142 I152 I162 I172 I182 I192 I202 I212 Group #, ELS master ID, number 2 G#_ACTIVE_STATE I143 I153 I163 I173 I183 I193 I203 I213 Group #, active state of state machine for lockon/lockoff G#_ACTIVE_CAM I144 I154 I164 I174 I184 I194 I204 I214 Group #, active cam profile table number G#_LOCKON_CAM I145 I155 I165 I175 I185 I195 I205 I215 Group #, lock on cam profile table number G#_RUN_CAM_ID I146 I156 I166 I176 I186 I196 I206 I216 Group #, 1:1 cam profile table number G#_LOCKOFF_CAM I147 I157 I167 I177 I187 I197 I207 I217 Group #, lock off cam profile table number G#_USER_CAM I148 I158 I168 I178 I188 I198 I208 I218 Group #, user cam profile table number (state machine disabled) * Forcing is reinitializing an ELS Group in Phase 4 when local mode is active (G#_ST_LOCAL) and the ELS Group Master is at standstill (G#_ST_MOTION is 0). Table 6-15: ELS Group 1-8 Default Program Variables (part 2 of 2) Phase 4 Phase 4 Phase 4 & Forcing* Phase 4 Phase 4 & Forcing* Phase 4 & Forcing* Phase 4 & Forcing* Phase 4

138 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-17 ELS Group Configuration Word For every ELS Group, an ELS Group configuration word (G#_CONFIG) is used to configure all settings for Switching Synchronization, Phase Control and Initialization. These settings are initially configured within VisualMotion Toolkit's ELS Group icon and become active when the project is compiled and downloaded to the control. These settings can also be modified by accessing the appropriate integer number and entering an equivalent hexadecimal value. ELS Group Configuration Word Bit Description unused Sync. to ELS Group master Enable CAM profiling Synchronization Type Phase correction type ELS Group master position initialization at Phase 2 Group master position evaluation with forcing Master phase adjust type Slave phase adjust type Advanced Master Switching Options Enable Master 1 Switching Triggers Enable Master 2 Switching Triggers Master 2 Switching Type Master 2 Phase Correction Type Fig. 6-4: ELS Group Configuration Word Description Bit 2: Sync. to ELS Group Master When the control is switched to manual mode, all ELS Groups are switched to local mode. In local mode, each ELS Group can be jogged independently. When switching back to automatic mode, the user can configure bit 2 using the following two options: 0 = Automatically switch back to the ELS Group master and perform a dynamic synchronization if necessary, see bits 5, 6 and 7 (default) 1 = Groups will stay in local mode and must be switched manually (Updated in Phase 2) Bit 4: Enable CAM Profiling This bit enables the lock on / lock off CAM profile state. For user CAM profiles to function, disable this feature. 0 = state machine enabled (default) 1 = state machine disabled (Updated in Phase 2)

139 6-18 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Modifications to the variable G#_H_USER can only be performed when the state machine is disabled. While disabled, the user can select a CAM profile for the ELS Group and modify the G#_H_USER factor. When enabled, the state machine uses as an H factor the values of G#_H_LOCKON, G#_H_LOCKOFF and G#_H_RUN. The G#_H_USER variable displays the current H factor being used for the lock on and lock off cam profiles. Bit 5: Synchronization Type This bit is used to specify the type of synchronization that will be used when switching between ELS Group input masters 1 and 2 or only Group master 1 in Advanced Mode (see bit 22 for master 2).. 0 = Dynamic synchronization (default) 1 = Immediate (On the Fly when switching to an unused Virtual Master) (Updated in Phase 4) When bit 5 is set to 1 and an ELS Group's input master is switched to an unused Virtual Master, this Virtual Master will adapt "On the Fly" to the current ELS Group master's position and velocity. Bit 6-7: Phase Correction Type These bits determine method of phase correction during Dynamic Synchronization between group input masters 1 and 2 or for group input master 1 only in Advanced Mode (see bits 23, 24 for group 2). Bit 6 Bit 7 Description 0 0 Shortest path (default) 1 0 Positive direction if phase difference is greater than "G#_LOCK_WIN". Otherwise, use shortest path. 0 1 Negative direction if phase difference is greater than "G#_LOCK_WIN". Otherwise, use shortest path. 1 1 No phase correction (only velocity synchronization is performed) (Updated in Phase 4) Bit 8: ELS Group Master Position Initialization at Phase 2 This bit is used to reinitialize an ELS Groups output master position when the system is switched to Phase 2 (parameter mode) or powered down. When an ELS Group's M/N or H factor has a value other than 1; for example 0.9, and the ELS Group has been moved, then the group's output master position cannot be calculated using the CAM equation. The reason for this is as follows: The control monitors and internally stores the ELS Group's current output position. For example, if after two revolutions of the input master (as illustrated in Fig. 6-5), the system is switched to Phase 2 or loses power; the ELS Group's output master position is stored. The user has the option to restart the ELS Group, to an initial position, by setting bit 8 to 0. This will recalculate the ELS Group's output master position using the CAM equation. Setting bit 8 to 1 allows the ELS Group's output master position to start from the stored position (old values) and continue; using the CAM equation, for consecutive revolutions of the ELS Group's input master.

140 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-19 [(input master * M/N) + master offset]h + slave offset = Group output Group output position with a 0.9 M/N and no offsets [(0 * 0.9) + 0 ] * ;initial position at start [(0 * 0.9) + 0 ] * ;after one revolution [(0 * 0.9) + 0 ] * ;after second revolution Fig. 6-5: CAM Equation Example 0 = Initialization with calculated value using the cam equation (default) 1 = Use old values (Updated in Phase 2 & Forcing) Bit 9: Group Master Position Evaluation with Forcing Bit 11: Master Phase Adjust Type Bit 12: Slave Phase Adjust Type This bit is used to initialize an ELS Group's output position when switched to local mode (G#_CT_LOCAL). 0 = Group master positions will be calculated using cam equation (default) 1 = Use old values (Updated in Phase 2 & Forcing) When forcing states 0 or 1 with this bit reset, G#_ LOCKON_OFFSET is added to the group master output position. If this bit is set, G#_ LOCKON_OFFSET is not used. This bit sets the motion profile type for the active master. 0 = Trapezoidal profile using a velocity profile with dynamic synchronization acceleration/deceleration and additive velocity (default) 1 = Immediate step function (Updated in Phase 4) This bit sets the motion profile type for the all slave axis associated with the ELS Group. 0 = Trapezoidal profile using a velocity profile with dynamic synchronization acceleration/deceleration and additive velocity (default) 1 = Immediate step function (Updated in Phase 4) Bits 17: Advanced Master Switching Options 0 = Disabled Enables ELS Group Master Switching functionality in VisualMotion 8 1 = Enabled Enables Enhanced ELS Group Master Switching Bits 18-19: These bits specify a condition that must be met before the process of switching to group master 1 is triggered. Bit 18 Bit 19 Switching Trigger 0 0 Instantaneous (default) Description Master switching is triggered as soon as the G#_CT_MSTR_SEL group control bit is changed.

141 6-20 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Bit 18 Bit 19 Switching Trigger Description 1 0 Master 1 Position Master switching is triggered when Group Master 1 passes (moving in the positive direction) the position defined in float variable G#_MSTR1_TRIGPOS 0 1 Master 2 Position Master switching is triggered when Group Master 2 passes (moving in the positive direction) the position defined in float variable G#_MSTR2_REIGPOS 1 1 Optimal Dynamic Switching: switching is triggered when the group s constant acceleration ramp (using G#SYNC_ACC) will result in the group synchronizing to the target master s position and velocity nearly simultaneously Immediate switching: switching is triggered when the groups master s positions coincide Bits Bit 22 Bits These bits specify a condition that must be met before the process of switching to group master 2 is triggered. The bit format is the same as for bits This bit indicates the type of ELS group master synchronization used when switching to group master 2. This requires the Master Switching Option bit to be set. 0 = Dynamic synchronization 1 = Immediate synchronization This bit indicates the options for phase correction during dynamic synchronization when switching to group master 2. This requires the Master Switching Option bit to be set. The bit format is the same as bits 6 and Virtual Master A Virtual Master is an internal motion profiler that drives geared or cammed axes in a machine. A set of control and status parameters and registers command the axis to run at a set speed, stop at a position, or make a profiled move. The command stream is based on units of degrees and has a range between 0 and 360 degrees; with the module (rollover period) fixed at 360 degrees. This output format (0 and 360) forms the basis for the entire ELS system, where a machine/product cycle is defined as a single revolution. For example, a system commanded by a Virtual Master running at 300 RPM produces 300 products per minute. A Virtual Master is controlled by a VisualMotion project and/or a PLC using I/O registers and project variables. The initialization of these registers and project variables is defined in the Virtual Master icon. GPP supports a maximum of 2 Virtual Masters. The Virtual Master 1 & 2 Setup window contains fields for designating the control and status register numbers and associated floats and integers. The window opens with default values that are part of VisualMotion. Registers 150 to 159 are associated with ELS functionality. To define Virtual Masters in a project, open the Initialization task pallet, select the Virtual Master Setup Icon, and place it in the project workspace. Even though the Virtual Master is defined in the Initialization task, it is always tied to the status/diagnostic state of the task A, a fatal error in this task will cause the Virtual master to stop. Conversely the Virtual Master can be controlled from anywhere in the runtime program

142 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-21 Assigning Initial Values and/or outside the system from a PLC using the defined control registers and parameter variables. Virtual Master 1 or 2 signals can not be used directly, they must first be defined as one of the six system masters, then used to drive a group master input, PLS or Rotary event. The Assign Initial Values button in the Virtual Master 1 & 2 Setup window opens a window where the initial and maximum values for operating and positioning the Virtual Master can be set, see Fig vm_init_values.tif Fig. 6-6: Virtual Master Compile Time Initialization Initial and Maximum Values The initial and maximum values set for each Virtual Master in the Compile Time Initialization window are embedded in the icon. During program compiling, the values are stored as project variables. The default values assigned to the default labels are typical values hard coded in the icon. These values should be changed according to the type of motion you want to generate, but if the values cause the limits of the motor and drive to be exceeded, a fault will occur. Note: These values in the setup dialog are a one time initialization during the download process and can later be changed using the online tools or in the runtime program. Changes made online will not be reflected in the offline project and overwritten the next compile/download. You must edit the fields in the icon if you want to make a permanent change. Velocity The Initial Velocity value defines a constant velocity that the Virtual Master will accelerate towards when set in motion. The Maximum Velocity value defines the maximum velocity that can be achieved by the Virtual Master during runtime.

143 6-22 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Note: The Virtual Master moves in a clockwise (positive) direction when a non-negative velocity value is used. A negative velocity value causes the Virtual Master to move in a counter clockwise (negative) direction. The velocity the drive (axes) can obtain following a Virtual Master is limited by the drive's Bipolar Velocity Limit. The following conditions also affect the drive velocity: If the Virtual Master's maximum velocity is less than the drive's Bipolar Velocity Limit Value (S ), the drive is limited by the Virtual Master. If the Virtual Master's maximum velocity is greater than the drive's Bipolar Velocity Limit Value (S ), the drive will fault when S is exceeded. Acceleration Deceleration E-Stop Deceleration Home The Initial Acceleration value defines a constant acceleration that the Virtual Master will use to achieve a desired velocity. The Maximum Acceleration value defines the maximum acceleration that can be achieved by the Virtual Master during runtime. The Initial Deceleration value defines a constant deceleration that the Virtual Master will use to decelerate the velocity. The Maximum Deceleration value defines the maximum deceleration that can be achieved by the Virtual Master during runtime. This value specifies the emergency stop deceleration for each Virtual Master. Positioning Positioning values are embedded in the icons and are stored as project variables when the project is compiled. The Virtual Master starts a ramped homing move to the home position when a low-to-high transition is seen in the Virtual Master control register bit: Control Register Bit State Bit 2 (VM#_CT_HOME) 0 1 This value is written to project variable VM#_HOME_POS within 1 SERCOS cycle when the project is compiled. The move is executed using shortest-path positioning and its ramp is defined by the Virtual Masters Maximum Velocity (VM#_MAX_VEL), Maximum Acceleration (VM#_MAX_ACC), and Maximum Deceleration (VM#_MAX_DEC) values. The bit transition will be ignored if the VM#_CT_GO bit is high or if the Virtual Master is actively being used by an ELS Group. If these conditions exist, the VM#_CT_HOME bit will stay low to indicate that the homing request has been ignored. Otherwise, the virtual master s home status bit will be raised after the virtual master has been set to the home position to indicate the operation is complete. Stop This is the programmed stop position the Virtual Master moves to when the control is switched from velocity mode to absolute positioning mode. This field contains the initial value that is written to project variable VM#_STOP_POS when the project is compiled. The state of the following bits determine the mode of operation:

144 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-23 Control Register Bit Velocity Mode Absolute Position Mode Bit 3 (VM#_CT_GO) 1 1 Bit 4 (VM#_CT_VMODE) 0 1 (velocity mode) 1 0 (moves to stop position) Once Velocity Mode is turned off (Bit 4 = 0), the value in VM#_STOP_POS is written to the project variable VM#_CMD_ABS_POS and the Virtual Master moves to the ABS_POS. The control is now operating in absolute positioning mode. Relative Move Distance The Virtual Master moves in increments of this value when the Virtual Master's control register bits are set as follows: Control Register Bit State Bit 3 (VM#_CT_GO) 1 Bit 5 (VM#_CT_RELMODE) 1 Bit 6 (VM#_CT_RELTRIG) 0 1 (will move with every transition) This value is written to project variable VM#_REL_MOVE_DIST when the project is compiled. Absolute Move Position Positioning values are embedded in the icons and are stored as project variables when the project is compiled. This value is written to project variable VM#_CMD_ABS_POS. The state of the following bits set the mode of operation to absolute position. Control Register Bit State Bit 3 (VM#_CT_GO) 0 1 Bit 4 (VM#_CT_VMODE) 0 When bit 3 is set to 1, the Virtual Master moves to the value in project variable VM#_CMD_ABS_POS. Any change to this value, while in absolute position mode, will cause the Virtual Master to move to the new position. If the Virtual Master's mode of operation is switched from velocity to absolute position, the value in VM#_CMD_ABS_POS is replaced with the value in project variable VM#_STOP_POS. Only positive values can be used for an absolute position move Absolute Move Mode Max. phase difference allowed for shortest path correction This selection determines the direction that the Virtual Master will use when moving to the Absolute Move Position variable. This value is written to project variable VM#_POS_MODE when the project is compiled. The following choices are as follows: Positive (0 in VM#_POS_MODE) Negative (1 in VM#_POS_MODE) Shortest Path (2 in VM#_POS_MODE) This value (0-180 ) is used to create a "shortest path" positioning window for the Virtual Master's positive and negative move mode. When the Absolute Move Mode is set to positive or negative, the Virtual Master will move in the specified direction unless the new target position is inside the positioning window. If so, then shortest path will be used. Once the Virtual Master has moved to a new absolute position, a new positioning window is created around the new position. This feature is not available when the Absolute Move Mode is set to Shortest Path. Fig. 6-7 illustrates the function of this value.

145 6-24 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Positioning Window Defined 270 Shortest Path 270 shaded area denotes positioning window Target position for VM#_CMD_ABS_POS 180 q q Current value of VM#_CMD_ABS_POS q = value of VM#_POS_WIN 180 q q shortest path will be used q = value of VM#_POS_WIN 90 Positive or Negative Path 270 Target position for VM#_CMD_ABS_POS 90 If the target position is inside the positioning window, the shortest path will be used regardless if the setting in the absolute move mode variable VM#_POS_MODE is positive or negative. 180 Path taken when VM#_POS_MODE is set to positive q q Path taken when VM#_POS_MODE is set to negative q = value of VM#_POS_WIN 90 If the target position is outside the positioning window, the setting in the absoulte move mode variable VM#_POS_MODE will be used. Fig. 6-7: Maximum Phase Difference phase_difference.eps Jerk Limiting This allows you to limit the jerk of a motion, such as vibration caused by acceleration or deceleration. Virtual Master Modes of Operation The Virtual Master can operate in two modes, velocity or position mode. The mode is determined by the settings selected in Virtual Master Compile Time Initialization window. By default, the Virtual Master is set in velocity mode with values in the Initial and Maximum fields for velocity. Position mode requires values in the Positioning field of the window. In addition, by selecting the VM1_CT_RELMODE bit, the Virtual Master will switch to relative mode. Velocity Mode In Velocity mode, the Virtual Master moves at its commanded velocity. The rate of change in the commanded velocity (VM#_CMD_VEL) is performed using the defined acceleration/deceleration (VM#_CMD_ACCEL, DECEL) rate. In this mode, the Virtual Master can be either stopped with immediate deceleration or stopped at a designated position between 0 and 360 degrees. Stopping the master at a designated position may take several revolutions (stop ramp) depending on the current velocity and programmed deceleration. When a master is in velocity mode, an integrator is engaged, providing positional output so that all masters have a uniform signal type (position value with modulo of 360 degrees.) Position Mode In Position mode, the Virtual Master moves to a programmed relative or absolute position. With relative positioning, travel distances can be

146 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) Real Master greater than the modulo value for relative positioning moves of the Virtual Master. For absolute positioning, the maximum travel distance is +/- 180 degrees (shortest path) or degrees (positive or negative direction) with absolute positioning. A Real Master is an external position signal that is brought into the control through the System Master icon. GPP supports a maximum of 6 real masters. Because PPC hardware has no provisions for accepting a feedback signal, all signals are input through the optional encoder input port on the servo drive and sent over the SERCOS ring to the control. After properly configuring the optional encoder parameters in the drive and setting up the System Master icon, there will be a signal ready to be used. The command stream is based on units of degrees and has a range between 0 and 360 degrees with the module (rollover) fixed at 360 degrees. This output format (0 to 360 degrees) is the basis for the ELS system position where a machine/product cycle is defined as a single revolution. For example, a system following a real master running at 300 RPM produces 300 products per minute. To define a Real Master in the project, go to the Initialization task and locate the ELS System Master Setup icon in the pallet and place it in the project workspace. Select the master type and fill out the configuration parameters described below. Setup_ELS_Mstr.tif Fig. 6-8: Setup ELS System Master: Real Master Coupling (float) Encoder This field contains the edit boxes for the gear ratio. A gear ratio is only applicable to real master signals. In this field, you can select primary or secondary encoder and single or multi turn encoder type: Primary encoder This is the motor feedback encoder (X4 ECODrive 03) Secondary encoder this is the extra encoder input at the drive (X8 ECODrive 03)

147 6-26 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Filter Type Cutoff Frequency (float) Velocity Dead Time Compensation Multi turn checkbox this option can be selected if the feedback is a multiturn absolute device and you want the system to track its absolute position. To reset (home) the current reference value, set the System Master, control register, ELS_M_CT_SET_REF# input bit to 1. This causes the respective system master to instantly move to the position stored in the ELS_MSTR_REF_POS# parameter. To assure the system comprehends the absolute position, monitor the status bit ELS_M_ST_REF#. This bit is cleared every time the parameters controlling the system master are changed or, in the case of an incremental encoder, when the system goes from phase 2 to phase 4. For a real master signal, you can apply several types of filters to dampen noise in the signal. These filters include: Low-pass (1 st, 2 nd, or 3 rd ) Butterworth (2 nd or 3 rd ) LP(2 nd )+vel ramp LP(3 rd )+accel ramp If a filter type is selected, the frequency cutoff field is active. When setting the frequency cutoff, the lower the cutoff frequency value, the earlier the filter dampens the frequency. Dead time compensation can be activated or disabled for the cut off frequency by selecting this checkbox in the Setup ELS System Master 1 window. This feature provides the option to apply 4 SERCOS cycles of velocity feed forward phase advance to the ELS Master, when activated, to compensate for delays in control processing. Dead Time Compensation only compensates for the phase lag created by the 4 cycles of ELS processing/sercos delays, not for additional dead time caused by the various Real Master filters. Positioning a Secondary Encoder Signal A secondary encoder signal can be used as a master axis position. Within the drive, the offset position feedback value 3 (drive parameter P ) is applied to the secondary encoder value (refer to illustration in Fig. 6-9). A gear ratio of only integer values, stored as floats ELS_MSTR_M1 6 and ELS_MSTR_N1 6, is applied to the position feedback if required, for example, using a gear ratio to offset the mechanical gear setting. A reference position for the position feedback value 3 is set in the float variable ELS_MSTR_REF_POSx (where x is the ELS Master number from 1 to 6). To send the reference position to feedback value 3: 1. Place the ELS Group axis (following the secondary encoder feedback signal) in local mode. 2. Toggle the ELS_M_CT_SET_REFx (where x is a number from 1 to 6) bit of the ELS_MSTR_CONTROL register. 3. Verify the homing sequence with the ELS_M_ST_REFx (where x is a number from 1 to 6) bit of the ELS_MSTR_STATUS register. An offset is calculated from the comparison of the current feedback position and homing position and is stored in the ELS_MSTR_OFFSETx variable (where x is a number from 1 to 6). The offset is referenced later when the master axis position is set. A filter is added to the feedback position (filter type selected in the Setup ELS System Master window, Fig. 6-8) to smooth the signal. The ELS Master position is stored in the ELS_MSTR_REF_POSx variable (where x is a number between 1 to 6).

148 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-27 Offset Position Feedback Value 3 P Offset ELS_MSTR_OFFSETx Secondary Encoder Value Drive Position Feedback Value 3 P M/N Gear ELS_MSTR_Mx/E LS_MSTR_Nx Filter ELS Master Position ELS_MSTR_POSx Set Absolute Position ELS_M_CT_SET_REFx (bit 7 12 of ELS Control register) ELS_M_ST_REFx (bit 7 12 of ELS Status register) Home Position ELS_MSTR_REF_POSx Fig. 6-9: Illustration of Positioning the Real Master Axis 6.5 ELS System Master Master Type Coupling Ratio (M/N) The ELS System Master is a position signal router and conditioner. For signals used in the ELS system, it must be brought into the control through this device. The ELS System Master Assignment icon allows up to six masters to be defined. To reference the signal in the system, each master is given an index from 1 to 6. For example, Virtual Master 1 is assigned to the master 1 position in the ELS System Master Connection Box. Refer to Fig. 6-1: Multiple Master Configuration Example for an illustration of the ELS Master connection box. Support signal types include: Virtual Masters, Real Masters (incremental, single-turn and multi-turn absolute encoders, resolver, linear scale, primary motor feedback), Link Ring Masters (optional peer-to-peer control link), and Group outputs. The position output is always based on units of degrees and has a range between 0 and 360 degrees with the module (rollover) fixed at 360 degrees. Although you have the ability to select many different signal sources, some may not be compatible with the master source. For example, if a drive s primary position signal is set to linear mode with a current position of 1000mm input into the system master using a 1:1 coupling ratio, it would output 280 degrees (1000 mod 360), which could be invalid. The following are rules for signal selection and configuration: Virtual Masters, Real Masters, Link Ring Masters, and Group outputs have different properties and require specific parameters. The following table contains the parameters relevant for each master type: Filter Dead Time Comp. Master Offset Reference Position Virtual Master 1:1 (fixed) No No No No Yes Real Master using Secondary Feedback Real Master using Primary Feedback Yes (as integers) Yes (as floats) Yes Yes Yes Yes Yes Yes Yes No No Yes Link Ring 1:1 (fixed) No No No No Yes Group output 1:1 (fixed) No No No No Yes Table 6-16: Master Parameters Master Pos/Vel

149 6-28 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual The ELS Setup and Runtime windows display only applicable parameters. To use the primary motor feedback as a master source signal, the drive must be set to modulo operation (not absolute) and the modulo value (S ) must be set to 360 degrees. To define the System Masters in the project go to the Initialization task pallet in VisualMotion and select the ELS System Master Setup icon and place it in the project workspace. Masters are assigned by double-clicking a Master number in the ELS System Master Assignment window. This opens the Setup ELS System Master 1 window where the master type and number are set, see Fig Fig. 6-10: ELS Master Assignment els_master_assign.tif Variable Assignment Velocity Rounding Default variable and register numbers are displayed in the ELS System Master Assignment window when it is opened. The settings can be changed to any non-restricted system registers. The variable labels can also be assigned with the default labels and numbers by accepting all default settings. Velocity Rounding sets the Virtual Master and Group jogging velocities down to the nearest ELS increment to eliminate cycle-to-cycle variations in drive velocity. This results in the velocities being slightly less than their commanded values. This feature can be enabled and disabled in bit 30 (ELS_MSTR_CONFIG) of the ELS Group Configuration Word. 6.6 ELS Group Master Cascading ELS Groups An ELS Group signal is the output signal from an ELS Group which is used by another ELS Group. An ELS Group can output a signal to an ELS Group slave axis, to another ELS Group, or to both. The signal that is output to another ELS Group is assigned a number in the ELS System Master Connection box as an ELS Group Master. When assigning the ELS Group Master signals, the concept referred to as cascading is applied to group assignment. A maximum of 6 ELS Group Masters can be cascaded to other ELS Groups. When cascading ELS Groups, the lower numbered group s output should become the higher numbered group s input. An ELS Group Master s output cannot be fed back into the same ELS Group s input. If a group number is inputted into a lower group number, then there will be a

150 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-29 position delay of one SERCOS cycle. This delay is due to the fact that the group outputs are processed in numerical sequence and data from the last cycle is used before it can be updated. Depending on the application, this lag may be acceptable. Note: All motion is associated with task A. Any motion associated with ELS Groups within the VisualMotion project will stop if task A stops. Cascading to ELS Groups VM1 VM ELS Master Connection Box ELS Group 1 ELS Group 5 ELS Group 2 ELS Group 6 ELS Group 7 ELS Group 3 ELS Group 8 ELS Group Link Ring Master Fig. 6-11: Cascading an ELS Group Master Output GPP supports a maximum of 6 ELS Group Masters, which are configured through the ELS System Master icon. To configure, assign the ELS master type and the ELS Group Master number (the number indicating which ELS Group Master it is, not its number designation in the ELS Master Connection Box). A Link Ring Master is an external position signal sent over a fiber optic ring and received by the control using the DAQ option card. The fiber optic ring can interface with up to 32 controls. GPP will support a maximum of 5 Link Ring Master signals received from other controls in the system and export a maximum of one master signal to the Link Ring for use by other controls. The position signals are based on units of degrees and have a range between 0 and 360 degrees with the module (rollover) fixed at 360 degrees. For more information about Link Ring functionality, refer to the VisualMotion 9 Functional Description manual. The following items are factors when using a Link Ring Master: The minimum system SERCOS cycle time is forced to 8 ms and all motion is processed at this rate. The I/O Mapper still runs at the 2/4 ms setting, but SERCOS based I/O are delayed accordingly.

151 6-30 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual If all controls are to be synchronized to the same master signal, the control that generates the signal must also receive that same signal and use it for commanding its axes. If the axes directly follow the source signal, they will be two cycles (16 ms) ahead of the other controls. If you are using a Real Master encoder physically connected to the machine and using Link Ring, there will be two cycles (16 ms) of delay between the actual position and the Link Ring Master position. Depending on the application, this lag may not be acceptable. Link Ring Masters are defined in a project through the ELS System Master Assignment window. 6.8 Slip Monitoring for ELS System Masters Slip monitoring is a feature in VisualMotion that can detect if a encoder is operating properly by comparing its signal with a second encoder signal. In comparing the two signals, slip monitoring can determine the extent of deviation and if the deviation exceeds the maximum allowable range set in VisualMotion. The system response to a deviation outside of the range is also determined by settings in VisualMotion. The slip monitoring feature can be used with any type of master signal, an internal signal or a signal from an external encoder. A difference in gear ratio between the two signals will cause the primary signal to continually deviate beyond the range limits over time. If a gear reduction exists between the two encoders, the ELS_MSTR_Mx and ELS_MSTR_Nx variables must be set to compensate for the mechanical gear ratio difference. The slip monitoring feature is initially setup through the System Master Assignment window, which is displayed when placing an ELS Master Assignment icon in the VisualMotion programming workspace. After initial setup of the feature, slip monitoring can be modified through its designated program variables. To initially setup slip monitoring, click the Slip Monitor Setup button in the System Master Assignment window, see Fig. 6-10, to open the Slip Monitor Setup window, see Fig

152 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-31 Slip_Monitor_Setup.tif Masters Select Master Position Offset Maximum Allowed Deviation Window Error Reaction Fig. 6-12: Slip Monitor Setup Window The Primary and Secondary master numbers correspond to the master number assignments in the ELS System Master Assignment window. The numbers selected here correspond to the addresses that are set in the default variables ELS_MSTR_SLIP_PRI, for the primary number, and ELS_MSTR_SLIP_SEC, for the secondary number. An offset can be applied after the initial slip monitoring calculation of the difference between signals. The offset value is stored in the ELS_MSTR_SLIP_OFFSET default label. There are two methods for applying to offset: Dynamically Reset phase offset on system phase up The system records the position difference between the two masters on entering phase 4 and updates the ELS_M_ CT_SLIP_CAPT1 bit. Fixed Offset you select a fixed value between 180 and 180 degrees for the offset, which is stored in the ELS_MSTR_SLIP_OFFSET variable. Changes to the fixed offset value are updated when the PPC is placed in parameter mode. The value entered in this field represents the range between the minimum and maximum limits for the position difference of signals and it is assigned the ELS_MSTR_SLIP_OFFSET default label. This value is updated in Parameter mode. If the maximum allowed deviation value is exceeded, one of the following responses can be set: Fatal error This response will result in a system shutdown. Shutdown Message #552 Excessive Master Position Slip Deviation is issued.

153 6-32 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Primary Master Velocity Secondary Master Velocity Warning This response results in Warning Message #221 Excessive Master Position Slip Deviation being issued. This option allows you to configure a response, such as switching to the lead encoder signal. In the Velocity threshold for primary master field, the value entered is the velocity that the primary master encoder must exceed before the system can detect the direction of the primary encoder. This value is referenced by the default variable label ELS_MSTR_SLIP_VELTHD. This value is also used to detect the lead when a deviation error occurs. The lead encoder bit (ELS_M_ST_SLIP_ENC of the ELS Master Configuration Word (see ELS Master Configuration Word, 6-9) is set by the control based on which master encoder is assumed to be leading at the time of the error, according to Table Monitoring Cycle Deviation Error*** (ELS_MSTR_SLIP_ACTUAL) Lead Encoder Status Bit (ELS_MSTR_STATUS Reg, Bit 15) Positive N/A Any Positive 0 = Primary Master is Lead Positive N/A Any Negative 1 = Secondary Master is Lead Negative N/A Any Negative 0 = Primary Master is Lead Negative N/A Any Positive 1 = Secondary Master is Lead None (0)* N/A First** Positive or Negative 0 = Primary Master is Lead None (0)* None (0)* Any Positive or Negative 0 = Primary Master is Lead None (0)* Positive or Negative Not First Positive or Negative 1 = Secondary Master is Lead * A velocity of None (0) means that the specified slip master s velocity is not exceeding the Slip Masters Standstill Velocity Threshold (ELS_MSTR_SLIP_ VELTHD) value. ** First Monitoring Cycle refers to the first active Slip Monitoring cycle after: Entering SERCOS phase 4 with the Slip Monitoring Enable Control bit already set high. Bringing the Slip Monitoring Enable Control bit high (rising edge) while in SERCOS phase 4. Bringing the Slip Monitoring Capture Control bit high (rising edge), with the Enable bit already set high, while in SERCOS phase 4. *** Deviation Error refers to a Current Slip Deviation (ELS_MSTR_SLIP_ACTUAL) value that exceeds the Maximum Allowed Deviation Window (ELS_MSTR_SLIP_WINDOW) value. Table 6-17: System Logic for Determining Lead Encoder Warning: If a non-zero master position offset is used in a project, with automatic master switching based on the lead encoder status bit when the maximum allowed deviation is exceeded, the system position may shift by an amount close to that of the master position offset. The result could be a significant shift in position when the lead encoder status bit changes. The slip monitoring feature captures the primary and secondary master signals every SERCOS cycle update and compares the two values to determine the difference in the signals, see Fig An offset can be applied to the difference of the two signals if necessary. The resulting deviation value is measured to determine if it is within the limits of the maximum allowed deviation window.

154 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-33 Primary Master Signal Slip Monitoring Secondary Master Signal + _ difference between signals _ Deviation Fixed offset (ELS_MSTR_SLIP_OFFSET) Slip Monitoring Variables Fig. 6-13: Illustration of Slip Monitoring Feature Applied to Master Signals Default variables assigned for the slip monitoring features are listed in Table The Data Object column indicates the float or integer number of the label. Update mode indicates which phase of the project update cycle the label value is updated in the control. Some values, such as the dynamic reset phase offset value and maximum allowed deviation window value, are not updated until the project transitions from phase 2 to phase 4. Default Label Data Object Comment Update Mode ELS_MSTR_SLIP_WINDOW F158 Maximum Allowed Deviation Phase 2 Window ELS_MSTR_SLIP_OFFSET F159 Maximum Position Offset Fixed offset - Phase 2 Dynamic reset offset - Captured on rising edge of capture bit in Phase 4 ELS_MSTR_SLIPVELTHD F160 Primary Master Velocity Threshold Phase 2 ELS_MSTR_SLIP_PEAK F161 Peak Slip Deviation Phase 4 ELS_MSTR_SLIP_ACTUAL F162 Current Slip Deviation (actual) Phase 4 ELS_MSTR_SLIP_PRI I134 Primary Master Signal Address Phase 2 ELS_MSTR_SLIP_SEC I135 Secondary Master Signal Address Table 6-18: ELS Slip Monitoring Feature Variables Using Register Bits to Adjust Slip Monitoring Feature Phase 2 The Bits used to enable, monitor and activate the slip monitoring feature are listed with their associated labels and registers in Table Default Label ELS Master 1 to 6 Data Object ELS Master Comment (80 character limit) Register-Bit ELS_M_CT_SLIP_CAPT ElS Master Capture Slip Monitoring 0 = No capture 1 = Capture Run-Time Data

155 6-34 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Default Label ELS Master 1 to 6 Data Object ELS Master Register-Bit Comment (80 character limit) ELS_M_CT_SLIP_EN ELS Master Enable Slip Monitoring 0 = Off 1 = On ELS_M_ST_SLIP_ERR ELS Master Slip Monitoring Error 0 = No error 1 = Error ELS_M_ST_SLIP_ENC ELS Master Slip Monitoring Lead Encoder 0 = Primary 1 = Secondary ELS_M_ST_SLIP_ENA ELS Master Slip Monitoring Enabled 0 = Off 1 = On 6.9 ELS Group Table 6-19: ELS Slip Monitor Feature Default Register Bits The slip monitoring feature is enabled with the ELS_M_CT_SLIP_EN bit. Slip monitoring is monitored by the ELS_M_ST_SLIP_ENA, ELS_M_ST_SLIP_ERR, and ELS_M_ST_SLIP_ENC bits. The ELS_M_ST_SLIP_ENA bit indicates that slip monitoring has been enabled. The ELS_M_ST_SLIP_ERR bit indicates an excessive master position slip deviation error is active. To clear the error: 1. Bring the masters back in to alignment by physically moving the masters if a fixed master position offset is being used or by toggling the ELS_M_CT_SLIP_CAPT1 bit if dynamic reset phase offset is being used. 2. Clear the error by toggling the ELS_M_CT_SLIP_EN bit or by toggling bit 5, CLEAR_ALL_ERRORS, of the control register. The ELS_M_ST_SLIP_ENC monitors the encoder signals and determines the lead signal, which it indicates by displaying a 0 for primary or 1 for secondary. The ELS_M_CT_SLIP_CAPT1 bit, with dynamic reset of phase offset selected, captures the slip offset of the master positions. An ELS Group is a container that allows you to sectionalize a machine or process by grouping axes working in unison to follow a master command signal. The ELS Group Assignment icon allows up to eight groups to be defined. To reference groups in the system, they are given an index from 1 to 8. Each is assigned a set of control and status parameters and registers for configuring and controlling its functionality. Basic functions include; selecting a master signal to follow or internal profile, dynamically synchronizing to a master signal, utilizing a cam profile, applying phase offsets, and activating lock on/off function and jogging. The output units are degrees with a range between 0 and 360 degrees and the module (rollover period) fixed at 360 degrees. When using an ELS Group to control an axis, the following consideration should be noted: An axis can only be assigned to a single group. The system detects multiple assingments during the compile process and flags the errors. By default, an axis can be positioned independently of the group for setup or other requirements using Single axis positioning or Velocity mode. Every time the system phases up (phase 2 to phase 4), each axis in the group defaults to a secondary mode of operation (single axis positioning or velocity mode). You must use the ELS Mode Change icon in the program to command the axis to follow the group master position.

156 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-35 An ELS Group s output provides a master position to its assigned ELS Slave axes. ELS Slave axes can only be assigned to an ELS Group at compile time. The ELS Group Master s output position is derived from the currently active group master input. The ELS Group s output signal can be modified using the following features: M/N gear ratio GMP (Group Master phase offset) CAM Profile with/without a Lock On/Lock Off feature using a 3 CAM profile GSP (Group Master phase offset) An ELS Group can only have one active master at any given time determined by the group s control register input bit (G#_CT_MSTR_SEL.) To stop or move a group s master, independent from the two input masters, every ELS Group has it s own stop ramp and jog engine. To activate the group internal stop ramp, the group has to be switched into local mode (G#_CT_LOCAL.) When the VisualMotion project s task A is in manual mode, the groups are also switched into local mode. In local mode, after completion of the stop ramp, the group can be jogged with the group jog engine. Stop and Jog Control: stop ramp (for stopping the group master) jog engine for group master (velocity mode and positioning) Dynamic phase adjust for group master and slave offset: relative group master phase offset (GMP) relative group slave phase offset ( GSP ) M / N M/N H X X Y Switching Synchronization: dynamic synchronization (with / without phase adjust) immediate (on the fly for an unused Virtual Master) Fig. 6-14: Electronic Line Shafting Group The ELS Group s active master input signal X is a condition of the equation in Fig. 6-15: [ M N X + GMP] GSP Y = H CAM / + Fig. 6-15: ELS Group Output Equation

157 6-36 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Where CAM[ ] is a control cam profile table or index cam profile, M and N is the current master input/output ratio, H is a cam profile scale factor and GMP and GSP are group master and slave relative phase adjusts. The signal Y drives the group s slave axes (group master position). Note: When CAM Lock/Unlock is selected, modifications to the M/N ratio or phases P1 and P2, while the program is in phase 4, will not take affect until a transition from phase 2 to phase 4 is made. When CAM Profile is selected, modifications to the M/N ratio or phases P1 or P2, while the program is in phase 4, will take effect immediately. ELS Group Slave Configuration ELS Group Slave (ELS drive)axes are assigned to an ELS Group by clicking on the Add button in the ELS Group Setup window. A maximum of 32 ELS Group Slave axes (application dependent) can be assigned to an ELS Group. All slave axes must be assigned to an ELS Group at compile time. Fig. 6-16: ELS Axis Configuration Stop and Jog Variables, Compile Time Setup els_axis_config.tif When an ELS Group is first configured, using the ELS Group icon, default values are supplied for: Stop Ramp deceleration Jog Controls for continuous, relative or absolute moves These values are then saved, compiled and downloaded to the control. However, you can make modifications to any of the values for stop and jogging control using the ELS Runtime Utility.

158 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-37 stop_and_jog.tif Fig. 6-17: ELS Stop and Jog Variables Jogging an ELS Group in Local Mode Before an ELS Group can be jogged, the group must first be switched to local mode by toggling the G#_CT_LOCAL bit. The relative bits for jog controls are shaded within the ELS Group s control register table below. Bit # Bit Label Comment 1 G#_CT_LOCK_OFF 0=lock, 1=starts unlock 2 G#_CT_M_REL_PH 0->1 triggers master relative phase adjust 3 G#_CT_S_REL_PH 0->1 triggers slave relative phase adjust 4 G#_CT_MSTR_SEL 0=master 1, 1=master 2 5 G#_CT_VAR_CLK 0->1 forcing 6 G#_CT_LOCAL 0->1 switch to local mode (stop ramp / jogging), 1->0 switch from local mode to selected group input master 7 G#_CT_JOG_INC 0=sets continuous jog mode, 1=sets incremental jog mode 8 G#_CT_JOG_ABS 0=sets relative incremental mode, 1=sets absolute mode (then bit 7 will be ignored) 9 G#_CT_JOG_PLUS 0->1 starts jog motion in positive direction 10 G#_CT_JOG_MINS 0->1 starts jog motion in negative direction 11 G#_CT_M_ABS_PH 0->1 triggers absolute master phase adjust 12 G#_CT_S_ABS_PH 0->1 triggers absolute slave phase adjust Table 6-20: ELS Group Control Register Setting bit 6 high in the group control register will bring the group velocity to zero using the deceleration rate in G#_STOP_DECEL variable. After

159 6-38 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual bit 6 (G#_ST_LOCAL) in the group status register receives an acknowledgement that the group has stopped. The group can be jogged. The following table describes the interaction of the jog bits. In all cases, jog motion ramps to zero when G#_CT_JOG_PLUS and G#_CT_JOG_MINS are cleared, or when one bit is set and then a second bit is set. G#_CT_JOG_INC G#_CT_JOG_ABS G#_CT_JOG_PLUS = 0 1 G#_CT_JOG_MINS = Continuous positive velocity. Continuous negative velocity 1 0 Moves to positive incremental distance of G#_JOG_INC variable Moves to negative incremental distance of G#_JOG_INC variable N/A 1 Moves in positive direction * to G#_JOG_ABS variable position Status bit G#_ST_JOG_POS goes high (1) when in position * shortest path is used if distance is within the G#_JOG_WIN float variable Moves in negative direction * to G#_JOG_ABS variable position Status bit G#_ST_JOG_POS goes high (1) when in position Table 6-21: Group Jogging Bit States Switching Synchronization between Group Input Masters Switching between ELS Group input masters 1 and 2 or local mode can be performed using one of the following methods: Immediate Switching - The group's output position and velocity immediately switches, within one SERCOS cycle, between the two masters causing a step or bump in transition. When switching to an inactive Virtual Master, the position and velocity are adjusted on the fly. Dynamic Synchronization with or without Phase Adjust - The velocity and position difference will be compensated for by an internal ramp function synchronizing the transition between masters. Switching to the group s local mode will immediately activate the group s stop ramp. This allows stopping the group s output even if both group master inputs are still moving. When the stop ramp has been completed, signaled by the group local mode active bit, the group master can be jogged. This allows moving the group master independent from the group master inputs. Deactivation of the local mode will cause dynamic synchronization / immediate switching to the active group input master. In the following example, ELS Group 1 with master input 1 is designed to synchronize to master input 2 when 2 is selected as the master input of ELS Group 1. In effect, master input 2 acquires the slave axes of ELS Group 1, thus replacing 1. Group Input Masters Master 1 Master 2 ELS Group 1 Local Mode Slave Axes Fig. 6-18: Group Input Master Switching When the Switching Synchronization button is selected, the Synchronization Setup window in Fig displays the default values generated by the ELS Group s project variables.

160 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-39 Synch_Setup.tif Fig. 6-19:Synchronization Setup Window Maximum accel/decel for dynamic sync. Switching This value is the maximum acceleration or deceleration that the ELS Group will use to ramp up to the new master s velocity and perform any phase corrections with a trapezoidal velocity profile. Note: The maximum acceleration and deceleration value is only used for dynamic synchronization. Switching type: This selection determines the method for switching between ELS Group input masters, immediate switching or dynamic synchronization. Note: Phase correction is only available for dynamic synchronization. Correction type Maximum additive velocity Maximum phase difference allowed for shortest path correction Enable jerk limiting for ramp/lock modes and master velocity changes Phase Correction Specifies the direction in which the phase correction will be made. The user can select shortest path, positive, negative or no phase correction. Specifies the maximum increase or decrease in velocity allowed for matching the phase (position) of a target master. When selecting a positive or negative direction, the value (± degrees) entered creates a range (monitoring window) around the position of the target master. If any phase errors are within this window, the shortest path will be used for the correction. This allows large phase corrections to be eliminated depending on the size of the window. When this option is selected, you can apply smoothing to your ELS group profile. If this is not selected, the default trapezoidal profile will be applied.

161 6-40 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Enable CAM profiling, disable lock on/lock off function Advanced This must be selected to activate the CAM profile ID settings. If you change this selection during operation, you must go in and out of Parameter mode to activate the change in selection. Clocking will not activate this selection change. The Advanced button opens the Lock / Unlock CAM Advanced Setup window. This window displays the default CAM numbers used for the ELS Lock On / Lock OFF function. The user can modify the default settings with CAM numbers and H factors that have been designed for their specific application. Refer to Synchronized "Lock On / Lock Off" of ELS Group Master on page 6-49 for a description of this feature. lockon_advanced.tif Fig. 6-20: Lock / Unlock CAM Advanced Setup Immediate Switching This method allows for an immediate transition to a new input master. Switching takes place within one SERCOS cycle without regard to bumpless transitions. When switching between input masters, the group s velocity and position immediately change to match the target master. The bump is caused by the sudden change in velocity and correction of position difference between input masters. The following graph shows a typical immediate switch with a transitional bump.

162 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) Immediate Switching from Virtual Master 1 to Virtual Master 2 Virtual Master 1 (active and running) Virtual Master 1 velocity is constant in this example Virtual Master 2 (active and running) Virtual Master 2 velocity is greater than the velocity of Virtual Master ELS Group 1 position follows Virtual Master 1 ELS Group 1 position immediately switches to match Virtual Master 2 position ELS Group 1 Bump 0 ELS Group 1 velocity 0 ELS Group 1 velocity follows Virtual Master 1 Before Immediate Switching Bump ELS Group 1 velocity immediately switches to match Virtual Master 2 velocity After Immediate Switching ELS Group 1 ELS Group 1 Virtual Master 1 Input 1 Input 2 Slave axis Virtual Master 1 Input 1 Input 2 Slave axis Virtual Master 2 Input 1 Input 2 Slave axis Virtual Master 2 Input 1 Input 2 Slave axis ELS Group 2 ELS Group 2 ELS Group 1 settings for this example are as follows: 1:1 CAM, M/N ratio =1, relative group phase offsets = 0 Fig. 6-21: Immediate Switching of ELS Group 1 Immediate Switching to an Inactive Virtual Master (also known as On the Fly Switching) A special case of immediate transition called On the Fly applies only to Virtual Masters that are not connected to any groups. On the Fly is an immediate, bumpless transition achieved by initializing the virtual master s position and velocity with a sampling of the group s current position and velocity. This transition is only possible when the following conditions exist: The Fast Stop bit (VM#_CT_FSTOP) is not active The Go bit (VM#_CT_GO) is high The Virtual Master is in velocity mode (VM#_CT_VMODE bit is high)

163 6-42 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Note: It is not possible to use this method to synchronize to a Real Master since instantaneous changes in position, velocity, or acceleration would result in a drive fault. Immediate On the Fly Switching from Virtual Master 1 to Virtual Master Virtual Master 1 (active and running) Virtual Master 1 velocity is constant in this example Virtual Master 2 (active) shown in this example at standstill before switching Control bit settings for Virtual Master 2: VM#_CT_FSTOP = 0 VM#_CT_GO = 1 VM#_CT_VMODE = 1 0 Virtual Master 2 switches "On the Fly" and acquires the position and velocity of the master* used at input 1 * master used for input 1 can be a Virtual or Real Master 360 ELS Group 1 position follows Virtual Master 1 ELS Group 1 position now follows Virtual Master 2 ELS Group 1 position is not affected by immediate switch to Virtual Master 2 position (bumpless) 0 ELS Group 1 velocity is not affected by immediate switch to Virtual Master 2 0 Before Immediate Switching After Immediate Switching ELS Group 1 ELS Group 1 Virtual Master 1 Input 1 Input 2 Slave axis Virtual Master 1 Input 1 Input 2 Slave axis Virtual Master 2 Virtual Master 2 Fig. 6-22: Immediate On the Fly Switching of ELS Group 1

164 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-43 Dynamic Synchronization Typically, this general-purpose method synchronizes an ELS Group with a real, virtual or ELS Group Master to another real, virtual or ELS Group Master. Dynamic Switching from Master 1 to Master Master 1 (active and running) Master 1 velocity is constant in this example Master 2 (active and running) Phase difference Master 2 velocity is constant in this example ELS Group 1 position follows Master 1 Phase correction necessary to match target master (performed after velocities are matched) ELS Group 1 ELS Group 1 position matches target master position after executing a phase correction 0 ELS Group 1 velocity Velocity of ELS Group 1 first matches the velocity of Virtual Master 2 before a phase correction is performed. 0 Before Dynamic Switching After Dynamic Switching ELS Group 1 ELS Group 1 Master 1 Input 1 Input 2 Slave axis Master 1 Input 1 Input 2 Slave axis Master 2 Input 1 Input 2 Slave axis Master 2 Input 1 Input 2 Slave axis ELS Group 2 ELS Group 2 Fig. 6-23: Dynamic Switching of ELS Group 1 Dynamic synchronization allows for a rapid switch to a temporary (internal) velocity mode Virtual Master which then ramps and locks onto the new target master. The temporary master immediately disconnects the group s connection to the first master and allows for a smooth transition to the next master. Ramping is performed using the ELS Group synchronization's acceleration and velocity rates. These rates are also used for dynamic group master and slave phase corrections. After ramping (velocity synchronization), a phase adjust compensates for any position error. Once the phase adjust is complete, the ELS Group s

165 6-44 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual master is switched to the new input master. The temporary, internal master is dissolved after the transition is complete. Note: Any attempt to switch masters again during dynamic synchronization is ignored, with the exception of switching to local mode (stop ramp). Switching Synchronization with Advanced Trigger Options Switching Synchronization between masters can be controlled to a greater extent with the Advanced trigger options feature in the Synchronization Setup window, see Fig The advanced trigger feature includes settings to specify when switching occurs. It sets up a two-step process to the to the switching. The first step is the Switching Trigger which determines exactly when the switching is to start (Advanced trigger feature) and the second step is the Switching Type (standard switching feature) which determines exactly how the switching is performed. Synch_Setup_Adv.tif Fig. 6-24: Synchronization Setup with Advanced Trigger Options Four types of switching triggers can be used for group switching to the Master 1 or Master 2 signal: Instantaneous Disables the switching trigger functionality. Master 1 Position Starts switching when group master 1 has passed a specific trigger position. Master 2 Position Starts switching when group master 2 has passed a specific trigger position. Optimal Starts switching when a certain relationship between the group masters occurs, for example, when the group s master positions coincide or when the group s constant acceleration ramp results in synchronization to the target master s position and velocity simultaneously.

166 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-45 Note: The position trigger used is independent of which master the group is switched to. For example, the Master 1 position switching trigger can be used when switching to group master 1 or 2. The following Diagrams illustrate the group master switching examples with triggering mechanisms. These methods are used in VisualMotion 9 software. Switching triggers make it possible to start the actual master switching process when a certain condition is met. The master 1 position and master 2 position switching triggers start the switching process when one of the group masters has met a specific trigger condition. Immediate Switching Using the Master 1 and 2 Switching Triggers The immediate switching trigger disables the switching trigger functionality so the master switch will begin as soon as the group s control register bit is transitioned. Immediate Switching from Virtual Master 1 to Virtual Master 2 using Master 1 Position Trigger Virtual Master 1 Passes Virtual Master 1 (active and running) Virtual Master 1 velocity is constant in this example Virtual Master 2 (active and running) Virtual Master 2 velocity is greater than the velocity of Virtual Master ELS Group 1 position follows Virtual Master 1 ELS Group 1 position immediately switches to match Virtual Master 2 position ELS Group 1 Bump 0 ELS Group 1 velocity 0 ELS Group 1 velocity follows Virtual Master 1 Master Switch Requested (Switching Trigger Armed) Bump ELS Group 1 velocity immediately switches to match Virtual Master 2 velocity Master Switch Triggered When Virtual Master 1 Passes 72 Fig. 6-25: Immediate Switching Using the Master 1 and 2 Switching Triggers

167 6-46 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Immediate Switching using Optimal Switching Trigger This master switch is triggered when the master positions are equal. As soon as the two masters reach the same position, the group matches the velocity of the target master. Switching is dependent on how long it takes until the masters to reach the same position. Note: If the velocity of the master is equal to the velocity of the group, switching will not occur until the master 1 velocity changes. 360 Immediate Switching from Virtual Master 1 to Virtual Master 2 using the Master 1 Position Trigger Virtual Master Positions are Equal Virtual Master 1 (active and running) Virtual Master 1 velocity is constant in this example Virtual Master 2 (active and running) Virtual Master 2 velocity is greater than the velocity of Virtual Master ELS Group 1 position follows Virtual Master 1 ELS Group 1 position immediately switches to match Virtual Master 2 position ELS Group 1 0 ELS Group 1 velocity 0 ELS Group 1 velocity follows Virtual Master 1 Master Switch Requested (Switching Trigger Armed) Bump ELS Group 1 velocity immediately switches to match Virtual Master 2 velocity Master Switch Triggered When the Virtual Master Positions are Equal Immed_Optimal_Switch.tif Fig. 6-26: Immediate Switching using the Optimal Switching Trigger

168 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-47 Immediate On the Fly Switching using Master 1 and 2 Switching Trigger Master 2 is a virtual master that is active, but in standby mode until the master switch is triggered. Once the switch is triggered, master 2 switches on the fly and acquires the position and velocity of master 1. The ELS group switches from master 1 to master 2 when master 2 is at the same position and velocity as master 1, producing a bumpless group transition. 360 Immediate On the Fly Switching from Virtual Master 1 to Virtual Master 2 using the Master 1 Position Switching Trigger Virtual Master 1 Passes 72 Virtual Master 1 (active and running) Virtual Master 1 velocity is constant in this example Virtual Master 2 (active, but unused) shown in this example at standstill before switching Virtual Master 2 switches "On the Fly" and acquires the position and velocity of the master* used at input 1 * master used for input 1 can be a Virtual or Real Master 360 ELS Group 1 position follows Virtual Master 1 ELS Group 1 position now follows Virtual Master 2 ELS Group 1 ELS Group 1 position is not affected by immediate switch to Virtual Master 2 position (bumpless) 0 ELS Group 1 velocity 0 Master Switch Requested (Switching Trigger Armed) Master Switch Triggered When Virtual Master 1 Passes 72 ELS Group 1 velocity is not affected by immediate switch to Virtual Master 2 Immed_On_Fly_Mstr_Switch.tif Fig. 6-27: Master 1 and 2 Immediate on the Fly Switching

169 6-48 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Immediate On the Fly Switching using the Optimal Switching Trigger Master 2 is an active virtual master in standstill mode. When triggered by the master switch, Master 2 acquires the velocity and position of master 1 when master 1 reaches the standstill position of master 2. The switching point of the masters is also the point at which the ELS Group switches from master 1 to master Immediate On the Fly Switching from Virtual Master 1 to Virtual Master 2 using the Optimal Trigger Virtual Master Positions are Equal Virtual Master 1 (active and running) Virtual Master 1 velocity is constant in this example Virtual Master 2 (active, but unused) shown in this example at standstill before switching Virtual Master 2 switches "On the Fly" and acquires the position and velocity of the master* used at input 1 * master used for input 1 can be a Virtual or Real Master ELS Group ELS Group 1 position follows Virtual Master 1 ELS Group 1 position now follows Virtual Master 2 ELS Group 1 position is not affected by immediate switch to Virtual Master 2 position (bumpless) 0 ELS Group 1 velocity ELS Group 1 velocity is not affected by immediate switch to Virtual Master 2 0 Master Switch Requested (Switching Trigger Armed) Master Switch Triggered When the Virtual Master Positions are Equal Immed_On_Fly_Optimal_Switch.tif Fig. 6-28: Immediate On the Fly Switching using the Optimal Switching Trigger

170 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-49 Dynamic Switching using Master 1 and 2 Switching Trigger Both master 1 and master 2 remain at a constant velocity. The ELS Group follows master 1 until the master switch triggers the group to switch to master 2. When the group is triggered, it ramps speed, either accelerating or decelerating until it reaches the target position at which point it will be close to the velocity of the master two. At the point of switching, the group will experience a minor phase adjustment to match master Dynamic Switching from Master 1 to Master 2 using the Master 2 Position Trigger Virtual Master 2 Passes 20 Master 1 (active and running) Master 1 velocity is constant in this example Master 2 (active and running) Master 2 velocity is constant in this example ELS Group 1 position follows Master 1 Phase correction necessary to match target master (performed after velocities are matched) ELS Group 1 ELS Group 1 velocity 0 0 Velocity of ELS Group 1 first matches the velocity of Virtual Master 2 before a phase correction is performed. ELS Group 1 position matches target master position after executing a phase correction Master Switch Requested (Switching Trigger Armed) Master Switch Triggered When Virtual Master 2 Passes 20 Dynam_Mstr_Switch.tif Fig. 6-29: Dynamic Switching using Master 1 and 2 Switching Trigger

171 6-50 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Dynamic Switching using Optimal Trigger Master 1 and 2 maintain their velocities and positions. The master switch triggers the ELS group to switch to target master. The project calculates when the group should begin changing velocity to match the velocity of master 2. When the ELS group s constant acceleration ramp will result in a merge with the target master s position and velocity, the master switch triggers ELS group to switch to the target master. After the ELS group has switched to the target master, a slight phase correction, of up to two SERCOS cycles of the closing velocity of the two masters, may be necessary to exactly match the target master. Note: Changes in the velocity of either group master during Optimized Dynamic Synchronization Dynamic Switching from Master 1 to Master 2 using the Optimal Trigger 360 Master 1 (active and running) Master 1 velocity is constant in this example Master 2 (active and running) Master 2 velocity is constant in this example ELS Group 1 position follows Master 1 Constant-acceleration ramp synchs group with master 2 s position and velocity nearly simultaneously. ELS Group 1 ELS Group 1 velocity 0 0 Constant-acceleration ramp to target master s velocity. Minor phase correction after ramp completes. ELS Group 1 position matches target master position after a minor phase correction. Master Switch Requested (Switching Trigger Armed) Master switch triggered when the group s constant-acceleration ramp will result in it merging with the target master s position and velocity nearly simultaneously. Dynam_Mstr_Switch.tif Fig. 6-30: Dynamic Switching Using Optimal Trigger

172 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-51 Synchronized Lock On/Lock Off of ELS Group Master VisualMotion using GPP firmware can be used to stop and restart an ELS Group for one or more cycles of the group s input master. This function is performed using three cam profiles that are synchronized with the group s input master. Synchronization between cam profiles and master input eliminates the need for phase corrections. This function also allows the project to stop a group s process without disrupting the other groups running in the project. The following is an application example of the Lock On/Lock Off feature in GPP firmware. This example monitors the presence of a gap between products in a horizontal wrapper. Photo Eye Knife Fin Seal Product Present Outfeed Belt Lug Chain Fine Adjust Wrapper.tif Fig. 6-31: Horizontal Form, Fill and Seal Wrapper One-to-One Cam Profile Synchronized to Master The Lock On/Lock Off feature in GPP is activated by the state condition of bit 1 (G#_CT_LOCK_OFF) in the ELS Group control register. VisualMotion has three default cam profiles for the Lock On/Lock Off feature. However, you can create and download customized cam profiles using the CAM builder function in VisualMotion. The one-to-one cam profile is normally active and synchronized to the master input, unless the Lock On/Lock Off feature is not active. Under normal operating conditions, this cam profile is active and follows the group s active master input. State of Lock On/ Lock Off bit G#_CT_LOCK_OFF = 0 Gap Encountered ELS Group Slave output 1:1 cam profile ELS Group Master input GSP Group slave phase offset Normal_op.wmf Fig. 6-32: Normal Operation of Wrapper Application

173 6-52 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Lock Off The Lock Off cam profiledecelerates to a stop over one cycle of the master. After this cycle, the group's velocity is stopped and will not restart unless the LOCK OFF bit is toggled. Note: All motion to the ELS Group Master, as well as any cascading groups, will stop. State of Lock On/Lock Off bit G#_CT_LOCK_OFF = 0 to 1 No GAP Detected Knife follows lock off cam profile Lock Off cam active after internal cam table 360 rollover No GAP Detected Lock off bit = 1 Lock Off cam active until: Lock off bit = 0 GSP No_product.wmf Fig. 6-33: Lock Off Cam Active, No Product - No Seal Lock On The Lock On cam profile is active and accelerates from a stopped position to match the velocity of the master input over one cycle of the master (360 degrees). After this cycle, the velocity of the group matches that of the master. State of Lock On/Lock Off bit G#_CT_LOCK_OFF = 1 to 0 GAP Detected again Knife returns to normal operation Lock On cam active after internal cam table 360 rollover GAP Detected again: Lock off bit = 0 Lock On cam 1:1 cam profile GSP Product.WMF Fig. 6-34: Lock On Cam Active, Product is Present Once Again

174 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-53 Phase Control The group master and slave phase adjust defaults to a trapezoidal velocity profile using: dynamic synchronization acceleration dynamic synchronization velocity Relative phase adjusts are written to the following ELS Group float variables G#_REL_M_PH (group master relative master phase adjust) G#_REL_S_PH (group master relative slave phase adjust) and triggered with bit 2 or 3 in the ELS group control register. After execution of the velocity profile, the absolute group master or group slave phase adjust is updated. The phase adjust can also be configured to execute in one step by selecting Immediate in the Phase window. Phase_Control.tif Fig. 6-35: Phase Control The absolute group master and group slave phase adjust is triggered by a 0 1 bit transition. The bit goes to 1 at the start of the phase adjust and to 0 when the phase adjust is complete. The direction of the move is dependent on the settings of the ELS Group Configuration: Bit 11: Group Master Absolute Phase Adjust Bit 7 Bit 6 Description 0 0 Shortest path 0 1 Positive phase lock, if phase difference is greater than G#_LOCK_WIN, or use shortest path 1 0 Negative phase lock, if phase difference is greater than G#_LOCK_WIN, or use shortest path 1 1 Phase lock disabled (provides velocity synchronization only)

175 6-54 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Bit 12: Group Slave Absolute Phase Adjust Bit 7 Bit 6 Description 0 0 Shortest path 0 1 Positive phase lock, if phase difference is greater than G#_LOCK_WIN, or use shortest path 1 0 Negative phase lock, if phase difference is greater than G#_LOCK_WIN, or use shortest path 1 1 Phase lock disabled (provides velocity synchronization only) The absolute phase adjust values can only be read except when the stop ramp is active and the group master is at standstill. In this case the absolute phase adjust values can be overwritten and forced. If an ELS group is switched to local, manual or parameter mode during a phase adjust with a trapezoidal velocity profile, the phase adjust will be completed. Initialization Control Sync to ELS Group master on task switching from Manual to Automatic Mode The Initialization window is used to configure the ELS group master operation during project initialization. The configuration set in this window is set in parameter mode. This can be set at automatic or you can switch the group switch the ELS group to the master manually. The group will remain in local mode when the project comes out of parameter mode until it is manually switched. Init_Control.tif Fig. 6-36: Initialization Control ELS Group master positions initialization at Phase 2 During phase 2 of power up, you can select to use either old values or one of the following: the variables initialized by the internal group master being set to the value of the active group input master the cam table input position set to the internal group input master position plus the group master offset the state of the state machine set to 1 the old values kept for absolute master and group slave offset the ELS group master position calculated with the cam equation

176 VisualMotion 9 Application Manual Electronic Line Shafting (ELS) 6-55 ELS Group master positions evaluation with forcing Lock On Offset In phase 4 of power up, the ELS group can be reinitialized when the local mode is active and the ELS group master is at standstill (G#_ST_MOTION is 0). Under these conditions, the following variables are not updated by the control and can be overwritten: Internal group input master position Group cam table input position (used to calculate the ELS group master position) ELS group master position (only when bit 9 in the ELS configuration word is set to 1) State of the state machine for lock on/lock off (used to calculate the ELS group master position) Aboslute group master and group slave offset (used to calculate the ELS group master position) You can select to use the old values and no calculation of the cam equation will be performed or you can select the Group master position to be calculated. The Group master is calculated using the group cam table input position, the absolute group master and group slave offset, and the selected state of the state machine. The default setting of 180 degrees matches the default profile in VisualMotion. This number can be changed, but the lock on/lock off profile must be completed in 1 revolution of the master cycle Editing ELS Groups and System Masters Online The ELS Runtime Utility in VisualMotion GPP can be used to change the settings of the ELS System Masters, ELS Groups and Virtual Masters while the project is online. These changes only effect the data in the control and are maintained in the control when the project goes offline. If the project is synchronized, the changes made using the Runtime Utility are overwritten with the settings in the project. To select a group or master to edit, use the drop-down menu in the ELS Runtime Tool window. When one of the menu items has been selected, a button for that item will appear in the window. Clicking the button will open a window for configuring that group or master. ELS_Runtime_Tool.tif Fig. 6-37: ELS Runtime Tool The association of the ELS System master to its number in the connection box can be changed by selecting this option in the ELS Runtime Utility. The ELS System Masters can be edited by selecting the

177 6-56 Electronic Line Shafting (ELS) VisualMotion 9 Application Manual Master number tab which corresponds to the Connection box designation for that master, see Fig ELS_Runtime_Utility.tif Fig. 6-38: Edit ELS System Masters Window Changes made in the runtime utility take effect immediately in the control when you click the OK button.

178 VisualMotion 9 Application Manual Program Debugging and Monitoring Program Debugging and Monitoring 7.1 Finding Program Problems Identifying errors in complex programs can be difficult. A thorough understanding of your application and a project designed around the application will help minimize the difficulty in locating errors. A practical approach to designing a project is to begin with simple, basic program blocks. Test the blocks, independently if possible, even if testing requires writing additional program just for test purposes. A tested and dependable section of a program allows you to focus on just the potential problem areas. If the program compiles correctly, make sure that the problem lies with the program, not the hardware. If necessary, write short test programs to test individual hardware functions. Use a program branch and the VisualMotion s message capabilities to insert a message into your program. Shortly stopping the program and checking critical values can tell you where errors are occurring. Think through the implications of using triggered events. Remember that events and the execution of event functions typically occur asynchronously to program tasks. You cannot always depend on the timing of triggered events. It may be necessary to add additional program code to provide synchronization. The following Task parameters can also be used to help with program debugging: T Current Instruction Pointer T Current Instruction T Instruction Pointer at Error T Composite Instruction Pointer T Current Subroutine T Stack Variable Data T Task Subroutine Breakpoint T Sequencer Information T Last Active Event Number If the program does not compile, or compiles with errors, use VisualMotion's "Display Code" selection from the Build menu to check that the compiler is generating the instructions you intend. Remember that the compiler doesn't check your program's logic, the compiler can only check for proper syntax and use. VisualMotion's compilers typically provide error or warning dialog windows that refer to line numbers in the displayed code. The following section provides the syntax of the displayed code. Test Code A typical example of additional code for testing program functionality is the use of counters. One way to implement a counter would be to change the state of an I/O bit after a distance event has occurred. After each move that is suppose to trigger the event, increment an integer variable called move_count. Then, use a branch statement to test whether the I/O bit changed state. If it did, then increment an integer variable called event_count. The final value of event_count can be compared to move_count to see if the event occurred once for every move.

179 7-2 Program Debugging and Monitoring VisualMotion 9 Application Manual 7.2 Control Compiler Base Code Compiling an Icon or Text Language program produces a text file output listing in Control Base Code, using mnemonics and syntax similar to assembly language. The Base Code resulting from the compilation of a program may be viewed using Window's Notepad by selecting "Display Code" from the VisualMotion Build menu. Base Code may also be viewed using a compatible ASCII-only text editor. Base Code is typically used as an aid to debugging when checking a program for logical errors. Base Code files are view-only program listing files. Editing a Base Code file has no effect on a subsequent recompilation of the program. The labels in a Base Code listing result from both user-defined labels and the labels that are generated internally by the VisualMotion compiler. Base Code instruction mnemonics and valid arguments This section lists Base Code instruction mnemonics and valid arguments. Instructions requiring more than one argument show the arguments separated by commas. Alternative forms for arguments are shown by enclosing a general form for each argument in square brackets, separated by a vertical bar " ". ABORT_PATH ABORT_PATH [task] Halts coordinated motion in the specified task. ACCEL ACCEL [axis label Ix GIx],[rate label Fx Gfx] Sets the acceleration rate for the specified axis. AXES AXES task mode, axis, Specifies the axes to be assigned to this task and how they will be used. (All axes used in a task must be declared for that task.) Task mode: 1. for single axis non-coordinated motion. 2. for coordinated axis for multi-axis coordinated motion. 3. for velocity mode, rotation only - no axis positioning. 4. for ratioed slave axis. 5. for ELS mode. 6. for Torque mode. Axis = a valid identifier for an axis, from 1 to the maximum number of axes AXES_GROUP AXES_GROUP task mode, axis, axis, axis, axis, axis, axis AXIS_EVENT AXIS_EVENT [axis label Ix GIx], event #1, event #2, event #3, event #4 Enables up to four Repeating Position events for a single-axis, ELS, ratio, or velocity mode axis. Event # = [an integer Event # label Ix GIx]

180 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-3 AXIS_ATPOSITION AXIS_ATPOSITION axis, position where Axis = drive number Position = position to wait for AXIS_WAIT AXIS_WAIT [axis label Ix Gix] If the argument is a positive integer representing a valid axis, program execution waits for the axis to be within its preset drive position window. If the argument is -1, program execution waits until all axes in the task are within their position windows. The position window is defined by the drive parameters: Position Window and Zero Velocity. AXIS_WAIT will wait indefinitely if used with velocity mode (axis task mode 3) since positioning is not used. BNE BNE label (subroutine or event) Branches to label if the task's status word is set to "not equal. BEQ BEQ label (subroutine or event) Branches to label if the task's status word is set to "equal. BGT BGT label (subroutine or event) Branches to label if the task's status word is set to "greater than. BLT BLT label (subroutine or event) Branches to label if the task's status word is set to "less than. BGE BGE label (subroutine or event) Branches to label if the task's status word is set to "greater than or equal. BLE BLE label (subroutine or event) Branches to label if the task's status word is set to "less than or equal. BRA BRA label (subroutine or event) Branch to label, always (no matter what) func_offset ret_pointer CALL_FUNC CALL_FUNC func_offset, ret_pointer, arg_count, arg1_ptr,... argn_ptr Calls the function at func_offset with a return pointer and a variable number of arguments. offset in bytes from current program counter to start of function pointer to int or float return variable if (0), there is no return value

181 7-4 Program Debugging and Monitoring VisualMotion 9 Application Manual arg_count arg1_ptr... argn_ptr number of arguments passed to the function if (0), there are no arguments there can be between 1 and 5 arguments pointer to argument passed to function can be int, float, global int, global float, constant int, constant float, local int, local float, absolute or relative point label used as initial value of local variable CALC CALC evaluates the equation CAP_ENABLE CAP_ENABLE axis, probe, event# Enables the event on the axis for the probe transition. transition occurs, the event triggers. Axis = from 1 to the maximum number of axes Probe: 1 = probe 1, 0 --> 1 2 = probe 1, 1 --> 0 3 = probe 2, 0 --> 1 4 = probe 2, 1 --> 0 Event = [event # label Ix GIx] When the CAP_SETUP CAP_SETUP axis, probe At program activation, the drive is configured to capture feedback position on its probe transition and to include position data in its cyclic telegram data. Axis = from 1 to the maximum number of axes Probe: 1 = probe 1, 0 --> 1 2 = probe 1, 1 --> 0 3 = probe 2, 0 --> 1 4 = probe 2, 1 --> 0 CLEAR CLEAR [Ix GIx Fx GFx label] Sets integer or float variable to zero COMP COMP [Ix GIx Fx GFx label], [Ix GIx Fx GFx label] Set the task's status word to the logical result of 1st argument minus 2nd argument. DATA_SIZE DATA_SIZE I, F, ABS, REL, EVT, ZONE Sets the amount of memory allocated for each type of data in one of the four program tasks. (The total program requirement is the sum of the DATA_SIZE allocations for each task in the program.)

182 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-5 I F ABS REL EVT ZONE = the number of integer variables allocated for this task = the number of floating point variables allocated for this task = the number of absolute point table entries allocated for this task = the number of relative point table entries allocated for this task = the number of event table entries allocated for this task = the number of zone table entries allocated for this task DEC DEC [Ix GIx label] Subtracts 1 from the specified integer variable DECEL DECEL axis, rate Sets the deceleration rate for the axis Axis = [integer constant label Ix GIx] Rate = [floating point constant label Fx GFx] ELS_ADJUST ELS_ADJUST axis, offset Sets the phase or velocity offset for the ELS axis. Axis = [integer constant label Ix GIx] Offset = [floating point constant label Fx GFx] ELS_ADJUST1 ELS_ADJUST1 axis, offset, type Axis = [integer constant label Ix GIx] Offset = [floating point constant label Fx GFx] Type: 1 = absolute 2 = incremental 3 = continuos + 4 = continuos ELS_GROUPM ELS_GROUPM group number, control register, status register, float block, integer block where Group number = 1 to 8 ELS_GROUPS ELS_GROUPS group number, axis number, motion type where Group number = 1 to 8 Axis number = 1 to 32 Motion type: 1 = phase 2 = velocity 3 = card cam 4 = drive cam

183 7-6 Program Debugging and Monitoring VisualMotion 9 Application Manual ELS_INIT ELS_INIT ELS type, slave axis, master axis, encoder, sync type Initializes the relationship between master and slave axes. ELS type: 1 = Virtual Master 2 = Real Master (daisy-chained) 3 = Real Master (SERCOS) 4 = follow axis feedback Slave axis = [integer constant label] Master axis = [integer constant label] Encoder: 1 = primary encoder 2 = secondary encoder Sync type: 1 = velocity 2 = phase ELS_MASTER ELS_MASTER float block, integer block ELS_MODE ELS_MODE axis, mode Sets the mode for the specified ELS axis. Axis = [integer constant label Ix GIx] Mode: 1 = single axis 2 = ELS synchronization ELS_STOP ELS_STOP END Defines the end of the program for the task. EVENT_DONE EVENT_DONE event Marks the specified event status as complete. Event = [integer constant Ix GIx label] EVENT_ENABLE EVENT_ENABLE event Activates the specified repeating timer event. Event = [integer constant Ix GIx label] EVENT_END Defines the end of an event routine program code. EVENT_START Marks the beginning of an event routine program code.

184 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-7 EVENT_WAIT EVENT_WAIT event Pauses task execution until the specified active event completes. Event = [integer constant Ix GIx label] FUNC_ARG func_label: FUNC_ARG Declares local variables. label, type, <min value>, <max value> func_label Label Type min value max value text label of function text string identifier of local variable F =float, I =integer, ABS = ABS point index, REL = REL point index optional minimum value of argument optional maximum value of argument FUNC_END func_label: FUNC_END return value Indicates the end of a function and optional return value. Func_label text label of function Return value return argument FUNC_START func_label: FUNC_START Indicates the start of the function named by func_label. Func_label text label of function GET_PARAM GET_PARAM type, set, ID number, destination Copies the specified parameter data to the specified integer or floating point variable (the variable type must match the parameter type). Type: A = axis C = system D = drive T = task Set = axis or drive ([integer constant Ix label]), or task ID letter ID number = identifying parameter number (range 1 to 65535) Destination = destination variable, [Ix GIx Fx GFx label] GO GO axis Starts continuous motion on the axis. The axis must be configured as non-coordinated or velocity mode. Axis = [integer constant Ix GIx label]

185 7-8 Program Debugging and Monitoring VisualMotion 9 Application Manual HOME HOME axis Enables motion homing the specified axis. (The homing parameters must have been set in the DDS drive.) Axis =[integer constant Ix GIx label] INC INC [Ix label] Adds 1 to the specified integer variable. LOCAL/VAR func_label: LOCAL/VAR Declares local variables. Func_label Label Type MESSAGE text label of function label, type text string identifier of local variable F =float, I =integer MESSAGE type, message, variable where Type: 1 = status 2 = diagnostic Message = Up to 80 characters Variable = Fx, Ix, GFx, Gix MESSAGE_PORT func_label MESSAGE_PORT target, string, <pointer> Outputs formatted string to designated port. Func_label Target text label of function 1 = diagnostic message. 2 = status message. 3 = serial host port(port A). 4 = serial teach pendant port(port B). String Formatted text string to display, formatting types are %d, %f, %x pointer Optional single argument - Rx, Fx, Ix, GFx, or GIx MOVE_JOINT MOVE_JOINT ABS point Moves the joint based on an absolute point (six-axis CLC only.) ABS point = [integer constant Ix GIx label], an entry in the absolute point table KINEMATIC KINEMATIC kinematics library number Selects the set of equations specified by the library number from an optional kinematics library. Used to translate Cartesian coordinates for custom coordinated motion applications such as robotics.

186 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-9 MOVEA_AXIS MOVEA_AXIS axis, distance, event, event, event, event Starts single axis absolute motion for the specified axis, and activates the specified events. Axis = [integer constant Ix GIx label] Distance = [floating point constant Fx GFx label] Event = [integer constant Ix GIx label] MOVER_AXIS MOVER_AXIS axis, distance, event, event, event, event Starts single axis relative motion for the specified axis, and activates the specified events. An event is specified by an integer number index into the event table or a label for an integer variable containing the index. Axis = [integer constant Ix GIx label] Distance = [floating point constant Fx GFx label] Event = [integer constant Ix GIx label] MOVEA_PATH MOVEA_PATH ABS point Starts coordinated motion from the current position to the point specified in the absolute point table. ABS point = [integer constant Ix GIx label] MOVER_PATH MOVER_PATH ABS point, REL point Starts coordinated straight line motion from the current position to the point specified by the vector sum of the absolute and relative points. ABS point = [integer constant Ix GIx label] REL point = [integer Ix GIx label] MOVEA_CIRCLE MOVEA_CIRCLE ABS point, ABS point Starts coordinated motion from the current position, through the first specified point, ending at the second specified point. ABS point = [integer constant Ix GIx label] MOVER_CIRCLE MOVER_CIRCLE REL point, REL point, ABS point Starts coordinated motion from the current position, through the point specified by the vector sum of the ABS point and the first REL point, ending at the point specified by the vector sum of the ABS point and the second REL point. ABS point = [integer constant Ix label] REL point = [integer constant Ix label] MSG_DIAG MSG_DIAG ASCII text string Sets the current diagnostic message to the specified ASCII text string. MSG_STATUS MSG_STATUS ASCII text string Sets the current status message to the specified ASCII text string.

187 7-10 Program Debugging and Monitoring VisualMotion 9 Application Manual PARAM_BIT PARAM_BIT type, set, ID number, source, I/O mask Sets the parameter bit specified by the type, set, ID number and I/O mask to the value in the specified source variable at initialization. Type: A = axis C = system D = drive T = [A B C D] (task ID letter) Set = [integer constant Ix GIx label] for axis or drive; or [A B C D] for task ID number = [integer constant] for a parameter number in the range 1 to Source = [integer constant floating point constant Ix GIx Fx GFx label] I/O mask = specifies 1 to 16 bits in an I/O register PARAM_INIT PARAM_INIT type, set, ID number, source Sets the specified parameter to the value in the specified variable at initialization. Type: A = axis C = system D = drivet = [A B C D] (task ID letter) Set = [integer constant Ix GIx label] for axis or drive; or [A B C D] for task ID number = [integer constant] for a parameter number in the range 1 to Source = [integer constant floating point constant Ix GIx Fx GFx label] PID_CONFIG PID_CONFIG #, type, control_register, status_register, loop_time, set_point_type, set_point, set_point_axis, feedback_type, feedback, feedback_axis, output_type, output, output_axis, control_block #: PID loop number, range type: PID loop type, currently only 1 is valid. control_register: label or number of register used for control of this loop. status_register: label or number of register used for status of this loop loop_time: update time of this loop, multiples of 8 millisecond. set_point_type: Type of set point, 1=variable, 3=unsigned register, 4=signed register set_point: Axis parameter, register, variable, or equivalent label to be used as the set point of this loop. set_point_axis: For axis parameters, axis number; else 0. feedback_type: Type of feedback, 1=variable, 2=axis parameter, 3=unsigned register, 4=signed register feedback: Axis parameter, register, variable, or equivalent label to be used as the feedback of this loop. feedback_axis: For axis parameters, axis number; else 0.

188 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-11 output_type: Type of output, 1=variable, 2=axis parameter, 3=unsigned register, 4=signed register output: Axis parameter, register, variable, or equivalent label to be used as the output of this loop. output_axis: For axis parameters, axis number; else 0. control_block: First variable in a block of 20 float variables(fx) to be used for this loop. See also VAR_INIT. PLS_INIT PLS_INIT switch number, 0, output register, master type, axis/number, offset PLS_INIT switch number, element, on position, off position where Switch number = 1 Element = 1 to 16 On position = 0 to 360 Off position = 0 to 360 Offset = 0 to 360 Axis/number = drive number if drive based / 1 or 2 if real master Master type: 1 = ELS 2 = Virtual 3 = Real( 1 or 2 ) 4 = drive based PLS1_INIT PLS1_INIT switch number, 0, output register, master type, number, offset, mask register PLS1_INIT switch number, element, on position, off position, lead time where Switch number = 1 Element = 1 to 16 On position = 0 to 360 Off position = 0 to 360 Lead time = 0 to cycle time Number = ELS Master or ELS Group number Master type = 5 = ELS Master 6 = ELS Group POSITION POSITION task, ABS point Copies the current position coordinates of the specified task to the specified ABS point table entry. The contents of the point table entry are overwritten. Task = [A B C D] ABS point = [integer constant Ix GIx label]

189 7-12 Program Debugging and Monitoring VisualMotion 9 Application Manual RATIO RATIO master axis, slave axis, master ratio, slave ratio Sets the ratio between the specified master and slave axes. Master axis = [integer constant Ix GIx] Slave axis = [integer constant Ix GIx] Master ratio = [floating point constant Fx GFx] Slave ratio = [floating point constant Fx GFx] READ READ register, count, target variable Copies the contents of the specified I/O register(s) to the lower 16 bits of the specified integer variable(s). The upper word of the variable(s) is zero-filled. Only a contiguous block of registers can be moved. Register = an integer constant specifying the number of the starting source I/O register. Count = a positive integer constant for the number of register to copy target variable = the starting integer variable table entry for the destination of the data. RESUME_PATH RESUME_PATH task Restarts previously halted coordinated motion in the specified task. Task = [A B C D] RETURN Marks the end of a subroutine's program code, and returns program execution to the calling program. ROBOT_ORGIN ROBOT_ORIGIN point where Point = relative point index to be used as origin ROBOT_TOOL ROBOT_TOOL point where Point = relative point index to be used as tool offset ROTARY_EVENT ROTARY_EVENT type, axis, event1, event2, event3, event4 (GPP) Event1 = index of event to trigger Event2 = index of event to trigger Event3 = index of event to trigger Event4 = index of event to trigger Type = drive number if drive based / ELS Master or ELS Group number 0 = Drive 1 = ELS Master 2 = ELS Group Axis = drive number if drive based / ELS Master or ELS Group number

190 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-13 SET SET I/O state, register, I/O mask Sets the specified register's bits, that are enabled by the I/O mask, to the state specified by I/O state. I/O state = 16 bit binary word of bits to set in the specified register. 0 = off, 1 = on. Register = an integer number specifying an I/O register I/O mask = 16 bit binary word specifying the bits that may be changed. 1 = enabled SET_PARAM SET_PARAM type, set, ID number, source Copies the specified parameter's value to the specified integer or floating point variable. The source variable data type must match the destination parameter data type. Type: A = axis C = system D = drivet = task Set = [Ix GIx label] for axis or drive; or [A B C D] for task ID letter] ID number = identifying parameter number, within the range: 1 to Source = [integer constant floating point constant Ix GIx Fx GFx label] START Marks the beginning of a task or subroutine. STOP STOP axis Signals the drive to halt single-axis or velocity mode motion on the specified axis if the argument is a positive integer (1-8). If the argument is -1, motion is halted for all single-axis and velocity mode axes in the task. Signaling the drive to halt motion decelerates the axis to zero velocity using the deceleration rate programmed in the appropriate drive parameter. Axis = [integer constant Ix GIx label] STOP_PATH STOP_PATH task Stops coordinated motion in the specified task. Task = [A B C D] TEST TEST register, I/O mask Sets the task's status word to the result of a logical AND of the specified register and the I/O mask. Register = a positive integer constant for a modifiable CONTROL register. I/O mask = 16 bit binary word.

191 7-14 Program Debugging and Monitoring VisualMotion 9 Application Manual V_MASTER V_MASTER where Number = 1 to 6 VAR_INIT number, control register, status register, float block, integer block VAR_INIT ar_start, arg1, arg2, arg3... arg20 var_start: First variable in a block of program variables( Fx, Ix ) to be initialized. arg1- arg20: initializing values. VEL VEL axis, rate Sets the velocity specified by rate in the specified task axis. Axis = [integer constant Ix GIx label] Rate = [floating point constant Fx GFx label] WAIT WAIT delay where Delay = 1 to msec WAIT_IO WAIT_IO register, I/O mask, I/O state Suspends task execution until the specified I/O conditions are met. Register = an integer constant for a CONTROL register I/O mask = identifies 1 to 16 bits in an I/O register I/O state = 0 --> off; non-zero --> on WAIT_PATH WAIT_PATH task, ABS or REL point, condition Suspends task execution until the specified path planner conditions are met. Task = [A B C D] ABS point = [integer constant Ix GIx label], reference to an absolute table entry REL point = [integer constant Ix GIx label], reference to a relative table entry Condition: 0 = Ready 1 = Accel 2 = Slew 3 = Blending 4 = Target decel 5 = Controlled stop 6 = Stopped 7 = At target 8 = Done

192 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-15 WRITE WRITE register, count, source Copies the data in the specified integer variable(s) to the specified I/O register. Register = an integer number for the starting destination I/O register. Count = a positive integer constant for the number of registers to copy. Source = an integer number for the starting source integer variable table entry. 7.3 Icon Language Warnings and Error Messages VisualMotion Icon Compiler generates the following warning messages. After receiving a warning message you may continue or exit the compilation. Data missing in one or more fields, do you still wish to continue? Caution! Changing Modes may halt motion. Continue? Caution! Changing Modes may start motion. Continue? File does not contain source program! Icon workspace at end is not empty. Program parts will be lost, continue anyway? Transfer failed! VisualMotion s Icon Compiler displays the following error messages: More than one connect icon with number %d! Function variables must be defined first! Data Size icon objects exceed size of non-volatile ram! Change to default registers and variables for this number? Only one ELS System Master icon allowed per program! Only one Virtual Master icon allowed per program! Only eight ELS Groups allowed! Only ten PIDs allowed! Only four CAM Indexers allowed! Warning! Frequent changes of static drive parameters can cause premature failure of it's non-volatile memory. Valid Entries are '0' or '1'. Invalid name! Cannot change task or open dialog window while dialog window is open Axis undefined or not unique. Valid event numbers are 1 to 100. Valid axis numbers are 1 to 8. Valid number range is Valid percents are Labels must start with an alpha character! Label name already exists! Number missing or out of range. Selected Icon is not a subroutine or no icon selected!

193 7-16 Program Debugging and Monitoring VisualMotion 9 Application Manual Data Field Empty! Label type must be defined! Task name undefined. No filename specified. Non-Branch icons have only two output connections. Branch icons have only two output connections. Point out of range. Connection could not be made, try connecting adjacent ---? Only connections between icons or adjacent blocks can be ---? Finish icon not found or open path! Start icon not found or multiple Start icons found! Icon program not found! Cannot open code file! Unknown icon term. Missing axis selection. Open in program flow, at or near highlighted icon, ---? Branch Icon has missing connection or one in wrong dire ---? No axis selected! Time Delay out of range! Could not initialize update timer! Operation type not selected! Drive numbers doesn't match. Should drive number be c ---? Can't open file! Source or target not selected! Valid range - Valid range - CONTROL card parameters cannot be changed! File syntax other than parameters! File of different type parameters! CONTROL card is not communicating! No selection made! 7.4 Text Language Error Messages The following are error messages produced by the Visual Motion text compiler. Line numbers refer to code displayed by selecting "Display Code" from the Visual Motion Build menu. For further information on the format of the code displayed see Control Compiler Base Code.

194 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-17 First Pass Errors CONTROL code converter error log file! Unable to open source file! Line [nnn], Maximum number of terms reached! Line [nnn], unknown mnemonic operator - [xxx] Line [nnn], unknown, missing or wrong argument - [xxx] Line [nnn], missing point argument! Line [nnn], missing closing bracket "]"! Line [nnn], additional arguments - [xxx...]! Line [nnn], point number '??' out of range (1-nn)! Line [nnn], missing arguments! Line [nnn], unknown IF conditional terms - [?] [?]! Line [nnn], ELSE or ENDIF without IF term! Line [nnn], maximum number of nested IFs exceeded! Line [nnn], sequencing error, IF, ELSE, or ENDIF imbalanced Line [nnn], missing message text! Line [nnn], incompatible circle arguments - [xxx] Line [nnn], variable out of range - [variable name] Line [nnn], right side of EQU must be a number - [ ]! Line [nnn], label [label name] not found Line [nnn], arguments must be integer or constant! Line [nnn], bit number [nn] out of range (1-nn)! Line [nnn], register number [nn] out of range (1-nn)! Line [nnn], integer variable number [nn] out of range (1-nn)! Line [nnn], register number + count exceeds range (1-nn)! Line [nnn], axis number [nn] out of range (1-n)! Line [nnn], mode number [nn] out of range (0-n)! Line [nnn], mark " " also defined on line [nn]! Mark [ ] on line [nnn] was not referenced in program! Mark [ ] used on line [nnn] is not declared! Line [nnn], event number [nn] out of range (1-nn)! Line [nnn], delay value [n...] out of range (1-n...)! Line [nnn], too many arguments! Second Pass Compiler Errors Line xx, more than one equal operator. On line xx, more than one = character was found. Line xx, colon used for other than mark! A colon was found beyond the first word on line xx. Line xx, function start found inside of subroutine! A Start icon was found inside a subroutine on line xx.

195 7-18 Program Debugging and Monitoring VisualMotion 9 Application Manual Line xx, function end found without function start! A Finish icon was found without first finding a Start icon on line xx. Duplicate local argument 'xx' found in subroutine 'yy'! Two local arguments with the same name xx were found in subroutine yy. Subroutine 'xx' has more than 5 user accessible arguments! A subroutine can only have 5 arguments passed to it. Subroutine xx has more than 5. Subroutine 'xx' has more than 16 local variables/arguments! A subroutine can only have 16 local or stack variables. Subroutine xx has more than 16. Line xx, invalid sequencer list index 'xx'! An error was made while defining a sequencer on base code line xx. One of the sequencer list_numbers is greater than 30 or has been entered out of sequence ( 0,1,2,3,4,5 ). Line xx, invalid sequencer step index 'yy'! An error was made while defining a sequencer step on base code line xx. One of the sequencer steps step_numbers, yy, is greater than sequencer functions defined in the DATA/SIZE instruction of the program or has been entered out of sequence ( 0, 1,2,3,4,5 ). Number of sequencer step names exceed sequencer step size! The number of sequencer steps found is greater than sequencer Steps defined in the DATA/SIZE instruction of the program. Number of sequencer names exceed sequencer list size! The number of sequencer names found is greater than sequencer Lists defined in the DATA/SIZE instruction of the program. Line xx, invalid axis number - yy! An error was found in the PLS/INIT instruction on base code line xx. The axis number yy is not valid for the type selected. Valid ranges are: Type Range 1or or Line xx, invalid PLS master type - yy, range 1 4. An error was found in the PLS/INIT instruction on base code line xx. The type yy is not a value from 1 to 4. Line xx, duplicate label yy' or multiple definition of variable! An error was found in the FUNCTION/ARG instruction or START icon on base code line xx. The label yy was used already.

196 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-19 Line xx, error in number of function arguments - yy! An error was found in the CALL instruction or SUB icon on base code line xx. The number of arguments yy, passed to the subroutine is different than defined in the function called. Line xx, index 'yy' is a float! An error was found on base code line xx. The index used for a variable is a float ( i.e. F[ F5] ). Line xx, two names assigned to a sequencer 'yy'! An error was made while defining a sequencer on base code line xx. A sequencer index yy is given two different names. Line xx, same name assigned to two sequencers 'yy'! An error was made while defining a sequencer on base code line xx. The same name yy is given to two sequencers. Line xx, invalid cam option type 'yy'! An error was made while defining the CAM/BUILD instruction on base code line xx. The cam option or type yy is outside the range 1-4. Line xx, end point 'yy' is less than start point! An error was made while defining the CAM/BUILD instruction on base code line xx. The point defined as the end_point yy is less than the start point. Line xx, invalid cam wait option - yy, range 0-1 An error was made while defining the CAM/BUILD instruction on base code line xx. The wait option yy is outside the range 0-1. Maximum number of messages reached! The number of messages, status and diagnostic, allowed per program is 500. An attempt to exceed this was found. Multiple PLS initializations found! More than one instruction was found to define the same PLS data. Line xx, invalid message type, range 1-2 An error was made in the MESSAGE instruction on base code line xx. The valid range of values are 1-2. Line xx, invalid cam type 'yy'! 0=CLC, 1=Drive. An error was made in the CAM/ENGAGE instruction on base code line xx. The value yy is invalid, valid range of values is 0-1. Line xx, ELS slave 'yy' same as master! An error was made in the ELS/INIT instruction on base code line xx. The slave axis yy is the same as the master axis. Line xx, invalid PID number 'yy', range 1-10 An error was made in the PID/CONFIGURE instruction on base code line xx. The loop number yy is invalid, range is Line xx, invalid PID type 'yy', range 1-1 An error was made in the PID/CONFIGURE instruction on base code line xx. The type yy is invalid, the only type available is 1.

197 7-20 Program Debugging and Monitoring VisualMotion 9 Application Manual Line xx, same PID status and control registers 'yy' An error was made in the PID/CONFIGURE instruction on base code line xx. The same register number yy was used for the control and status, they must be different. Line xx, invalid PID loop time 'yy', range Line xx, PID loop time 'yy', not multiple of 8 An error was made in the PID/CONFIGURE instruction on base code line xx. Loop times are multiples of 8 ms, from 8 to 152. The value yy is not valid. Line xx, Data initialization 'yy', exceeds data range Line xx, variable block 'yy' exceeds variable allocation! An error was made in the VAR/INIT instruction on base code line xx. An attempt was made to initial variables beyond their range with yy. Increase size of variables in DATA/SIZE instruction. Line xx, Multiple configurations For PID loop yy An error was made in the PID/CONFIGURE instruction on base code line xx. More than one initialization found for PID yy. Line xx, PID control blocks overlapping yy An error was made in the PID/CONFIGURE instruction on base code line xx. A float variables control block overlaps another. Line xx, invalid PID argument yy An error was made in the PID/CONFIGURE instruction on base code line xx. Invalid set_point_type, feedback_type, or output_type found yy, valid range 1-4. Line xx, zone element 'yy' missing or entered with spaces! Line xx, zone element 'yy' unknown! An error was defining a zone element instruction on base code line xx. Invalid text found was yy. Line xx, Missing open parenthesis! An error was found in a mathematical expression on base code line xx. A closed parenthesis found without matching open. Line xx, invalid ELS Group number 'yy', range 1 8 An error was made in the ELS_GROUP instruction on base code line xx. Invalid group number found yy, valid range 1-8. Line xx, multiple ELS Master instructions found! A second ELS_MASTER instruction was found on base code line xx. Only one ELS_MASTER instruction is allowed per program. Line xx, multiple ELS Group yy instructions found! A second ELS_GROUP instruction for group yy was found on base code line xx. Only one ELS_GROUP instruction per group is allowed in a program.

198 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-21 Line xx, axis 'yy' found in multiple ELS Group instructions! A second ELS_GROUP instruction for axis yy was found on base code line xx. An axis can only be assigned to one ELS_GROUP. Line xx, invalid ELS Master number 'yy', range 1-6 An error was made in the ELS_MASTER instruction on base code line xx. Invalid master number found yy, valid range 1-6. Line xx, Valid modes are 0=axis, 1=ELS Master, 2=ELS Group! An error was made in the ROTARY/EVENT instruction on base code line xx. Valid modes are 0=axis, 1=ELS Master, 2=ELS Group Line xx, invalid Virtual Master number 'yy', range 1-2 An error was made in the V_MASTER instruction on base code line xx. Master number yy is not in the range 1-2. Line xx, Illegal syntax : syntax 'yy' is not allow at the moment. An error was made in the mathematical equation instruction or Calc icon on base code line xx. Syntax yy is not allowed in this sequence of terms. 'xxxx' - unresolved mark reference. The mark 'xxxx' was used as a destination in a branch or subroutine call, but was not found in the code. Check for possible spelling error or missing subroutine. Line xx, all probe types zero or not unique! The probe arguments are both zero or are the same. Line xx, argument 'yyyy' out of range! The argument 'yyyy' is out of range, check syntax in manual. Line xx, axes missing or not unique! In a AXES_GROUP command for ratioed axis, the slave axis argument is zero or is the same as the master axis. Line xx, axis number 'yyyy' out of range (wwww, xxxx, 1- zzzz). The axis number or label 'yyyy' has not been resolved to a valid number. The numbers 'wwww', 'xxxx', and range 1 to 'zzzz' are valid axis numbers. Line xx, bit number 'yyyy' out of range (1-16)! On line 'xx', the string 'yyyy' is evaluated to number outside of the valid range for register bits. Line xx, 'compare' arguments must be floats, integers, or constants! Compare arguments must be Fx, GFx, GIx, Ix or equivalent labels or constants. Compares are derived from "IF" statements in textual language programs or "BRANCH" icons in GUI programs.

199 7-22 Program Debugging and Monitoring VisualMotion 9 Application Manual Line xx, event element 'yyyy' missing or entered with spaces! On line 'xx', the compiler has not found a "]" in the event string 'yyyy'. It uses this to position to the start of the event element. The event element { s, t, d, a, f, m }must follow immediately. Line xx, event element 'yyyy' unknown! The event element 'yyyy' was not found in the event element table, check manual for exact syntax. Line xx, event EVT[].yy data is not changeable in program Line xx, event function 'yyyy' not found in program! The event function 'yyyy' was not found in the program. Check spelling and capitalization. Line xx, event message 'yyyy' must start with quotes! The compiler is expecting a quote to start the ASCII string for the event message, but did not find it. Line xx, event number 'yyyy' out of range! On line 'xx', the string 'yyyy' was evaluated to be out of the range for events defined for this program. Events and other variables are declared in the "DATA/SIZE" command in a textual language program or by the "SIZE" icon in GUI programs. Line xx, float number 'yyyy' conversion error! The string 'yyyy' for conversion to a float was determined to contain one of the following errors: No numeric characters. More than one exponent symbol E ('e'). More than two sign symbols'. More than one decimal point. Alpha characters other than E ('e'). Line xx, hex number 'yyyy' conversion error! On line 'xx', the string 'yyyy' is greater than 10 characters long or contains nonhexadecimal characters. Valid strings start with 0x and contain ASCII characters 0-9, A-F or a-f ( 0x1BF8 ). Line xx, integer number 'yyyy' conversion error! The string 'yyyy' for conversion to an integer was determined to contain one of the following errors: No numeric characters. Number of numeric characters exceed 10. The converted number exceeds 0x7FFFFFFF. Line xx, Invalid argument 'yyyy'! Line xx, Invalid cam number 'yyyy'! Range 1 to 8. The CAM number 'yyyy' was evaluated to be less than one or greater than 8.

200 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-23 Line xx, Invalid count or count plus register exceeds range! The count of registers to be transferred was evaluated to be less than one or when added to the starting register exceeds the maximum register range (512 registers for GPP). Line xx, Invalid Encoder type 'yyyy', 1=primary, 2=secondary! The ELS master encoder type 'yyyy' was evaluated to be less than one or greater than 2. Line xx, Invalid ELS type 'yyyy', range 1 to 4! The ELS type 'yyyy' was evaluated to be less than one or greater than 4. Line xx, Invalid sync type 'yyyy', 1=velocity, 2=phase, 3=cam! The ELS sync type 'yyyy' was evaluated to be less than one or greater than 3. Line xx, Invalid VME Address 'yyyy'! The VME address 'yyyy' was evaluated to be less than one or greater than 0xFCFEFFFF. Line xx, Invalid VME address width 'yyyy'! The address width 'yyyy' was not found in the table of VME address widths. { A16, "A24", "A32"} Line xx, Invalid VME byte order 'yyyy'! VME byte order 'yyyy' must start with 'I' or 'M', 'I' is for Intel order, 'M' is for Motorola. It can be a single character or the name, Intel or Motorola. It is case sensitive, so 'I' and 'M' must be capitalized. Line xx, Invalid VME count 'yyyy'! The count of VME objects to transfer 'yyyy' was evaluated to be less than one or greater than Line xx, Invalid VME data width 'yyyy'! The data width 'yyyy' was not found in the table of VME bus widths. { D32", "D16", "D8"} Line xx, Invalid VME data format 'yyyy'! The data format 'yyyy' was not found in the table of VME data formats. { I32", "I16", "I8", "U32", "U16", "U8", "F32", "POINT } Line xx, Left term 'yyyy' of equation must not be constant! A calculation must have a variable( Fx, GFx, GIx, Ix ) or changeable table element( ABS[1].x, EVT[3].d, etc. ) as its term to the left of the equal sign. Line xx, Maximum number of terms reached. When parsing the line 'xx', the number of terms exceeded 32. A term is one or more alphanumeric characters followed by a space, comma or other non-alphanumeric character. This error usually only occurs in

201 7-24 Program Debugging and Monitoring VisualMotion 9 Application Manual message statements with many short words. Try a message with fewer words. Line xx, Maximum size (20) of term exceeded! While parsing line 'xx' for arguments a string of more than 20 characters was encountered. Arguments and argument labels are limited to 20 characters. Check label length and use of commas between arguments. Line xx, Message exceeds 80 characters! The number of characters used in the message exceeds 80 characters. This count includes spaces. Line xx, missing argument(s)! One or more additional arguments were expected. Line xx, missing beginning quotes of message! On line 'xx', quotes were expected to denote the start of the message. Diagnostic, status and event messages are specified within quotes in textual language programs. Also, use quotes when using the "CALC" icon to set an event message. Line xx, missing closing bracket ']'! The closing bracket used to denote the end of the index of a data structure was not found. Line xx, missing closing curly brace '}'! The closing brace used to denote the end of initialization data for a data structure was not found. Other causes are extra arguments or the wrong character. Line xx, missing closing quotes of message! On line 'xx', quotes were expected to denote the end of the message. Diagnostic, status and event messages are specified within quotes in textual language programs. Also, use quotes when using the "CALC" icon to set an event message. Line xx, missing mark name! The argument of branch command does not start with an alpha character. Check for missing or misspelled argument. Line xx, Parameter <type> must be 'A', 'C', 'D' or 'T' The parameter class was not found to be 'A', 'C', 'D', 'T', or equivalent label. Check for missing or misspelled argument. Line xx, point element 'yyyy' missing or entered with spaces! On line 'xx', the compiler has not found a "]." in the point string 'yyyy'. It uses this to position to the start of the point element. The point element {x, y, z, b, s, a, d, j, e1, e2, e3, e4, r, p, ya, el} must follow immediately. Line xx, point element 'yyyy' unknown! The point element 'yyyy' was not found in the point element table, check manual for exact syntax. Line xx, register number 'yyyy' out of range (1-zzzz)! The register number 'yyyy' is less than one or greater than the maximum register 'zzzz'.

202 VisualMotion 9 Application Manual Program Debugging and Monitoring 7-25 Line xx, table or array index out of range 'yyyy'! The table or array index 'yyyy' is less than one or greater than the number declared by DATA/SIZE command or by the default declaration. Line xx, table or array label index out of range 'yyyy'! The table or array index label 'yyyy' is evaluated to be less than one or greater than number declared by DATA/SIZE command or by the default declaration. Line xx, Task must be 'A', 'B', 'C' or 'D'! The compiler is expecting a task argument (A, B, C, or D) and has not found it. This may result from a missing argument or arguments out of sequence. Line xx, too many arguments! More terms than expected were found following the command. Check for extra arguments, extra commas or terms with spaces in them. Line xx, unknown mnemonic operator - 'yyyy'! On line 'xx', the string 'yyyy' is assumed to be a command, but was not found in the list of valid commands. This error is most often generated from textual language programs when the command is misspelled or from incorrect syntax. Line xx, unknown or out of range variable 'yyyy'! On line 'xx', the string 'yyyy' is not of the type expected. Check for argument type(float where integer should be used, etc. ), or for missing or misspelled arguments. Line xx, unresolved index 'yyyy'! The index 'yyyy' could not be resolved, check for missing or misspelled label. Labels are case sensitive and cannot contain spaces. Line xx, unresolved index label 'yyyy'! The index label 'yyyy' could not be resolved to an integer or integer variable, check for missing or misspelled labels. Labels are case sensitive and cannot contain spaces. Line xx, unsupported data transfer! VME bus width 'yyyy', VME format 'zzzz', local The selected VME data transfer is not supported in this product. Check VME format and local format for possible erroneous selection. Line xx, Unsupported structure transfer! The data structures equated to each other are not of the same type. The data structure transfers supported are: Point to Point, Event to Event, and Zone to Zone. Line xx, Valid modes are 1=single axis, 2=ELS synchronized! The second argument of the "ELS/MODE" command is missing or out of range. This can also be generated if the first argument is invalid and appears as two or more arguments to the compiler. Line xx, variable table 'yyyy' index unknown! The closing bracket is missing or other delimiters found in the index term of a variable or register with index format.

203 7-26 Program Debugging and Monitoring VisualMotion 9 Application Manual Mark table filled - yyyy, reduce number of subroutine calls. The total number of marks used exceeds the table space provided. Marks are the location tags of the start of tasks, event functions and subroutines, or, the destination of a branch or Goto. Try to optimize your program to reduce the number of branches. If the problem persists, contact your Rexroth Indramat representative. Upon successful completion of the compile, the number of marks and labels used is displayed in the completion window. No main task (A, B, C, or D) found! After compiling the program, no marks were found for Task_A, Task_B, Task_C, or Task_D. One or more of these task marks must be used. If it's a textual language program, check spelling and the underscore. The marks for the main tasks are not case sensitive. Sequencing error in output file! While computing byte offsets for branches and subroutine calls, an unknown command op-code was encountered. This error can occur in a corrupted Windows memory system or a compiler bug. Try rebooting your computer and compiling again. If the problem persists, contact your Rexroth Indramat representative. Size of program exceeds compiler space! The compiler has 48k of space available for program development, this error occurs when that space is filled. Variables and tables are not included in this space. Try reworking your program to fit it in the space. Unable to allocate memory for compiler! The 2nd pass compiler uses a large block of memory (48K) allocated from the Windows operating system to build the program. When Windows fails to allocate this memory, this error occurs. Try closing other applications or rebooting Windows to free needed memory. Unable to open source file. This error is issued on failing to open the file "CLCCODE.TXT. Some possible causes are: File "CLCCODE.TXT" is not in the "\\Indramat\VisualMotion 8\" directory. This file is created by compiling a textual or icon program. The maximum number of files is already open. DOS file "CONFIG.SYS" configures the maximum number of files. The file is already open and cannot be shared. Write to file error! This error occurs when the number of bytes sent to the output file doesn't match the number of bytes written in the output file. Check for available hard drive disk space or write protection on the output file (\\Indramat\VisualMotion 8\project\*.exc).

204 VisualMotion 9 Application Manual Drive Tools Drive Tools 8.1 Overview VisualMotion 9 software, when used in combination with GPP9 Firmware, uses DriveTop, a software application designed for commissioning and configuring the drives. VisualMotion Toolkit scans the firmware for version level and runs the drive tool appropriate for that level. If firmware version GGP9 is detected, DriveTop is used. If an earlier version of GPP firmware, such as GPP8 or GPP7 is detected, the Drive Parameter Editor tool is used to commission the drives. For additional information on the Drive Parameter Editor, refer to VisualMotion 8 or earlier documentation. DriveTop VisualMotion 9 uses a modified version of DriveTop (09E10) software. Initial setup of the drive parameters must be performed in the control before complete drive parameterization can be done. During VisualMotion installation, DriveTop is automatically installed. DriveTop software is designed to commission drives through VisualMotion. DriveTop communicates with the PPC through the DDE server. Note: The version of DriveTop in VisualMotion 9 will overwrite any previous version of DriveTop installed on your computer with the user ID and password from the existing version of DriveTop. 8.2 Determining Drive Direction Before configuring the drives with DriveTop, check the drive direction in the jogging tool. To open the jogging tool in VisualMotion: 1. Place your project in online mode and transition the control from Parameter mode to manual mode. 2. Open the Jog, Project window by selecting Tools Jogging in the VisualMotion main menu. The drive position is indicated in the Position field (see Fig. 8-1) in inches or degrees depending on the whether the positioning mode of the axis is linear or rotary.

205 8-2 Drive Tools VisualMotion 9 Application Manual Jogging_Drive.tif Fig. 8-1: Jog, Project Window 3. Click and hold the jog direction buttons to move the axis. The velocity and distance of the jog are set in the Axis, System, and Task items in the Options menu. For additional information on jog settings, refer to the VisualMotion 9 Functional Description manual. Use the following steps for the set up procedure: 1. Compile and download your project to the control. 2. Set the online project in Parameter mode. 3. Transition the drive to operation mode (Phase 4, or AB / AF / AH in the drive) and then back to Parameter Mode. Transitioning the drive to phase 4 configures the drives with the correct operating modes, which will be reflected in the Operating mode selection window, see Fig Open DriveTop by selecting Commission Drive Overview. Drives_Project.tif Fig. 8-2: Drives Project Window When commissioning a drive for the first time, the DriveTop wizard can be used to guide you through the setup. The wizard is launched when the Commission button is selected in the Drives - Project window. For editing individual features of a configured drive, the menus in the Drive Status

206 VisualMotion 9 Application Manual Drive Tools 8-3 window can be used. The Drive Status window opens when the Overview button is selected. To launch the DriveTop wizard: 1. Click the Commission button in the Drives Project window. 2. Select Yes in the Warning message window, which indicates that the axis information in the project does not match the settings in the drive. 3. Click Next> in the Warning window indicating that parameters in the drive have been overwritten. 4. Verify your firmware, motor, and control version numbers and create a name for the drive axis in the Drive Controller window. Amplifier parameters can also be viewed through Drive Controller window. The read-only parameters are based on the system selections shown in the Drive Controller window. Only the switching frequency for the pulse width modulation circuit can be adjusted in this window. Increasing the frequency can reduce the noise in the drive. Settings for the current can be modified in the position limits and other limits windows available through Drive Functions Drive limitations. Drive_Controller_Setup.tif Fig. 8-3: Amplifier Parameters Selecting Next in the Drive controller window will open the next Drive Functions menu item window, the Operating Mode Selection window. The windows of the Drive Functions menu items are connected in series. Each window has a Next and Back button to move through them in the order that the items are listed in the Drive Functions menu.

207 8-4 Drive Tools VisualMotion 9 Application Manual Drive Operation Modes The Drive Operating modes window is displayed next in the sequence. This window displays the primary and secondary operating modes in the drop-down windows, see Fig operating_mode_selection.tif Fig. 8-4: Operating Mode Selection Window The settings in this window were applied when the project was placed in operation mode. These modes are read by the control when communication is established with the drive and should match the drive/control combination in your system. Because these values are used only by the control (stored in the control parameter S ), you cannot change them. If you attempt to select a different setting in this window, a notice will be issued, see Fig A description of the operating mode types is provided in the Functional Description manuals for the drive. Operating_Mode_Sel_Notice.tif Fig. 8-5: Control Parameter Notice Verify that the operation modes settings are correct. If they are not correct, it may be a result of not having transitioned your project to operating mode before commissioning DriveTop.

208 VisualMotion 9 Application Manual Drive Tools 8-5 Drive Scaling Information for the mechanical setup of the drive is entered in the Scaling/units window. To open the window: 1. Select Commission Drive Overview. 2. Click the Overview button to open the DriveTop Drive status window. DriveTop_Scaling.tif Fig. 8-6: Drive Functions Menu 3. Select Drive Functions Scaling. 4. In the Scaling/units window, adjust the position units to reverse the drive direction.

209 8-6 Drive Tools VisualMotion 9 Application Manual DriveTop_Scaling_Units.tif Fig. 8-7: Drive Scaling/units The default settings for the units of position, velocity, and acceleration can be changed by selecting the Advanced button. Changes in these parameters are picked up by the drive and may affect the position, velocity, and acceleration profile of the axis. Additional information about drive scaling can be found in the Functional Description manual for the drive. Homing the Drive The drive homing setup establishes a relationship between the position feedback of an absolute encoder to the machine s zero point. To setup drive homing, select Homing/set absolute measurement Motor encoder from the Drive Functions menu in DriveTop. The Homing/set absolute measurement window for the optional encoder has similar fields to the Motor encoder for setting up homing.

210 VisualMotion 9 Application Manual Drive Tools 8-7 Homing_Motor_Encoder.tif Fig. 8-8: Homing/set Absolute Measurement: Motor Encoder Absolute encoder monitoring window Absolute encoder monitoring compares the position saved during the last power down with the current absolute feedback value and displays the compared value in this field. This value is stored in drive parameter P Ref. Distance The value entered in this field is the distance between the machine zero-point and position feedback value 1. This value is stored in drive parameter S Position encoder value This field shows the current value of the position feedback. After the set absolute measurement procedure is completed, the value in this field (stored in drive parameter S ) should equal the value of the Ref. Distance.

211 8-8 Drive Tools VisualMotion 9 Application Manual Travel Limits for Software and Hardware (End Switches checking safety features of drive setup) The travel limits and end switches can be set in DriveTop through the Drive limitations, position limits window. Internal travel limits and external travel limit switches can be monitored by setting this capability in the window, see Fig Travel_Limits.tif Fig. 8-9: Drive limitations, position limits Window

212 VisualMotion 9 Application Manual Profibus Fieldbus Interface Profibus Fieldbus Interface 9.1 General Information Version Note: Information in this document is based on VisualMotion Toolkit software version 09VRS and PPC-R firmware version GPP09VRS. VisualMotion 9 software is downward compatible with GPP firmware, but, depending on the hardware platform selected, the type of fieldbus communication selection may be limited. The following table lists the fieldbus firmware versions and the available fieldbus interfaces for each version. Fieldbus Interfaces PPC-R GPP07VRS PPC-R GPP08VRS PPC-R GPP09VRS Profibus Table 9-1: Fieldbus Firmware Version and Interface Type PPC-P GMP09VRS No Fieldbus Support Note: For fieldbus hardware information, refer to the VisualMotion 9 Project Planning Manual. PPC-R System Description with a Fieldbus The PPC-R can operate on a serial fieldbus interface (network) by means of a fieldbus expansion card that communicates with the PPC-R via dualport RAM. The function of the fieldbus card is similar to that of a network card in a PC; it allows communication with other devices on the network. In Fig. 9-1, a typical fieldbus interface is illustrated with the following: Fieldbus Master - PLC fieldbus interface Fieldbus Slave - PPC-R fieldbus interface In this document, we will refer to the PLC as the fieldbus master and the PPC-R as the fieldbus slave.

213 Q1 Q2 I1 I2 I3 24Ve GNDe Bb Bb 24V GND 9-2 Profibus Fieldbus Interface VisualMotion 9 Application Manual Fieldbus Slave (Profibus) Indramat RECO H1 S1 D r i v e D r i v e SERCOS U1 RESET S2 H2 DIST TX RX U2 X1 X10 1 U3 X16 U4 I/O Fieldbus Cyclic Communication Fieldbus Master PLC 11 PPC-R02.x Communication between PPC-R and fieldbus via dual-port RAM (Update rate: every 4 ms) Fig. 9-1: Sample Master/Slave Setup with Fieldbus Card PPCR_02_profibus_sercos.FH7 The VisualMotion Fieldbus Mapper Data Transfer Direction (Output vs. Input) Fieldbus Data Channel Descriptions With the PPC-R, the fieldbus card can be used only as a slave card in a master/slave setup. In the VisualMotion software package, the Fieldbus Mapper is a tool used to set up fieldbus configuration and data mapping. Fieldbus hardware platform selections are made through the Fieldbus Mapper window with VisualMotion Toolkit in Service Mode. To select the Fieldbus hardware platform: 1. Open VisualMotion in Service Mode, indicated by the service mode symbol ( ) in the lower right corner of the VisualMotion Toolkit window. 2. Select Commission Fieldbus Mapper to open the FBMapper window. 3. Click or select File New to open the Fieldbus Slave Definition window. When a hardware platform is selected, only the fieldbus types available for that platform can be selected, see Table 9-1. In the VisualMotion Fieldbus Mapper, output and input are always described with respect to the fieldbus master. The definitions for output and input are: output: the communication from the PLC to the PPC-R (i.e. from the fieldbus master to the fieldbus slave). Synonyms for this type of communication: send or write data. input: the communication from the PPC-R to the PLC (i.e. from the fieldbus slave to the fieldbus master). Synonyms for this type of communication: receive or read data. The Bosch Rexroth Profibus fieldbus interface card for the PPC-R supports the cyclic (DP) channel, which is made up of the following two parts: Real-Time Channel (for single and multiplex channels) Parameter Channel (for systems requiring non-cyclic transmissions)

214 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-3 Cyclic (DP) Channel Cyclic data is user-defined. It is stored in two ordered lists (C for input data, C for output data) and transmitted serially over the bus. The cyclic data channel is limited to 64 input words and 64 output words. PPC-R data types consume these words in either one-word (or 16-bit) groups for PPC-R registers or two-word (or 32-bit) groups for all other data types. The PPC-R mapping list is scanned every 4 ms and data is sent and received to/from the fieldbus slave board's dual port RAM. The cyclic data channel can be made up of any combination of the following data types: Real-Time Channel Single Channel Multiplex Channel Parameter Channel word 31 word 0 Multiplex Channel Parameter Channel Real-Time Channel Cyclic (DP) Channel word 31 word 0 word 1 3 or 5 word 0 Multiplex Channel Only Real-Time Channel Cyclic (DP) Channel Basic Configurations word 31 word 0 Parameter Channel Only (NO Real-Time Channel) Cyclic (DP) Channel Single Channel Only Real-Time Channel Cyclic (DP) Channel word 31 word 0 word 31 word 0 MultiplexChannel Single Channel Single Channel Parameter Channel Real-Time Channel Cyclic (DP) Channel Real-Time Channel Cyclic (DP) Channel word 31 word 0 Multiplex Channel Single Channel Parameter Channel Real-Time Channel Cyclic (DP) Channel Fig. 9-2: Configuration Options for the Cyclic Data Channel

215 9-4 Profibus Fieldbus Interface VisualMotion 9 Application Manual The Real-Time Channel In the real-time channel, data is updated cyclically between the fieldbus master and slave. This channel contains two possible data types: single and multiplex. Cyclic Data: Types and Sizes The following table outlines the PPC-R data types that can be transmitted via the cyclic channel and the amount of space (in 16-bit data words) that each data type consumes. Note: The cyclic data mapping lists support only 16- and 32-bit data of the following types for reading and writing: - Integer - Float - Binary (used in control parameters) - Hex (used in control parameters) For all other data types (e.g. diagnostic messages - strings ), use the Parameter Channel. PPC-R Data Type Data Size (in 16-Bit Words) Register 1 Program Integer (currently active program ONLY *) 2 Program Float (currently active program ONLY *) 2 Global Integer 2 Global Float 2 Card Parameter 2 Axis Parameter 2 Task Parameter 2 Note: Drive parameters "S" or "P" cannot be transmitted cyclically because of the inherent delay of parameter access over the SERCOS service channel. See "Parameter Channel." However, if a drive parameter is mapped to an Axis Parameter, that Axis parameter could be used in cyclic data (see description of Axis Parameters in the VisualMotion Functional Description). * Important Note: Integers and floats are shown only for the currently active program. Each time you activate a new progam, the fieldbus reads/writes to the newly-activated program. Table 9-2: PPC-R Cyclic Data Types and Sizes Single Data Types Single data types are mapped directly in the cyclic mapping ordered lists (C , C ). The data types are updated every 4 ms via dualport RAM. Multiplex Data Types (Cyclic Data Channel) In some multi-axis applications, 64 words of cyclic data transfer are not sufficient to meet the requirement of the application. When insufficient data transfer space is available, multiplex data can be set up within the cyclic channel. One multiplex container acts as a placeholder for multiple possible PPC-R data types (all of the same word size). The currently transmitted PPC-R data type is based on an index value placed in a multiplex control or status word attached to the end of the cyclic list. Depending on the index specified by the master, the multiplex channel permits a different set of data within the cyclic channel to be transferred as current real-time data. Multiplex containers can be

216 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-5 added to the input and output lists separately, and the input and output indexes can be designated separately (in the control and status words). Note: Using the multiplex channel reduces the maximum number of usable words for storing control data to 63. The 64th word (or last used word, if fewer than 63 words) is used as the multiplex entry control/status word. Note: When using VisualMotion 9 with GPP 7 firmware, a maximum of 15 multiplex containers and a maximum of 180 mapping items can be transmitted in the input or output list. This limitation of mapping objects means that you cannot multiplex all 15 containers with all 32 available indexes (=480 items). For VisualMotion 9 with GPP 8 or 9 firmware, there is no limitation for multiplexing (each of the first 63 words may be multiplexed with up to 32 indexes). Word 63 Word 62 Word 61 Word 60 Word 59 Word 58 Word 57 Word 56 Word Word 5 Word 4 Word 3 Word 2 Word 1 Word 0 32-bit 16-bit 16-bit 16-bit 16-bit 16-bit 32-bit 32-bit 32-bit 32-bit multiplex multiplex multiplex control/status container multiplex container multiplex container multiplex container word container... single item single item single item single item Index 0 Index 0 Index 0 Index 0 Index 0 Index 1 Index 1 Index 1 Index 1 Index 1 Index 2 Index 2 Index 2 Index 2 Index Index 31 Index 31 Index 31 Index 31 Index 31 Fig. 9-3: Sample Command (PLC PPC-R) or Response (PPC-R PLC) The multiplex control and status words serve to command and acknowledge multiplex data transferred between the fieldbus master and the fieldbus slave. The control word is associated with output communication (PLC PPC-R). The status word is associated with input communication (PPC-R PLC). Single data items are not affected by the multiplex control and status words. Note: For specific information about how the fieldbus master uses the multiplex control and status words, refer to Multiplexing on page 9-18.

217 9-6 Profibus Fieldbus Interface VisualMotion 9 Application Manual Example 1 Example 2 Example 3 Cyclic Channel 12 words non-multiplexed data PLC Memory Cyclic Channel 12 words non-multiplexed data PLC Memory Cyclic Channel 12 words non-multiplexed data PLC Memory Multiplex Multiplex Multiplex Container 1 Container 1 Container 1 Multiplex Multiplex Multiplex Container 2 Container 2 Container 2 Multiplex Multiplex Multiplex Container 3 Container 3 Container 3 Index 00 Index 01 Index 02 Multiplexing control / status word Fig. 9-4: Examples for Reading Data via the Multiplex Channel multiplexing.fh7 Parameter Channel For Profibus systems using the PPC-R/VisualMotion configuration, a subset of the cyclic (DP) channel can be allocated for non-cyclic communications (e.g. parameterization and extended diagnostic information). This subset of the cyclic channel is called the Parameter Channel. Note: The Parameter Channel is always allocated as the first 2, 4 or 6 words of the Profibus cyclic (DP) channel. The length of the Parameter Channel plus the length of the Real-time Channel used to exchange cyclic data represents the entire length of the DP channel (maximum total length: 64 words). Refer to Fig. 9-2 for DP channel configuration options. Two messaging formats are available in the Parameter Channel, to allow for a varying degree of implementation, depending on application requirements: Short Format 3- messaging format that provides direct access to Rexroth mapped objects (Registers, Global Floats, Global Integers, Floats, Integers, as well as Card, Axis, Task, and Drive S and P parameters). Note: List parameters can be accessed using the Data Exchange Object. For further explanation of how this format functions, refer to Messaging Formats on page VisualMotion ASCII Format- provided for backward-compatibility with previous VisualMotion versions. For specific information about this format, refer to the VisualMotion 9 Functional Description manual.

218 VisualMotion 9 Application Manual Profibus Fieldbus Interface Fieldbus Mapper Functionality Initializing the Fieldbus Mapper from VisualMotion 9 Project Mode When configuring a new Fieldbus Mapper, the procedure will vary depending on the mode of VisualMotion. To configure a Fieldbus Mapper in Project mode: 1. Open an existing program or create a new program. You must be using PPC-R hardware with GPP firmware to use the Fieldbus Mapper described in this document. 2. Select Commission Fieldbus Mapper. The main Fieldbus Mapper window opens empty (refer to Fig. 9-5). Fig. 9-5: FBMapper Project Window FB_Mapper_New.tif Service Mode 3. Click or select File New. A setup wizard goes through three steps: Fieldbus Slave Definition Fieldbus Slave Configuration Cyclic Data Configuration 4. Enter the information requested in the setup windows. For more details on each step, refer to Fieldbus Slave Definition, Fieldbus Slave Configuration, and Cyclic Data Configuration for detailed information about each configuration step. 5. Save the file (automatically has a *.prm extension) to the project folder on the computer if you are in offline mode If you are in online mode, download the configured Fielbus Mapper to the control. If you are offline, the configured Fielbus Mapper is saved to the project file. If you are online, download the configured Fieldbus Mapper to the control and synchronize project. When editing an existing Fieldbus Mapper, refer to the Programming chapter for information on how commissioning tools are handled in Project Mode, online and offline, and in Service mode. If you are configuring a new Fieldbus Mapper while VisualMotion is in Service mode, the Fieldbus Mapper window will open empty when commissioned. After configuring the new Fieldbus Mapper, download the data to the control. Selecting File Save will save the configured Fieldbus Mapper to a separate file from the project file. To bring the Fieldbus Mapper file into the project, use the import procedure: 1. Select File Import. 2. Browse to find the desired file (*.prm extension).

219 9-8 Profibus Fieldbus Interface VisualMotion 9 Application Manual 3. Click Open. The main Fieldbus Mapper window appears, which lists the configuration information. Refer to Fig. 9-6 below. Editing a Fieldbus Mapper Fig. 9-6: FBMapper-Project Window FB_Mapper_Main.tif To Add/Insert, Edit, or Delete an item in a Fieldbus Mapper file, open the Selected Mapping List menu from the Edit menu (refer to Fig. 9-7 below). For more information about each step, refer to Fieldbus Slave Definition, Fieldbus Slave Configuration, and Cyclic Data Configuration for detailed information about each configuration step. Fig. 9-7: Fieldbus Mapper Edit Menu FB_Mapper_Edit_Menu.tif Note: You can also directly add, insert, delete, edit an item, or create a new list by: clicking on the item to be edited in the main Fieldbus Mapper window and selecting the desired function under Edit Selected Mapping List OR right-clicking on an item to display a menu of functions Fieldbus Slave Definition To configure a Fieldbus Slave, select the fieldbus type and hardware platform in the Fieldbus Slave Definition window, see Fig Refer to Table 9-1 for a list of the hardware platforms available for Profibus. The

220 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-9 hardware platform can only be selected when VisualMotion is in Unsynchronized mode. Fig. 9-8: Fieldbus Slave Definition Window FB_Mapper_Profibus.tif Fieldbus Slave Configuration The Profibus Fieldbus Slave Configuration window is shown in Fig. 9-9 below. Fig. 9-9: Fieldbus Slave Configuration FB_Slave_Config_PB.tif Standard Fieldbus Configuration Options: Fieldbus Error Reaction: Device Address (0-125): set to a unique number for the devices on the bus Parameter Channel Length (words): set to 0 (Off), 2, 4 or 6 words. If 2, 4 or 6 words are selected, these are automatically allocated for the Parameter Channel in the Cyclic Data Input and Output Lists. Set the Error Reaction to Shutdown (default), Warning or Ignore. Refer to Fieldbus/PLC Cyclic Read/Write Monitoring Monitoring of Fieldbus read/write capabilities to the cyclic channel are associated with three parameters: C Fieldbus/PLC Cyclic Channel: Current Number of Misses displays the current number of transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Peak Number of Misses displays the maximum number of missed transfers to/from the cyclic channel.

221 9-10 Profibus Fieldbus Interface VisualMotion 9 Application Manual Advanced Configuration Options C Fieldbus/PLC Cyclic Channel: Timeout Counter displays the number of timeouts in the cyclic channel. If after 4 ms, the Cyclic Mapping Lists are not successfully transmitted, a "miss" is noted. For more information about these parameters, see the VisualMotion 9 Functional Description manual. Fieldbus Error Reaction on page 9-16 for detailed information about each setting. The Advanced Options field is shown only if the checkbox next to Show Advanced Configuration Options is checked (refer to Fig below). In most cases, the default options should apply. FB_Slave_Config_PB_Adv.tif Fig. 9-10: Fieldbus Slave Configuration: Advanced Cyclic Data Configuration Multiplex Method: select Primary or Secondary (Primary is the default). Select Secondary only if you have an inconsistent fieldbus master. Refer to Multiplexing on page 9-18 for detailed information about each method. An example of the Cyclic Data Configuration window is shown in Fig below. In this window, four words have been allocated for the Parameter Channel (optional for Profibus fieldbuses only). If you are editing an existing Fieldbus Mapper file, the list will probably contain more items. First, you must select the Cyclic Input List (from PPC-R to PLC) or the Cyclic Output List (from PLC to PPC-R). Fig. 9-11: Cyclic Data Configuration Cyclic_Data_Config.tif

222 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-11 Adding an Item to the List 1. Select the Cyclic Input List or the Cyclic Output List. 2. Click Add. The window in Fig is displayed. Select the Data Type (for example, Register). Fig. 9-12: Add Item to Cyclic Data Cyclic_Data_Add.tif 3. Enter the required information (for example Register Number) or select it from the drop-down list. Only the available data types for your designated VisualMotion hardware setup and fieldbus type are listed. 4. Click OK to add the selected item to the list. Adding Multiplex Containers to the List 1. Select the Cyclic Input List or the Cyclic Output List. 2. Click Add. 3. In the Add Item window under Select the Data Type, select Multiplex Container 16-bit (for Registers) or Multiplex Container 32-bit (for all other data types). Note: At this point, the Multiplex Containers do not yet contain any items. To add multiplex items, refer to below. Adding Items to an Empty Multiplex Container 1. In the Cyclic Data Configuration window, select the multiplex container to which you want to add items. 2. Click Add. The window in Fig below appears. Because it is unclear whether you would like to add to the list or to the multiplex container, the Fieldbus Mapper is requesting clarification.

223 9-12 Profibus Fieldbus Interface VisualMotion 9 Application Manual Fig. 9-13: Add Item or Multiplex Item Window Add_Multiplex.tif Note: For subsequent items, highlight any of the indexes within the multiplex container before clicking Add, and the Fieldbus Mapper will know you want to add to that container. 3. To add to the selected multiplex container, click No. The window in Fig below is an example for adding a 32-bit multiplex item. 4. Select the desired item to be added to the multiplex container in the Add 32-bit Multiplex Item window. Fig. 9-14: Select Data Type for Multiplex Item Add_Multiplex_Item.tif Note: In addition to the data types that can be added to the multiplex list, an empty item called Multiplex Empty Item is available to fill a space within the multiplex container, if nothing is to be mapped to a particular index.

224 VisualMotion 9 Application Manual Profibus Fieldbus Interface Click OK. The item is automatically placed in the multiplex container as the next unassigned index item (e.g. the first item is index 00, the last is index 31). 6. Repeat for as many items as you want to add to the multiplex container, up to 32 items. Editing the Cyclic Data Lists To make changes to an existing list, use the following buttons: Button Function Inserts a new item at the end of the list. Inserts a new item into the list directly before the selected item. Removes the selected item from the list. Allows editing of the selected item. (To edit a list item, you may also double-click on it.) Clears up the current list. Table 9-3: Button Functions in the Cyclic Data Configuration Window Additional Functions Several additional functions are available in the Fieldbus Mapper: Menu Item Function Print Print the current fieldbus configuration data. Print Preview Preview the printout of the current fieldbus configuration data Print Setup Configure printer settings Table 9-4: Additional Functions

225 9-14 Profibus Fieldbus Interface VisualMotion 9 Application Manual Getting the Fieldbus Configuration from the PPC After getting the fieldbus configuration from the PPC while in Service Mode or Project mode (online), the following information is detected by the system and appears in the configuration list: Fieldbus Type Found Fieldbus FW (Firmware) Version GPP Control FW (Firmware) Version An example is shown in Fig below. Fig. 9-15: On-Line Fieldbus Configuration Information FB_Mapper_Online.tif

226 VisualMotion 9 Application Manual Profibus Fieldbus Interface Information for the GPP Programmer Fieldbus Status VisualMotion Register 19 holds the information for "Fieldbus Status." The register information can be referenced in a VisualMotion application program to respond to the status of each bit. The use of these bits is application-dependent. Table 9-5 below contains the bit assignment for the diagnostic object 5ff2. The assigned bits are labeled with "x" and the bit number in the second row. Unassigned bits are labeled with "---." x x5 x4 --- x2 x1 Table 9-5: Bit Assignment for VisualMotion Register 19 x1, x2 Bit Definitions Status bits for the internal DPR (Dual-Port RAM) communication between the fieldbus slave and the PPC-R: x1: FB Init. OK, LSB (least significant bit) x2: FB Init. OK, MSB (most significant bit) The bit combinations for x1 and x2 are as follows: Bit 2 (PPC-R) Bit 1 (Fieldbus) Description 0 0 A reset has been executed on the DPR, or neither the PPC-R nor the fieldbus card have initialized the DPR. 0 1 The DPR is initialized by the fieldbus card, but not yet by the PPC-R. 1 0 The DPR initialization is complete. DPR has been initialized by the fieldbus card and PPC-R. Fieldbus to PPC-R communications system is ready. 1 1 Fieldbus to PPC-R communications system is ready. Table 9-6: Possible Settings for Bits 1 and 2, Status Bits for DPR Communication x4 Status bit for the active bus capabilities of the fieldbus slaves (FB Slave Ready) This bit is monitored for the Fieldbus Error Reaction. Whenever this bit goes to 0 after a fieldbus card was initially found by the PPC-R, the selected Error Reaction (system shutdown, error message, or ignore) is initiated. Refer to Fieldbus/PLC Cyclic Read/Write Monitoring Monitoring of Fieldbus read/write capabilities to the cyclic channel are associated with three parameters: C Fieldbus/PLC Cyclic Channel: Current Number of Misses displays the current number of transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Peak Number of Misses displays the maximum number of missed transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Timeout Counter displays the number of timeouts in the cyclic channel. If after 4 ms, the Cyclic Mapping Lists are not successfully transmitted, a "miss" is noted. For more information about these parameters, see the VisualMotion 9 Functional Description manual.

227 9-16 Profibus Fieldbus Interface VisualMotion 9 Application Manual x5 x15 Fieldbus Diagnostics Fieldbus Error Reaction on page 9-16 for an explanation of the Fieldbus Error Reaction setting. 0--> The fieldbus slave is not (yet) ready for data exchange. 1--> The fieldbus slave can actively participate on the bus. Status bit for the non-cyclic channel (Parameter Channel) (Non-Cyc Ready) 0--> The non-cyclic channel (Parameter Channel) cannot (yet) be used. 1--> The non-cyclic channel (Parameter Channel) is ready for use by the fieldbus master. Status bit for the cyclic data output (Cyclic Data Valid): 0--> The cyclic data outputs (coming in to the PPC-R) are INVALID. 1--> The cyclic data outputs (coming in to the PPC-R) are VALID. The system looks for this bit to be 1 before allowing data transfer. VisualMotion Register 20 holds the information for "Fieldbus Diagnostics." Table 9-7 below contains the bit assignment for fieldbus diagnostics. The assigned bits are labeled with "x" and the bit number in the second row. Unassigned bits are labeled with "---." X16 x15 x14 x Table 9-7: Bit Assignment for VisualMotion Register 20 x13 - x16 Bit Definitions Identification of the fieldbus interface card (FB Card Found) The bit combinations for x13, x14 and x15 are as follows: Bit 16 Bit 15 Bit 14 Bit 13 Fieldbus Type <NO CARD> <Not Defined> Interbus DeviceNet Profibus ControlNet <Not Defined> EtherNet/IP (10 MB) Indramat PLC Interface Table 9-8: Identification of the Fieldbus Interface Fieldbus/PLC Cyclic Read/Write Monitoring Monitoring of Fieldbus read/write capabilities to the cyclic channel are associated with three parameters: C Fieldbus/PLC Cyclic Channel: Current Number of Misses displays the current number of transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Peak Number of Misses displays the maximum number of missed transfers to/from the cyclic channel.

228 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-17 Fieldbus Error Reaction C Fieldbus/PLC Cyclic Channel: Timeout Counter displays the number of timeouts in the cyclic channel. If after 4 ms, the Cyclic Mapping Lists are not successfully transmitted, a "miss" is noted. For more information about these parameters, see the VisualMotion 9 Functional Description manual. Note: The Fieldbus Error Reaction setting is active only in SERCOS Phase 4. In all other SERCOS phases, it will be inactive. You can select how you would like the PPC-R system to react in case of a fieldbus error. This reaction can be set in the "Fieldbus Slave Configuration" window, using the combo box labeled "Fieldbus Error Reaction." Three options are available for the Error Reaction setting. Depending on the selected setting, the value 0, 1, or 2 is stored in Parameter C : Setting Shutdown 0 (default) Warning Only 1 Ignore 2 Value in Parameter C Table 9-9: Parameter C Values for Error Reaction Settings Fieldbus Mapper Timeout The Fieldbus Mapper continually scans the system for sufficient resources to process the cyclic data mapping lists (2600 and 2601 lists). If 10 out of 10 consecutive attempts of the mapping list updates are incomplete, the system is considered to have insufficient resources and the selected error reaction is evoked, as follows: If "Shutdown" (0) is set in Parameter C , the following error is generated from the PPC-R card: 520 Fieldbus Mapper Timeout If "Warning Only" (1) is set in Parameter C , the following error is generated: 209 Fieldbus Mapper Timeout If "Ignore" (2) is set in Parameter C , the system will update as resources become available, but there is no way to monitor whether or not updates actually occur. Lost Fieldbus Connection Register 19, bit 4 indicates the status of the fieldbus. Refer to Fieldbus Status on page 9-15 for more specific bit information. The system monitors this bit and evokes the selected error reaction if the bit is low (0), after a fieldbus card is found. A typical situation that will cause this condition is the disconnection of the fieldbus cable from the fieldbus card. If "Shutdown Control" (0) is set in Parameter C , the following error is generated from the PPC-R (active in SERCOS Phase 4 only): 519 Lost Fieldbus Connection If "Warning Only" (1) is set in Parameter C , the following error is generated (active in SERCOS Phase 4 only): 208 Lost Fieldbus Connection

229 9-18 Profibus Fieldbus Interface VisualMotion 9 Application Manual If "Ignore" (2) is set in Parameter C , there is no noticeable reaction when Register 19 status bits go low, unless the GPP application program is customized to evoke a special reaction. Troubleshooting Tip: If a fieldbus card is not found on the system, the Error Reaction setting will be ignored. If you have a fieldbus card and the Error Reaction is not responding as expected, the system may not "see" your fieldbus card. 9.4 Information for the PLC Programmer *.gsd File Bosch Rexroth supplies a *.gsd file on the VisualMotion 9 CD containing supporting information for the PPC-R with a Profibus slave configuration. Contact a Rexroth technical representative for the location of this file. Multiplexing Primary Multiplex Method (for Consistent Masters only) Important: You should not use the Primary Multiplex Method for a master that is not consistent over the entire cyclic channel. The Secondary Multiplex Method is available for inconsistent masters. Refer to Secondary Multiplex Method (for Inconsistent Masters) on page The advantage of the Primary Method is easier handling of input data for consistent masters. Control Word Control Word and Status Word The control word is transferred in the multiplex channel from master to slave. It tells the slave in which index the data is being transferred from master to slave and in which index the data is requested from slave to master. Multiplex Input Control Byte Multiplex Output Control Byte Multiplex Input Control Index (index_in_c) (defines the input index command for multiplexing) Write Request Toggle Bit (WR) (initiates the write command once each time it is toggled) Multiplex Output Control Index (index_out_c) (defines the output index command for multiplexing) Fig. 9-16: Control Word Definition, Primary Multiplex Method Index_out_c: tells the slave in which index the data are transferred from master to slave (out = master -> slave, _c = element of control word). Index_in_c: tells the slave in which index the data is requested from slave to master (in = slave -> master, _c = element of control word).

230 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-19 WR (Write Request): handshake bit (refer to meaning of WR and WA). Note: Input data via the Multiplex Channel is continually being updated. Status Word Multiplex Input Status Byte Multiplex Output Status Byte Multiplex Input Status Index (index_in_s) (confirms that the input index response location matches that of the command location) Write Request Acknowledge Bit (WA) (checks that the write data has been read once each time it is toggled) Multiplex Output Status Index (index_out_s) (confirms that the output index response location matches that of the command location) Fig. 9-17: Status Word Definition, Primary Multiplex Method Index_out_s: acknowledges index written by the master (out = master -> slave, _s = element of status word). Index_in_s: tells the master which index is transferred from slave to master in the actual process data cycle (in = slave -> master, _s = element of status word). WA (Write Acknowledge): Handshake bit (refer to meaning of WR and WA). Handshake Bits WR and WA WR and WA are handshake bits that allow the controlled writing of data via the multiplex channel. WR and WA control the data transfer for writing data_out (data send from master to slave). WR == WA: tells the master that the slave has received the last multiplex data_out. The master can now send new data_out. tells the slave to do nothing, because the master has not yet put new consistent data_out on the bus. WR! = WA: tells the slave to do something, because the master has now put consistent new data_out on bus. tells the master to do nothing, because the slave has not yet received the latest multiplex data_out.

231 9-20 Profibus Fieldbus Interface VisualMotion 9 Application Manual Master Communications (Primary Multiplex Method) Begin Control word =0 Index_in_c == Index_in_s? No Yes Read Data_in Read Index_in_s, Read Data_in, Write Index_in_c WR == WA? No Yes Write Data_out Write Data_out, Write Index_out_c, Toggle RT (Set WR = ~WA) Fig. 9-18: Primary Multiplex Method, Master Communications Programming Example To aid in implementing the multiplex function in a PLC program, the following flow chart shows two ways of reading and writing data. Reading and writing can be executed separately, which allows the input data to be updated about 30% faster. The Read Data example would be placed at the beginning of a PLC program the Write Data example at the end. Combined reading and writing makes the PLC program simpler, especially when using the same index for both transfer actions.

232 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-21 Write Data Read Data Read / Write Data 1st PLC Cycle Write Output Data to Multiplex Container(s) Write Output Index Toggle Write Request Bit Write Input Index Write Output Data to Multiplex Container(s) Write Input and Output Indexes Toggle Write Request Bit 2nd PLC Cycle NO M'plex Output Control Byte = M'plex Output Status Byte? YES NO M'plex Input Control Byte = M'plex Input Status Byte? YES NO M'plex Control Word = M'plex Status Word? YES Read and Store Input Data from M'plex Container(s) Read and Store Input Data from M'plex Container(s) multiplexing flow chart.fh7 Fig. 9-19: Flow Chart of Multiplex Programming Examples (Primary Method) Secondary Multiplex Method (for Inconsistent Masters) Explanation of the Master Consistency Problem The PPC-R fieldbus slave interfaces can guarantee consistency, however, some fieldbus masters can only guarantee byte, word, or double word consistency. Therefore, it is necessary to have a second multiplex method where both input data and output data require the handshake bits to update via the fieldbus. Note: The meanings of the control and status words are the same as for the Primary Multiplex Method. The only difference is the toggle bits RR and RA, which are used in the Secondary Method. Fig below illustrates the control word definition for the Secondary Multiplex Method.

233 9-22 Profibus Fieldbus Interface VisualMotion 9 Application Manual Multiplex Input Control Byte Multiplex Output Control Byte RR see definition under Handshake Bits WR / WA and RR / RA (Secondary Method only) Multiplex Input Control Index (index_in_c) (defines the input index command for multiplexing) Write Request Toggle Bit (WR) (initiates the write command once each time it is toggled) Multiplex Output Control Index (index_out_c) (defines the output index command for multiplexing) Fig. 9-20: Control Word Definition, Secondary Multiplex Method Multiplex Input Status Byte Multiplex Output Status Byte RA see definition under Handshake Bits WR / WA and RR / RA (Secondary Method only) Multiplex Input Status Index (index_in_s) (confirms that the input index response location matches that of the command location) Write Request Acknowledge Bit (WA) (checks that the write data has been read once each time it is toggled) Multiplex Output Status Index (index_out_s) (confirms that the output index response location matches that of the command location) Fig. 9-21: Status Word Definition, Secondary Multiplex Method The Secondary Multiplex Method has the following features: You can transfer a different index from master to slave as from slave to master. The handshake bits for both reading and writing of this multiplex channel make the multiplexing possible on inconsistent systems (masters). Handshake Bits RR and RA RR (Read Request) and RA (Read Acknowledge) are handshake bits that allow a controlled data transfer and use of the multiplex channel on inconsistent masters. RR and RA control the data transfer for reading data_in (data send from slave to master). RR == RA: tells the master that the slave has sent the requested data_in. The master can now read the data_in and request new data_in. tells the slave to do nothing, because the master has not yet put new consistent data on the bus. RR!= RA: tells the slave to put new data_in on the bus, because the master requests new data_in. tells the master to do nothing, because the slave has not yet put the latest requested multiplex data_in on the bus.

234 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-23 Master Communications (Secondary Multiplex Method) Begin Control Word =0 RR==RA? No Yes Read Data_in Read Index_in_s, Read Data_in, Write Index_in_c Toggle RRT (Set RR = ~RA) WR == WA? No Yes Write Data_out Write Data_out, Write Index_out_c, Toggle WRT (Set WR = ~WA) *1 there may be different ways to achieve consistency, depending on the master Fig. 9-22: Secondary Multiplex Method, Master Communications For some masters, it could be enough to first write data and then the control word. For other masters, you may have to implement a delay time (this time could be different from master to master) before writing WR = ~WA. Non-Cyclic Data Access via the Parameter Channel Important: The fieldbus master's access of the cyclic channel must be consistent over the entire length of the assigned Parameter Channel in order to establish reliable Parameter Channel communications. To support the configuration of drives and the access to parameters through the Profibus DP channel, Rexroth has established the Parameter Channel. If the Parameter Channel is used with the PPC-R, the first 2, 4 or 6 data words of the cyclic channel for the slave board must be allocated for noncyclic transmissions. Cyclic Data Channel (DP) up to 64 words total Word 31 Real-Time Channel (62, 60 or 58 words of single / multiplex data available) Parameter Channel (2, 4 or 6 words consumed) Word 0 Word 5 Word 4 Word 3 Word 2 Word 1 Word 0 optional Control/Status Word Fig. 9-23: The Parameter Channel inside the Profibus DP Channel

235 9-24 Profibus Fieldbus Interface VisualMotion 9 Application Manual Messaging Formats Two messaging formats are available in the Parameter Channel: Short Format 3 VisualMotion ASCII Format - This format is provided for backwardcompatibility with VisualMotion 6.0 / GPS firmware. For detailed information, refer to the VisualMotion 6.0 Startup Guide. Short Format 3: General Explanation To read or write a VisualMotion data type non-cyclically, a protocol is used inside the Parameter Channel. The protocol requires one word of the Parameter Channel for protocol functions. Thus, depending on the channel length 1, 3, or 5 data words can be transferred in one cycle. The protocol supports multiple transmissions, but the maximum length of data that can be transferred from or to an object is 128 bytes. Short Format 3 Data Transfer The following methods for transferring data are available in Short Format 3: Mapped Data Data Exchange Objects Mapped Data Mapped data is the most powerful feature of the PPC-R non-cyclic fieldbus interface. Through mapped data, the user has access to virtually every PPC-R data type over the fieldbus. It is easy to implement from the PLC side and requires no setup on the PPC-R side. To access a data type over the fieldbus, it has to be specified by an address that consists of an index and a subindex. The index and subindex for each data type can be calculated by a formula (refer to Accessing Mapped Data on page 9-34).

236 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-25 Index Fieldbus Objects 0x2001 0x2002 0x3001 0x3002 0x4001 0x4002 SubIndex S-1 Visual Motion Data S- Parameters S-4095 P-1 P- Parameters P-4095 A-1 Axis- Parameters A-2047 Drive # Axis # Fig. 9-24: Mapped Data object_mapping_pb_ib.fh7 Mapped data can be used with the following parameters and values: S-Parameters (SERCOS Drive S-Parameters) P-Parameters (SERCOS Drive P-Parameters) A-Parameters (PPC Axis Parameters) C-Parameters (PPC Control parameters) T-Parameters (PPC Task parameters) size and format depend on parameter *,1 PF-Values (PPC Program Float data, 32 bit 2 words, IEEE format) *,2 GI-Values (PPC Global Integer data, 32 bit 2 words) *,2 GF-Values (PPC Global Float data, 32 bit 2 words, IEEE format) *,2 PI-Values (PPC Program Integer data, 32 bit 2 words) *,2 Reg.-Values (PPC Register data, 16 bit 1 word) *,3 Data Exchange Objects (0x5E70 0x5E73) (embedded ASCII Protocol) *You may notice that parameters accessed via the non-cyclic (Parameter) channel are not always the same size as reported from the attribute field. This is so that the data sizes correspond with the way the different data types are handled in the cyclic channel (Registers are always set to 16-bit size and Parameters are cast to 32- bit size, even if they actually use less space). 1. When writing mapped data to a VisualMotion Parameter, you must send the size data corresponding to that of the attribute field within the parameter. a.) For 32-bit parameters, you must send a data size of 32 bits (otherwise, VM error #07 is returned). b.) For 16-bit parameters, you must send a data of size 16-bits. If, for this case, you send data of size 32 bits, one of the following occurs: i.) For parameters of type 16-bit unsigned, only the Low word is stored, and the High word is ignored. ii.) For parameters of type 16-bit signed, bits 0-14 of the low word along with the sign bit #31 are used, and the remaining bits are ignored. c.) For String Parameters (e.g. S ), you must send the size of the string to write.

237 9-26 Profibus Fieldbus Interface VisualMotion 9 Application Manual d.) All other Parameter Types (list parameters, command parameters, etc), are not supported for mapped data. When reading mapped data from a VisualMotion Parameter, there are 3 possible cases of sizes returned: a.) If the parameter type is a string, you receive the number of bytes corresponding to the length of the string. b.) If the parameter is 32-bit or less, you receive a cast 32-bit value for this parameter. This implies that 16-bit parameters are returned as cast in to 32-bit values. c.) All other parameter types (e.g. list parameters, command parameters, etc.), are not supported for mapped data. 2. When writing mapped data to a VisualMotion Program Float, Program Integer, Global Float, or Global Integer, the data size must be 32-bits (2 words). Any other size returns a VM error #07 (Invalid Data Format). When reading mapped data from a VisualMotion Program Float, Program Integer, Global Float, or Global Integer, the data size returned is always 32-bit (2 words). 3. When writing mapped data to a VisualMotion Register, the data must be 16-bits (1 word). Any other size returns a VM error #07 (Invalid Data Format). When reading mapped data from a VisualMotion Register, the data size returned is always 16-bit (1 word). User Data Header Object Index User Data Header Object SubIndex The index refers to the particular fieldbus slave object that a VisualMotion data type is (automatically) mapped. This object allows for simple, indirect access to VisualMotion data types, and it is combined with the subindex to create a direct relationship to the VisualMotion data types. The available objects can be calculated using the formulas in Accessing Mapped Data on page The subindex refers to an additional piece of information necessary to obtain direct access to VisualMotion data types. The reference of the subindex depends on the data type in question. For example, the SubIndex refers to the drive number when accessing S and P parameters. However, the subindex refers to the task number when referring to task parameters. The available subindex ranges can be calculated using the formulas in Accessing Mapped Data on page Data Exchange Objects The four data exchange objects 5E70 to 5E73 represent fixed data "containers" of varying lengths that transfer the VisualMotion ASCII Protocol to the PPC-R card. These objects serve as an open-ended possibility to access any VisualMotion data (including cams, diagnostic text, etc.), but more work is required in the master to perform a transmission of this type. Both the VisualMotion ASCII message and the fieldbus transfer message must be formulated. Table 9-10 lists the available data exchange objects and their sizes. Data Exchange Object Data Length (in bytes) 5E E E E Table 9-10: Length of the Data Exchange Objects PK Control Word Short Format 3 Parameter Channel (PK) Control and Status Words The PK control word is sent from the master to the slave. It is 16 bits wide and the individual bits have the following meanings:

238 VisualMotion 9 Application Manual Profibus Fieldbus Interface Fig. 9-25: Bits of the PK Control Word Format Length Toggle not used Last Bit not used R/W Bit not used not used C1 Bit Format: These bits describe the usage and meaning of the following data words in the Parameter Channel. Their value is fixed to 1100 b. Length: These four bits specify the length of the valid data in bytes, without the control word. The data in the rest of the Parameter Channel is undefined. Toggle: This bit toggles with every new set of sent data. It is used for a handshake between master and slave. The master is only allowed to toggle this bit when the toggle bit in the status word has the same level as the toggle bit sent in the control word. L: Last bit. This bit is set when the last fragment of a data block is sent. R/W: Read/Write; Read = 1, indicates that the master wants to read data. C1: This bit is used to distinguish between the old and new handling of the Parameter Channel. For the new handling (e.g. Short Format 3), it is fixed to 1 Note: Bits that are not used are set to 0. PK Status Word The PK status word is sent as an answer from the slave to the master. The 16 bits have the following meanings: Format Length Toggle not used Last Bit not used R/W Bit Error Bit not used C1 Bit Fig. 9-26: Bits of the PK Status Word Format: Length: Toggle: These bits describe the usage and meaning of the following data words in the Parameter Channel. Their value is fixed to 1100 b. These four bits specify the length of the valid data in bytes, without the status word. The data in the rest of the Parameter Channel is undefined. This bit toggles with every new set of sent data. It is used for a handshake between master and slave. The slave

239 9-28 Profibus Fieldbus Interface VisualMotion 9 Application Manual recognizes new data when the toggle bit it receives (control word) is different from the toggle bit in the status word. L: Last bit. This bit is set when the last fragment of a data block is sent. R/W: Read/Write Acknowledgement; Read = 1, indicates that the master wants to read data. Error Bit: This bit indicates an error that occurred within the slave. The reason for the error is coded in the following data. C1: This bit is used to distinguish between the old and new handling of the Parameter Channel. For the new handling (Short Format 3), it is fixed to 1 Note: Bits that are not used are set to 0. Short Format 3: Examples The following examples show how to write and read an object. They display the read and write access of object index 2001 h, subindex 2 h. The matching Visual Motion data according to the chart at the end of this chapter is S-Parameter 1 of Drive 2. Notes for the following examples: Note: These flow charts assume a toggle bit value of 0 when starting. The values of the control and status words can change because of different states of toggle bit and last bit. Note: The master can detect new data comparing its own toggle bit with the toggle bit received from the slave. If they match, new data was received from the slave. Note: When writing, only the first telegram from the master contains the index and subindex.

240 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-29 Start WRITE DATA Toggle Bit in Control Word Set number of sent data words in Control Word All data sent? YES Set L-Bit in Control Word NO PLC Output: Write Object 0x2001 0x02 Word Description Data Value Explanation Explanation Word 1 Word 2 Word 3 Word 4 Control Word Data 0x816C 0x2001 0x0002 Data C R L T Length Format C = C1 L = Last R = Read T = Toggle Index 0x2001 h Subindex 0x02 h Data Word 1 NO PLC Input: Confimation received? YES Word Description Data Value Word 1 Word 2 Word 3 Word 4 Status Word Data 0x850C C ER L T Length Format E = Error L = Last R = Read T = Toggle No Data Error? YES Store Error Code NO NO All data sent? YES Done Fig. 9-27: Write Data Object Example flow_write.fh7

241 9-30 Profibus Fieldbus Interface VisualMotion 9 Application Manual Start READ DATA Toggle Bit in Control Word PLC Output: Request Object 0x2001 0x02 Word 1 Word 2 Word 3 Word 4 Control Word Data 0x954C 0x2001 0x C R L T Length Format C = C1 L = Last R = Read T = Toggle Index 0x2001 h Subindex 0x02 h No Data NO PLC Input: Data received? YES Word Description Data Value Word 1 Word 2 Word 3 Word 4 Status Word Data 0x916C Data Data Data Explanation Word 1 Word 2 Word C ER L T Length Format E = Error L = Last R = Read T = Toggle Error? YES Store Error Code NO Store Data Store Length Last Cycle? YES Done NO Toggle Bit in Control Word PLC Output: Request next Fragment Word Description Data Value Explanation Word Description Data Value Explanation Word 1 Word 2 Word 3 Word 4 Control Word Data 0x940C C R L T Length Format No Data C = C1 L = Last R = Read T = Toggle Fig. 9-28: Read Data Object Example flow_read.fh7

242 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-31 Canceling Data Transfer In some cases, it might be necessary to cancel a data transfer. To request a communication reset, the master sends a cancel telegram to the slave. Word Description Data Value Fig. 9-29: Cancel Telegram Word 1 Word 2 Word 3 Word 4 Control Word Data 0x810F C ER L T Length Format No Data E = Error L = Last R = Read T = Toggle cancel.fh7 Error Messages The format byte in the command word is set to F h. The length byte, the L and the R bits are set to 0. The slave will set its internal state to expect a new command from the master. If the transmission fails, the slave will respond with an error message as shown below. The status word value can be different for writing. The error bit in the status word is set and the first word contains a 16-bit error code. The toggle bit has the same state as the corresponding request telegram. Word Description Data Value Explanation Explanation Word 1 Word 2 Word 3 Word 4 Status Word Data 0xA42C Error code C ER L T Length Format No Data E = Error L = Last R = Read T = Toggle Fig. 9-30: Error Response from Slave error.fh7 The error code is two bytes long. The high byte specifies the error class and the low byte contains additional information for the applicationspecific errors (error class 1F h ). Parameter Channel Error Codes (High-Byte) Error No. (Hex) 0x1F 0x85 0x88 0x8B 0x8C Error Description Control-specific error. Refer to Table 9-12 for additional error information, which is based on VisualMotion Serial Port Diagnostic Codes. Data length too long (here >128 byte). An error occurred during the transmission of data between the PPC- R and the fieldbus slave. Format (bits 0-3 of control word) specified is incorrect. The length set in control byte greater than Parameter Channel. 0x8D Communication not possible. Parameter Channel too short (<2 bytes). 0x90 The format bits (0-3) of the control word were changed while transmitting several data blocks. 0x95 A read command was issued, but the length field was set to!=0. Table 9-11: Parameter Channel Error Codes (High-Byte)

243 9-32 Profibus Fieldbus Interface VisualMotion 9 Application Manual Parameter Channel Error Codes (Low-Byte) for 0x1F Error No. (Hex) 0xF3 0xF2 0xF1 0xF0 Error Description Invalid Object Sub Index Occurs when an attempt to access an incorrect or undefined location in the mapped data area or when attempting to address a sub index greater than 255. Invalid Object Index Occurs when attempting to access an incorrect or undefined location in the mapped data area. Not used ASCII Format Error occurs when attempting to communicate via the Data Exchange object where VisualMotion ASCII protocol is sent. This error also occurs if the initial characters are incorrect (such as the absence of the > start character). Table 9-12: Parameter Channel Error Codes (Low-Byte) Handling a Data Exchange Object When mapped objects are not capable of transferring the desired data, a Data Exchange Object can be used. The same procedures for writing and reading mapped objects via Short Format 3 apply to the Data Exchange Object. Selecting a Data Exchange Object Depending on the length of a VisualMotion ASCII message, any data exchange objects can be selected. The entire data length of the data exchange object, however, must always be transmitted even if the VisualMotion ASCII message is shorter. For example, if you want to transmit an ASCII message of 42 bytes, you must use object 5E72. To avoid a response error from the fieldbus slave, you must append 22 "Null" characters to the end of the ASCII message to complete a data size of 64 bytes. Note: The checksum for the VisualMotion ASCII protocol is NOT used with the data exchange object. If the checksum is sent as part of the string, it will be ignored, and no checksum will be sent in the VisualMotion ASCII response messages. To ensure data integrity, the fieldbus protocols support a low-level checksum. Transmission Sequence via a Data Exchange Object For the data exchange object, two transmission sequences (and two response sequences) are required, to send the read or write message to and then receive the response message from the PPC-R card.

244 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-33 Parameter Channel Message Short Format 3 Header Short Format 3 Control Word Object Index # Subindex # Data Field: VisualMotion ASCII Protocol key components: fieldbus command (read or write message) key components: Object Index #: data exchange object (5E70-5E73). This is the destination of the data field. Object selection depends on required data field size. Subindex #: always = 0 for Data Exchange Object. key components: VisualMotion command (read or write data) ASCII data contained in the selected data exchange object The <CR> (0x0D) and <LF> (0x0A) characters must be applied to the ASCII string A checksum is not used in this case. (Fieldbus has a checksum) Note: Refer to the VisualMotion 6 Reference Manual for an explanation of the VisualMotion ASCII Protocol. Fig. 9-31: Format of a PK Short Format 3 Message using a Data Exchange Object The following sequence describes the communication between the fieldbus master (PLC) and the fieldbus slave (PPC-R). For details on reading and writing data in Short Format 3, refer to Messaging Formats on page 9-24.

245 9-34 Profibus Fieldbus Interface VisualMotion 9 Application Manual Message Steps Process Comments 1. Write request from the master with VisualMotion ASCII Protocol. PK Write Command VM ASCII protocol command text (read or write data) The data field for the write command can contain a VisualMotion read or write protocol. 2. Acknowledge Parameter Channel response from slave. PK Response Received? Yes No Diagnose error The response message contains only a confirmation that the fieldbus message was sent properly. Therefore, the size of the data field will be 0. PK Response OK? No Yes 3. Read request from the master to get VisualMotion ASCII response. 4. Receive Parameter Channel response from slave. PK Read Command No data PK Response Received? Yes No Diagnose error The read request message contains only header information (the data field is 0). You must anticipate the approximate size of the data field (VisualMotion ASCII response message) in order to select the appropriate data exchange object. If the selected object is too short, the data will be truncated. The response message will contain the VisualMotion ASCII response to the VisualMotion ASCII command text in Step 1. PK Response OK? No Yes VM ASCII protocol response text (write or transmit data) Fig. 9-32: Parameter Channel Short Format 3 Procedure, Using Data Exchange Object Accessing Mapped Data Rexroth has pre-configured a number of VisualMotion data types to Profibus indexes and subindexes. We call this concept mapped data. These data types can be accessed via the Profibus Parameter Channel. The index and subindex for each of these data types can be calculated using the formulas in Table 9-13 below.

246 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-35 Object Index # SubIndex # Formula 0x5E73 0x00 Data Exchange Object x5E70 0x5E65 0x00 0xFF <FREE> (with SubIndex) (349 objects available) 0x5D14 0x01 Program Integers x5D13 0xFF Index = 0x5D00 + [(Program Integer 1) \ 255] (Int 1 Int 5100) 0x5D00 0x01 SubIndex = Program Integer [(Index 0x5D00) * 255] Program Floats x5CFF 0xFF Index = 0x5CEC + [(Program Float 1)] \ 255] (Float 1 Float 5100) 0x5CEC 0x01 SubIndex = Program Float [(Index 0x5CEC) * 255] 0x5CEB 0xFF <FREE> (with SubIndex) (235 objects available) 0x5C01 0x01 Global Integers x5C00 0xFF Index = 0x5BF7 + [(Global Integer 1) \ 512] (GInt 1 GInt 2550*) 0x5BF7 0x01 SubIndex = Global Integer [(Index 0x5BF7) * 512] Global Floats x5BF6 0xFF Index = 0x5BED + [(Global Float 1) \ 512] (GFloat 1 Gfloat 2550*) 0x5BED 0x01 SubIndex = Global Float [(Index 0x5BED) * 512] 0x5BEC 0xFF <FREE> (with SubIndex) (245 objects available) 0x5AF8 0x01 Registers x5AF7 0xFF Index = 0x5AEE + [(Register 1) \ 255] (Reg. 1 Reg. 2550**) 0x5AEE 0x01 SubIndex = Register [(Index 0x5AEE) * 255] T-Parameters x5AED 0x04 Index = 0x56F1 + T-Parameter (T T ) 0x56F1 0x01 SubIndex = Task Number 0x56F0 0xFF <FREE> (with SubIndex) (241 objects available) 0x5600 0x01 C-Parameters x55FF 0x01 Index = 0x C-Parameter (C C ) 0x4801 0x01 SubIndex = 1 A-Parameters x47FF 0x63 Index = 0x A-Parameter (A A ) 0x4001 0x01 SubIndex = Axis Number P-Parameters x3FFF 0x63 Index = 0x P-Parameter (P P ) 0x3001 0x01 SubIndex = Drive Number

247 9-36 Profibus Fieldbus Interface VisualMotion 9 Application Manual S-Parameters Object Index # SubIndex # Formula 0x2FFF 0x63 Index = 0x S-Parameter (S S ) 0x2001 0x01 SubIndex = Drive Number 0x1FFF ---- <Reserved> x * current limitation: C /C Maximum number global integers/floats.. **current limitation: first 1024 registers. Table 9-13: Formulas for Determining Mapped Objects Card (C) Parameters Example Lookup Tables for Mapped Objects The following is an example lookup table for C-Parameters, when using mapped objects. Example Look-up Chart for: C-Parameters CP 0.Y ==> CP = Card Parameter Y = Parameter Number Index 0x4801 0x4802 0x4803 0x48FF 0x4900 0x55FE 0x55FF SubIndex = 0x01 CP 0.1 CP 0.2 CP 0.3 CP CP CP CP Table 9-14: Mapped Object Lookup Table for C-Parameters Axis(A) Parameters The following is an example lookup table for A-Parameters, when using mapped objects. The same formula also applies to SERCOS (S) and Task (T) Parameters. Example Look-up Chart for: A-Parameters AP X.Y ==> AP = Axis Parameter X = Axis Number Y = Parameter Number Index 0x4001 0x4002 0x4003 0x40FF 0x4100 0x47FE 0x47FF 0x01 AP 1.1 AP 1.2 AP 1.3 AP AP AP AP SubIndex = 0x02 AP 2.1 AP 2.2 AP 2.3 AP AP AP AP x03 AP 3.1 AP 3.2 AP 3.3 AP AP AP AP : : : : : : : : : : : : : : : : : : : : 0x28 AP 40.1 AP 40.2 AP 40.3 AP AP AP AP Table 9-15: Mapped Object Lookup Table for A-Parameters

248 VisualMotion 9 Application Manual Profibus Fieldbus Interface 9-37 Product-Specific (P) Parameters The following is an example lookup table for P-Parameters, when using mapped objects. Example Look-up Chart for: P-Parameters PP X.Y ==> PP = SERCOS P- Parameter (set 0 only) X = Drive Number Y = Parameter Number Index = (Class ID && Instance ID for DeviceNet) C118, In1 C118, In2 C118, In3 C118, In255 C119, In1 C134, In14 C134, In15 0x3001 0x3002 0x3003 0x30FF 0x3100 0x3FFE 0x3FFF 0x01 PP 1.1 PP 1.2 PP 1.3 PP PP PP PP SubIndex = 0x02 PP 2.1 PP 2.2 PP 2.3 PP PP PP PP (Attribute ID 0x03 PP 3.1 PP 3.2 PP 3.3 PP PP PP PP for DNet) : : : : : : : : : : : : : : : : : : : : 0x28 PP 40.1 PP 40.2 PP 40.3 PP PP PP PP Table 9-16: Mapped Object Lookup Table for P-Parameters Integers The following is an example lookup table for Integers, when using mapped objects. The same formula also applies to Floats, Global Integers, Global Floats and Registers. Example Look-up Chart for: VM Program Integers PI 0.Y ==> PI = Program Integer Y = Program Integer Number Index 0x5D00 0x5D01 0x5D02 0x5D13 0x01 PI 1 PI 256 PI 511 PI 4846 SubIndex = 0x02 PI 2 PI 257 PI 512 PI x03 PI 3 PI 258 PI 513 PI 4848 : : : : : : : : : : : : 0xFF PI 255 PI 510 PI 765 PI 5100 Table 9-17: Mapped Object Lookup Table for Integers

249 9-38 Profibus Fieldbus Interface VisualMotion 9 Application Manual

250 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces 10.1 General Information Version Note: Information in this document is based on VisualMotion Toolkit software version 09VRS and PPC-R firmware version GPP09VRS (for DeviceNet, ControlNet, and EtherNet/IP). GMP09VRS firmware does not have a fieldbus interface, but can be used with the Rexroth PPC-PCI bus interface to allow cyclic and non-cyclic data transfer. VisualMotion 9 software is downward compatible with GPP firmware, but, depending on the hardware platform selected, the type of fieldbus communication selection may be limited. The following table lists the fieldbus firmware versions and the available fieldbus interfaces for each version. Fieldbus Interfaces PPC-R GPP07VRS PPC-R GPP08VRS PPC-R GPP09VRS DeviceNet ControlNet EtherNet/IP Table 10-1: Fieldbus Firmware Version and Interface Type PPC-P GMP09VRS No Fieldbus Support Note: For detailed fieldbus hardware information, refer to the VisualMotion 9 Project Planning Manual. PPC-R System Description with a Fieldbus The PPC-R can operate on a serial fieldbus interface (network) by means of a fieldbus expansion card that communicates with the PPC-R via dualport RAM. The function of the fieldbus card, which is similar to that of a network card in a PC, allows communication with other devices on the network. Fig illustrates the fieldbus slave and master interface in a system. In this document, we will refer to the PLC as the fieldbus master and the PPC-R as the fieldbus slave.

251 Q1 Q2 I1 I2 I3 24Ve GNDe Bb Bb 24V GND 10-2 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Fieldbus Slave (DeviceNet or ControlNet) Indramat RECO H1 S1 D r i v e D r i v e SERCOS U1 RESET S2 H2 DIST TX RX U2 X1 X10 1 U3 X16 U4 I/O Fieldbus Cyclic Communication Fieldbus Master PLC 11 PPC-R02.x Communication between PPC-R and fieldbus via dual-port RAM (Update rate: every 4 ms) Fig. 10-1: Sample Master/Slave Setup with Fieldbus Card PPCR_02_devicenet_sercos.FH7 With the PPC-R, the fieldbus card can be used only as a slave card in a master/slave setup. Note: When using an EtherNet/IP type fieldbus card in a VisualMotion 9 system, no other fieldbus interface (i.e., Profibus, DeviceNet, ControlNet, Interbus) or MTS-R PLC interface can be used. It is still possible to communicate with GPP 9 firmware over the same network from VisualMotion 9 Toolkit with EtherNet/IP fieldbus communication enabled. Only one ethernet card in the control is required for communication with both EtherNet/IP fieldbus interface and ethernet network interface The VisualMotion Fieldbus Mapper In the VisualMotion software package, the Fieldbus Mapper is a tool used to set up fieldbus configuration and data mapping. Fieldbus hardware platform selections are made through the Fieldbus Mapper window with VisualMotion Toolkit in Service Mode. To select the Fieldbus hardware platform: 1. Open VisualMotion in Service Mode, indicated by the service mode symbol ( ) in the lower right corner of the VisualMotion Toolkit window. 2. Select Commission Fieldbus Mapper to open the FBMapper window. 3. Click or select File New to open the Fieldbus Slave Definition window. When a hardware platform is selected, only the fieldbus types available for that platform can be selected, see Table 10-1.

252 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces 10-3 Data Transfer Direction (Output vs. Input) Fieldbus Data Channel Descriptions In the VisualMotion Fieldbus Mapper, output and input are always described with respect to the fieldbus master. The definitions for output and input follow: output: the communication from the PLC to the PPC-R (i.e. from the fieldbus master to the fieldbus slave). Synonyms for this type of communication: send or write data. input: the communication from the PPC-R to the PLC (i.e. from the fieldbus slave to the fieldbus master). Synonyms for this type of communication: receive or read data. The Rexroth DeviceNet, ControlNet, and EtherNet/IP fieldbus interface cards for the PPC-R support the following communication channels: Cyclic Channel: Polled I/O (for single and multiplex channels) Non-Cyclic Channel: Explicit Messaging Cyclic (Polled I/O) Channel Cyclic data is user-defined. It is stored in two ordered lists (C for input data, C for output data) and transmitted serially over the bus. In the cyclic channel, data is updated cyclically between the fieldbus master and slave. The cyclic data channel is limited to 64 input words and 64 output words. PPC-R data types consume these words in either one-word (or 16-bit) groups for PPC-R registers or two-word (or 32-bit) groups for all other data types. The PPC-R mapping list is scanned every 4 ms and data is sent and received to/from the fieldbus slave board's dual port RAM. The cyclic data channel can be made up of any combination of the following data types: single multiplex word 31 word 0 word 31 word 0 Multiplex Channel Only Single Channel Only Cyclic (Polled I/O) Channel Cyclic (Polled I/O) Channel word 31 word 0 Multiplex Channel Single Channel Cyclic (Polled I/O) Channel Fig. 10-2: Configuration Options for the Cyclic Data Channel

253 10-4 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Cyclic Data: Types and Sizes The following table outlines the PPC-R data types that can be transmitted via the cyclic channel and the amount of space (in 16-bit words) that each data type consumes. Note: The cyclic data mapping lists support only 16- and 32-bit data of the following types for reading and writing: - Integer - Float - Binary (used in PPC-R parameters) - Hex (used in PPC-R parameters) For all other data types (e.g. diagnostic messages - strings ), use Explicit Messaging. PPC-R Data Type Data Size (in 16-Bit Words) Register 1 Program Integer (currently active program ONLY *) 2 Program Float (currently active program ONLY *) 2 Global Integer 2 Global Float 2 Card Parameter 2 Axis Parameter 2 Task Parameter 2 Note: Drive parameters "S" or "P" cannot be transmitted cyclically because of the inherent delay of parameter access over the SERCOS service channel. However, if a drive parameter is mapped to an Axis Parameter, that Axis parameter could be used in cyclic data (see description of Axis Parameters in the VisualMotion Functional Description). * Important Note: Integers and floats are shown only for the currently active program. Each time you activate a new progam, the fieldbus reads/writes to the newly-activated program. Table 10-2: PPC-R Cyclic Data Types and Sizes Single Data Types Single data types are mapped directly in the cyclic mapping ordered lists (C , C ). Multiplex Data Types (Cyclic Data Channel) In some multi-axis applications, 64 words of cyclic data transfer are not sufficient to meet the requirement of the application. When insufficient data transfer space is available, multiplex data can be set up within the cyclic channel. One multiplex container acts as a placeholder for multiple possible PPC-R data types (all of the same word size). The currently transmitted PPC-R data type is based on an index value placed in a multiplex control or status word attached to the end of the cyclic list. Depending on the index specified by the master, the multiplex channel permits a different set of data within the cyclic channel to be transferred as current real-time data. Multiplex containers can be added to the input and output lists separately and the input and output indexes can be designated separately (in the control and status words). Note: Using the multiplex channel reduces the maximum number of usable words for storing PPC-R data to 63. The 64th word (or last used word, if fewer than 64 words) is used as the multiplex entry control/status word.

254 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces 10-5 Note: When using VisualMotion 9 with GPP 7 firmware, a maximum of 15 multiplex containers and a maximum of 180 mapping items can be transmitted in the input or output list. This limitation of mapping objects means that you cannot multiplex all 15 containers with all 32 available indexes (=480 items). For VisualMotion 9 with GPP 8 or 9 firmware, there is no limitation for multiplexing (each of the first 63 words may be multiplexed with up to 32 indexes). Word 63 Word 62 Word 61 Word 60 Word 59 Word 58 Word 57 Word 56 Word Word 5 Word 4 Word 3 Word 2 Word 1 Word 0 32-bit 16-bit 16-bit 16-bit 16-bit 16-bit 32-bit 32-bit 32-bit 32-bit multiplex multiplex multiplex control/status container multiplex container multiplex container multiplex container word container... single item single item single item single item Index 0 Index 0 Index 0 Index 0 Index 0 Index 1 Index 1 Index 1 Index 1 Index 1 Index 2 Index 2 Index 2 Index 2 Index Index 31 Index 31 Index 31 Index 31 Index 31 Fig. 10-3: Sample Command (PLC PPC-R) or Response (PPC-R PLC) Multiplex Control and Status Words The multiplex control and status words serve to command and acknowledge multiplex data transferred between the fieldbus master and the fieldbus slave. The control word is associated with output communication (PLC PPC-R). The status word is associated with input communication (PPC-R PLC). Single data items are not affected by the multiplex control and status words. Note: For specific information about how the fieldbus master uses the multiplex control and status words, refer to Multiplexing on page

255 10-6 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Example 1 Example 2 Example 3 Cyclic Channel 12 words non-multiplexed data PLC Memory Cyclic Channel 12 words non-multiplexed data PLC Memory Cyclic Channel 12 words non-multiplexed data PLC Memory Multiplex Multiplex Multiplex Container 1 Container 1 Container 1 Multiplex Multiplex Multiplex Container 2 Container 2 Container 2 Multiplex Multiplex Multiplex Container 3 Container 3 Container 3 Index 00 Index 01 Index 02 Multiplexing control / status word Fig. 10-4: Examples for Reading Data via the Multiplex Channel multiplexing.fh7 Non-Cyclic Channel (Explicit Messaging) The non-cyclic channel is used for data that needs to be transferred only once or sporadically, such as: the transmission of lists parameterization of axes or programs Instead of being updated during each cycle, non-cyclic data is transferred using a command initiated by the master. Though any data type can be transferred non-cyclically, diagnostic messages and drive parameters (S and P) must be transferred non-cyclically because of the non-cyclic retrieval for drive parameters through SERCOS and the length of the diagnostic messages. There are two types of non-cyclic data transmissions for the PPC- R/VisualMotion system: mapped data (directly to PPC-R data types) data exchange object Non-cyclic data can be accessed via Explicit Messaging support of the Fieldbus master. Mapped Data Mapped data is the most powerful feature of the PPC-R non-cyclic fieldbus interface. Through mapped data, the user has access to virtually every PPC-R parameter over the fieldbus. It is easy to implement from the PLC side and requires no setup on the PPC-R side.

256 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces 10-7 Data Exchange Objects 10.2 Fieldbus Mapper Functionality Four data exchange objects Class 100, Instance 1-4, Attribute 100 are available for the transfer of non-cyclic data. These objects represent fixed data "containers" of varying lengths that transfer the VisualMotion ASCII Protocol to the PPC-R card, in the same way that data is transferred using the VisualMotion ASCII Format via an Explicit Message. These objects serve as an open-ended possibility to access any VisualMotion data (including cams, diagnostic text, etc.), but more work is required in the master to perform a transmission of this type. For more specific information about these objects, refer to Data Exchange Objects on page Initializing the Fieldbus Mapper from VisualMotion 9 1. Open an existing program or create a new program. You must be using PPC-R hardware with GPP firmware to use the Fieldbus Mapper described in this document. 2. Select Commission Fieldbus Mapper. The main Fieldbus Mapper window is displayed (refer to Fig below). FB_Mapper_New.tif Fig. 10-5: FBMapper Project Window Creating a New Fieldbus Mapper File To create a Fieldbus Mapper file: 1. Click or select File New. A setup wizard goes through three steps: Fieldbus Slave Definition Fieldbus Slave Configuration Cyclic Data Configuration 2. Enter the information requested in the setup windows. For more details on each step, refer to Fieldbus Slave Definition, Fieldbus Slave Configuration, and Cyclic Data Configuration for detailed information about each configuration step. 3. Save the file (automatically has a.prm extension). To Add/Insert, Edit, or Delete an item in a file, open the Selected Mapping List menu from the Edit menu (refer to Fig below). For more information about each step, refer to Fieldbus Slave Definition, Fieldbus Slave Configuration, and Cyclic Data Configuration for detailed information about each configuration step.

257 10-8 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual FB_Mapper_Edit_Menu.tif Fig. 10-6: Fieldbus Mapper Edit Menu Note: You can also directly add, insert, delete, edit an item, or create a new list by: clicking on the item to be edited in the main Fieldbus Mapper window and selecting the desired function under Edit Selected Mapping List OR right-clicking on an item to display a menu of functions Importing a Fieldbus Mapper File A Fieldbus Mapper file can be imported from another project. To import the file: 1. Select File Import. 2. Browse to find the desired file (*.prm extension). 3. Click Open. The main Fieldbus Mapper window appears, which lists the configuration information. Refer to Fig below.

258 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces 10-9 FB_Mapper_Main_DN.tif Fig. 10-7: Fieldbus Mapper Main Window (Complete) Fieldbus Slave Definition From the Fieldbus Slave Definition window, select the desired Hardware Platform and DeviceNet, ControlNet or Ethernet/IP as the Fieldbus Type (refer to Fig below). Refer to Table 10-1 for a list of the available hardware platforms for the fieldbus types. The hardware platform can only be selected when the project is in Service mode.

259 10-10 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual FB_Slave_Def.tif Fig. 10-8: Fieldbus Slave Definition Window

260 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Fieldbus Slave Configuration The Fieldbus Slave Configuration windows for DeviceNet and ControlNet are shown in figure Fig below. DeviceNet ControlNet FB_Slave_Config.tif Fig. 10-9: Fieldbus Slave Configuration Standard Fieldbus Configuration Options Fieldbus Error Reaction Advanced Configuration Options MAC ID (0-63 for DeviceNet, 1-99 for ControlNet): set to a unique number for this device on the bus. Baud Rate (DeviceNet only): set to match that of the master. Set the Error Reaction to Shutdown (default), Warning or Ignore. Refer to Fieldbus Error Reaction on page for detailed information about each setting. The Advanced Options: are shown only if the checkbox next to Show Advanced Configuration Options is checked (refer to Fig below). In most cases, the default options should apply. The Fieldbus Slave Configuration window for EtherNet/IP is shown below:

261 10-12 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual EtherNet/IP EtherNetIP_IP_Address.tif Fig : Fieldbus Slave Configuration for EtherNet/IP EtherNet/IP Interface Mode Selecting On for the EtherNet/IP interface will allow the control to distinguish between EtherNet/IP and standard ethernet during communication when both are being used. Specify whether the control is running in Half Duplex or Full Duplex mode. Note: Using an ethernet switch and running in Full Duplex mode is recommended. Manual configuration of ports is required as the ethernet card does not support auto negotiation. Fieldbus Error Reaction Advanced Configuration Options Set the Error Reaction to Shutdown (default), Warning or Ignore. Refer to the Fieldbus Error Reaction on page for detailed information about each setting. The Advanced Options: are shown only if the checkbox next to Show Advanced Configuration Options is checked (refer to Fig below). In most cases, the default options should apply.

262 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces DeviceNet ControlNet FB_Slave_Config_Adv.tif Fig : Fieldbus Slave Configuration: Advanced Swapping: If word and byte swapping is required by your PLC, select the checkboxes next to Swap Bytes and Swap Words." Bytes and words are not swapped if the boxes are left unchecked. Refer to Word and Byte Swapping on page Note: When the Allen-Bradley 1747-SDN (DeviceNet Scanner) Module for the SLC-Series PLC is used, both Swap Bytes and Swap Words can be checked, so the order of resulting data appears correctly. Multiplex Method: select Primary or Secondary (Primary is the default). Select Secondary only if you have an inconsistent fieldbus master. Refer to Multiplexing on page for detailed information about each method.

263 10-14 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual EtherNet/IP EtherNet_IP_Address_Adv.tif Cyclic Data Configuration Fig : Fielbus Slave Configuration: Advanced, for EtherNet/IP An example of the Cyclic Data Configuration window is shown in Fig below. If you are editing an existing Fieldbus Mapper file, the list will probably contain more items. First, you must select the Cyclic Input List (from PPC-R to PLC) or the Cyclic Output List (from PLC to PPC-R). Cyclic_Data_Config.tif Fig : Cyclic Data Configuration Adding an Item to the List 1. Select the Cyclic Input List or the Cyclic Output List. 2. Click Add. The window in Fig appears. Select the Data Type (for example, Register).

264 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces FB_Add_Item.tif Fig : Add Item to Cyclic Data Note: Registers and 16-bit Multiplex Containers (used only for Registers) require one data word (16 bits), and all other data types require two data words (32 bits) of space. 3. Enter the required information (for example Register Number) or select it from the list below. Only the available data types for your designated VisualMotion hardware setup and fieldbus type are listed. Note: If your project is in Service mode and you check the box next to Get Latest (On-Line), the data type label list is updated based on your firmware version and the currently active program. 4. Click OK to add the selected item to the list. Adding Multiplex Containers to the List 1. Select the Cyclic Input List or the Cyclic Output List. 2. Click Add. 3. In the Add Item window under Select the Data Type, select Multiplex Container 16-bit (for Registers) or Multiplex Container 32-bit (for all other data types). 4. Click OK to add the Multiplex Container to the List. The window (Fig ) below is an example where a 16-bit Multiplex Container and a 32-Bit Multiplex Container have been added.

265 10-16 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Fig : Cyclic Data Configuration, Multiplex Containers Cyclic_Data_Config_mltplx.tif Note: At this point, the Multiplex Containers do not yet contain any items. To add multiplex items refer to Adding Items to an Empty Multiplex Container below. Adding Items to an Empty Multiplex Container 1. In the Cyclic Data Configuration window, select the multiplex container to which you want to add items. 2. Click Add. The window in Fig below appears. Because it is unclear whether you would like to add to the list or to the multiplex container, the Fieldbus Mapper is requesting clarification. Fig : Add Item or Multiplex Item Window Add_Multiplex.tif Note: For subsequent items, highlight any of the indexes within the multiplex container before clicking Add, and the Fieldbus Mapper will know you want to add to that container. 3. To add to the selected multiplex container, click No. The window in Fig below is an example for adding a 32-bit multiplex item. 4. Select the desired item to be added to the multiplex container.

266 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Note: In addition to the data types that can be added to the multiplex list, an empty item called Multiplex Empty Item is available to fill a space within the multiplex container, if nothing is to be mapped to a particular index. 5. Click OK. The item is automatically placed in the multiplex container as the next unassigned index item (e.g. the first item is index 00, the last is index 31). 6. Repeat for as many items as you want to add to the multiplex container, up to 32 items. Add_Multiplex_Item.tif Fig : Adding a Multiplex Item to the Container (32-bit example) Editing the Cyclic Data Lists To make changes to an existing list, use the following buttons: Button Function Inserts a new item at the end of the list. Inserts a new item into the list directly before the selected item. Removes the selected item from the list. Allows editing of the selected item. (To edit a list item, you may also double-click on it.) Clears up the current list. Table 10-3: Button Functions in the Cyclic Data Configuration Window Additional Functions Several additional functions are available in the Fieldbus Mapper: Menu Item Print Print Preview Print Setup Function Print the current fieldbus configuration data. Preview the printout of the current fieldbus configuration data Configure printer settings Table 10-4: Additional Functions

267 10-18 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Getting the Fieldbus Configuration from the PPC After getting the fieldbus configuration from the PPC, the following information is detected by the system and appears in the configuration list: Fieldbus Type Found Fieldbus FW (Firmware) Version GPP Control FW (Firmware) Version An example is shown in Fig below. For ControlNet and EtherNet/IP fieldbuses, the configuration tree would have different elements in it. On-line Information on-line info_dn.tif Fig : On-Line Fieldbus Configuration Information (DeviceNet Example)

268 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Information for the GPP Programmer Fieldbus Status VisualMotion Register 19 holds the information for "Fieldbus Status." The register information can be referenced in a VisualMotion application program to respond to the status of each bit. The use of these bits is application-dependent. Table 10-5 below contains the bit assignment for the fieldbus status. The assigned bits are labeled with "x" and the bit number in the second row. Unassigned bits are labeled with "---." x x5 x4 --- x2 x1 Table 10-5: Bit Assignment for VisualMotion Register 19 x1, x2 Bit Definitions Status bits for the internal DPR (Dual-Port RAM) communication between the fieldbus slave and the PPC-R: x1: FB Init OK, LSB (least significant bit) x2: FB Init OK, MSB (most significant bit) The bit combinations for x1 and x2 are as follows: Bit 2 (PPC-R) Bit 1 (Fieldbus) Description 0 0 A reset has been executed on the DPR, or neither the PPC-R nor the fieldbus card have initialized the DPR. 0 1 The DPR is initialized by the fieldbus card, but not yet by the PPC-R. 1 0 The DPR initialization is complete. DPR has been initialized by the fieldbus card and PPC-R. Fieldbus to PPC-R communications system is ready. 1 1 Fieldbus to PPC-R communications system is ready. Table 10-6: Possible Settings for Bits 1 and 2, Status Bits for DPR Communication x4 x5 x15 Status bit for the active bus capabilities of the fieldbus slaves (FB Slave Ready) 0--> The fieldbus slave is not (yet) ready for data exchange. 1--> The fieldbus slave can actively participate on the bus. Status bit for the non-cyclic channel (Explicit Messaging) (Non-Cyc Ready) 0--> The non-cyclic channel (Explicit Messaging) cannot (yet) be used. 1--> The non-cyclic channel (Explicit Messaging) is ready for use by the fieldbus master. Status bit for the cyclic data output (Cyclic Data Valid): 0--> The cyclic data outputs (coming in to the PPC-R) are INVALID. 1--> The cyclic data outputs (coming in to the PPC-R) are VALID. The system looks for this bit to be 1 before allowing data transfer. This bit is monitored for the Fieldbus Error Reaction. Whenever this bit goes to 0 after a fieldbus card was initially found by the PPC-R, the selected Error Reaction (system shutdown, error message, or ignore) is

269 10-20 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual initiated. Refer to Fieldbus Error Reaction on page for an explanation of the Fieldbus Error Reaction setting. Fieldbus Diagnostics VisualMotion Register 20 holds the information for "Fieldbus Diagnostics." Table 10-7 below contains the bit assignment for the diagnostics. The assigned bits are labeled with "x" and the bit number in the second row. Unassigned bits are labeled with "---." X16 x15 x14 x Table 10-7: Bit Assignment for VisualMotion Register 20 x13 - x16 Bit Definitions Identification of the fieldbus interface card (FB Card Found) The bit combinations for x13, x14 and x15 are as follows: Bit 16 Bit 15 Bit 14 Bit 13 Fieldbus Type <NO CARD> <Not Defined> Interbus DeviceNet Profibus ControlNet <Not Defined> EtherNet/IP (10 MB) Indramat PLC Interface Table 10-8: Identification of the Fieldbus Interface Fieldbus/PLC Cyclic Read/Write Monitoring Fieldbus Error Reaction Monitoring of Fieldbus read/write capabilities to the cyclic channel are associated with three parameters: C Fieldbus/PLC Cyclic Channel: Current Number of Misses displays the current number of transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Peak Number of Misses displays the maximum number of missed transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Timeout Counter displays the number of timeouts in the cyclic channel. If after 4 ms, the Cyclic Mapping Lists are not successfully transmitted, a "miss" is noted. For more information about these parameters, see the VisualMotion 9 Functional Description manual. Note: The Fieldbus Error Reaction setting is active only in SERCOS Phase 4. In all other SERCOS phases, it will be inactive. You can select how you would like the PPC-R system to react in case of a fieldbus error. This reaction can be set in the "Fieldbus Slave Configuration" window, using the combo box labeled "Fieldbus Error Reaction."

270 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Three options are available for the Error Reaction setting. Depending on the selected setting, the value 0, 1, or 2 is stored in Parameter C : Setting Shutdown Value in Parameter C (default) Warning Only 1 Ignore 2 Table 10-9: Parameter C Values for Error Reaction Settings Fieldbus Mapper Timeout The Fieldbus Mapper continually scans the system for sufficient resources to process the cyclic data mapping lists (2600 and 2601 lists). If 10 out of 10 consecutive attempts of the mapping list update are incomplete, the system is considered to have insufficient resources and the selected error reaction is evoked, as follows: If "Shutdown" (0) is set in Parameter C , the following error is generated from the PPC-R card: 520 Fieldbus Mapper Timeout If "Warning Only" (1) is set in Parameter C , the following error is generated: 209 Fieldbus Mapper Timeout If "Ignore" (2) is set in Parameter C , the system will update as resources become available, but there is no way to monitor whether or not updates actually occur. Lost Fieldbus Connection Register 19, bit 4 indicates the status of the fieldbus. Refer to Fieldbus Status for more specific bit information. The system monitors this bit and evokes the selected error reaction if the bit is low (0), after a fieldbus card is found. A typical situation that will cause this condition is the disconnection of the fieldbus cable from the fieldbus card. If "Shutdown" (0) is set in Parameter C , the following error is generated from the PPC-R (active in SERCOS Phase 4 only): 519 Lost Fieldbus Connection If "Warning Only" (1) is set in Parameter C , the following error is generated (active in SERCOS Phase 4 only): 208 Lost Fieldbus Connection If "Ignore" (2) is set in Parameter C , there is no noticeable reaction when the Register 19 status bits go low, unless the GPP application program is customized to evoke a special reaction. Troubleshooting Tip: If a fieldbus card is not found on the system, the Error Reaction setting will be ignored. If you have a fieldbus card and the Error Reaction is not responding as expected, the system may not "refer to" your fieldbus card.

271 10-22 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual 10.4 Information for the PLC Programmer *.eds File Word and Byte Swapping Multiplexing Rexroth supplies an *.eds file containing supporting information for the PPC-R with a DeviceNet or ControlNet slave configuration. This file is provided on the VisualMotion 9 installation CD. In the Fieldbus Mapper, it is possible to enable automatic word and byte swapping for DeviceNet, ControlNet, and Ethernet/IP fieldbuses (for both input and output), depending on the type of PLC used. 32-bit Object Word Swapping - The setting of this option determines the order in which the two data words in any 32-bit (double word) cyclic or non-cyclic mapped object are transmitted. The default setting, "Do not swap words" ( Swap Words checkbox unchecked under the Advanced Options) causes the words to be transmitted in their usual order: [Word 1], [Word 2]. The "Swap Words" setting ( Swap Words checkbox checked under the Advanced Options) causes the words to be transmitted in inverted order: [Word 2], [Word 1]. The setting of this option is stored in Card Parameter C , bit 0. Explicit Message Byte Swapping - The setting of this option determines the order in which the bytes of non-cyclic data >4 bytes long are transmitted. The default setting, "Do not swap bytes" ( Swap Bytes checkbox unchecked under the Advanced Options) causes the bytes to be transmitted in their usual order: [Byte 1], [Byte 2], [Byte 3], [Byte 4], [Byte 5], [Byte 6]... The "Swap Bytes" setting ( Swap Bytes checkbox checked under the Advanced Options) causes each pair of bytes to be transmitted in inverted order: [Byte 2], [Byte 1], [Byte 4], [Byte 3], [Byte 6], [Byte 5]... The setting of this option is stored in Card Parameter C , bit 1. Example: Allen-Bradley 1747-SDN Module for the SLC- Series PLC When the Allen-Bradley 1747-SDN (DeviceNet Scanner) Module for the SLC-Series PLC is used, both Swap Words and Swap Bytes can be checked in the Fieldbus Mapper, so the order of resulting data appears correctly. Primary Multiplex Method (for Consistent Masters only) Important: You should use the Primary Multiplex Method only for a master that is consistent over the entire cyclic channel. The Secondary Multiplex Method is available for inconsistent masters. Refer to Explanation of the Master Consistency Problem on page The advantage of the Primary Method is easier handling of input data for consistent masters. Control Word Control Word and Status Word The control word is transferred in the multiplex channel from master to slave. It tells the slave in which index the data is being transferred from master to slave and in which index the data is requested from slave to master.

272 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Multiplex Input Control Multiplex Output Control Multiplex Input Control Index (index_in_c) Write Request (defines the input index command for Toggle Bit multiplexing) (WR) (initiates the write command once each time it is toggled) Multiplex Output Control Index (index_out_c) (defines the output index command for multiplexing) Fig : Control Word Definition, Primary Multiplex Method Index_out_c: tells the slave in which index the data are transferred from master to slave (out = master -> slave, _c = element of control word). Index_in_c: tells the slave in which index the data is requested from slave to master (in = slave -> master, _c = element of control word). WR (Write Request): handshake bit (refer to meaning of WR and WA). Note: Input data via the Multiplex Channel is continually being updated. Status Word The status word is transferred in the multiplex channel from slave to master. It acknowledges the written index and the requested index. Multiplex Input Status Byte Multiplex Output Status Multiplex Input Status Index (index_in_s) (confirms that the input index response location matches that of the command location) Write Request Acknowledge Bit (WA) (checks that the write data has been read once each time it is toggled) Multiplex Output Status Index (index_out_s) (confirms that the output index response location matches that of the command location) Fig : Status Word Definition, Primary Multiplex Method Index_out_s: acknowledges index written by the master (out = master -> slave, _s = element of status word). Index_in_s: tells the master which index is transferred from slave to master in the actual process data cycle (in = slave -> master, _s = element of status word). WA (Write Acknowledge): Handshake bit (refer to meaning of WR and WA). Handshake Bits WR and WA WR and WA are handshake bits that allow the controlled writing of data via the multiplex channel. WR and WA control the data transfer for writing data_out (data send from master to slave).

273 10-24 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual WR == WA: tells the master that the slave has received the last multiplex data_out. The master can now send new data_out. tells the slave to do nothing, because the master has not yet put new consistent data_out on the bus. WR! = WA: tells the slave to do something, because the master has now put consistent new data_out on bus. tells the master to do nothing, because the slave has not yet received the latest multiplex data_out. Master Communications (Primary Multiplex Method) Begin Control word =0 Index_in_c == Index_in_s? No Yes Read Data_in Read Index_in_s, Read Data_in, Write Index_in_c WR == WA? No Yes Write Data_out Write Data_out, Write Index_out_c, Toggle RT (Set WR = ~WA) Fig : Primary Multiplex Method, Master Communications Programming Example To aid in implementing the multiplex function in a PLC program, the following flow chart shows two ways of reading and writing data. Reading and writing can be executed separately, which allows the input data to be updated about 30% faster. The Read Data example would be placed at the beginning of a PLC program the Write Data example at the end. Combined reading and writing makes the PLC program simpler, especially when using the same index for both transfer actions.

274 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Write Data Read Data Read / Write Data 1st PLC Cycle Write Output Data to Multiplex Container(s) Write Output Index Toggle Write Request Bit Write Input Index Write Output Data to Multiplex Container(s) Write Input and Output Indexes Toggle Write Request Bit 2nd PLC Cycle NO M'plex Output Control Byte = M'plex Output Status Byte? YES NO M'plex Input Control Byte = M'plex Input Status Byte? YES NO M'plex Control Word = M'plex Status Word? YES Read and Store Input Data from M'plex Container(s) Read and Store Input Data from M'plex Container(s) Multiplexing flow chart.fh7 Fig : Flow Chart of Multiplex Programming Examples (Primary Method) Secondary Multiplex Method (for Inconsistent Masters) Explanation of the Master Consistency Problem The PPC-R fieldbus slave interfaces can guarantee consistency, however, some fieldbus masters can only guarantee byte, word or double word consistency. If the master is only word-consistent, it is possible that the master cannot transfer the data and the control word of one multiplex index consistently from the PLC to the fieldbus. Therefore, it is necessary to have a second multiplex method where both input data and output data require the handshake bits to update via the fieldbus. Note: The meanings of the control and status words are the same as for the Primary Multiplex Method. The only difference is that toggle bits RR and RA are used in the Secondary Method. Fig and Fig below illustrate the control and status word definitions for the Secondary Multiplex Method. Multiplex Input Control Byte Multiplex Output Control Byte RR see definition under Handshake Bits WR / WA and RR / RA (Secondary Method only) Multiplex Input Control Control Input Index (defines the (index_in_c) input command for (defines the multiplexing) input index command for multiplexing) Write Request Toggle Bit (WR) (initiates the write command once each time it is toggled) Multiplex Output Control Index (index_out_c) (defines the output index command for multiplexing) Fig : Control Word Definition, Secondary Multiplex Method

275 10-26 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Multiplex Input Status Byte Multiplex Output Status Byte RA see definition under Handshake Bits WR / WA and RR / RA (Secondary Method only) Multiplex Input Status Index (index_in_s) (confirms that the input index response location matches that of the command location) Write Request Acknowledge Bit (WA) (checks that the write data has been read once each time it is toggled) Multiplex Output Status Index (index_out_s) (confirms that the output index response location matches that of the command location) Fig : Status Word Definition, Secondary Multiplex Method The Secondary Multiplex Method has the following features: You can transfer a different index from master to slave as from slave to master. The handshake bits for both reading and writing of this multiplex channel make the multiplexing possible on inconsistent systems (masters). Handshake Bits RR and RA RR (Read Request) and RA (Read Acknowledge) are handshake bits that allow a controlled data transfer and use of the multiplex channel on inconsistent masters. RR and RA control the data transfer for reading data_in (data send from slave to master). RR == RA: tells the master that the slave has sent the requested data_in. The master can now read the data_in and request new data_in. tells the slave to do nothing, because the master has not yet put new consistent data on the bus. RR!= RA: tells the slave to put new data_in on the bus, because the master requests new data_in. tells the master to do nothing, because the slave has not yet put the latest requested multiplex data_in on the bus.

276 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Master Communications (Secondary Multiplex Method) Begin Control Word =0 RR==RA? No Yes Read Data_in Read Index_in_s, Read Data_in, Write Index in c Toggle RRT (Set RR = ~RA) WR == WA? No Yes Write Data_out Write Data_out, Write Index_out_c, Toggle WRT (Set WR = ~WA) *1 how to become consistent could be different from master to master Non-Cyclic Data (Explicit Messaging) Fig : Secondary Multiplex Method, Master Communications For some masters, it could be enough to first write data and then the control word. For other masters, you may have to implement a delay time (this time could be different from master to master) before writing WR = ~WA. The following methods for transferring data are available via DeviceNet, ControlNet, and Ethernet/IP Explicit Messaging: Mapped Data Data Exchange Objects Mapped Data Mapped data is the most powerful feature of the PPC-R non-cyclic fieldbus interface. Through mapped data, the user has access to virtually every PPC-R parameter over the fieldbus. It is easy to implement from the PLC side and requires no setup on the PPC-R side. To access a VisualMotion data type over the fieldbus, it has to be specified by an address that consists of a Class, Instance and Attribute. The Class, Instance and Attribute for each data type can be calculated by a formula (refer to Example Lookup Tables for Mapped Data on page 10-40).

277 10-28 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Class, Instance Fieldbus Data Cl 101, Inst 1 Cl 101, Inst 2 Cl 118, Inst 1 Cl 118, Inst 2 Cl 135, Inst 1 Cl 135, Inst 3 Attribute S-1 Visual Motion Data S- Parameters S-4095 P-1 P- Parameters P-4095 A-1 Axis- Parameters A-2047 Drive # Axis # Fig : Mapped Data object_mapping_dn.fh7 Mapped data can be used with the following parameters and values: S-Parameters (SERCOS Drive S-Parameters) P-Parameters (SERCOS Drive P-Parameters) A-Parameters (PPC Axis Parameters) C-Parameters (PPC C System parameters) T-Parameters (PPC Task parameters) size and format depend on parameter *,1 PF-Values (PPC Program Float data, 32 bit 2 words, IEEE format) *,2 GI-Values (PPC Global Integer data, 32 bit 2 words) *,2 GF-Values (PPC Global Float data, 32 bit 2 words, IEEE format) *,2 PI-Values (PPC Program Integer data, 32 bit 2 words) *,2 Reg.-Values (PPC Register data, 16 bit 1 word) *,3 Data Exchange Objects (0x5E70 0x5E73) (embedded ASCII Protocol) *You may notice that parameters accessed via the non-cyclic (Parameter) channel are not always the same size as reported from the attribute field. This is so that the data sizes correspond with the way the different data types are handled in the cyclic channel (Registers are always set to 16-bit size and Parameters are cast to 32- bit size, even if they actually use less space). 1. When writing mapped data to a VisualMotion Parameter, you must send the size data corresponding to that of the attribute field within the parameter. a.) For 32-bit parameters, you must send a data size of 32 bits (otherwise, VM error #07 is returned). b.) For 16-bit parameters, you must send a data of size 16-bits. If, for this case, you send data of size 32 bits, one of the following occurs: i.) For parameters of type 16-bit unsigned, only the Low word is stored, and the High word is ignored. ii.) For parameters of type 16-bit signed, bits 0-14 of the low word along with the sign bit #31 are used, and the remaining bits are ignored. c.) For String Parameters (e.g. S ), you must send the size of the string to write.

278 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces d.) All other Parameter Types (list parameters, command parameters, etc), are not supported for mapped data. When reading mapped data from a VisualMotion Parameter, there are 3 possible cases of sizes returned: a.) If the parameter type is a string, you receive the number of bytes corresponding to the length of the string. b.) If the parameter is 32-bit or less, you receive a cast 32-bit value for this parameter. This implies that 16-bit parameters are returned as cast in to 32-bit values. c.) All other parameter types (e.g. list parameters, command parameters, etc.), are not supported for mapped data. 2. When writing mapped data to a VisualMotion Program Float, Program Integer, Global Float, or Global Integer, the data size must be 32-bits (2 words). Any other size returns a VM error #07 (Invalid Data Format). When reading mapped data from a VisualMotion Program Float, Program Integer, Global Float, or Global Integer, the data size returned is always 32-bit (2 words). 3. When writing mapped data to a VisualMotion Register, the data must be 16-bits (1 word). Any other size returns a VM error #07 (Invalid Data Format). When reading mapped data from a VisualMotion Register, the data size returned is always 16-bit (1 word). Selecting Mapped Data To access a data type over the fieldbus, it has to be specified by an address that consists of a Class, Instance and Attribute. Class, Instance and Attribute for each data type can be calculated by a formula (refer to Explicit Messaging Error Codes (Low-Byte) for 0x1F Error No. (Hex) 0xF3 0xF2 0xF1 0xF0 Error Description Invalid Attribute Occurs when an attempt to access an incorrect or undefined location in the mapped data area. Invalid Class and Instance Occurs when attempting to access an incorrect or undefined location in the mapped data area. Not used ASCII Format Error occurs when attempting to communicate via the Data Exchange object where VisualMotion ASCII protocol is sent. This error also occurs if the initial characters are incorrect (such as the absence of the > start character). Table 10-12: Parameter Channel Error Codes (Low-Byte) Accessing Mapped Data on page 10-38). Transmission Sequence for Mapped Data Note: For mapped data, only one transmission (and one response) is required, to send a read or write message to and receive a response from the PPC-R.

279 10-30 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Fieldbus Message Header Data Field: Raw Data key components: service code: Read = 0x0E Write = 0x10 mapped data (under VisualMotion Mapped Data at the end of this section). This is the destination of the data field. Selection of the Class, Instance and Attribute depends on the required VisualMotion. Data field size (in bytes) minimum = 6 bytes for Class, Instance, Attribute key components: raw data to be transmitted (write message only; unused for read message) Important: The format of the Fieldbus message header and the method of implementation are dependent on the Fieldbus type and the master (PLC) being used. Refer to your Fieldbus master/plc documentation for proper transport and formatting of the message header. Non-Cyclic Mapped Data Write Message Steps Process Comments 1. Write request from the master with raw data. FB Write Command to appropriate Class, Instance and Attribute Raw data The data field for the write request contains the value to be stored in the VisualMotion data. 2. Acknowledge fieldbus response from slave. FB Response Received? Yes No Diagnose error The response message contains only a confirmation that the fieldbus message was sent properly. Therefore, the size of the data field will be 0. FB Response OK? No Yes Done Fig : Non-Cyclic Mapped Data Write Process Example: Write the value to Program Float 16 (This is a 32-bit data type, which is mapped to Class 165, Instance 1, and Attribute 16. The Class, Instance and Attribute can be calculated using the formulas under Explicit Messaging Error Codes (Low-Byte) for 0x1F

280 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Error No. (Hex) 0xF3 0xF2 0xF1 0xF0 Error Description Invalid Attribute Occurs when an attempt to access an incorrect or undefined location in the mapped data area. Invalid Class and Instance Occurs when attempting to access an incorrect or undefined location in the mapped data area. Not used ASCII Format Error occurs when attempting to communicate via the Data Exchange object where VisualMotion ASCII protocol is sent. This error also occurs if the initial characters are incorrect (such as the absence of the > start character). Table 10-12: Parameter Channel Error Codes (Low-Byte) Accessing Mapped Data at the end of this chapter.) 1. Write request from the master with raw data. Header: Write command Data Field: VisualMotion raw data contains: Write service code = (0x10) object number (Class 165, Instance 1, Attribute 16) data field size (bytes in this case: 4) + (6 bytes for Class, Inst, Att) = 10 bytes contains data (here, shown in decimal format): After the write request from the master, the PPC-R sends a response message. Header: Response message No data field contains: Write message o.k. is denoted by a Response service code of (0x90) data field size = 0 bytes 3. If the message response (code in message header) shows o.k., the transaction is complete.

281 10-32 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Non-Cyclic Mapped Data Read Message Steps Process Comments 1. Read request from the master with no data field. FB Read Command to appropriate Class, Instance and Attribute The request message contains only the fieldbus read command and the Class, Instance and Attribute to be read. 2. Acknowledge fieldbus response from slave. FB Response Received? No Diagnose error Yes FB Response OK? Yes No The data field for the response contains the value requested from the slave (PPC-R). 3. Master uses data from fieldbus response. VisualMotion raw data is available for use by master. Fig : Non-Cyclic Mapped Data Read Process Example: Read the value contained in Program Integer 8. (This is a 32-bit data type, which is mapped to Class 165, Instance 21, and Attribute 8. The Class, Instance and Attribute can be calculated using the formulas under Explicit Messaging Error Codes (Low-Byte) for 0x1F Error No. (Hex) 0xF3 0xF2 0xF1 0xF0 Error Description Invalid Attribute Occurs when an attempt to access an incorrect or undefined location in the mapped data area. Invalid Class and Instance Occurs when attempting to access an incorrect or undefined location in the mapped data area. Not used ASCII Format Error occurs when attempting to communicate via the Data Exchange object where VisualMotion ASCII protocol is sent. This error also occurs if the initial characters are incorrect (such as the absence of the > start character). Table 10-12: Parameter Channel Error Codes (Low-Byte) Accessing Mapped Data at the end of this chapter.) 1. Read request from the master. Header: Read command No data field contains: Read service code = (0x0E) Class 165, Instance 21, Attribute 8 data field size = 6 bytes for Class, Inst, Att 2. After the read request from the master, the PPC-R sends a response message.

282 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Header: Response message Data Field: VisualMotion raw data contains: Read message o.k. is denoted by a Response service code of (0x8E) data field size = 4 bytes contains data (here, shown in decimal format): If the message response (code in message header) shows o.k., the requested value is attached to the message in the data field. This value is now available for use by the master (PLC). Data Exchange Objects The four data exchange objects Class 100, Instance 1-4, Attribute 100 represent fixed data "containers" of varying lengths that transfer the VisualMotion ASCII Protocol to the PPC-R. These objects serve as an openended possibility to access any VisualMotion data (including cams, diagnostic text, etc.), but more work is required in the master to perform a transmission of this type. Both the VisualMotion ASCII message and the fieldbus transfer message must be formulated. Table below lists the available data exchange objects and their sizes. Data Exchange Object Data Length (in bytes) Class 100, Instance 1, Attribute Class 100, Instance 2, Attribute Class 100, Instance 3, Attribute Class 100, Instance 4, Attribute Table 10-10: Length of the Data Exchange Objects Selecting a Data Exchange Object Depending on the length of a VisualMotion ASCII message, any of these data exchange objects can be selected. Note: Note: The entire data length of the data exchange object must always be transmitted even if the VisualMotion ASCII message is shorter. For example, if you want to transmit an ASCII message of 42 bytes, you must use Class 100, Instance 3. To avoid a response error from the Fieldbus slave, you must append 22 "Null" characters to the end of the ASCII message to complete a data size of 64 bytes. The checksum for the VisualMotion ASCII protocol is NOT used with the data exchange object. If the checksum is sent as part of the string, it will be ignored, and no checksum will be sent in the VisualMotion ASCII response messages. To ensure data integrity, the Fieldbus protocols support a lowlevel checksum. Transmission Sequence via a Data Exchange Object Note: For the data exchange object, two transmissions (and two responses) are required, to send the read or write message to and then receive the response message from the PPC-R.

283 10-34 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Fieldbus Message Header Data Field: VisualMotion ASCII Protocol key components: service code: Read = 0x0E Write = 0x10 data exchange object (Class 100, Instance 1-4, Attribute 100). This is the destination of the data field. Object selection depends on required data field size. data field size (in bytes) minimum = 6 bytes for Class, Instance, Attribute key components: VisualMotion command (read or write data) ASCII data contained in the selected data exchange object The <CR> (0x0D) and <LF> (0x0A) characters must be applied to the ASCII string A checksum is not used in this case. (Fieldbus has a checksum) Note: Refer to the VisualMotion 6 Reference Manual for an explanation of the VisualMotion ASCII Protocol. Fig : Format of a Non-Cyclic Fieldbus Message using a Data Exchange Object Important: The format of the fieldbus message header is dependent on the type of master (PLC) being used. Refer to your PLC manufacturer's manual for specific information on this topic. The following sequence describes the communication between the Fieldbus master (PLC) and the Fieldbus slave (PPC-R):

284 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Message Steps Process Comments 1. Write request from the master with VisualMotion ASCII Protocol. FB Write Command VM ASCII protocol command text (read or write data) The data field for the write request can contain a VisualMotion read or write protocol. 2. Acknowledge fieldbus response from slave. FB Response Received? Yes No Diagnose error The response message contains only a confirmation that the fieldbus message was sent properly. Therefore, the size of the data field will be 0. FB Response OK? No Yes 3. Read request from the master to get VisualMotion ASCII response. 4. Receive fieldbus response from slave. FB Read Command No data FB Response Received? Yes No Diagnose error The read request message contains only header information (the data field is 0). You must anticipate the approximate size of the data field (VisualMotion ASCII response message) in order to select the appropriate data exchange object. If the selected object is too short, the data will be truncated. The response message will contain the VisualMotion ASCII response to the VisualMotion ASCII command text in Step 1. FB Response OK? No Yes VM ASCII protocol response text (write or transmit data) Fig : Non-Cyclic (Explicit Messaging) VisualMotion ASCII Communication Process

285 10-36 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Example: Read Card Parameter 100 (PPC-R firmware version) 1. Write request from the master with VisualMotion ASCII Protocol. Header: Write command Data Field: VisualMotion ASCII Protocol contains: Write service code = (0x10) object number (Class 100, Instance 1, Attribute 100) data field size (bytes in this case: 16) + (6 bytes for Class, Inst, Att) = 22 bytes contains code: >0_CP_1.100\CR\LF\00\00\00 2. After the first read request from the master, the PPC-R sends a response message. Header: Response message No data field contains: Write message o.k. is denoted by a Response service code of (0x90) data field size = 0 bytes 3. Read request from the master for the VisualMotion ASCII response message. Header: Read command No data field contains: Read service code = (0x0E) object number (Class 100, Instance 3, Attribute 100 anticipated return data size between 32 and 64 bytes) data field size = 6 bytes for Class, Inst, Att Note: To ensure that all of the data requested in this step is received in step 4 below, a data exchange object of the appropriate size must be selected. If the selected data exchange object is too small, the data will be truncated. If the selected data exchange object is too large, efficiency of transmission will be compromised. 4. The PPC-R sends the final response message. Header: Response message Data Field: VisualMotion ASCII Protocol contains: Read message o.k. is denoted by a Response service code of (0x8E) data field size = 64 bytes contains code: >0_CP_1.100_PSM01*-GPP-07V11- MS\CR\LF\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00 \00\00\00\00

286 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces DeviceNet, ControlNet, and EtherNet/IP General Error Codes Error No. (Hex) 0x09 0x0E Error Name Invalid attribute value Attribute not settable Error Description Invalid attribute data detected. A request to modify a non-modifiable attribute was received. 0x13 Not enough data The service did not supply enough data to perform the specified operation. 0x14 Attribute not supported The attribute specified does not exist in the device. 0x15 Too much data The service supplied more data than was expected. 0x16 0x1F* Object does not exist Vendor-specific error The object specified does not exist in the device. A vendor-specific error has been encountered. The Additional Code Field of the Error Response defines the particular error encountered. Use of this General Error Code should only be performed when none of the Error Codes presented in this table or within an Object Class definition accurately reflects the error. Refer to for information on Low-Byte Error Codes for 0x1F * Note: This error code is not valid for ControlNet Table 10-11: DeviceNet Error Codes

287 10-38 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Explicit Messaging Error Codes (Low-Byte) for 0x1F Error No. (Hex) 0xF3 0xF2 0xF1 0xF0 Error Description Invalid Attribute Occurs when an attempt to access an incorrect or undefined location in the mapped data area. Invalid Class and Instance Occurs when attempting to access an incorrect or undefined location in the mapped data area. Not used ASCII Format Error occurs when attempting to communicate via the Data Exchange object where VisualMotion ASCII protocol is sent. This error also occurs if the initial characters are incorrect (such as the absence of the > start character). Table 10-12: Parameter Channel Error Codes (Low-Byte) Accessing Mapped Data Rexroth has pre-configured a number of VisualMotion data types to DeviceNet, ControlNet, or EtherNet/IP Classes, Instances and Attributes. We call this concept-mapped data. These data types can be accessed via DeviceNet/ControlNet/EtherNet/IP Explicit Messaging. The Class, Instance and Attribute for each of these data types can be calculated using the formulas in Table below.

288 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Class, Instance Attribute Formula Class 166 Instance Note: for backwards compatibility, also listed as Data Exchange Object Class 100, Instance 1-4, Attribute 100 Class 166 Instance 134 Class 166, Instance <FREE> (349 objects available) Class 165 Instance 41 Class 165 Instance Class = 165 Program Integers Instance = 21 + [(Program Integer - 1) \ 255] (Int 1 Int 5100) Class 165 Instance 21 Class 165 Instance 20 1 Attribute = Program Integer - [(Instance - 21) * 255)] 255 Class = 165 Program Floats Instance = 1 + [(Program Float - 1) \ 255] (Float 1 Float 5100) Class 165, Instance 1 Class 164, Instance Attribute = Program Float - [(Instance - 1) * 255)] 255 <FREE> (235 objects available) Class 164, Instance 21 Class 164, Instance Class = 164 Global Integers Instance = 11 + [(Global Integer - 1) \ 255] (GInt 1 GInt 2550*) Class 164, Instance 11 Class 164, Instance 10 1 Attribute = Global Integer - [(Instance - 11) * 255)] 255 Class = 164 Global Floats Instance = 1 + [(Global Float - 1) \ 255] (GFloat 1 Gfloat 2550*) Class 164, Instance 1 Class 163, Instance Attribute = Global Float - [(Instance - 1) * 255)] 255 <FREE> (245 objects available) Class 163, Instance 11 Class 163, Instance Class = 163 Registers Instance = 1 + [(Register - 1) \ 255] (Reg. 1 Reg. 2550**) Class 163, Instance 1 Class 162, Instance Attribute = Register - [(Instance - 1) * 255)] 4 Class = [(T-Parameter - 1) \ 255] T-Parameters Instance = T-Parameter - [(Class - 159) * 255] (T T ) Class 159, Instance 1 Class 158, Instance Attribute = Task Number 255 <FREE> (GFloat 1 Gfloat 2550) Class 158, Instance 14 Class 158, Instance Class = [(C-Parameter - 1) \ 255] C-Parameters Instance = C-Parameter - [(Class - 144) * 255]

289 10-40 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Class, Instance Attribute Formula (C C ) Class 144, Instance 1 1 Attribute = 1 (data) Class 143, Instance 7 99 Class = [(A-Parameter - 1) \ 255] A-Parameters Instance = A-Parameter - [(Class - 135) * 255] (A A ) Class 135, Instance 1 1 Attribute = Axis Number Class 134, Instance Class = [(P-Parameter - 1) \ 255] P-Parameters Instance = P-Parameter - [(Class - 118) * 255] (P P ) Class 118, Instance 1 1 Attribute = Drive Number Class 117, Instance Class = [(S-Parameter - 1) \ 255] S-Parameters Instance = S-Parameter - [(Class - 101) * 255] (S S ) Class 101, Instance 1 1 Attribute = Drive Number * current limitation: C /C Maximum number global integers/floats. **current limitation: first 1024 registers. Table 10-13: Formulas for Determining Mapped Objects Example Lookup Tables for Mapped Data Card (C) Parameters The following is an example lookup table for C-Parameters, when using mapped objects. Example Look-up Chart for: C-Parameters CP 0.Y ==> CP = Card Parameter Y = Parameter Number Class 144 Class 144 Class 144 Class 144 Class 145 Class 158 Class 158 Instance 1 Instance 2 Instance 3 Instance 255 Instance 1 Instance 12 Instance 13 Attribute ID 1 CP 0.1 CP 0.2 CP 0.3 CP CP CP CP Table 10-14: C-Parameters Lookup Table for Mapped Data Types Axis(A) Parameters The following is an example lookup table for A-Parameters, when using mapped objects. The same formula also applies to SERCOS (S) and Task (T) Parameters.

290 VisualMotion 9 Application Manual DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces Example Look-up Chart for: A-Parameters AP X.Y ==> AP = Axis Parameter X = Axis Number Y = Parameter Number Class 135 Class 135 Class 135 Class 135 Class 136 Class 143 Class 143 Instance 1 Instance 2 Instance 3 Instance 255 Instance 1 Instance 6 Instance 7 1 AP 1.1 AP 1.2 AP 1.3 AP AP AP AP Attribute ID 2 AP 2.1 AP 2.2 AP 2.3 AP AP AP AP AP 3.1 AP 3.2 AP 3.3 AP AP AP AP : : : : : : : : : : : : : : : : : : : : 40 AP 40.1 AP 40.2 AP 40.3 AP AP AP AP Table 10-15: A-Parameters Lookup Table for Mapped Data Types Product-Specific (P) Parameters The following is an example lookup table for P-Parameters, when using mapped objects. Example Look-up Chart for: P-Parameters PP X.Y ==> PP = SERCOS P-Parameter (set 0 only) X = Drive Number Y = Parameter Number Class 118 Class 118 Class 118 Class 118 Class 119 Class 134 Class 134 Instance 1 Instance 2 Instance 3 Instance 255 Instance 1 Instance 14 Instance 15 1 PP 1.1 PP 1.2 PP 1.3 PP PP PP PP Attribute ID 2 PP 2.1 PP 2.2 PP 2.3 PP PP PP PP PP 3.1 PP 3.2 PP 3.3 PP PP PP PP : : : : : : : : : : : : : : : : : : : : 40 PP 40.1 PP 40.2 PP 40.3 PP PP PP PP Table 10-16: P-Parameters Lookup Table for Mapped Data Types Integers The following is an example lookup table for Integers, when using mapped objects. The same formula also applies to Floats, Global Integers, Global Floats and Registers.

291 10-42 DeviceNet, ControlNet, and EtherNet/IP Fieldbus Interfaces VisualMotion 9 Application Manual Example Look-up Chart for: VM Program Integers PI 0.Y ==> PI = Program Integer Y = Program Integer Number Class 165 Class 165 Class 165 Class 165 Instance 21 Instance 22 Instance 23 Instance 40 1 PI 1 PI 256 PI 511 PI 4846 Attribute ID = 2 PI 2 PI 257 PI 512 PI PI 3 PI 258 PI 513 PI 4848 : : : : : : : : : : : : 255 PI 255 PI 510 PI 765 PI 5100 Table 10-17: Program Integers Lookup Table for Mapped Data Types

292 VisualMotion 9 Application Manual Interbus Fieldbus Interface Interbus Fieldbus Interface 11.1 General Information Version Note: Information in this document is based on VisualMotion Toolkit software version 09VRS and PPC-R firmware version GPP09VRS. GMP09VRS firmware does not have a fieldbus interface, but can be used with the Rexroth PPC-PCI bus interface to allow cyclic and non-cyclic data transfer. VisualMotion 9 software is downward compatible with GPP firmware, but, depending on the hardware platform selected, the type of fieldbus communication selection may be limited. The following table lists the fieldbus firmware versions and the available fieldbus interfaces for each version. Fieldbus Interfaces Interbus PPC-R GPP07VRS PPC-R GPP08VRS PPC-R GPP09VRS Table 11-1: Fieldbus Firmware Version and Interface Type PPC-P GMP09VRS No Fieldbus Support Note: For fieldbus hardware information, refer to the VisualMotion 9 Project Planning Manual. PPC-R System Description with a Fieldbus The PPC-R can operate on a serial fieldbus interface (network) by means of a fieldbus expansion card that communicates with the PPC-R via dualport RAM. The function of the fieldbus card is similar to that of a network card in a PC: it allows communication with other devices on the network. In Fig. 11-1, a commonly described fieldbus interface is pictured: Fieldbus Master - PLC fieldbus interface Fieldbus Slave - PPC-R fieldbus interface In this document, we will refer to the PLC as the fieldbus master and the PPC-R as the fieldbus slave.

293 11-2 Interbus Fieldbus Interface VisualMotion 9 Application Manual Fieldbus Slave (Interbus) Indramat RECO H1 S1 D r i v e D r i v e SERCOS U1 RESET S2 H2 DIST TX RX U2 X1 X10 Q1 1 Q2 I1 I2 I3 U3 X16 U4 I/O Fieldbus Cyclic Communication Fieldbus Master PLC 24Ve GNDe Bb Bb 24V GND 11 PPC-R02.x Communication between PPC-R and fieldbus via dual-port RAM (Update rate: every 4 ms) Fig. 11-1: Sample Master/Slave Setup with Fieldbus Card PPCR_02_interbus_sercos.EPS.FH7 The VisualMotion Fieldbus Mapper Data Transfer Direction (Output vs. Input) Fieldbus Data Channel Descriptions With the PPC-R, the fieldbus card can be used only as a slave card in a master/slave setup. When using EtherNet/IP in a VisualMotion 9 system, no other fieldbus interface card (i.e., Profibus, DeviceNet, ControlNet, Interbus) or the MTS-R PLC interface can be used. In the VisualMotion software package, the Fieldbus Mapper is a tool used to set up fieldbus configuration and data mapping. In the VisualMotion Fieldbus Mapper, output and input are always described with respect to the fieldbus master. The definitions for output and input follow: output: the communication from the PLC to the PPC-R (i.e. from the fieldbus master to the fieldbus slave). Synonyms for this type of communication: send or write data. input: the communication from the PPC-R to the PLC (i.e. from the fieldbus slave to the fieldbus master). Synonyms for this type of communication: receive or read data. The Rexroth Interbus fieldbus interface card for the PPC-R supports the following communication channels: Cyclic (PD) Channel Non-Cyclic (PCP) Channel Fig shows the possible channel configurations.

294 VisualMotion 9 Application Manual Interbus Fieldbus Interface 11-3 word 15 word 0 Multiplex Channel Single Channel Cyclic (PD) Channel word 15 word 0 word 15 word 0 Multiplex Channel Only (w/pcp Channel OFF) Single Channel Only (w/p CP Channel OFF) Cyclic (PD) Channel Basic Configurations Cyclic (PD) Channel word 15 word 2 word 0 word 15 word 2 word 0 Multiplex Channel (w/pcp Channel ON) Single Channel (w/pcp Channel ON) Cyclic (PD) Channel Non-Cyclic (PCP) Channel Cyclic (PD) Channel Non-Cyclic (PCP) Channel word 15 word 2 word 0 Multiplex Channel Single Channel Cyclic (PD) Channel Non-Cyclic (PCP) Channel Fig. 11-2: Interbus Channel Configuration Options Cyclic (PD) Channel The cyclic (PD) channel, sometimes called the real-time channel, contains user-defined data. This data is stored in two ordered lists (C for input data, C for output data) and transmitted serially over the bus. This data is updated cyclically between the fieldbus master and slave. The cyclic data channel is limited to 16 input words and 16 output words (provided the non-cyclic channel is turned off). If the non-cyclic (PCP) channel is turned on, it consumes 2 words, thus limiting the cyclic channel to 14 input words and 14 output words. PPC-R data types consume these words in either one-word (16-bit) groups for PPC-R registers or twoword (32-bit) groups for all other data types. The PPC-R mapping list is scanned every 4 ms and data is sent and received to/from the fieldbus slave board's dual port RAM. The cyclic data channel can be made up of any combination of the following data types: Single Channel Multiplex Channel Cyclic Data: Types and Sizes The following table outlines the PPC-R data types that can be transmitted via the cyclic channel and the amount of space (in 16-bit data words) that each data type consumes.

295 11-4 Interbus Fieldbus Interface VisualMotion 9 Application Manual Note: The cyclic data mapping lists support only 16- and 32-bit data of the following types for reading and writing: - Integer - Float - Binary (used in control parameters) - Hex (used in control parameters) For all other data types (e.g. diagnostic messages - strings ), use the non-cyclic Channel. PPC-R Data Type Data Size (in 16-Bit Words) Register 1 Program Integer (currently active program ONLY *) 2 Program Float (currently active program ONLY *) 2 Global Integer 2 Global Float 2 Card Parameter 2 Axis Parameter 2 Task Parameter 2 Note: Drive parameters "S" or "P" cannot be transmitted cyclically because of the inherent delay of parameter access over the SERCOS service channel. See "Non-Cyclic (PCP) Channel." However, if a drive parameter is mapped to an Axis Parameter, that Axis parameter could be used in cyclic data (see description of Axis Parameters in the VisualMotion Reference Manual). * Important Note: Integers and floats are shown only for the currently active program. Each time you activate a new progam, the fieldbus reads/writes to the newly-activated program. Table 11-2: PPC-R Cyclic Data Types and Sizes Single Data Types Single data types are mapped directly in the cyclic mapping ordered lists (C , C ). Multiplex Data Types (Cyclic Data Channel) Important: You should use multiplexing only if your Interbus master is consistent over the entire cyclic channel! In some multi-axis applications, 14 or 16 words of cyclic data transfer are not sufficient to meet the requirement of the application. When insufficient data transfer space is available, multiplex data can be set up within the cyclic channel. One multiplex container acts as a placeholder for multiple possible PPC-R data types (all of the same word size). The currently transmitted PPC-R data type is based on an index value placed in a multiplex control or status word attached to the end of the cyclic list. Depending on the index specified by the master, the multiplex channel permits a different set of data within the cyclic channel to be transferred as current real-time data. Multiplex containers can be added to the input and output lists separately and the input and output indexes can be designated separately (in the control and status words). Note: Using the multiplex channel reduces the maximum number of usable words for storing control data to 15. The 16 th word (or last used word, if fewer than 15 words) is used as the multiplex entry control/status word.

296 VisualMotion 9 Application Manual Interbus Fieldbus Interface 11-5 Note: When using VisualMotion 9 with GPP 7 firmware, a maximum of 15 multiplex containers and a maximum of 180 mapping items can be transmitted in the input or output list. This limitation of mapping objects means that you cannot multiplex all 15 containers with all 32 available indexes (=480 items). For VisualMotion 9 with GPP 8 or 9 firmware, there is no limitation for multiplexing (each of the first 31 words may be multiplexed with up to 32 indexes). Word 15 Word 14 Word 13 Word 12 Word 11 Word 10 Word 9 Word 8 Word 7 Word 6 Word 5 Word 4 Word 3 Word 2 Word 1 Word 0 16-bit 16-bit 16-bit 32-bit 32-bit multiplex multiplex multiplex control/status container multiplex container multiplex container word container 32-bit multiplex container 16-bit single item 32-bit single item 32-bit single item 16-bit single item 16-bit single item Index 0 Index 0 Index 0 Index 0 Index 0 Index 1 Index 1 Index 1 Index 1 Index 1 Index 2 Index 2 Index 2 Index 2 Index Index 31 Index 31 Index 31 Index 31 Index 31 Fig. 11-3: Sample Command (PLC PPC-R) or Response (PPC-R PLC) The multiplex control and status words serve to command and acknowledge multiplex data transferred between the fieldbus master and the fieldbus slave. The control word is associated with output communication (PLC PPC-R). The status word is associated with input communication (PPC-R PLC). Single data items are not affected by the multiplex control and status words. Note: For specific information about how the fieldbus master uses the multiplex control and status words, refer to Multiplexing on page

297 11-6 Interbus Fieldbus Interface VisualMotion 9 Application Manual Example 1 Example 2 Example 3 Cyclic Channel 12 words non-multiplexed data PLC Memory Cyclic Channel 12 words non-multiplexed data PLC Memory Cyclic Channel 12 words non-multiplexed data PLC Memory Multiplex Multiplex Multiplex Container 1 Container 1 Container 1 Multiplex Multiplex Multiplex Container 2 Container 2 Container 2 Multiplex Multiplex Multiplex Container 3 Container 3 Container 3 Index 00 Index 01 Index 02 Multiplexing control / status word Fig. 11-4: Examples for Reading Data via the Multiplex Channel multiplexing.fh7 Non-Cyclic (PCP) Channel For Interbus systems using the PPC-R/VisualMotion hardware configuration, the non-cyclic (PCP) channel can be used for parameterization, extended diagnostic information and other non-urgent communication. When enabled, the PCP channel is always fixed at a length of 2 words. If it is not needed, the PCP channel can be disabled, allowing use of those two words for the cyclic channel. Note: For further explanation of the features supported in the PCP channel, refer to Non-Cyclic Data Access via the Non- Cyclic (PCP) Channel on page

298 VisualMotion 9 Application Manual Interbus Fieldbus Interface Fieldbus Mapper Functionality Initializing the Fieldbus Mapper from VisualMotion 9 1. Open an existing program or create a new program. You must be using PPC-R hardware with GPP firmware to use the Fieldbus Mapper described in this document. 2. Select Commission Fieldbus Mapper. The main Fieldbus Mapper window appears (refer to Fig. 11-5). Creating a New Fieldbus Mapper File Importing a Fieldbus Mapper File Fig. 11-5: FBMapper Project Window (Empty) FB_Mapper_New.tif 1. Click or select File New. A setup wizard goes through three steps: Fieldbus Slave Definition Fieldbus Slave Configuration Cyclic Data Configuration 2. Enter the information requested in the setup windows. For more details on each step, refer to Fieldbus Slave Definition, Fieldbus Slave Configuration, and Cyclic Data Configuration for detailed information about each configuration step. 3. Save the file (automatically has a *.prm extension). A Fieldbus Mapper file can be imported from another project. To import the file: 1. Select File Import. 2. Browse to find the desired file (*.prm extension). 3. Click Open. The main Fieldbus Mapper window appears, which lists the configuration information. Refer to Fig

299 11-8 Interbus Fieldbus Interface VisualMotion 9 Application Manual Fig. 11-6: FBMapper Project Window (Complete) FB_Mapper_Main_IB.tif 4. From the Fieldbus Mapper main window, double-click on the specific item to be edited. The corresponding setup window appears. - Or - Select the item to edit from the Edit menu (refer to Fig. 11-7). For more information about each step, refer to Fieldbus Slave Definition, Fieldbus Slave Configuration, and Cyclic Data Configuration for detailed information about each configuration step. Fig. 11-7: Fieldbus Mapper Edit Menu FB_Mapper_Edit_Menu.tif Note: You can also directly add, insert, delete, edit an item, or create a new list by: clicking on the item to be edited in the main Fieldbus Mapper window and selecting the desired function under Edit Selected Mapping List OR right-clicking on an item to display a menu of functions

300 VisualMotion 9 Application Manual Interbus Fieldbus Interface 11-9 Fieldbus Slave Definition From the Fieldbus Slave Definition window, select Interbus as the Fieldbus Type (see Fig. 11-8). Refer to Table 11-1 for a list of the available hardware platforms for Interbus. The hardware platform can only be selected when the project is in Service mode. Fieldbus Slave Configuration Fig. 11-8: Fieldbus Slave Definition Window FB_Hardware_IB.tif The Interbus Fieldbus Slave Configuration window is shown in Fig below. Fig. 11-9: Fieldbus Slave Configuration FB_Slave_Config.tif Fieldbus Error Reaction Set the Error Reaction to Shutdown (default), Warning or Ignore. Refer to Fieldbus/PLC Cyclic Read/Write Monitoring Monitoring of Fieldbus read/write capabilities to the cyclic channel are associated with three parameters: C Fieldbus/PLC Cyclic Channel: Current Number of Misses displays the current number of transfers to/from the cyclic channel. C Fieldbus/PLC Cyclic Channel: Peak Number of Misses displays the maximum number of missed transfers to/from the cyclic channel.

301 11-10 Interbus Fieldbus Interface VisualMotion 9 Application Manual PCP Channel Length C Fieldbus/PLC Cyclic Channel: Timeout Counter displays the number of timeouts in the cyclic channel. If after 4 ms, the Cyclic Mapping Lists are not successfully transmitted, a "miss" is noted. For more information about these parameters, see the VisualMotion 9 Functional Description manual. Fieldbus Error Reaction on page for detailed information about each setting. The PCP (non-cyclic) channel can be set to 0 words (Off) or 2 words (On). Advanced Configuration Options The Advanced Options field is displayed if the checkbox next to Show Advanced Configuration Options is checked (refer to Fig below). In most cases, the default options should apply. FB_Slave_Config_Adv.tif Fig : Fieldbus Slave Configuration: Advanced Cyclic Data Configuration Multiplex Method: select Primary or Secondary (Primary is the default). Select Secondary only if you have a consistent fieldbus master. Refer to Multiplexing on page for detailed information about each method. An example of the Cyclic Data Configuration window is shown in Fig below. If you are editing an existing Fieldbus Mapper file, the list will probably contain more items. First, you must select the Cyclic Input List (from PPC-R to PLC) or the Cyclic Output List (from PLC to PPC-R).

302 VisualMotion 9 Application Manual Interbus Fieldbus Interface Fig : Cyclic Data Configuration Adding an Item to the List Cyclic_Data_Config.tif 1. Select the Cyclic Input List or the Cyclic Output List. 2. Click Add. The window in Fig below appears. Select the Data Type (for example, Register). Fig : Add Item to Cyclic Data Cyclic_Data_Add.tif Note: Registers and 16-bit Multiplex Containers (used only for Registers) require one data word (16 bits), and all other data types require two data words (32 bits) of space. 3. Enter the required information (for example Register Number) or select it from the list below. Only the available data types for your designated VisualMotion hardware setup and fieldbus type are listed. Note: If your project is in Service mode and you check the box next to Get Latest (On-Line), the data type label list is updated based on your firmware version and the currently active program. 4. Click OK to add the selected item to the list.

303 11-12 Interbus Fieldbus Interface VisualMotion 9 Application Manual Adding Multiplex Containers to the List 1. Select the Cyclic Input List or the Cyclic Output List. 2. Click Add. 3. In the Add Item window under Select the Data Type, select Multiplex Container 16-bit (for Registers) or Multiplex Container 32-bit (for all other data types). 4. Click OK to add the Multiplex Container to the List. The window in Fig below is an example where a 16-bit Multiplex Container and a 32-Bit Multiplex Container have been added. Fig : Cyclic Data Configuration, Multiplex Containers Cyclic_Data_Config_mltplx.tif Note: At this point, the Multiplex Containers do not yet contain any items. To add multiplex items, refer to below. Adding Items to an Empty Multiplex Container 1. In the Cyclic Data Configuration window, select the multiplex container to which you want to add items. 2. Click Add. The window in Fig below appears. Because it is unclear whether you would like to add to the list or to the multiplex container, the Fieldbus Mapper is requesting clarification. Fig : Add Item or Multiplex Item Add_Multiplex.tif

304 VisualMotion 9 Application Manual Interbus Fieldbus Interface Note: For subsequent items, highlight any of the indexes within the multiplex container before clicking Add, and the Fieldbus Mapper will know you want to add to that container. 3. To add to the selected multiplex container, click No. The window in Fig below is an example for adding a 32-bit multiplex item. 4. Select the desired item to be added to the multiplex container. Note: In addition to the data types that can be added to the multiplex list, an empty item called Multiplex Empty Item is available to fill a space within the multiplex container, if nothing is to be mapped to a particular index. 5. Click OK. The item is automatically placed in the multiplex container as the next unassigned index item (e.g. the first item is index 00, the last is index 31). 6. Repeat for as many items as you want to add to the multiplex container, up to 32 items. Fig : Adding a Multiplex Item to the Container (32-bit example) Add_Multiplex_Item.tif Editing the Cyclic Data Lists To make changes to an existing list, use the following buttons: Button Function Inserts a new item at the end of the list. Inserts a new item into the list directly before the selected item. Removes the selected item from the list. Allows editing of the selected item. (To edit a list item, you may also double-click on it.) Clears up the current list. Table 11-3: Button Functions in the Cyclic Data Configuration Window

Levante Sistemas de Automatización y Control S.L.

Levante Sistemas de Automatización y Control S.L. Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port 143 46470 Catarroja (Valencia) Telf. (+34) 960 62 43 01 comercial@lsa-control.com www.lsa-control.com www.boschrexroth.es

More information

Levante Sistemas de Automatización y Control S.L.

Levante Sistemas de Automatización y Control S.L. Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port 143 46470 Catarroja (Valencia) Telf. (+34) 960 62 43 01 comercial@lsa-control.com www.lsa-control.com www.boschrexroth.es

More information

Rexroth VisualMotion 9 Multi-Axis Motion Control using GPP and GMP Firmware

Rexroth VisualMotion 9 Multi-Axis Motion Control using GPP and GMP Firmware Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Pneumatics Service Automation Mobile Hydraulics Rexroth VisualMotion 9 Multi-Axis Motion Control using GPP and

More information

Rexroth SYNAX 200 Version 11

Rexroth SYNAX 200 Version 11 Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Reroth SYNAX 200 Version 11 Interfaces Description Pneumatics Service Automation Mobile Hydraulics R911299014

More information

Levante Sistemas de Automatización y Control S.L.

Levante Sistemas de Automatización y Control S.L. Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port 143 46470 Catarroja (Valencia) Telf. (+34) 960 62 43 01 comercial@lsa-control.com www.lsa-control.com www.boschrexroth.es

More information

Levante Sistemas de Automatización y Control S.L.

Levante Sistemas de Automatización y Control S.L. Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port 143 46470 Catarroja (Valencia) Telf. (+34) 960 62 43 01 comercial@lsa-control.com www.lsa-control.com www.boschrexroth.es

More information

Rexroth MTC200/ISP200/TRANS200 MTGUI User Interface

Rexroth MTC200/ISP200/TRANS200 MTGUI User Interface Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Pneumatics Service Automation Mobile Hydraulics Rexroth MTC200/ISP200/TRANS200 MTGUI User Interface 298459 Edition

More information

Levante Sistemas de Automatización y Control S.L.

Levante Sistemas de Automatización y Control S.L. Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port 143 46470 Catarroja (Valencia) Telf. (+34) 960 62 43 01 comercial@lsa-control.com www.lsa-control.com www.boschrexroth.es

More information

Rexroth SYNAX 200 Version 12

Rexroth SYNAX 200 Version 12 Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Pneumatics Service Automation Mobile Hydraulics Reroth IndraControl VCP 20 Reroth SYNAX 200 Version 12 Interfaces

More information

Figure 1-9: CLC-D02.3M Hardware. CLC-D Serial Communication

Figure 1-9: CLC-D02.3M Hardware. CLC-D Serial Communication 1-14 Introduction and Overview VisualMotion 6.0 1.5 CLC-D Overview CLC-D02.3M hardware Figure 1-9: CLC-D02.3M Hardware CLC-D Serial Communication Port A (X27) is configured to respond to the VisualMotion

More information

VISUALMOTION Open Control and Drive System for Press Automation. Metal forming with system

VISUALMOTION Open Control and Drive System for Press Automation. Metal forming with system VISUALMOTION Open Control and Drive System for Press Automation Metal forming with system 2 Best in Class Performance for Press Automation How do you make press automation faster, more flexible, and thus

More information

VisualMotion 8 (GPP) Multi-Axis Motion Control. Project Planning Manual DOK-VISMOT-VM*-08VRS**-PR03-AE-P

VisualMotion 8 (GPP) Multi-Axis Motion Control. Project Planning Manual DOK-VISMOT-VM*-08VRS**-PR03-AE-P VisualMotion (GPP) Multi-Axis Motion Control Project Planning Manual DOK-VISMOT-VM*-RS**-PR0-AE-P About this Documentation VisualMotion Project Planning Title VisualMotion (GPP) Multi-Axis Motion Control

More information

IndraLogic L Controller based

IndraLogic L Controller based IndraLogic L Controller based www.brberg.ru brberg@ya.ru Тел. (499) 703-31-61 2 Bosch Rexroth AG Electric Drives and Controls Documentation Powerful, with extensive functionality and interfaces Scalable

More information

ECODRIVE03/DURADRIVE Drives for General Automation with Fieldbus Interfaces. Firmware Version Notes: FGP 20VRS SYSTEM200

ECODRIVE03/DURADRIVE Drives for General Automation with Fieldbus Interfaces. Firmware Version Notes: FGP 20VRS SYSTEM200 ECODRIVE03/DURADRIVE Drives for General Automation with Fieldbus Interfaces Firmware Version Notes: FGP 20VRS SYSTEM200 About this Documentation FGP-20VRS Title Type of Documentation ECODRIVE03/DURADRIVE

More information

Motion-Logic system. IndraMotion MLC Controller based

Motion-Logic system. IndraMotion MLC Controller based IndraMotion MLC Controller based 2 Bosch Rexroth AG Electric Drives and Controls Documentation Application description Simple, open and flexible Integrated runtime system with motion, robot and logic controls

More information

Rexroth IndraMotion MTX Diagnosis Messages

Rexroth IndraMotion MTX Diagnosis Messages Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Pneumatics Service Automation Mobile Hydraulics Rexroth IndraControl VCP 20 Rexroth IndraMotion MTX Diagnosis

More information

MTC200/ISP200/TRANS200 Setup. Application Manual SYSTEM200 DOK-CONTRL-SETUP***V22-AW02-EN-P

MTC200/ISP200/TRANS200 Setup. Application Manual SYSTEM200 DOK-CONTRL-SETUP***V22-AW02-EN-P MTC200/ISP200/TRANS200 Setup Application Manual SYSTEM200 About this Documentation Setup Title Type of Documentation MTC200/ISP200/TRANS200 Setup Application Manual Document Typecode Internal File Reference

More information

CLC Multi-Axis Coordinated Motion Control

CLC Multi-Axis Coordinated Motion Control engineering mannesmann Rexroth CLC Multi-Axis Coordinated Motion Control End User Manual DOK-VISMOT-VM*-05VRS**-WAR1-AE-P 278099 Indramat Title CLC Multi-Axis Coordinated Motion Control Kind of documentation

More information

PLC. IndraLogic L Controller-based

PLC. IndraLogic L Controller-based IndraLogic L Controller-based 2 Bosch Rexroth AG Electric Drives and Controls Documentation High performance with comprehensive functions and numerous interfaces Scalable with the innovative IndraControl

More information

DriveWare. User s Guide DriveBrowser

DriveWare. User s Guide DriveBrowser DriveWare User s Guide DriveBrowser DriveBrowser User s Guide Code: 3AUA0000024806 EN EFFECTIVE: 31.12.2008 SUPERCEDES 31.01.2008 2008 ABB Oy. All rights reserved. 5 Table of contents Table of contents...

More information

Ethernet Modbus X80 Gateway Device Type Manager

Ethernet Modbus X80 Gateway Device Type Manager Ethernet Modbus X80 Gateway Device Type Manager EIO0000001315 10/2012 Ethernet Modbus X80 Gateway Device Type Manager User Manual 10/2012 EIO0000001315.00 www.schneider-electric.com The information provided

More information

IMPORTANT PRODUCT INFORMATION

IMPORTANT PRODUCT INFORMATION 22-Apr-08 IMPORTANT PRODUCT INFORMATION READ THIS INFORMATION FIRST Product: Max-ON Hot-Backup Redundancy Software, Release 2.05 Introduction Max-ON is a trademark of GE Fanuc Automation, Inc. IC641HBR300D

More information

MTC200/ISP200/MTA200/TRANS200 MTGUI User Interface. Application Manual SYSTEM200 DOK-CONTRL-MTGUI***V22-AW01-EN-P

MTC200/ISP200/MTA200/TRANS200 MTGUI User Interface. Application Manual SYSTEM200 DOK-CONTRL-MTGUI***V22-AW01-EN-P MTC200/ISP200/MTA200/TRANS200 MTGUI User Interface Application Manual SYSTEM200 About this Documentation MTGUI User Interface Title Type of Documentation MTC200/ISP200/MTA200/TRANS200 MTGUI User Interface

More information

Universal Serial/PROFIBUS DP Gateway GT200-DP-RS User Manual V6.1 SST Automation

Universal Serial/PROFIBUS DP Gateway GT200-DP-RS User Manual V6.1 SST Automation GT200-DP-RS V6.1 SST Automation E-mail: SUPPORT@SSTCOMM.COM WWW.SSTCOMM.COM Catalog 1 About the Gateway...4 1.1 Product Function...4 1.2 Product Features... 4 1.3 Technical Specifications... 4 1.4 Related

More information

engineering mannesmann Rexroth VisualMotion GPS 6.0 Startup Guide Rexroth Indramat DOK-VISMOT-VM*-06VRS**-PR02-AE-P

engineering mannesmann Rexroth VisualMotion GPS 6.0 Startup Guide Rexroth Indramat DOK-VISMOT-VM*-06VRS**-PR02-AE-P engineering mannesmann Rexroth VisualMotion GPS 6.0 Startup Guide DOK-VISMOT-VM*-06VRS**-PR02-AE-P Rexroth Indramat About this documentation VisualMotion 6.0 Title VisualMotion 6.0 Type of documentation

More information

How to Configure DeviceNet with Anybus Configuration Manager (ACM) for DeviceNet APPLICATION NOTE DRAFT

How to Configure DeviceNet with Anybus Configuration Manager (ACM) for DeviceNet APPLICATION NOTE DRAFT How to Configure DeviceNet with Anybus Configuration Manager (ACM) for DeviceNet APPLICATION NOTE ENGLISH Important User Information Liability Every care has been taken in the preparation of this document.

More information

Table of Contents 1 ABOUT THIS DOCUMENT GENERAL COPYRIGHT INFORMATION TERMS ABOUT THE GATEWAY PRODUCT FUNCTIO

Table of Contents 1 ABOUT THIS DOCUMENT GENERAL COPYRIGHT INFORMATION TERMS ABOUT THE GATEWAY PRODUCT FUNCTIO DeviceNet/PROFIBUS-DP Adapter - User Manual REV 4.0 SiboTech Automation Co., Ltd. Technical Support: +86-21-5102 8348 E-mail:gt@sibotech.net Table of Contents 1 ABOUT THIS DOCUMENT...2 1.1 GENERAL... 2

More information

HART / EtherNet/IP Gateway GT200-HT-EI User Manual V 1.0 REV A SST Automation

HART / EtherNet/IP Gateway GT200-HT-EI User Manual V 1.0 REV A SST Automation HART / EtherNet/IP Gateway GT200-HT-EI V 1.0 REV A SST Automation E-mail: SUPPORT@SSTCOMM.COM WWW.SSTCOMM.COM Catalog 1 Product Overview... 4 1.1 Product Function...4 1.2 Product Features... 4 1.3 Technical

More information

AO-OPC OPC Server Software version 2.1. User s manual 42/24-23 EN Rev. 4

AO-OPC OPC Server Software version 2.1. User s manual 42/24-23 EN Rev. 4 AO-OPC OPC Server Software version 2.1 User s manual 42/24-23 EN Rev. 4 Table of contents Page Chapter 1 Description 4 Description 4 Chapter 2 Installation 6 Installing and uninstalling AO-OPC 6 Chapter

More information

Motion-Logic. Drive based IndraMotion MLD

Motion-Logic. Drive based IndraMotion MLD Drive based IndraMotion MLD 2 Bosch Rexroth AG Electric Drives and Controls Documentation Brochure Instructions Compact and powerful Certified safety technology Drive-integrated motion-control according

More information

Please refer to application note AN00129 for further details on HCP2 configuration in ABB motion control products.

Please refer to application note AN00129 for further details on HCP2 configuration in ABB motion control products. Motion Control Products Application note Using CP600 as a communication gateway AN00237-001 Make use of the configurability and ease of use of the CP600 HMI range to automatically pass data from one connected

More information

HMI/industrial PC. Plug-in card Sercos master module Sercans

HMI/industrial PC. Plug-in card Sercos master module Sercans Plug-in card Sercos master module Sercans 2 Bosch Rexroth AG Electric Drives and Controls Documentation Sercans is an active Sercos master module to support up to 254 devices, regardless of operating system,

More information

APPLICATION NOTES. Advanced Graphical Interface - AGI Internal PLC (CODESYS V3) SHENDONG

APPLICATION NOTES. Advanced Graphical Interface - AGI Internal PLC (CODESYS V3) SHENDONG APPLICATION NOTES Advanced Graphical Interface - AGI Internal PLC (CODESYS V3) SHENDONG CODESYS V3 logic running on AGI 300/400 series product Support of Modbus/TCP and RTU communication Use of remote

More information

SERCANS SERCOS interface Assembly. Application Description: Version 04 DOK-SERCAN-SER-04VRS**-AW02-EN-P

SERCANS SERCOS interface Assembly. Application Description: Version 04 DOK-SERCAN-SER-04VRS**-AW02-EN-P SERCANS SERCOS interface Assembly Application Description: Version 4 About this Documentation SERCANS SERCOS interface assembly Title SERCANS SERCOS interface assembly Type of documentation Application

More information

VS-626M5 Parameter Upload/Download Software User s Manual (Preliminary) 5/18/99

VS-626M5 Parameter Upload/Download Software User s Manual (Preliminary) 5/18/99 VS-626M5 Parameter Upload/Download Software User s Manual (Preliminary) 5/18/99 Computer Requirements The following hardware and software are required to run the M5 Parameter Upload/Download software.

More information

Rexroth MLC Tech-FB for Packaging Applications

Rexroth MLC Tech-FB for Packaging Applications Electric Drives Linear Motion and Hydraulics Assembly Technologies Pneumatics Service Rexroth MLC Tech-FB for Packaging Applications R911321344 Edition 01 Application Manual Bosch Rexroth AG Electric Drives

More information

Port Connections This section covers parallel and Ethernet connections.

Port Connections This section covers parallel and Ethernet connections. CHAPTER 3 PC Setup This chapter covers connecting the printer and installing utilities, drivers, and related files on PC hosts. Port Connections This section covers parallel and Ethernet connections. Parallel

More information

Intel Server RAID Controller U2-1 Integration Guide For Microsoft* Windows NT* 4.0

Intel Server RAID Controller U2-1 Integration Guide For Microsoft* Windows NT* 4.0 Intel Server RAID Controller U2-1 Integration Guide For Microsoft* Windows NT* 4.0 Revision 1.0 February 2000 Revision History Revision Revision History Date 1.0 Initial Release 02/10/00 Intel Corporation

More information

Embedded Modbus TCP Module GS11-MT. User Manual REV 1.1. SST Automation.

Embedded Modbus TCP Module GS11-MT. User Manual REV 1.1. SST Automation. Embedded Modbus TCP Module GS11-MT User Manual REV 1.1 SST Automation E-mail: SUPPORT@SSTCOMM.COM WWW.SSTCOMM.COM Catalog 1 About the Embedded Module... 4 1.1 General...4 1.2 Features... 4 1.3 Specifications...4

More information

EQ-DCM User Manual Revision 1.02 Sep 10, 2013

EQ-DCM User Manual  Revision 1.02 Sep 10, 2013 EQ-DCM User Manual www.equustek.com Revision 1.02 Sep 10, 2013 Contents INTRODUCTION...5 ABOUT THIS MANUAL... 5 INTENDED AUDIENCE... 5 HARDWARE SPECIFICATIONS...6 PHYSICAL SPECIFICATIONS... 6 HARDWARE

More information

Levante Sistemas de Automatización y Control S.L.

Levante Sistemas de Automatización y Control S.L. Catálogos Levante Sistemas de Automatización y Control S.L. LSA Control S.L. Camí del Port 143 46470 Catarroja (Valencia) Telf. (+34) 960 62 43 01 comercial@lsa-control.com www.lsa-control.com www.boschrexroth.es

More information

Rexroth IndraMotion MLC The innovative Motion Logic system

Rexroth IndraMotion MLC The innovative Motion Logic system Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service Rexroth IndraMotion MLC The innovative Motion Logic system Simple, open and flexible 2 Rexroth IndraMotion

More information

EQ7000. User Manual. Rev 1.00

EQ7000. User Manual. Rev 1.00 EQ7000 User Manual Rev 1.00 www.equustek.com Revision 1.00 February 27, 2009 Contents INTRODUCTION...4 ABOUT THIS MANUAL...4 INTENDED AUDIENCE...4 HARDWARE SPECIFICATIONS...5 PHYSICAL SPECIFICATIONS...5

More information

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

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 a Moxa MGate 5105-MB-EIP and an Allen-Bradley CompactLogix L32E Contents Moxa Technical Support Team support@moxa.com 1. Introduction... 2 2. Applicable products... 2 3. System requirements... 2 4. System

More information

ECODRIVE03 Drive for General Automation With SERCOS-, Analog- and Parallelinterface

ECODRIVE03 Drive for General Automation With SERCOS-, Analog- and Parallelinterface engineering mannesmann Rexroth ECODRIVE03 Drive for General Automation With SERCOS-, Analog- and Parallelinterface Parameter Description: SGP 01VRS DOK-ECODR3-SGP-01VRS**-PAR1-EN-P 283218 Indramat About

More information

JPRO Fleet Service Portal User s Guide

JPRO Fleet Service Portal User s Guide JPRO Fleet Service Portal User s Guide 1 System Requirements Supported Operating Systems Windows 2000 Windows XP Hardware Requirements Minimum: 128 MB RAM, 2 GB HD, Pentium II, 1024 x 768 monitor Recommended:

More information

ETOR-4 Ethernet/Serial Gateway ETOR-4. Ethernet/Serial Gateway USER MANUAL

ETOR-4 Ethernet/Serial Gateway ETOR-4. Ethernet/Serial Gateway USER MANUAL ETOR-4 Ethernet/Serial Gateway USER MANUAL 1 TABLE OF CONTENTS SECTION 1 GENERAL INFORMATION...6 SECTION 2 INSTALLATION...9 2.1 Definitions on ETOR... 9 2.2 Configuring ETOR...10 2.3 Required Installations

More information

Motortronics VirtualSCADA VS2-MT Communication Gateway VS2-MT User Manual Revision

Motortronics VirtualSCADA VS2-MT Communication Gateway VS2-MT User Manual Revision Motortronics VirtualSCADA VS2-MT Communication Gateway VS2-MT User Manual Revision 1.03.00 Motortronics / Phasetronics 1600 Sunshine Drive Clearwater, Florida 33765 Tel: 727-573-1819 Fax: 727-573-1803

More information

# Byrne Rd, Burnaby, BC, V5J 3J1, Canada Phone: or

# Byrne Rd, Burnaby, BC, V5J 3J1, Canada Phone: or EQ7000 User Manual Rev 1.04 www.equustek.com Revision 1.04 Feb 20th, 2017 #286-5489 Byrne Rd, Burnaby, BC, V5J 3J1, Canada Phone: 888-387-3787 or 604-266-8547 www.equustek.com Page 1 Contents INTRODUCTION...4

More information

Single Wire Coexistence of sercos and EtherNet/IP

Single Wire Coexistence of sercos and EtherNet/IP www.odva.org Single Wire Coexistence of Ludwig Leurs Bosch Rexroth Technical Track Outline History New requirements Targets Topology Single Wire Coexistence of Structure of communication cycle Ethernet

More information

This chapter explains about the SmartOperator, the CTI system supported by the DCS Gateway system.

This chapter explains about the SmartOperator, the CTI system supported by the DCS Gateway system. 10-1 Chapter 10 CTI CTI (Computer Telephony Integration) is an integrated system of computer and telecommunication technology that allows the computer to share the switchboard s resources and the switchboard

More information

User s Manual CAP 531*1.5 Configuration and Programming tool

User s Manual CAP 531*1.5 Configuration and Programming tool User s Manual CAP 531*1.5 Configuration and Programming tool This manual belongs to: Contents Chapter Page About this manual 1 Introduction 3 Technical descriptions 81 References 177 Customer feedback

More information

Machine Controller MP900/MP2000 Series MPE720 Software for Programming Device USER'S MANUAL

Machine Controller MP900/MP2000 Series MPE720 Software for Programming Device USER'S MANUAL YASKAWA Machine Controller MP900/MP2000 Series MPE720 Software for Programming Device USER'S MANUAL TYPE: CPMC-MPE720 YASKAWA MANUAL NO. SIEP C880700 05B Copyright 2003 YASKAWA ELECTRIC CORPORATION All

More information

NET101. RS232 / RS422 / RS485 to Ethernet Converter. User s Manual. Version 1.2

NET101. RS232 / RS422 / RS485 to Ethernet Converter. User s Manual. Version 1.2 NET101 RS232 / RS422 / RS485 to Ethernet Converter User s Manual Version 1.2 Copyright Information Copyright 2004-2005, Mega System Technologies, Inc. All rights reserved. Reproduction without permission

More information

SIMATIC. Component based Automation - WinLC PN Addendum to WinAC Basis V3.0. Foreword. Introduction to CBA and WinAC PN 2. Routing with WinLC PN 3

SIMATIC. Component based Automation - WinLC PN Addendum to WinAC Basis V3.0. Foreword. Introduction to CBA and WinAC PN 2. Routing with WinLC PN 3 SIMATIC Component based Automation - WinLC PN Addendum to WinAC Basis V3.0 Manual Foreword 1 Introduction to CBA and WinAC PN 2 Routing with WinLC PN 3 Installing WinLC PN 4 Commissioning WinLC PN 5 Notes

More information

Tool Calling Interface

Tool Calling Interface Tool Calling Interface TCI2Com for RS4 and COMPACTplus User s Guide 600669 2009/02 Subject to change without prior notice About the User s Guide The User's Guide contains information on the use and application

More information

Motion logic. Drive based IndraMotion MLD

Motion logic. Drive based IndraMotion MLD Drive based IndraMotion MLD 2 Bosch Rexroth AG Electric Drives and Controls Documentation Brochures Instructions Compact and powerful Certified safety technology Drive-integrated motion logic control according

More information

Modbus/ PROFIBUS DP Gateway PM-160

Modbus/ PROFIBUS DP Gateway PM-160 Modbus/ PROFIBUS DP Gateway PM-160 REV 3.2 SiboTech Automation Co., Ltd. Technical Support: +86-21-5102 8348 E-mail: support@sibotech.net Table of Contents 1 About This Document... 3 1.1 General... 3 1.2

More information

Rexroth PLCopen Function Blocks For Field Bus Drives

Rexroth PLCopen Function Blocks For Field Bus Drives Electric Drives Linear Motion and and Controls Hydraulics Assembly Technologies Pneumatics Service Rexroth PLCopen Function Blocks For Field Bus Drives R911315058 Edition 01 Application Manual About this

More information

Motion logic system. IndraMotion MLC Control hardware IndraControl L

Motion logic system. IndraMotion MLC Control hardware IndraControl L IndraMotion MLC Control hardware IndraControl L 2 Bosch Rexroth AG Electric Drives and Controls Documentation System overview Functional description Sercos, PROFIBUS and Multi-Ethernet Onboard Functional

More information

Rexroth IndraMotion for Handling The turn-key automation solution

Rexroth IndraMotion for Handling The turn-key automation solution Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service Rexroth IndraMotion for Handling The turn-key automation solution Simple, scalable and powerful 2 Rexroth

More information

Synchronized motion control functionality IndraWorks The Tool for All Engineering Tasks

Synchronized motion control functionality IndraWorks The Tool for All Engineering Tasks 2 Bosch Rexroth AG Electric Drives and Controls Documentation Documentation Cutting-edge control hardware with numerous extension options The latest kernel IndraLogic 2G (based on CoDeSys V3) High-performance

More information

Rexroth IndraMotion MLC CamBuilder

Rexroth IndraMotion MLC CamBuilder Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Rexroth IndraMotion MLC CamBuilder Functional Description Pneumatics Service R911313193 Edition 01 About this Documentation

More information

Tritex II EtherNet/IP - Option

Tritex II EtherNet/IP - Option Tritex II EtherNet/IP - Option Tritex II Ethernet/IP Option.doc 10/15/13 REV B 952-368-3434 Tritex II EtherNet/IP Option.doc 2 10/15/13 Contents 1. General... 5 1.1. IP Address... 6 1.2. Network Classes...

More information

Drive Technology \ Drive Automation \ System Integration \ Services. Manual. MOVIFIT SNI Fieldbus Gateway UFF41B for MOVIGEAR SNI

Drive Technology \ Drive Automation \ System Integration \ Services. Manual. MOVIFIT SNI Fieldbus Gateway UFF41B for MOVIGEAR SNI Drive Technology \ Drive Automation \ System Integration \ Services Manual MOVIFIT SNI Fieldbus Gateway UFF41B for MOVIGEAR SNI Edition 05/2009 16810414 / EN SEW-EURODRIVE Driving the world 1 General Information...

More information

Trajexia motion controller

Trajexia motion controller TJ1- Trajexia motion controller Stand-alone advanced motion controller using MECHATROLINK-II motion bus 16 axes advanced motion controller over a robust and fast motion link MECHATROLINK-II Supports position,

More information

PLC. IndraLogic L Controller based

PLC. IndraLogic L Controller based IndraLogic L Controller based 2 Bosch Rexroth AG Electric Drives and Controls Powerful, with extensive functionality and interfaces Scalable with the innovative IndraControl L platform Centralized and

More information

Drive Technology \ Drive Automation \ System Integration \ Services. Manual. MOVIFIT SNI UFF41B/UFR41B Fieldbus Gateway for MOVIGEAR SNI

Drive Technology \ Drive Automation \ System Integration \ Services. Manual. MOVIFIT SNI UFF41B/UFR41B Fieldbus Gateway for MOVIGEAR SNI Drive Technology \ Drive Automation \ System Integration \ Services Manual MOVIFIT SNI UFF41B/UFR41B Fieldbus Gateway for MOVIGEAR SNI Edition 0/2010 1694641 / EN SEW-EURODRIVE Driving the world 1 General

More information

sercos System Manual for I/O Devices

sercos System Manual for I/O Devices Electric Drives Linear Motion and Hydraulics Assembly Technologies Pneumatics Service sercos System Manual for I/O Devices R911333512 Edition 02 Application Description Bosch Rexroth AG Electric Drives

More information

ChromQuest 4.2 Chromatography Data System

ChromQuest 4.2 Chromatography Data System ChromQuest 4.2 Chromatography Data System Installation Guide CHROM-97200 Revision A April 2005 2006 Thermo Electron Corporation. All rights reserved. Surveyor is a registered trademark and ChromQuest is

More information

TRAINING GUIDE LEVEL 3 MODBUS WRITE IMPORT COMMAND

TRAINING GUIDE LEVEL 3 MODBUS WRITE IMPORT COMMAND OleumTechTM TRAINING GUIDE LEVEL 3 MODBUS WRITE IMPORT COMMAND MUST BE FAMILIAR WITH LEVEL 1 TRAINING MATERIALS BEFORE MOVING FORWARD Doc ID# 80-6010-001b TABLE OF CONTENTS 1. WHAT IS NEW WRITE IMPORT

More information

User Manual A08. User Manual

User Manual A08. User Manual A08 TABLE OF CONTENTS TABLE OF CONTENTS... 1 1. INTRODUCTION... 2 1.1. Key Features... 3 1.2. OS Requirement... 4 1.3. Specification... 4 1.4. Packing List... 4 2. OVERVIEW... 5 2.1. LED Definition...

More information

Your Global Automation Partner. Startup. Getting Started Guide

Your Global Automation Partner. Startup. Getting Started Guide Your Global Automation Partner FEN20- Startup Getting Started Guide 2 Hans Turck GmbH & Co. KG T +49 208 4952-0 F +49 208 4952-264 more@turck.com www.turck.com Table of Contents 1 General Information 4

More information

ETOR-4. Ethernet/Serial Gateway USER MANUAL

ETOR-4. Ethernet/Serial Gateway USER MANUAL ETOR-4 Ethernet/Serial Gateway USER MANUAL 1 TABLE OF CONTENTS SECTION 1 GENERAL INFORMATION...6 SECTION 2 INSTALLATION...9 2.1 Definitions on ETOR... 9 2.2 Configuring ETOR...10 2.3 Required Installations

More information

Win-HMI Application Builder Getting started SYSTEM200. mannesmann Rexroth. Application Manual. Rexroth Indramat DOK-CONTRL-APB********-AW01-EN-P

Win-HMI Application Builder Getting started SYSTEM200. mannesmann Rexroth. Application Manual. Rexroth Indramat DOK-CONTRL-APB********-AW01-EN-P engineering mannesmann Rexroth Win-HMI Application Builder Getting started Application Manual SYSTEM200 Rexroth Indramat About this Documentation Application Builder Title Type of Documentation WIN-HMI

More information

LAN-505 Ethernet Communication

LAN-505 Ethernet Communication Ethernet Communication 1.0 Purpose of this Document This document discusses how to setup, configure, and use the Universal Device Server to provide LAN/WAN Ethernet connectivity between Doors and one or

More information

Rexroth IndraMotion MTX Software Installation

Rexroth IndraMotion MTX Software Installation Electric Drives Linear Motion and Hydraulics Assembly Technologies Pneumatics Service Rexroth IndraMotion MTX Software Installation R911317002 Edition 02 Installation Instructions Bosch Rexroth AG Electric

More information

Fast Ethernet Print Server 1 Parallel, 2 USB

Fast Ethernet Print Server 1 Parallel, 2 USB Fast Ethernet Print Server 1 Parallel, 2 USB User s Manual Rev. 01 (Nov, 2005) Made In Taiwan TABLE OF CONTENTS ABOUT THIS GUIDE... 4 INTRODUCTION... 5 PACKAGE CONTENTS... 6 SYSTEM REQUIREMENTS... 6 GENERAL

More information

Supplementary device manual AS-i controller e with Profibus DPV1 A AC1355, AC1356 AC1365, AC1366

Supplementary device manual AS-i controller e with Profibus DPV1 A AC1355, AC1356 AC1365, AC1366 Supplementary device manual AS-i controller e with Profibus DPV1 A AC1355, AC1356 AC1365, AC1366 AS-i master profile: M4 Firmware: from version RTS 3.0 onwards Target: from V.15 onwards for CoDeSys from

More information

Rexroth IndraDrive Cs Multiprotocol-capable compact drives

Rexroth IndraDrive Cs Multiprotocol-capable compact drives Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service Rexroth IndraDrive Cs Multiprotocol-capable compact drives Universal, intelligent and economical 2 Rexroth

More information

ProjectorNetTM Adapter Quick Start Guide

ProjectorNetTM Adapter Quick Start Guide ProjectorNetTM Adapter Quick Start Guide Adapter networking 1. Quick Start The ProjectorNet Adapter kit contains the following items: ProjectorNet Serial to Ethernet Adapter Cable Adapter, ProjectorNet

More information

Print Server. User s Manual. Rev. 01 (April, 2004) Made In Taiwan

Print Server. User s Manual. Rev. 01 (April, 2004) Made In Taiwan Print Server User s Manual Rev. 01 (April, 2004) Made In Taiwan TABLE OF CONTENTS ABOUT THIS GUIDE... 4 INTRODUCTION... 5 PACKAGE CONTENTS... 6 SYSTEM REQUIREMENTS... 6 GENERAL FEATURES... 7 PRODUCT VIEW...

More information

Industrial Serial Device Server

Industrial Serial Device Server 1. Quick Start Guide This quick start guide describes how to install and use the Industrial Serial Device Server. Capable of operating at temperature extremes of -10 C to +60 C, this is the Serial Device

More information

MX OPC Server 5.0 Help Documentation

MX OPC Server 5.0 Help Documentation 5.0 Help Documentation Contents 1. Introduction to MX OPC Server 1-1 2. Starting MX OPC Server Configuration 2-1 3. Address Space 3-1 4. Alarm Definitions 4-1 5. Simulation Signals 5-1 6. Runtime Operations

More information

Device Programming using TRWinProg

Device Programming using TRWinProg Device Programming using TRWinProg Software No.: _490-00416 _490-00416_WIN7 _Program Summary _Safety instructions _System requirements _Program installation _Connecting devices to the PC _Program start

More information

Chapter 5: Communications 5 1 SR55 Communications Overview 5 2

Chapter 5: Communications 5 1 SR55 Communications Overview 5 2 Chapter 5 Table of Contents Chapter 5: Communications 5 1 SR55 Communications Overview 5 2 Modbus Serial Communications Overview 5 2 Modbus TCP Network Communications Overview 5 2 EtherNet/IP Network Communications

More information

ZCRMZNICE01ZEMG Crimzon In-Circuit Emulator

ZCRMZNICE01ZEMG Crimzon In-Circuit Emulator Quick Start Guide QS006602-0408 Introduction Zilog s ZCRMZNICE01ZEMG Crimzon (ICE), shown in Figure 1, provides Crimzon chip family emulation with a Trace and Event system for program debugging using Zilog

More information

Redirector User Guide

Redirector User Guide Redirector User Guide Revision B November 04, 2005 Part Number GC-800-235 Copyright and Trademark Copyright 2004, Grid Connect, Inc. All rights reserved. No part of this manual may be reproduced or transmitted

More information

Controlling a SERVOLASER Xpert via a Bosch Rexroth IndraLogic XLC L45 using the Ethernet/IP protocol

Controlling a SERVOLASER Xpert via a Bosch Rexroth IndraLogic XLC L45 using the Ethernet/IP protocol White paper Controlling a SERVOLASER Xpert via a Bosch Rexroth IndraLogic XLC L45 using the Ethernet/IP protocol Please read carefully prior to commissioning! Keep this document for future reference. Translation

More information

Site Book User s Guide

Site Book User s Guide Issue Date 11/01/01 USER S GUIDE...3 Introduction... 3 Key Concepts... 5 Related Documentation...5 Communications Options...5 N30 Supervisory Controller...5 Project Builder...6 N30 Upgrade Utility...6

More information

TSXCUSBMBP USB Modbus Plus Communications Adapter User Manual eng

TSXCUSBMBP USB Modbus Plus Communications Adapter User Manual eng TSXCUSBMBP USB Modbus Plus Communications Adapter User Manual 35011984 eng 2 Table of Contents Safety Information.................................... 5 About the Book.......................................7

More information

Gateway for EIP - DF1 Allen-Bradley PLC

Gateway for EIP - DF1 Allen-Bradley PLC 1 Purpose This application note describes how to set up a remote collaboration. A remote collaboration consists in configuring, programming or monitoring a PLC from a remote location, without the need

More information

Fleet Manager 2002 Professional Network Configuration Guide

Fleet Manager 2002 Professional Network Configuration Guide Handling a complex world. Fleet Manager 2002 Professional Network Configuration Guide Overview The VDO Fleet Manager Professional utilises an advanced three-tier client-server model and is designed to

More information

Conettix ITS-D6682-INTL

Conettix ITS-D6682-INTL Conettix ITS-D6682-INTL EN Installation Guide Ethernet Network Adapter Conettix ITS-D6682-INTL Installation Guide Contents Contents 1.0 Introduction... 3 1.1 Network Interface... 3 1.2 Serial Interface...

More information

Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies

Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies 1 Table of Contents 1 Getting Started... 3 Help Contents... 3 Overview... 3 2 Device Setup... 3 Device Setup... 3 Cable Diagram... 4 Modem

More information

Flex Series User Guide

Flex Series User Guide User Programmable Current 4..20mA Digital RS485 Dual & Single Axis Up to 360º 2016 Flex Series User Guide Sensor Installation, Wiring, Flexware App Instructions Page 1 of 33 Page 2 of 33 Table of Contents

More information

DeviceNet Interface User Manual

DeviceNet Interface User Manual Documentation of the DeviceNet Interface of the following Drives: - E1100-DN (-HC, XC) - E1100-GP (-HC, XC) - E1130-DP (-HC, XC) - B1100-GP (-HC, XC) DeviceNet Interface User Manual 2013 NTI AG This work

More information

WELDSEQ Plus. Operation / Installation Manual. Weld Sequence PLC Terminal Program. Computer Weld Technology, Inc.

WELDSEQ Plus. Operation / Installation Manual. Weld Sequence PLC Terminal Program. Computer Weld Technology, Inc. Computer Weld Technology, Inc. 10702 Old Bammel N Houston Rd. Houston, TX 77086 Phone: (713) 462-2118 Fax: (713) 462-2503 Email: cwt@cweldtech.com WELDSEQ Plus Weld Sequence PLC Terminal Program Operation

More information

DBT-120 Bluetooth USB Adapter

DBT-120 Bluetooth USB Adapter DBT-120 Bluetooth USB Adapter Rev.2.1 (09/25/2002) 2 Contents Introduction... 5 Package Contents... 6 Installing Bluetooth Software... 6 Hardware Installation... 8 Introduction to Bluetooth Software...

More information

HART/ Modbus TCP Gateway GT200-HT-MT User Manual V 1.2 REV A SST Automation

HART/ Modbus TCP Gateway GT200-HT-MT User Manual V 1.2 REV A SST Automation HART/ Modbus TCP Gateway GT200-HT-MT User Manual V 1.2 REV A SST Automation E-mail: SUPPORT@SSTCOMM.COM WWW.SSTCOMM.COM Catalog 1 Product Overview... 4 1.1 Product Function...4 1.2 Product Features...

More information