Emerson DSM314 User Manual

Pacsystems rx3i & series 90-30
Table of Contents

Advertisement

Quick Links

USER MANUAL
GFK-1742F
Jan 2020
PACSystems™ RX3i & Series 90-30
DSM314 MOTION CONTROLLER
USER MANUAL

Advertisement

Table of Contents
loading

Summary of Contents for Emerson DSM314

  • Page 1 USER MANUAL GFK-1742F Jan 2020 PACSystems™ RX3i & Series 90-30 DSM314 MOTION CONTROLLER USER MANUAL...
  • Page 2: Table Of Contents

    2.2.3 Connecting the Series SVU Digital Servo Amplifier ........ 20 2.2.4 Connecting the β Series SVU Digital Servo Amplifier ........ 28 2.2.5 Installing and Wiring the DSM314 for Analog Mode ......... 36 2.2.6 Grounding the Motion Mate DSM314 Motion System ......37 Turning on the Motion Mate DSM314 ..............
  • Page 3 User Manual Contents GFK-1742F Jan 2020 Chapter 3: Installing and Wiring the DSM314 ......47 Hardware Description ..................47 3.1.1 LED Indicators ..................48 3.1.2 The DSM COMM (Serial Communications) Connector......49 3.1.3 I/O Connectors ..................49 3.1.4 Shield Ground Connection ..............50 Installing the DSM314 Module ................
  • Page 4 7.7.7 Feedhold with the DSM314 ..............210 7.7.8 Feedrate Override ................. 211 7.7.9 Multi-axis Programming ................ 212 7.7.10 Parameters (P0-P255) in the DSM314 ............ 213 7.7.11 Calculating Acceleration, Velocity and Position Values ......215 7.7.12 Motion Editor Error and Warning Messages ........... 218 Chapter 8: Follower Motion ..........
  • Page 5 User Manual Contents GFK-1742F Jan 2020 8.4.1 Example 3: Sample A:B Ratios ..............226 Velocity Clamping ................... 227 8.5.1 Example 5: Velocity Clamping ............... 227 Unidirectional Operation ................. 228 8.6.1 Example 9: Unidirectional Operation ............. 228 Enabling the Follower with External Input ............228 Disabling the Follower with External Input ............
  • Page 6 User Manual Contents GFK-1742F Jan 2020 11.3 Variables ......................276 11.4 Operators ......................277 11.4.1 Arithmetic Operators ................277 11.4.2 Relational Operators ................278 11.4.3 Bitwise Logical Operators ..............279 11.5 Local Logic / Host Controller / Motion Program Communication ...... 280 11.6 Local Logic Programming Examples ..............
  • Page 7 User Manual Contents GFK-1742F Jan 2020 12.7 Local Logic Runtime Errors ................300 12.7.1 Overflow Status ..................300 12.8 Local Logic Error Messages ................301 12.8.1 Local Logic Build Error Messages ............301 12.8.2 Local Logic Syntax Errors ............... 302 12.8.3 Local Logic Parse Errors .................
  • Page 8 DSM Digital Servo Alarms (B0–BE) ..............384 Troubleshooting Digital Servo Alarms .............. 386 LED Indicators ....................389 Appendix B: DSM314 Communications Request Instructions .. 391 Communications Request Overview ..............391 B-1.1 Structure of the Communications Request ..........392 B-1.2 Monitoring the Status Word ..............394 B-1.3 Operation of the Communications Request ...........
  • Page 9 C-3.1 Absolute Encoder - First Time Use or Use After Loss of Encoder Battery Power C-3.2 Absolute Encoder Mode - Position Initialization ........415 C-3.3 Absolute Encoder Mode - DSM314 Power-Up ........416 C-3.4 Incremental Quadrature Encoder ............417 Appendix D: Tuning Digital and Analog Servo Systems ... 418 Start-Up and Tuning Information for Digital Servo Systems ......
  • Page 10 User Manual Contents GFK-1742F Jan 2020 H-5.1 Accessing the Motion Editor Screen ............476 H-5.2 Saving your Motion Program ..............478 H-5.3 Storing your Motion Programs and Subroutines to the PLC ....478 H-5.4 Printing a Hardcopy of your Motion Programs and Subroutines ..... 478 Creating a Local Logic Program ................
  • Page 11 Changes, modifications, and/or improvements to equipment and specifications are made periodically and these changes may or may not be reflected herein. It is understood that Emerson may make changes, modifications, or improvements to the equipment referenced herein or to the document itself at any time.
  • Page 12: Chapter 1: Product Overview

    GFK-1742F Jan 2020 Chapter 1: Product Overview The Motion Mate DSM314 is a high performance, easy-to-use, multi-axis motion control module that is highly integrated with the PACSystems RX3i and Series 90-30 host controller logic solving and communications functions. The two versions of the DSM314, IC693DSM314 and IC694DSM314 are functionally identical.
  • Page 13: Features Of The Motion Mate Dsm314

    User scaling of programming units (User Units) in both Standard and Follower modes. • DSM314 firmware, stored in flash memory, is updated via the front panel COMM port. Firmware update kits provide firmware and Loader software on floppy disk. Firmware is also available for download on the Emerson web site (https://www.emerson.com/Industrial-Automation-Controls/support).
  • Page 14: Versatile I/O

    • Recipe programming using command parameters as operands for Acceleration, Velocity, Move, and Dwell Commands • Automatic Data Transfer between host controller tables and DSM314 without user programming • Ease of I/O connection with factory cables and terminal blocks •...
  • Page 15: Section 1: Motion System Overview

    %I and %AI data. Also, every host controller sweep, %Q and %AQ data is transferred from the host controller to the DSM314. The %Q and %AQ data is used to control the DSM314. %Q bits perform functions such as initiating motion, aborting motion, and clearing strobe flags.
  • Page 16 Jan 2020 Host Controller Data Latency and DSM314 Latencies The DSM314 is an intelligent module operating asynchronously to the CPU module. Data is exchanged between the CPU and the DSM314 automatically. For information about the operation of the CPU sweep refer to the following: •...
  • Page 17 DSM data transfer time and the host controller’s longer scan time. DSM314 Servo Loop Update Times When controlling a digital AC servo, the DSM314 uses the loop update times shown in Table Table 1: Digital Servo Loop Update Times Motor Current / Torque Loop:...
  • Page 18 16.2 Note: Be aware that the DSM314’s internal Local Logic engine has a maximum scan time of 2ms that is independent of the host controller scan. This allows the user the flexibility to control time critical motion tasks within the Local Logic program. See the applicable chapters in this manual for details on Local Logic programming.
  • Page 19 Series 90-30 The programming/configuration software package is used for the following tasks. The information created by these tasks is sent to the DSM314 over the host controller backplane each time the host controller is powered up. •...
  • Page 20: Section 2: Overview Of Dsm314 Operation

    Emerson. The terminal blocks provide screw terminal connection points for field wiring to the DSM314 module. For more information concerning the cables and terminal blocks used with the DSM314 module, refer to chapter Section 2: Overview of DSM314 Operation...
  • Page 21: Standard Mode Operation

    Separate enable and disable follower trigger sources — Note that Winder mode is not supported in the DSM314. It is supported in the DSM302. 1.3.1 Standard Mode Operation Figure 3 is a simplified diagram of the Standard mode Position Loop. An internal motion Command Generator provides Commanded Position and Commanded Velocity to the Position Loop.
  • Page 22 Command Generator output and Master Axis input. The Command Generator and Master Axis input can operate simultaneously or independently to create Servo Axis motion. The DSM314 allows several sources for the Master Axis input: • Axis 1 Commanded Position •...
  • Page 23: Section 3:  Series Servos (Digital Mode)

    User Manual Chapter 1 GFK-1742F Jan 2020 Figure 4: Simplified Follower Mode Position Loop with Master Axis Input (Analog Velocity Interface) Section 3:  Series Servos (Digital Mode) The Digital  Series Servo features include: • World-leading reliability • Low maintenance, no component drift, no commutator brushes •...
  • Page 24: Series Integrated Digital Amplifier (Svu)

    SVU style  Series Servo Amplifiers are available in five sizes, with peak current limit ratings from 12A to 130A. (Note: Only the 80A and 130A models are currently offered by NA.) Cables to connect the SVU Amps to the DSM314 and to the motors are available in various lengths.
  • Page 25: Section 4:  Series Servos (Digital Mode)

    User Manual Chapter 1 GFK-1742F Jan 2020 Table 4: Selected  Series Servo Motor Models  Model Number Torque Nm Output KW Max. Speed (RPM) 1 3000 2 2000 3000 2 3 3000 6 2000 6 3000 12 2000 12 3000 22 2000...
  • Page 26: Series Digital Amplifiers

    A (32K – Beta) (64 K – Beta M) absolute encoder is standard with each  Series servo. An optional 90 Vdc holding brake is also available with each model. For more information, refer to Chapter 4 of this manual, “Configuring the DSM314,” under the section labeled “Motor Type.” See also, the following publications: •...
  • Page 27: Section 5: Sl Series Servos (Analog Velocity Mode)

    Jan 2020 Section 5: SL Series Servos (Analog Velocity Mode) The DSM314 supports all models of the SL Series Servos. For details on the SL Series Servo amplifiers, motors, and accessories, please see the SL Series Servo User’s Manual, GFK- 1581.
  • Page 28: Chapter 2: System Overview

    (Series 90-30 PLC or PACSystems RX3i), motor(s), servo amplifier(s), I/O, and the Human Machine Interface (HMI). The DSM314 control system consists of two parts: the servo control and the machine control. The servo control translates motion commands into signals that are sent to the servo amplifier.
  • Page 29: Unpacking The System

    2.1.1 Unpacking the DSM314 Carefully unpack the DSM314 and host controller system components. Verify that you have received all the items listed on the bill of material. Keep all documentation and shipping papers that accompanied the DSM314 motion system.
  • Page 30: Assembling The Motion Mate Dsm314 System

    DSM314 faceplate shield ground wire. Grounding information is included in this section. All user connections, except for the grounding tab, are located on the front of the DSM314 module. The grounding tab is located on the bottom of the module. Refer to the figure below.
  • Page 31: Connecting The Series Svu Digital Servo Amplifier

    A, for axis 1, or B for axis 2, on the front of the DSM314. If you are using the terminal board, insert the other end of the cable into the terminal block connector marked SERVO.
  • Page 32 User Manual Chapter 2 GFK-1742F Jan 2020 Check SVU Amplifier Channel Switch Settings Confirm that the Channel Switches (DIP switches), located behind the SVU amplifier door, are set as shown in the following tables. Note that the OFF position is to the left, and the ON position is to the right.
  • Page 33 User Manual Chapter 2 GFK-1742F Jan 2020 Figure 8: Connecting the  Series Digital Servo Amplifier to the Motion Mate DSM314 System Overview...
  • Page 34 A complete listing of  Series servomotor power cables available through Emerson can be found in the Servo Product Specifications Guide, GFH-001. Table 7: Prefabricated  Servo Motor Power Cable (K4) Part Number Examples...
  • Page 35 User Manual Chapter 2 GFK-1742F Jan 2020 Figure 9: Connecting the Motor to the  Series Servo Amplifier Terminal Strip System Overview...
  • Page 36 User Manual Chapter 2 GFK-1742F Jan 2020 Connect the Motor Encoder to the α Series Digital Servo Amplifier. Remove the protective plastic cap from the encoder connector on the motor, and locate the K2 feedback cable CF3A-2MPB-0140-AZ. The cable is configured so that it can only be attached to one connection on the motor.
  • Page 37 User Manual Chapter 2 GFK-1742F Jan 2020 Connect 220-Volt AC 3 Phase Power to the α Series Digital Amplifier An AC line filter will reduce the effect of harmonic noise to the power supply; its use is recommended. Two or more amplifiers may be connected to one AC line filter if its power capacity has not been exceeded.
  • Page 38 User Manual Chapter 2 GFK-1742F Jan 2020 Connect the Machine Emergency Stop to the α Series Digital Servo Amplifier Pin 3 of connector CX4, located on the bottom of the α Series (SVU) amplifier, supplies +24 volts DC for the E-STOP circuit. Route this through the machine E-STOP circuit so that there is +24 volts DC to pin 2 when not in E-STOP.
  • Page 39: Connecting The Β Series Svu Digital Servo Amplifier

    DSM. Insert the other end of the cable into the connector labeled A, for servo axis 1, or B for servo axis 2, on the front of the DSM314. To connect additional amplifiers, repeat steps B - D above for each additional amplifier.
  • Page 40 User Manual Chapter 2 GFK-1742F Jan 2020 Figure 13:  Series Servo Amplifier Connections For more information, refer to the connection section of the Servo Product Specification Guide, GFH-001. System Overview...
  • Page 41 User Manual Chapter 2 GFK-1742F Jan 2020 Connect the Motor Power Cable (K4) to the β Series Digital Servo Amplifier CAUTION Make connections to the CX-11 connector carefully. This connector is not keyed. Double- check your connections before applying power. Incorrect connections could result in equipment malfunction or damage.
  • Page 42 Note that this cable is keyed and can only be properly attached to one of the motor’s connection points. Motor power cables purchased from Emerson include a 1-meter, single conductor wire with a CX11-3 connector on one end and a ring terminal on the other.
  • Page 43 User Manual Chapter 2 GFK-1742F Jan 2020 Connect the 220 VAC Power Cable (K3) to the β Series Digital Amplifier The AC power cable is a user-supplied cable that connects to CX11–1 on the face of the  Series amplifier. The connector for the amplifier end of this cable is part of kit ZA06B-6093- K305 supplied with each amplifier package.
  • Page 44 Connector JX5 Pin 20 supplies +24V DC for the E-STOP circuit. Wire Pin 20 through a normally closed contact or switch so there is +24V DC to JX5 Pin 17 when not in E- STOP. Emerson uses two brands of connectors for the JX5 connector. See figure 2-13 for proper connection to each type.
  • Page 45 ZA06B-6093-K305 and should be connected to CX11-4. The other end of the cable must be connected to a 24VDC source capable of supplying at least 450 milliamps of current for each  Series amplifier. The Emerson IC690PWR024 power supply is recommended. Do not apply power at this time.
  • Page 46 User Manual Chapter 2 GFK-1742F Jan 2020 Figure 19: Installing a Jumper when an External Regeneration Resistor is not Used With External Regeneration Resistor If you have an external regeneration resistor, observe that it has four wires. The two smaller wires (K8) connect to the resistor’s internal, normally closed, over-temperature switch.
  • Page 47: Installing And Wiring The Dsm314 For Analog Mode

    Which mode you select depends on the type of servo amplifier in use. • The DSM314 provides a low current (30 ma) solid state relay output on pin 15 of the Auxiliary Terminal Board for connection to a servo amplifier enable input.
  • Page 48: Grounding The Motion Mate Dsm314 Motion System

    2.2.6 Grounding the Motion Mate DSM314 Motion System The DSM314 System must be properly grounded. Many problems occur simply because this practice is not followed. To properly ground your Motion Mate DSM314 system, you should follow these guidelines: • The grounding resistance of the system ground should be 100 ohms or less (class 3 grounding).
  • Page 49: Turning On The Motion Mate Dsm314

    If you are using more than one motor, confirm that the servo amplifier connections and the feedback cables are not crossed between motors. There is a specific sequence for turning on power to the DSM314 Control System. In the order listed, perform these steps: Turn on the 220V AC power to the Digital servos.
  • Page 50: Connecting The Programmer To The Host Controller

    Machine Edition version 2.1 or later VersaPro version 2.1 or later Note: The DSM314 also has a serial port on the module faceplate. This serial port is used only for updating the DSM314 firmware. Figure 23: DSM Programmer Connection Diagram...
  • Page 51: Machine Edition Configuration

    User Manual Chapter 2 GFK-1742F Jan 2020 Machine Edition Configuration This section describes configuration using Machine Edition software. For VersaPro software, refer to Appendix H. Start the Machine Edition Logic Developer – PLC software. The Machine Edition dialog box appears. Figure 24 Under Create a New Project, choose Machine Edition Template and click OK.
  • Page 52 User Manual Chapter 2 GFK-1742F Jan 2020 Figure 25 Your project appears in the Navigator window as shown in the following figure. Figure 26 Expand the Main Rack node, which contains the default power supply and CPU. System Overview...
  • Page 53 PLC, however, you cannot select it in Logic Developer - PLC. You must select an IC693DSM314 module and configure it as if it were an IC694DSM314. Right click an empty slot and choose Add Module. The Module Catalog dialog box appears. Select the Motion tab, choose the DSM314 and click OK. System Overview...
  • Page 54 GFK-1742F Jan 2020 Figure 28 This operation adds the DSM314 to the rack and displays the DSM314 configuration screens that allow you to customize the DSM314 to your particular application. Refer to chapter 4 for details concerning the DSM314 configuration settings.
  • Page 55: Storing Your Configuration To The Host Controller

    User Manual Chapter 2 GFK-1742F Jan 2020 Storing Your Configuration to the Host Controller To perform the download operation, first make sure that the communications port is properly configured. To access communications setup in Machine Edition software, right click the target you want to connect to in the Navigator window and choose Properties. In the Inspector window, select the Physical Port through which you want to connect.
  • Page 56 A host controller status error of “System Configuration Mismatch” with the same rack/slot location as a DSM314 indicates that there is a parameter configured and sent to the DSM314 that has been rejected by the DSM314. Carefully check each parameter of your DSM314 configuration with the configuration settings in this manual for the discrepancy.
  • Page 57: Alarms

    PLC fault table. Servo and motion subsystem alarms may be viewed in the DSM314 Module Status Code %AI word or one of the Axis Error Code %AI words. Consult Chapter 5 for additional information on error reporting through the %AI data.
  • Page 58: Chapter 3: Installing And Wiring The Dsm314

    LEDs, one communications port RJ-11 connector and four user I/O connectors (36 pin). A grounding tab on the bottom of the module provides a convenient way to connect the module’s faceplate shield to a panel ground. Figure 31: DSM314 Module Installing and Wiring the DSM314...
  • Page 59: Led Indicators

    Axis Error Code %AI words. Constant Rate, CFG LED Flashing: If the STAT and CFG LEDs both flash together at a constant rate, the DSM314 module is in boot mode waiting for a new firmware download. If the STAT and CFG LEDs both flash alternately at a constant rate, the DSM314 firmware has detected a software watchdog timeout due to a hardware or software malfunction.
  • Page 60: The Dsm Comm (Serial Communications) Connector

    A 1-meter cable, IC693CBL316, is available from Emerson to connect the COMM port to a personal computer. This cable uses a 9-pin female D-shell connector for the computer side and an RJ-11 connector for the DSM314. If a longer cable is used, the maximum recommended length is 50 feet.
  • Page 61: Shield Ground Connection

    44A735970-001R01) provided with the module. This wire has a stab-on connector on one end for connection to a ¼ inch terminal on the bottom of the DSM314 module and a terminal on the other end for connection to a grounded enclosure.
  • Page 62: Installing The Dsm314 Module

    Refer to Figures 3-10 through 3-23 and Tables 3-7 through 3-14 for I/O wiring requirements. Power up the host controller rack. The Status LED of the Motion Mate DSM314 will turn ON when the controller has passed its power-up diagnostics.
  • Page 63 I/O Table and Configuration data capacity. The practical number of axes must consider I/O use and sweep time of the entire system. Table 14: Maximum Number of DSM314 Modules per Host Controller System by Rack and Power Supply Types...
  • Page 64 GFK-1742F Jan 2020 the LD program, or a C logic program may also affect the number of DSM314 modules that can be included in a system. If the store fails, it may be possible to store the configuration to the system by first storing the logic program, and then storing the configuration on a separate store request.
  • Page 65: I/O Wiring And Connections

    Note: Refer to GFK-0867B, (Emerson Product Agency Approvals, Standards, General Specifications), or later version for product standards and general specifications. Installation instructions in this manual are provided for installations that do not require special procedures for noisy or hazardous environments.
  • Page 66: Terminal Boards

    • Auxiliary Terminal Board, Catalog No. IC693ACC336 – This terminal board contains a single 36 pin connector that connects to the DSM314 module. This board has two basic applications (see Figures 40 and 41): For Analog servos, it connects to DSM Connector A, B, C or D to provide screw terminals for wiring to a third-party Analog servo amplifier and I/O devices.
  • Page 67: Digital Servo Axis Terminal Board - Ic693Acc335

    Digital Servo Axis Terminal Board - IC693ACC335 Description The IC693ACC335 Digital Servo Axis Terminal Board is used to connect the DSM314 to Digital Servo Amplifiers. The board contains two 36-pin connectors, labeled DSM and SERVO. A cable IC693CBL324 (1 meter) or IC693CBL325 (3 meters) connects from DSM connector (PL2) to the DSM314 faceplate connector A or B.
  • Page 68 Two of the screw terminals are labeled S for Shield. A short earth ground wire should be connected from one of the S terminals directly to a panel earth ground. The cable shields for any shielded cables from user devices should connect to either of the S terminals. Installing and Wiring the DSM314...
  • Page 69 User Manual Chapter 3 GFK-1742F Jan 2020 Mounting Dimensions Figure 34: IC693ACC335 Digital Axis Terminal Board Mounting Dimensions Installing and Wiring the DSM314...
  • Page 70 Base Element DIN, Panel UMK-SE 11.25-1 Side Element DIN, Panel UMK-FE Foot Element UMK-BF* Mounting Ear Panel Parts shipped with axis terminal board for optional panel mounting Figure 35: Digital Servo Axis Terminal Board Assembly Drawings Installing and Wiring the DSM314...
  • Page 71 Note that the mounting ear has a recessed hole for later inserting a (user supplied) mounting screw. The recessed hole should face upwards to accommodate the mounting screw. Repeat steps 1-4 above for the other side of the terminal board. Installing and Wiring the DSM314...
  • Page 72: Auxiliary Terminal Board - Ic693Acc336

    DSM314 faceplate. Thirty-eight screw terminals are provided on the Auxiliary Terminal Board for connections to user devices. These screw terminals have the same pin labels as the 36-pin DSM314 faceplate connector. For detailed connection information, refer to “Analog Servo Axis 1-4 Circuit and Pin Assignments “on page 71.
  • Page 73 UM 45-SEFE with 2 screws Side element with Foot UMK 45-SES with 2 screws* Side Element UMK-BF* Mounting Ear * Parts shipped with auxiliary terminal board for optional panel mounting Figure 38: Auxiliary Terminal Board Assembly Drawings Installing and Wiring the DSM314...
  • Page 74 Note that the mounting ear has a recessed hole for later inserting a (user supplied) mounting screw. The recessed hole should face upwards to accommodate the mounting screw. Repeat steps 1-3 above for the other side of the terminal board. Installing and Wiring the DSM314...
  • Page 75: Cables

    IC693CBL324/325 are not needed. Instead, the Digital Servo Command Cable IC800CBL001/002 can be connected directly from the Digital Servo Amplifier to the DSM314 faceplate A or B connector. When this is done, the OT Limit Sw configuration parameter must be set to Disabled in the configuration software or the DSM will not operate.
  • Page 76 User Manual Chapter 3 GFK-1742F Jan 2020 The figure below illustrates the Digital Servo Axis terminal board and cables associated with the DSM314. Figure 40: DSM314 Digital Servo Terminal Boards and Connectors Installing and Wiring the DSM314...
  • Page 77 Jan 2020 The figure below illustrates the Analog Servo terminal boards and cables associated with the DSM314. Figure 41: DSM314 Terminal Boards and Connectors for S2K or Third-Party Analog Servos Note: See GFK-1581 for SL Servos and GFK-1866 for S2K servos.
  • Page 78 DSM to  or  Series Digital Servo Amplifier – Signal Cable Grounding The signal cables used with the DSM314 contain shields that must be properly grounded to ensure reliable operation. The illustration below shows cable grounding recommendations for typical installations.
  • Page 79 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 42: Detail of Cable Grounding Clamp ZA99L-0035-0001 Figure 43: Z44B295864-001 Grounding Bar, Side View Dimensions Figure 44: Z44B295864-001 Grounding Bar Dimensions, Rear View Showing Mounting Holes Installing and Wiring the DSM314...
  • Page 80 Grounding Bar Z44B295864-001 must also be used at the Digital Servo Axis Terminal Block end of the servo amplifier cable IC800CBL001/002. If the Digital servo amplifier cable is connected directly to the DSM314 faceplate (no Digital Servo Axis Terminal Block used) the Grounding Clamp and Bar are not required at the faceplate end of the cable.
  • Page 81 5v in Single ended Servo PWM / IO5_A IO5_B 5v inputs / Alarm outputs Servo PWM / IO6_A IO6_B Alarm Servo PWM / IO7_A IO7_B Alarm Servo ENBL / Alarm IO8_A IO8_B 0V_A 0V_B 27-30 Installing and Wiring the DSM314...
  • Page 82 Type Axis 1-4 Circuit Signal Signal Signal Signal Term Function Name Name Name Name Board Terminal Single Encoder Chan A IN1P_A IN1P_B IN1P_C IN1P_D ended / (+) Encoder Chan IN1M_A IN1M_B IN1M_C IN1M_D A (-) Installing and Wiring the DSM314...
  • Page 83 PLC Analog In (+) AIN1P_A AIN1P_B AIN1P_C AIN1P_D l +/- 10v PLC Analog In (-) AIN1M_A AIN1M_B AIN1M_C AIN1M_ Analog Inputs AIN2 PLC Analog In (+) AIN2P_A AIN2P_B AIN2P_C AIN2P_D PLC Analog In (-) AIN2M_A AIN2M_B AIN2M_C AIN2M_ Installing and Wiring the DSM314...
  • Page 84 AOUT_B AOUT_C AOUT_D 6 Analog or Servo Torque Cmd (+) ACOM Analog Servo Vel Cmd ACOM_A ACOM_B ACOM_C ACOM_D 24 Out Com Com or Servo Torque Com SHIELD Cable Cable Shield SHIELD_A SHIELD_ SHIELD_C SHIELD_ Shield Installing and Wiring the DSM314...
  • Page 85 PLC Analog In (-) AIN2M_B AIN2M_C AIN2M_D AOUT1 +/- 10v Analog Out PLC Analog Out AOUT_B AOUT_C AOUT_D ACOM Analog Out com Analog Out Com ACOM_B ACOM_C ACOM_D SHIELD Cable Shield Cable Shield SHIELD_B SHIELD_C SHIELD_D Installing and Wiring the DSM314...
  • Page 86 User Manual Chapter 3 GFK-1742F Jan 2020 I/O Connection Diagrams The following diagrams illustrate typical user connections to the DSM314. Figure 46: Digital Servo Axis-1 Connections Installing and Wiring the DSM314...
  • Page 87 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 47: Digital Servo Axis-2 Connections Installing and Wiring the DSM314...
  • Page 88 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 48:  and  Series Digital Servo Command Cable (IC800CBL001/002) Connections Installing and Wiring the DSM314...
  • Page 89 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 49: Analog Servo Axis-1 Connections Installing and Wiring the DSM314...
  • Page 90 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 50: Analog Servo Axis-2 Connections Installing and Wiring the DSM314...
  • Page 91 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 51: Analog Servo Axis-3 Connections Installing and Wiring the DSM314...
  • Page 92 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 52: Analog Servo Axis-4 Connections Installing and Wiring the DSM314...
  • Page 93 User Manual Chapter 3 GFK-1742F Jan 2020 Figure 53: Aux Axis Connections (Axis 3 Shown) Installing and Wiring the DSM314...
  • Page 94 Input Filtering: 0.5 microsecond typical Quadrature Encoder Frequency: 250 KHz/channel (1 MHz count rate) max with differential inputs 150 KHz/channel (600 KHz count rate) max with single ended inputs Quadrature Tolerance: 90 degrees +/- 45 degrees Installing and Wiring the DSM314...
  • Page 95 Input Filtering: 1.0 microseconds (typical) hardware filter + position loop sampling rate (0.5, 1.0 or 2.0 milliseconds). Note: This input must be pulled to 0v to turn on. Optically Isolated 24v Source / Sink Inputs Installing and Wiring the DSM314...
  • Page 96 Logic 1 Threshold: +/- 18.0 v min (referenced to INCOM) Input Filtering: 5 milliseconds typical Note: These inputs use bi-directional optocouplers and can be turned on with either a positive or negative input with respect to INCOM. Installing and Wiring the DSM314...
  • Page 97 For digital servos, these points act as the PWM / ENBL outputs and Alarm inputs. For Analog Servos and Aux axes, these points are input only. The listed 0v pins should be normally used for the signal return. Installing and Wiring the DSM314...
  • Page 98 20 mA max Output Voltage: +/- 1.5 v min across 120-ohm differential load Note: Axis 1 and Axis 3 use CMOS Drivers with 47-ohm series resistors. Axis 2 and Axis 4 use RS-422 Line Drivers. Installing and Wiring the DSM314...
  • Page 99 The load should not be reapplied for 60 seconds. This is a dc output and it will appear to be always ON if connections to it are reversed. Installing and Wiring the DSM314...
  • Page 100 This is a low current SSR output. The output is ON when the associated faceplate Axis Enabled LED is illuminated. This occurs when: The servo is enabled A Force Digital Servo Velocity %AQ Cmd is used (Axis 1, 2) A Force Analog Output %AQ Cmd is used Installing and Wiring the DSM314...
  • Page 101 +/- 10.0v = +/- 32,000 counts Gain Accuracy: +/- 0.5 % Update Rate: 2 milliseconds + host controller sweep time when data is reported to the host controller’s %AI table. Note: Use faceplate 0v pins for common mode reference. Installing and Wiring the DSM314...
  • Page 102 The positive differential input should be connected to AOUT and the negative differential input to ACOM. The Select Analog Output Mode %AQ command can be used to select the source for the analog output. Refer to Chapter 5 for more information. Installing and Wiring the DSM314...
  • Page 103 The total external device current drawn from this +5V circuit must be added to the power supply consumption value in the DSM314 configuration screen in the configuration software and must be added in if performing a manual power supply loading calculation.
  • Page 104: Chapter 4: Configuration

    SNP port, as shown in the following figure. Consult the software documentation for additional communications methods. Note: The DSM314 also has a serial port on the module faceplate. This serial port is used only for updating the DSM314 firmware. Figure 54: DSM Programmer Connection Diagram...
  • Page 105: Rack/Slot Configuration

    User Manual Chapter 4 GFK-1742F Jan 2020 Rack/Slot Configuration The hardware configuration defines the type and location of all modules present in the PLC racks. This is done by first completing setup screens that represent the modules in a baseplate, and saving the information to a configuration file, which is then downloaded to the PLC CPU.
  • Page 106 User Manual Chapter 4 GFK-1742F Jan 2020 Figure 56 Your project appears in the Navigator window as shown in the following figure. Figure 57 Configuration...
  • Page 107 PLC, however, you cannot select it in Logic Developer - PLC. You must select an IC693DSM314 module and configure it as if it were an IC694DSM314. Right click an empty slot and choose Add Module. The Module Catalog dialog box appears. Select the Motion tab, choose the DSM314 and click OK. Configuration...
  • Page 108: Module Configuration

    A host controller status error of “System Configuration Mismatch” with the same rack/slot location as a DSM314 indicates that there is a parameter configured and sent to the DSM314 that has been rejected by the DSM314. Carefully check each parameter of your DSM314 configuration with the configuration settings in this manual for the discrepancy.
  • Page 109: Setting The Configuration Parameters

    User Manual Chapter 4 GFK-1742F Jan 2020 4.3.1 Setting the Configuration Parameters The hardware configuration data is presented in a tabular format. The tabs correspond to the groupings shown below. The tab and/or tabs that correspond to the groups are shown in parenthesis after the group name.
  • Page 110: Settings

    These names determine which programs stored in the CPU will be transferred to each DSM on system power-up. During each CPU sweep, data is automatically transferred between the DSM314 and the CPU. The Settings tab contains the CPU interface data references and the starting locations for the automatic transfers.
  • Page 111 User Manual Chapter 4 GFK-1742F Jan 2020 Configuration Description Values Default Units Reference Parameter Section 12 = 4 Axis Number of Axes setting Axis 1 Mode Axis 1 Control Mode Analog Servo Analog Servo 1.03 Digital Servo Axis 2 Mode Axis 2 Control Mode Analog Servo Analog Servo...
  • Page 112 Jan 2020 1.01 Number of Axes. This parameter selects the number of axes the DSM314 is going to control and the size of automatic data transfers between the PLC and DSM. (Default = 4.) The following two tables document the possible axis combinations for Analog and Digital modes.
  • Page 113 Enabled 1.02 I/Q/AI/AQ Len. Displays the beginning addresses and number of %I, %Q, %AI, and %AQ references assigned to the DSM314. The reference sizes are set when the user configures the number of axes. 1.03 Axis n Mode. These parameters define the command output types provided to the servo sub-systems.
  • Page 114 A block cannot have the same name as another block that exists in an open folder. • A CAM block name may contain up to a maximum of seven characters. • This feature was first supported in DSM314 firmware release 2.00. See Chapter 15 for CAM feature details. (Default = <blank>). 1.09 I/O Scan Set.
  • Page 115: Serial Communications Port Configuration Data

    ODD or EVEN. 2.04 Idle Time. Specifies the time, in seconds, that the DSM314 will wait for a new message to be received from the master device before assuming that communications have been lost or terminated. In such a case, the DSM314 will reinitialize to wait for the start of a new SNP connection sequence.
  • Page 116: Control (Ctl) Bits

    Jan 2020 Note: Since this Serial Communications Port is used only for upgrading the DSM314’s firmware, it is recommended you leave this port’s communications settings at their default values. Use cable IC693CBL316 to connect this port to the serial port of a personal computer running the firmware upgrade software.
  • Page 117: Output Bits

    4.3.5 Output Bits The Output bits configuration tab allows the user to configure the DSM314 faceplate digital outputs for either Local Logic program control or PLC program control. Output Bit parameters are described in Table 32. Refer to Chapter 14 for additional information concerning Output bit configuration.
  • Page 118: Axis Configuration Data

    4.3.6 Axis Configuration Data The DSM314 Axis configuration parameters define items such as User Units to Counts ratio, Jog Velocity, Jog Acceleration, End of Travel, and Velocity limits. The configuration parameters for each control loop mode are defined and briefly described here. The numbers in the “Ref”...
  • Page 119 User Manual Chapter 4 GFK-1742F Jan 2020 Parameter Description Values Defaults Units Home Position Home Position Low Position Limit … High user units 5.19 Position Limit Final Home Velocity Final Home Velocity 1...MaxVelUu* +500 5.21 Home Offset Home Offset Value -32,768...+32,767 user units 5.20...
  • Page 120 User Manual Chapter 4 GFK-1742F Jan 2020 Parameter Description Values Defaults Units Follower Enable Follower Enable Input None None 5.30 Trigger Trigger CTL01-CTL32 Follower Disable Follower Enable Input None None 5.31 Trigger Trigger CTL01-CTL32 Follower Disable Follower Disable Action Stop Stop 5.32 Action...
  • Page 121 The User Units to Counts ratio is always expressed as an integer ratio. Sample Application Use the User Units to Counts ratio to configure the DSM314 so you can program in engineering units rather than encoder counts. As an example, assume a machine has a motor with a motor-mounted quadrature encoder connected through a gear reducer to a spur gear.
  • Page 122 User Manual Chapter 4 GFK-1742F Jan 2020 The following data is given: • 2000-line encoder (x4 = 8000 counts per encoder revolution) • 20:1 gear reduction • 14.336-inch pitch diameter spur gear • Inch desired programming unit (.01) Although several approaches are possible, the most straightforward is to base the calculations on a single spur gear revolution.
  • Page 123 Drive command is set to zero. An error code indicating which limit is tripped is reported to the %AI Axis Error Code. At this point, only one DSM314 action is allowed: the appropriate %Q Jog and %Q Clear Error bits may be used simultaneously to back away from the Limit Switch.
  • Page 124 High Software EOT Limit. High Software End of Travel Limit (User Units). If the limit is enabled and the DSM314 is programmed to go to a position greater than the High Software EOT value, an error will result and the DSM314 will not allow axis motion.
  • Page 125 DSM314 is programmed to go to a position less than the Low Software EOT, an error will result and the DSM314 will not allow axis motion. If the Follower control loop is enabled, the High Software EOT Limit is ignored for slave axis motion resulting from master axis commands.
  • Page 126 The Reversal Compensation feature adds in the necessary lost motion to quickly move the servo to where motion will begin on the feedback device. The DSM314 removes the compensation distance when a move in the negative direction is commanded and adds the compensation distance before a move in the positive direction.
  • Page 127 OFF due to the error, the servo may continue moving until it coasted to a stop. Thus, to allow the DSM314 to command and control a fast stop, the Drive Disable Delay should be longer than the deceleration time of the servo from maximum speed.
  • Page 128 User Selected Data 1 and User Selected Data 2 %AI location for each axis. The alternate data includes information such as Parameter memory contents and the DSM314 Firmware Revision. There are two Return Data configuration parameters, a mode selection and an offset selection.
  • Page 129 User Manual Chapter 4 GFK-1742F Jan 2020 Table 34: User Selected Return Data Digital Analog Selected Return Data Data Offset Analog Data Torque Velocity Mode Torque Command not used DSM Firmware Revision not used DSM Firmware Build ID No. (hex) not used Absolute Feedback Offset (cts) not used...
  • Page 130 At least three PLC sweeps or 10 milliseconds (whichever represents more time) must elapse before the new Selected Return Data is available in the PLC. 5.25 Cam Master Source. This configuration item is unused in the present DSM314 firmware. 5.26 Follower Control Loop.
  • Page 131 P250 = Axis 4 Incremental distance The incremental distance represents the total actual position change that will occur from the point where the follower is disabled until it stops. A configuration of Abs Position is not supported in the present DSM314 firmware. Default: Stop 5.33 Ramp Makeup Acceleration.
  • Page 132 User Manual Chapter 4 GFK-1742F Jan 2020 Figure 60: Velocity profile during the follower ramp cycle 5.34 Ramp Makeup Mode. Choices are Makeup Time or Makeup Velocity, explained below. Makeup Time Mode – in this mode the makeup process takes the amount of —...
  • Page 133: Tuning Data

    A motor type of 0 disable s digital servo control by the DSM314 for the digital servo axis. Motor type must be set to 0 when no digital servo is attached if any %Q bit commands or %AQ data commands will be sent to the axis.
  • Page 134 User Manual Chapter 4 GFK-1742F Jan 2020 Series table references the Motor Type Code (36) needed for the configuration field. Supported Motor types are listed in the tables below. The list of supported motors may be expanded in future releases. ...
  • Page 135 Analog Servo Command. The Analog Servo Command determines whether the analog command issued by the DSM300 series module is a velocity or torque command. The torque command selection is supported in the DSM314 firmware 3.0 or later. Default: Velocity Configuration...
  • Page 136 An Out of Sync error will occur and cause a fast stop if the Position Error Limit Value is exceeded by more than 1000 counts. The DSM314 attempts to prevent an Out of Sync error by temporarily halting the internal command generator whenever position error exceeds the Position Error Limit.
  • Page 137 User Manual Chapter 4 GFK-1742F Jan 2020 Commanded motor acceleration or motor deceleration that is greater than system capability. 6.04 In Position Zone. In Position Zone (User Units). When the Position Error is less than or equal to the active In Position Zone value, the In Zone %I bit will be ON. Default: 6.05 Pos Loop Time Constant (0.1ms).
  • Page 138 In Digital Mode only, if the user sends the DSM314 a velocity command that exceeds the servo system capability, the DSM314 will clamp that command value at the appropriate maximum motor velocity boundary.
  • Page 139: Computing Data Limit Variables

    Jan 2020 6.08 Acceleration Feed Forward Percentage. This configuration item is not used in the current DSM314 firmware. 6.09 Integrator Mode Integrator Mode. Position loop position error integrator operating mode. Off means the integrator is not used. Continuous means the integrator runs continuously even during servo motion.
  • Page 140: Advanced Tab Data

    Although the Advanced Tab has 16 rows for entering axis tuning parameter data, the DSM314 Release 1.0 firmware only allows Entry rows 1 and 2 to be used. The figure below shows data in the cells for Axis 1 on Entry rows 1 and 2. DSM firmware version 3.0 or later removes this restriction.
  • Page 141: Power Consumption Data

    Low Bandwidth Filter (150 Hz 3db point) Medium Bandwidth Filter (250 Hz 3db point) High Bandwidth Filter (350 Hz. 3db point) 4.3.10 Power Consumption Data This is a display-only tab that indicates the power required by the DSM314 module. Configuration...
  • Page 142: Chapter 5: Dsm314 To Host Controller Interface

    (%I, %A, %AI, %AQ). Section 1: %I Status Bits The following %I Status Bits are transferred automatically from the DSM314 to the CPU each sweep. The actual addresses of the Status Bits depend on the starting address configured for the %I reference (see Table 40, “Settings Tab”). The bit offsets listed in the following table are offsets to this starting address.
  • Page 143 Servo 4 1.01 Module Error Present. This status bit is set when the DSM314 detects any error. Errors related to a specific Servo or Auxiliary Axis will be identified in the associated Axis n Error Code %AI word. Module errors not related to a specific axis will be identified in the Module Status Code %AI word.
  • Page 144 Loop Time Constant have been sent to the DSM314. The status bit can then be monitored by the host controller. If the bit is set, then the DSM314 has been reset or reconfigured. The host controller should clear the bit and then re-send all necessary %AQ commands.
  • Page 145 ON in order to execute a motion program. If the DSM314 is configured to use an absolute feedback digital encoder (  or  Series servo with optional encoder battery), Position Valid is automatically set whenever the digital encoder reports a valid absolute position.
  • Page 146 Error Code variable when Velocity Limit is set. An exception exists when unidirectional motion is configured by setting Command Direction to Positive Only or Negative Only. Positive Only means that the velocity DSM314 to Host Controller Interface...
  • Page 147: Section 2: %Ai Status Words

    All %AI data except Actual Velocity is updated within the DSM314 at the position loop sampling rate (2 ms for digital servos, 0.5 ms or 1.0 ms for some analog servo configurations). Actual Velocity is updated once every 128 milliseconds.
  • Page 148 Dxxx, Exxx, and Fxxx. For details on System Status Error codes, refer to Appendix A. For a list of Motion Mate DSM314 error codes refer to Appendix A. 2.02 Axis 1 - Axis 4 Error Code. The Servo Axis n Error Code, where n = Axis 1 - Axis 4, indicates the current operating status of each axis.
  • Page 149 2.05 Actual Position. Actual Position (user units) is a value maintained by the DSM314 to represent the physical position of the axis. It is set to an initial value by the Set Position %AQ Immediate command or to Home Position by the Find Home cycle.
  • Page 150: Section 3: %Q Discrete Commands

    The %Q Outputs listed in Table 44 represent Discrete Commands that are sent automatically to the DSM314 from the CPU each host controller sweep. A command is executed by turning on its corresponding Output Bit. The actual addresses of the Discrete Command bits depend on the starting address configured for the %Q references.
  • Page 151 OUT1_B / Config. CTL bit src. Servo 4 3.12 Feed Hold (Pause Program) Servo 2 3.06 OUT3_B / Config. CTL bit src. Servo 4 3.13 Enable Drive / MCON Servo 2 3.07 Reserved Servo 4 DSM314 to Host Controller Interface...
  • Page 152 The abort condition is in effect as long as this command is on. If motion was in progress when the command was received, the Moving status bit will remain set until the commanded velocity reaches zero. DSM314 to Host Controller Interface...
  • Page 153 3.08 Find Home. This command causes the DSM314 to establish the Home Position. A Home Limit Switch Input from the I/O connector roughly indicates the reference position for Home, and the next encoder marker encountered indicates the exact home position.
  • Page 154 OT Limit configuration parameter. Jog Minus may be used to jog off of the Positive Overtravel switch if the Clear Error %Q bit is also maintained on. See Chapter 6, “Non-Programmed Motion,” for more information on Jogging with the DSM314. 3.11 Reset Strobe 1, 2 Flag.
  • Page 155 Select Follower Master Source. This bit switches the follower master axis source from Follower Master Source 1 (bit OFF) to Follower Master Source 2 (bit ON). The Follower Master sources are configurable as Commanded Position or Actual Position from any of the 4 axes. DSM314 to Host Controller Interface...
  • Page 156: Section 4: %Aq Immediate Commands

    The following %AQ Immediate Command words are transferred each host controller sweep from the CPU %AQ data to the DSM314. The number of %AQ words configured (6, 9, or 12) depends upon the number of controlled axes configured. The actual addresses of the Immediate Command words depend on the starting address configured for the %AQ words.
  • Page 157 To set a position of 3,400,250, first convert the value to hexadecimal. 3,400,250 decimal equals 0033E23A hexadecimal. For this value, 0033 is the most significant word and E23A is the least significant word. The data to be sent to the DSM314 would be: Word 2 Word 1...
  • Page 158 Velocity Loop Gain (Digital mode only) 4.16 VLGN = 0 ... 255 Torque Limit 4.17 Torque Limit (Digital mode and Analog Torque Mode only) (0.01% units) Range = 0-10000 (0.01% units) Position Set Aux Encoder Position 4.18 DSM314 to Host Controller Interface...
  • Page 159 Rate Override. This command immediately changes the % feedrate override value, which will modify the commanded velocity for all subsequent programmed moves. This new value will become effective immediately when received by the DSM314. It is stored and will remain effective until overwritten by a different value. A rate override has no effect on non- programmed motion or acceleration.
  • Page 160 Position Increment Without Position Update. (User units) This command offsets the axis position from -128 to +127 user units without updating the Actual Position, Unadjusted Actual Position (UAP), or Commanded Position. The DSM314 will immediately move the axis by the increment commanded if the servo is enabled.
  • Page 161 C or D, it can be reinstated by either (1) issuing the immediate command Select Analog Output (Signal Code 00) to each affected axis or (2) power cycling the DSM314. See Section 4.25, “Select Analog Output Mode.” DSM314 to Host Controller Interface...
  • Page 162 Jan 2020 Force Analog Output (Digital Mode) Example In this example, Axes 1 and 2 are configured as Digital, the beginning DSM314 %Q address is configured as %Q1, and the beginning %AQ address is configured as %AQ1. Connectors C and D are set at their default analog output condition (Force Analog Output).
  • Page 163 In Zone %I bit. When the Position Error is ≤ In Position Zone, the In Zone %I bit is ON. If the DSM314 is power cycled or the host controller CPU is reset for any reason, the value set by this command will be lost and the In-Position zone value set by configuration software will be reinstated.
  • Page 164 Jog Acceleration is always used by the %AQ Move Command (27h). A host controller reset, or power cycle returns this value to the configured data. Note: A minimum value after scaling is used in the DSM314. This value is determined by the rule: Jog Acc * (user units/counts) >= 32 counts/sec/sec.
  • Page 165 4.13 Velocity Feedforward. This command sets the Velocity Feedforward gain (0.01 percent). It is the percentage of Commanded Velocity that is added to the DSM314 velocity command output. Increasing Velocity Feedforward causes the servo to operate with faster response and reduced position error. Optimum Velocity Feedforward values are 90-100 %.
  • Page 166 Specifically, it limits the full scale of the analog output where full scale equals 10 volts. The DSM314 will set the Torque Limit at the default 10000 (100 %) whenever a power cycle or reset occurs.
  • Page 167 Select Return Data 2. This command allows alternate data to be reported in the User Selected Data 2 %AI location for each axis. The alternate data includes information such as Parameter memory contents and the DSM314 Firmware Revision. The Select Return Data 2 command uses a mode selection and an offset selection.
  • Page 168 The %AQ Position Increment without Position Update command (21h) does not change the UAP. If an application uses this command, the UAP will no longer match Actual Position. Unadjusted Strobe 1 Position is the value of Unadjusted Actual Position captured when a Strobe 1 input occurs. DSM314 to Host Controller Interface...
  • Page 169 = 0. Typical velocity profile during the follower ramp cycle is shown below. Figure 63 See Chapter 8, “Follower Motion, Follower Axis Acceleration Ramp Control” section, for a much more detailed discussion of this feature. DSM314 to Host Controller Interface...
  • Page 170 Signal Code to specify the signal to be sent, and a Connector Code to specify the DSM connector to receive the signal. This command is particularly useful for servo tuning. This command can be sent from the Command registers for any axis (1-4). DSM314 to Host Controller Interface...
  • Page 171 This is shown in Example 2, below. Restore signals with default outputs that were replaced by a re-routed signal. In Example 2, the %AQ Force Analog Output signal, which is normally found DSM314 to Host Controller Interface...
  • Page 172 In this example, the Servo Axis 1 Torque Command signal (Signal Code=10) is selected as the Analog Output on Connector D (Connector Code=04h), replacing any previous signal on Connector D. To accomplish this, place the following data in the %AQ immediate command words: Figure 65 DSM314 to Host Controller Interface...
  • Page 173 4.28 Load Parameter Immediate. This command is executed from the host controller to immediately change a DSM314 data parameter value. It can be sent from the Command registers for any axis (1-4). Data parameters are only used by motion programs. Each parameter change requires a command. Byte 1 of Word 0 contains the Parameter Number (in hexadecimal format) to be changed.
  • Page 174: Chapter 6: Non-Programmed Motion

    Chapter 6 GFK-1742F Jan 2020 Chapter 6: Non-Programmed Motion The DSM314 can generate motion in an axis in one of several ways without using a motion program. • Find Home and Jog Plus/Minus use the %Q bits to command motion.
  • Page 175 The axis decelerates and stops. 10. The DSM314 sets the Commanded Position and Actual Position %AI status words to the configured Home Position value. Finally, the DSM314 sets the Position Valid %I bit to indicate the home cycle is complete.
  • Page 176 User Manual Chapter 6 GFK-1742F Jan 2020 Note the relationships of the home position, the negative overtravel position, and the positive stop position. A small amount of distance is provided in the negative direction between the home position and the negative overtravel position. This is to allow some “working room”...
  • Page 177: Move+ And Move- Modes

    User Manual Chapter 6 GFK-1742F Jan 2020 6.1.2 Move+ and Move– Modes If Find Home Mode is configured as MOVE+ or MOVE–, the first encoder marker pulse encountered when moving in the appropriate direction (positive for MOVE+, negative for MOVE–) after the find home command is given is used to establish the exact location. In this mode, the operator usually jogs the axis to a position close (within one revolution of the encoder) to the home position first, then initiates the find home command.
  • Page 178: Jogging With The Dsm314

    The Jog Velocity, Jog Acceleration, and Jog Acceleration Mode are configuration parameters in the DSM314. These values are used whenever a Jog Plus or Jog Minus %Q bit is turned ON. Note that if both bits are ON simultaneously, no motion is generated. The Jog Acceleration and Jog Acceleration Mode are also used during Find Home, Move at Velocity, Abort All Moves and Normal Stop.
  • Page 179: Move At Velocity Command

    0022h (34 decimal) in %AQ1, 0200h (512 decimal) in %AQ2, and 0 in %AQ3. When the DSM314 receives these values, if Drive Enabled %I is ON, Abort All Moves %Q is OFF, and no other motion is commanded it will begin moving the axis at 512 user units per second in the positive direction using the current Jog Acceleration and Acceleration Mode.
  • Page 180: Force Servo Velocity Command (Digital Servos; Analog Torque Mode)

    %AQ immediate command for that axis will remove the Force Servo Velocity data and halt the servo. A one-shot Force Servo Velocity command will therefore only operate during the sweep in which it appears. Refer to Chapter 5, Motion Mate DSM314 to Host Controller Interface, for more information on this command. Note: The Force Analog Output command, described below, is used for analog servos with a Velocity command interface.
  • Page 181: Position Increment Commands

    If the Drive Enabled %I bit is ON, the axis will immediately move the increment amount. If the position increment without position update is used (%AQ command 21h), the Actual Position %AI status word reported by the DSM314 will remain unchanged. If the Position Increment with Position Update is used (%AQ command 25h), the Actual Position and Commanded Position %AI status words reported by the DSM314 will be changed by the increment value.
  • Page 182: Chapter 7: Programmed Motion

    A single-axis program contains program statements for one axis only. The programmed axis is specified in the first line of the program, for example: PROGRAM 1 AXIS1. The DSM314 may operate up to four single-axis programs. These programs may run independently or simultaneously.
  • Page 183: Multi-Axis Motion Programs And Subroutines

    User Manual Chapter 7 GFK-1742F Jan 2020 Multi-Axis Motion Programs and Subroutines The term multi-axis is specified in the definition statement (on the first line) of a program or subroutine, for example: PROGRAM 2 MULTI-AXIS, or SUBROUTINE 7 MULTI-AXIS. Axis 1 and Axis 2 are the only two axis numbers permitted in a multi-axis program or subroutine.
  • Page 184 User Manual Chapter 7 GFK-1742F Jan 2020 Program/Subroutine Definition Commands PROGRAM ENDPROG SUBROUTINE ENDSUB Type 1 commands can redirect the program path execution, but do not directly affect positioning. • Call (Subroutine) executes a subroutine before returning execution to the next command.
  • Page 185: Program Blocks And Motion Command Processing

    Type 3 command. Type 2 commands and Conditional Jumps do not take effect until the DSM executes the next Type 3 command. While the DSM314 is executing a program block, the following program block is processed into a buffer command area. This buffering feature minimizes block transition time. Thus, parameters used in a move must be loaded before the move command that was programmed two blocks earlier completes execution.
  • Page 186: Conditions That Stop A Motion Program

    Chapter 7 GFK-1742F Jan 2020 • The program to be executed must be a valid program stored in the DSM314 Conditions That Stop a Motion Program A motion program will immediately cease when one of the following conditions occurs: •...
  • Page 187: Motion Language Syntax And Commands

    User Manual Chapter 7 GFK-1742F Jan 2020 subroutines, identify the program and subroutine numbers, and indicate the type of program (single-axis or multi-axis). Block numbers and sync blocks Block numbers will be suffixed with a colon (1: for example). Sync blocks are identified by a line with a block number followed by the SYNC command (2: SYNC for example).
  • Page 188 User Manual Chapter 7 GFK-1742F Jan 2020 Motion Program Key Words The following words have special significance in the motion programming language. AXIS3 ENDSUB MULTI-AXIS ABSOLUTE AXIS4 ENDS PMOVE SYNC ACCEL CALL INCR PROGRAM VELOC CMOVE INCREMENTAL PROG ACCELERATION DWELL JUMP S-CURVE VELOCITY...
  • Page 189: Motion Program Commands

    Command parameter(s) follow the axis, if specified. If there are multiple parameters, they are separated by commas. Note: The DSM314 does not support the NULL command or Program Zero. ACCEL The ACCEL statement sets the axis acceleration for subsequent moves and remains in effect in a given program unless changed.
  • Page 190 User Manual Chapter 7 GFK-1742F Jan 2020 Errors: ACCEL commands must be separated by at least one move command. Specified acceleration constant is not in the range of 1 - 1,073,741,823 Parameter data register is not in the range of 0 - 255. Axis specified in single-axis program.
  • Page 191 User Manual Chapter 7 GFK-1742F Jan 2020 If caller is a subroutine, it cannot call itself (no recursive calls) or call another subroutine that directly or indirectly references it. Call destination subroutine must be defined in the same file. Single-axis programs and subroutines can only call single-axis subroutines. Multi- axis programs and subroutines can only call multi-axis subroutines.
  • Page 192 User Manual Chapter 7 GFK-1742F Jan 2020 DWELL DWELL causes motion to cease for a specified time period before processing the next command. Specifying a dwell of zero (either as a constant or the value in a parameter data register) causes no dwell to occur (this is a change from APM and DSM302 functionality). A single DWELL command only applies to one axis.
  • Page 193 User Manual Chapter 7 GFK-1742F Jan 2020 JUMP Jump to a block number or sync block within the current program or subroutine. The jump may be conditional, based on the state of a CTL bit, or unconditional. Syntax: JUMP <condition>, <destination> Parameter Description <condition>...
  • Page 194 User Manual Chapter 7 GFK-1742F Jan 2020 PMOVE The PMOVE command programs a positioning move using the specified position and acceleration mode. Syntax: PMOVE {<axis>} <position>, <positioning mode>, <acceleration mode> Parameter Description <axis> The axis can only be specified in a multi-axis program or subroutine. The axis may be specified using the AXISx keywords or constants.
  • Page 195 User Manual Chapter 7 GFK-1742F Jan 2020 Syntax: PROGRAM <program number> <axis configuration> Parameter Description <program number> The program number must be a decimal value in the range of 1 – 10. Within a source file, each PROGRAM defined must have a unique number. <axis configuration>...
  • Page 196 User Manual Chapter 7 GFK-1742F Jan 2020 Sync Block A sync block is a special case of a block number. A sync block may only be used in a multi- axis program. A sync block is identified by a block number followed by the command SYNC. The SYNC command must appear on the same line as the block number.
  • Page 197 User Manual Chapter 7 GFK-1742F Jan 2020 Errors: Axis specified in single-axis program. No axis specified in multi-axis program. Velocity must be a constant in the range of 1 – 8388607. VELOC commands must be separated by at least one move command. Specified axis does not support programmed motion.
  • Page 198: Program And Subroutine Structure

    User Manual Chapter 7 GFK-1742F Jan 2020 7.7.3 Program and Subroutine Structure Single-axis Program Structure • PROGRAM definition statement. It must be the first line of the program. It must identify the program number and axis number. The program number has a space between the PROGRAM keyword and the number.
  • Page 199 User Manual Chapter 7 GFK-1742F Jan 2020 • End of Program. Uses the ENDPROG statement. This statement clearly identifies the end of the program and helps separate one program or subroutine from another. The ENDPROG should be the only thing on the last line of any program: ENDPROG Multi-Axis Program Example Note that the term MULTI-AXIS must be used in the PROGRAM statement on the first line,...
  • Page 200 User Manual Chapter 7 GFK-1742F Jan 2020 Single-Axis Subroutine Example An axis number should not be specified in a single-axis subroutine. That is because a single- axis subroutine will apply to the axis specified in the single-axis program that calls it. This allows a subroutine to be used by different single-axis programs, regardless of the particular axis number they specify.
  • Page 201: Command Usage Examples

    Incremental Positioning In an incremental move, the first parameter specifies the distance to move from the current position. The DSM314 translates incremental move distances into absolute move positions. This eliminates error accumulation. The following is an incremental positioning move example.
  • Page 202 User Manual Chapter 7 GFK-1742F Jan 2020 Types of Acceleration Linear Acceleration A sample linear move profile that plots velocity versus time is shown in Figure 69. As illustrated, a linear move uses constant (linear) acceleration. The area under the graph represents the distance moved.
  • Page 203: Types Of Programmed Move Commands

    If an ACCEL command has not been encountered in the motion program, the Jog Acceleration is used as default. A special form of the CMOVE command can be used to force the DSM314 to reach the programmed CMOVE position before starting the velocity change associated with the next move command (that is, execute the entire CMOVE command at a constant velocity).
  • Page 204 User Manual Chapter 7 GFK-1742F Jan 2020 Note: White space characters (blank spaces, tabs, etc.) were used in the program above to improve readability. Figure 71: Example 1, Before Inserting CMOVE (0) Figure 72: Example 2, After Inserting CMOVE (0) Programmed Motion...
  • Page 205 User Manual Chapter 7 GFK-1742F Jan 2020 Programmed Moves By combining CMOVEs and PMOVES, absolute and incremental moves, and linear and s- curve motion, virtually any motion profile can be generated. The following examples show some simple motion profiles, as well as some common motion programming errors. Example 1: Combining PMOVEs and CMOVEs This example shows how simple PMOVEs and CMOVEs combine to form motion profiles.
  • Page 206 CMOVES and PMOVES can be programmed that do not have enough distance to reach the programmed velocity. The following graph shows a CMOVE that could not reach the programmed velocity. The DSM314 accelerates to the point where it must start decelerating to reach the programmed position of C1 at the velocity of the second CMOVE.
  • Page 207 Thus, the axis is running at a very high velocity and must stop in a short distance. If the programmed acceleration is not large enough, the following profile could occur. The DSM314 attempts to avoid overshooting the final position by commanding a zero velocity. This rapid velocity change is undesirable and can cause machine damage.
  • Page 208 WAIT command for each axis. Subroutines The DSM314 can store up to ten separate programs and forty subroutines. Subroutines can be defined as two types: single-axis and multi-axis. Subroutines are available for all motion programs created with the Motion Editor. Commands within single-axis subroutines do not contain an axis number;...
  • Page 209 JUMP command is executed. When a conditional JUMP command is executed, the DSM314 examines the specified CTL bit. If the bit is ON, program execution jumps to the destination block number; if the bit is OFF, the program continues executing the command after the JUMP.
  • Page 210 User Manual Chapter 7 GFK-1742F Jan 2020 Conditional Jump testing ends when the designated CTL bit turns ON (Jump Trigger occurs) or when a new Block Number becomes active. If more than one Conditional Jump is programmed without an intervening PMOVE, CMOVE, DWELL, or WAIT command, only the last Conditional Jump will be recognized.
  • Page 211 In this example, the CTL01 bit is tested throughout the PMOVE because the PMOVE and JUMP commands are in the same Block. The DSM314 can perform a Conditional JUMP from an active CMOVE to a program block containing a CMOVE or PMOVE without stopping. For the axis to jump without stopping, the distance represented by the CMOVE or PMOVE in the Jump block must be greater than the servo stopping distance.
  • Page 212 Conditional jumps perform jump testing. If the CTL bit is ON, the jump is immediately performed. If the CTL bit is OFF, the DSM314 watches the CTL bit and keeps track of the JUMP destination. This monitoring of the CTL bit is called jump testing. If during jump testing the CTL bit turns ON before a BLOCK command, another JUMP command, or a CALL command is encountered, the jump is performed.
  • Page 213 This stopping is NOT a Jump Stop, which is described in Example 10. Example 8: Normal Stop Before JUMP The following example contains a jump followed by a DWELL command. The DSM314, because it processes ahead, knows it must stop after the CMOVE command. Thus, it comes to a stop before the DWELL is executed.
  • Page 214 User Manual Chapter 7 GFK-1742F Jan 2020 Jumping Without Stopping If the Type 3 command following a conditional jump is a CMOVE and the Type 3 command at the destination is a move command with sufficient distance to fully decelerate to zero when completed, the jump will be executed without stopping.
  • Page 215 User Manual Chapter 7 GFK-1742F Jan 2020 Jump Stop A jump stop is a stop that is caused by a jump. When a jump stop occurs, the current programmed acceleration and acceleration mode are used. Note that s-curve motion will achieve constant velocity before beginning to decelerate.
  • Page 216 User Manual Chapter 7 GFK-1742F Jan 2020 Example 11: Jump Followed by PMOVE In this JUMP example, the command after the JUMP is a PMOVE in the same direction. The velocity profile below shows the acceleration and movement for the first CMOVE and the deceleration to the PMOVE’s velocity.
  • Page 217 In the first case, when accelerating but the new velocity is lower, or decelerating and the new velocity is greater, the DSM314 will immediately begin reducing the acceleration or deceleration to zero. Once at zero velocity, the DSM314 will use the jump destination acceleration and velocity and change to the new velocity.
  • Page 218 The second case involves jumping to a higher velocity while accelerating or a lower velocity while decelerating. When this occurs, the DSM314 continues to the first move’s acceleration or deceleration. This acceleration or deceleration is maintained, similar to be a linear acceleration, until the axis approaches the new velocity.
  • Page 219: Other Programmed Motion Considerations

    The maximum time for a programmed acceleration or deceleration is 131 seconds. If the time to accelerate or decelerate is computed to be longer than this time, the DSM314 will compute an acceleration to be used based on 131 seconds. To obtain longer acceleration times, multiple CMOVEs with increasing or decreasing velocities must be used.
  • Page 220 User Manual Chapter 7 GFK-1742F Jan 2020 The distance traveled during acceleration or deceleration is calculated using the formula: (For 240 seconds is needed to reach a velocity of 24,000, a velocity of 12,000 can be reached in 120 seconds.) The initial CMOVE and the final PMOVE both use this distance. A second CMOVE “takes over”...
  • Page 221: Feedhold With The Dsm314

    During Feedhold, jogging positive and negative is allowed, but no other motion. When Feedhold is terminated and program execution resumes, the DSM314 remembers and will move to its previous destination. Example 16: Feedhold The following example illustrates a motion profile when Feedhold is applied.
  • Page 222: Feedrate Override

    A percentage can be assigned to the feedrate override of from 0% to 120%. When a Rate Override is commanded, the DSM314 internally multiplies the feedrate percentage by programmed velocity to obtain a new velocity. If the axis is moving, the current move’s Jog Acceleration Mode is used to change velocity to the new velocity.
  • Page 223: Multi-Axis Programming

    User Manual Chapter 7 GFK-1742F Jan 2020 7.7.9 Multi-axis Programming Sync Blocks can be used in a multi-axis program to synchronize the axis motion commands at positions where timing is critical. Example 18: Multi-axis Programming This example assumes that axis 1 controls vertical motion and axis 2 controls horizontal motion.
  • Page 224: Parameters (P0-P255) In The Dsm314

    If this program segment is not at the beginning of a program, and for some reason axis 2 has not yet reached Block 20 when axis 1 has moved 30,000 counts, an error would occur. Axis 1 would continue to 80,000 counts, and the DSM314 would report a “Block Sync Error during a CMOVE” in the Status Code.
  • Page 225 Axis 4 user units 252-255 Reserved Parameters are all reset to zero after a power cycle or after a DSM314 configuration is stored by the host controller. Parameters can be assigned in three ways: • The motion program LOAD command.
  • Page 226: Calculating Acceleration, Velocity And Position Values

    User Manual Chapter 7 GFK-1742F Jan 2020 7.7.11 Calculating Acceleration, Velocity and Position Values One method of determining the value for APM or DSM motion program variables such as Acceleration, Velocity or Position is to plot the desired move or move segment as a velocity profile.
  • Page 227 User Manual Chapter 7 GFK-1742F Jan 2020 Figure 91: Trapezoidal Move Once the move segment outline is drawn, you will need to examine specifications or physical restrictions applicable to the move. For instance, the move may have to complete in a certain time interval (t ) or move a fixed distance (X).
  • Page 228 User Manual Chapter 7 GFK-1742F Jan 2020 Triangular Velocity Profiles The triangular velocity profile minimizes servo acceleration rate and requires a higher servomotor velocity when compared to a trapezoidal profile of the same distance and time. Use a triangular profile for fast short moves. Figure 92: Triangular Velocity Profile Non-Linear or S-Curve Acceleration S-Curve or jerk limited acceleration calculation is simple to do if the linear calculation is...
  • Page 229: Motion Editor Error And Warning Messages

    The programming software’s motion editor translates programs into the code used by the DSM314. If the source code violates the syntactic rules, the editor cannot recognize the code and generates syntax errors. Syntax errors will attempt to describe the error source.
  • Page 230 User Manual Chapter 7 GFK-1742F Jan 2020 (M213) Signed integer constants must be in range of -2147483648 to 2147483647 Motion program contains a signed integer value that cannot be represented in 32 bits. (M214) SYNC Statement is only valid in multi-axis programs and subroutines A single-axis motion program or subroutine attempted to define a sync block.
  • Page 231 User Manual Chapter 7 GFK-1742F Jan 2020 (M236) Jump destination block not defined The motion program or subroutine has a JUMP statement to a block number that has not been defined. (M237) Call destination subroutine not defined The motion program or subroutine contains a call to a subroutine that has not been defined. (M238) Program must be in range 1 –...
  • Page 232 User Manual Chapter 7 GFK-1742F Jan 2020 (M249) Already defining program or subroutine A PROGRAM or SUBROUTINE statement has been encountered within an unterminated PROGRAM or SUBROUTINE. (M280) Instruction limit exceeded, max 1000 A motion program block can contain no more that 1000 program statements. This error is issued if the number of statements exceeds that limit.
  • Page 233 User Manual Chapter 7 GFK-1742F Jan 2020 (M490) Program contains no executable statements A warning is issued if a program block contains no executable statements. Using Error Messages to Troubleshoot Motion Programs After creating motion programs or subroutines in the Motion Editor window, you can check for basic errors by clicking the Block Check icon on the toolbar.
  • Page 234: Chapter 8: Follower Motion

    Master Sources A DSM314 Servo Axis can be configured to follow any two of eight possible master input sources. The two sources are identified as Source 1 and Source 2. A Follower Master Source Select %Q bit determines whether Source 1 or Source 2 is the active source. The available selections for Source 1 and Source 2 are: •...
  • Page 235: External Master Inputs

    Actual Position for Axis 1 - Axis 4 represent external master axis sources. An encoder connected to the axis or the feedback of a servo system may be used as an actual position source. The DSM314 follower loop allows a slave axis to follow a selected external source as shown in this example: 8.2.1...
  • Page 236: Example 2: Following An Internal Master Command

    Figure 96: Following Servo Axis 2 Encoder A:B Ratio A DSM314 axis following a master input can do so at a wide range of slave : master (A:B) ratios. The “A” value can be any number from –32768 to 32767. The “B” value can be anywhere between 1 and 32767.
  • Page 237: Example 3: Sample A:b Ratios

    User Manual Chapter 8 GFK-1742F Jan 2020 8.4.1 Example 3: Sample A:B Ratios All of the following samples are following the master source input at various A:B ratios. Figure 97: Sample A:B Ratios Follower Motion...
  • Page 238: Velocity Clamping

    Note that determination of positive and negative velocity and update of the A:B ratio must be done in the host controller or the DSM314 Local Logic program. In the profile below, the following axis uses a 2:1 ratio when moving positive and a 1:2 ratio when moving negative.
  • Page 239: Unidirectional Operation

    User Manual Chapter 8 GFK-1742F Jan 2020 Unidirectional Operation Setting the axis Command Direction configuration to Positive Only or Negative Only results in unidirectional follower motion. Any master axis counts in the zero limited direction are ignored. No error is generated by counts in the zero limited direction. The In Velocity Limit %I bit, however, does reflect the presence of a master command in the zero limited direction.
  • Page 240: Disabling The Follower With External Input

    User Manual Chapter 8 GFK-1742F Jan 2020 Disabling the Follower with External Input Any CTL bit CTL01- CTL32 can be configured as a Disable Trigger for the follower axis. The trigger input is tested only when the Enable Follower %Q bit is ON. When the Enable Follower %Q bit is ON, an OFF to ON transition of the trigger bit will disable the follower.
  • Page 241 User Manual Chapter 8 GFK-1742F Jan 2020 master velocity, they will be inserted during make-up distance correction motion. This motion has an automatically calculated trapezoidal velocity profile determined by the Follower Ramp Distance Makeup Time, the amount of accumulated counts, and the configured Follower Ramp Acceleration.
  • Page 242 User Manual Chapter 8 GFK-1742F Jan 2020 Case 4: At the time when the follower velocity matches the master command velocity and the makeup move is to occur and conditions are the same as in Case 1 or Case 2 and the makeup move has initiated, the master source increases to >80% of the Velocity Limit.
  • Page 243 User Manual Chapter 8 GFK-1742F Jan 2020 Figure 102: Follower Ramp Up/Ramp Down Cycle – Case 2 with make-up time too small. During the ramp phase of the distance correction, the velocity limit is controlled. If calculated velocity is too high, then the velocity is clamped, and warning error code is set (in the point C of the trajectory).
  • Page 244: Follower Mode Command Source And Connection Options

    The diagrams on the following pages illustrate a variety of Master axis and Follower slave axis loop connection options. The diagram below illustrates the three DSM314 analog axes connected in parallel with Actual Position for Axis #4. The reader should note that with this configuration, the Local Logic function can be run.
  • Page 245 GFK-1742F Jan 2020 The diagram below illustrates the three DSM314 analog axes connected in parallel with Commanded Position for Axis #4. The reader should note that with this configuration, the Local Logic function cannot be run. This is because the command generator for axis #4 is required for this configuration.
  • Page 246 GFK-1742F Jan 2020 The diagram below illustrates the two DSM314 digital axes connected in parallel with Commanded Position or Actual Position for Axis #3. The reader should note that with this configuration the Local Logic function can be run. This is because the command generator for axis #4 is not required for this configuration.
  • Page 247 GFK-1742F Jan 2020 The diagram below illustrates two DSM314 digital axes connected in parallel with Commanded Position from Axis 1 driving servo loops for Axis 1 and Axis 2. This will allow both axes to run from the same commanded path. Note that Axis 1 is configured with Follower Control Loop = Disabled.
  • Page 248 GFK-1742F Jan 2020 The diagram below illustrates the four DSM314 analog axes connected in two parallel pairs. The reader should note that with this configuration the Local Logic function cannot be run. This is because the servo position loop for axis #4 is required for this configuration.
  • Page 249 User Manual Chapter 8 GFK-1742F Jan 2020 Follower Control Loop Block Diagram Figure 109: Follower Axis Control Loop Block Diagram Follower Motion...
  • Page 250: Chapter 9: Combined Follower And Commanded Motion

    User Manual Chapter 9 GFK-1742F Jan 2020 Chapter 9: Combined Follower and Commanded Motion Combined motion consists of Follower motion commanded from a master axis combined with one of these internally commanded motions: • Jog Plus/Minus %Q Command • Move at Velocity %AQ Command •...
  • Page 251: Follower Motion Combined With Motion Programs

    User Manual Chapter 9 GFK-1742F Jan 2020 Follower Motion Combined with Motion Programs Motion commands from stored programs or the Move %AQ command can also be combined with the master command to drive the follower axis. These point-to-point move commands can come from one of the stored motion programs 1 through 10 and any stored subroutines they may call.
  • Page 252 User Manual Chapter 9 GFK-1742F Jan 2020 Figure 111: Combined Motion (Follower + Jog) With sustained commanded motion in the same direction, the Program Command Position will roll over at +2,147,483,647 or –2,147,483,648 counts. The Actual Position, however, will be confined by the configured High Position Limit and Low Position Limit.
  • Page 253 User Manual Chapter 9 GFK-1742F Jan 2020 COMMAND Follower Follower Registers Affected by input Input Enabled (Actual Position + Position Error) Program Command Position is updated (by Program command only) Actual Velocity %AI status word is updated (by Program command velocity + Master command velocity) Commanded Velocity %AI status word is Updated (by Program command velocity only)
  • Page 254 User Manual Chapter 9 GFK-1742F Jan 2020 The Program Command Position can be synchronized to the Actual Position %AI value in three ways: • Find Home %Q command execution • Set Position %AQ command • Execute Motion Program n %Q command (if the follower is not enabled) The effect of these commands is indicated in Table 52 below.
  • Page 255: Example 2: Follower Motion Combined With Motion Program

    The CTL01- CTL24 bit to which the part edge sensor is connected would already have been configured in the Follower Enable Trigger configuration parameter. When the Part edge sensor trips, the DSM314 enables the Follower axis to start following the master (Aux Axis 3) encoder inputs. The Follower Enabled %I bit indicates when the axis is following the master command.
  • Page 256 Jan 2020 Note: Since the DSM314 saved the Follower enable input trigger Commanded Position in a parameter register (#226 for axis 1, #234 for axis 2), step 1 this time could be used to execute another program with an absolute move command back to the parameter value position and continuing with step 2.
  • Page 257: Chapter 10: Introduction To Local Logic Programming

    User Manual Chapter 10 GFK-1742F Jan 2020 Chapter 10: Introduction to Local Logic Programming This chapter contains an introduction to the basic local logic programming concepts. The DSM and the DSM motion programming language are not discussed in detail in this chapter. These concepts are discussed in other chapters within this manual.
  • Page 258 User Manual Chapter 10 GFK-1742F Jan 2020 It is important to understand the concept shown in Figure 113. before writing local logic programs. The local logic program runs to completion each position loop sample period. The program then re-executes the complete local logic program the next position loop sample period.
  • Page 259 User Manual Chapter 10 GFK-1742F Jan 2020 Position Loop Sample Active Motion Program Local Logic Program Number Statement Statements END_IF; CMOVE ##,ABS,SCURVE Position_Loop_TC_1:=50; IF Actual_Position_1>4000 THEN Digital_Output1_1:=ON; END_IF; IF Actual_Position_1>=4500 THEN Digital_Output1_1:=OFF; END_IF; IF Actual_Position_1> 6000 THEN Digital_Output3_1:=ON; END_IF; IF Actual_Position_1>=7500 THEN Digital_Output3_1:=OFF;...
  • Page 260: When To Use Local Logic Versus Ladder Logic

    Machine Edition Logic Developer – PLC version 2.1 or later • VersaPro version 1.1 or later (Series 90-30 only. For details, refer to Appendix H.) The DSM314 feature set also requires: PACSystems firmware release 2.8 or later, or — 90-30 CPU firmware release 10.0 or later.
  • Page 261: Creating A Local Logic Program

    To create a local logic program, open your project in Machine Edition. In the Project tab of the Navigator window, right click the Target containing the DSM314, choose Add Component, and then choose Motion. Figure 114 The Motion Program folder appears in the Navigator.
  • Page 262: Local Logic Variable Table

    User Manual Chapter 10 GFK-1742F Jan 2020 To change the name of your local logic block, edit the name in the Block Properties, which is displayed in the Inspector window. Figure 116: Local Logic Editor Main Screen Layout, Machine Edition 10.4 Local Logic Variable Table The programming environment includes a window that contains the Local Logic variables.
  • Page 263 User Manual Chapter 10 GFK-1742F Jan 2020 The table has several tabs that group the variables by category. The categories are: • Axis 1 – Variables specific to axis number one • Axis 2 – Variables specific to axis number two •...
  • Page 264: Connecting The Local Logic Editor To The Dsm

    (The DSM314 also has a serial port on the module faceplate, which is used only for updating the DSM314’s firmware.) Local Logic and Motion programs are stored to a dedicated memory space inside the host controller CPU.
  • Page 265: Building A Local Logic Program

    Building a Local Logic Program The programming software provides a self-contained environment that allows the user to perform all the actions necessary to create, edit, and download a local logic program to a DSM314 module. 10.6.1 Creating a Local Logic Program Create a Local Logic program named Example.
  • Page 266 User Manual Chapter 10 GFK-1742F Jan 2020 The Local Logic editor is a free-form text editor that allows you to enter programs in the style that you prefer. This example is a very simple Local Logic program that does not represent a fully functional application because it is intended for instructional purposes only.
  • Page 267 User Manual Chapter 10 GFK-1742F Jan 2020 Figure 121: Local Logic (LLExample) Introduction to Local Logic Programming...
  • Page 268: Checking Local Logic Syntax

    User Manual Chapter 10 GFK-1742F Jan 2020 10.6.2 Checking Local Logic Syntax At this point, you should validate the program to verify correct language syntax. To check the language syntax, select Target, then Validate <Target Name>. You can also press F7 anywhere in the Machine Edition window. All logic blocks in the active target are checked.
  • Page 269: Setting Up Hardware Configuration For Local Logic

    The resulting Hardware Configuration screens will be as shown in Figure 123. Note: This method of linking the DSM314 to a Local Logic program allows you to easily specify multiple DSM314s that use the same Local Logic program. This example has only one DSM314. However, if you have multiple DSM314s that need to run the same Local Logic program, simply indicate that in the configuration for each DSM314 that needs to execute this program.
  • Page 270 Chapter 10 GFK-1742F Jan 2020 Figure 123: Hardware Configuration DSM314 Settings Tab (RX3i version shown) Configure return data. The example Local Logic program shown on page 254 uses parameter registers P001, P003, and P004 as counters that contain values representing time. To view these parameter registers in the DSM return data registers, you need to configure return data.
  • Page 271 Select Return Data 2 Axis 2 is returned in %AI memory offset 41 while Return Data 2 for Axis 2 is returned in % AI offset 43. Figure 125: Hardware Configuration DSM314 Axis #2 Tab Introduction to Local Logic Programming...
  • Page 272 This completes the configuration changes necessary for the example. Close the Hardware Configuration tool and save the folder. The link between the example Local Logic program and the DSM314 module is now complete. You can now create any required ladder logic and then perform a Check All on the programs.
  • Page 273: Downloading A Local Logic Program

    User Manual Chapter 10 GFK-1742F Jan 2020 10.7 Downloading a Local Logic Program To perform the download operation, first make sure that the communications port is properly configured. To access communications setup, click on the target you want to connect to in the Navigator window. Using Machine Edition, in the Inspector window, select the Physical Port you want to connect through.
  • Page 274 User Manual Chapter 10 GFK-1742F Jan 2020 Note: The Local Logic and Motion programs are transferred as part of the Hardware configuration process. Thus to download an updated Local Logic program and/or Motion program, select the Hardware Configuration and Motion item in the Download to PLC dialog box. Figure 128: Machine Edition Download Dialog Box Machine Edition will then check any blocks that have changed.
  • Page 275: Executing Your Local Logic Program

    User Manual Chapter 10 GFK-1742F Jan 2020 Figure 130: Reference View Table 10.8 Executing Your Local Logic Program Once the download operation is complete, the module is ready to execute the local logic program. To cause the DSM module to execute the local logic program you must set the Q bit offset 1 from the host controller, while the host controller is in RUN mode.
  • Page 276: Using The Motion Program Editor

    User Manual Chapter 10 GFK-1742F Jan 2020 10.9 Using the Motion Program Editor Now that you have successfully gotten the Local Logic program working, it would be useful to link in a Motion Program. The Motion Program editor is accessed in a manner very similar to the Local Logic editor.
  • Page 277 User Manual Chapter 10 GFK-1742F Jan 2020 The Motion editor is a free-form text editor that allows you to enter a program in the style that you prefer. The example uses a very simple Motion program. The example does not represent a functional application and is for instructional purposes.
  • Page 278 This allows the user to program the DSM314 in application-specific units. The User Units and Counts values must be within the range of 1 to 65,535. The User Units to Counts ratio must be within the range of 8:1 to 1:32.
  • Page 279 User Manual Chapter 10 GFK-1742F Jan 2020 The next item you need to determine is the motor top speed. This is a relatively simple calculation. Next, you need to calculate the velocity and acceleration required for the move. In this example, a triangular velocity profile is chosen to minimize time.
  • Page 280 User Manual Chapter 10 GFK-1742F Jan 2020 Given : You are now ready to write a motion program. The code for the sample program is as follows. Introduction to Local Logic Programming...
  • Page 281 Chapter 12 contains additional details that cover corrective actions for syntax errors and warnings. Once the program passes the syntax check, you need to set up the hardware configuration that will allow the program to be downloaded to the correct DSM314 module. Introduction to Local Logic Programming...
  • Page 282: Setting Motion Program Parameters In Hardware Configuration

    Type the name of the example program, “MPExample,” into this field. Note: This example has only one DSM314. However, if you have multiple DSM314s that need to run the same Motion program, you can indicate that in the configuration for the each DSM314. This allows the programmer to have one Motion program source file for multiple DSM314s.
  • Page 283 UserUnits: 600 Counts: 8192 High Position Limit: 599 (Optional, causes position to roll over every revolution) Velocity Limit: 30000 Axis Direction: Reverse (Optional causes servo to turn clockwise) Figure 136: Hardware Configuration DSM314 Axis#1 Tab Introduction to Local Logic Programming...
  • Page 284 To save your work, select the File from the main menu and then select Save All from the file menu. The link between the example Motion program, Local Logic program, and the DSM314 module is now complete. Create any required ladder logic, validate the programs and download them to the host controller.
  • Page 285: Executing Your Motion Program

    User Manual Chapter 10 GFK-1742F Jan 2020 10.10 Executing Your Motion Program Once the download operation is complete, the module is ready to execute the Motion and Local Logic programs. To cause the DSM module to execute the local logic program, set the Q bit offset to 1 from the host controller, while the host controller is in RUN mode.
  • Page 286: Chapter 11: Local Logic Tutorial

    User Manual Chapter 11 GFK-1742F Jan 2020 Chapter 11: Local Logic Tutorial The Local Logic programming language supports assignment, conditional statements, arithmetic, logical, and relational operations. The Local Logic program runs synchronously with the motion module position loop and therefore is deterministic. The language includes constructs that allow the Local Logic program to communicate information between the Logic program, the Motion Program, and the host controller.
  • Page 287: Comments

    User Manual Chapter 11 GFK-1742F Jan 2020 11.2 Comments Comments allow the programmer to describe program operation, or any information that the programmer wishes to embed in the program. Comment text begins with the (* character pair and terminates with the *) character pair and may appear anywhere within the program.
  • Page 288: Operators

    User Manual Chapter 11 GFK-1742F Jan 2020 Positive_EOT_1:=1; The Local Logic Parser generates an error if the program attempts to write to a read only variable, or attempts to read a write only variable. In addition, Local Logic variables have a size attribute ranging from Boolean (1-bit) to double integer (64-bits).
  • Page 289: Relational Operators

    User Manual Chapter 11 GFK-1742F Jan 2020 P005: = Torque_Limit_1 * P004; 11.4.2 Relational Operators Relational operators compare two operands in a conditional statement. The < (less than), > (greater than), <= (less than or equal), >= (greater than or equal), = (equal), and <> (not equal) operators are valid relational operators.
  • Page 290: Bitwise Logical Operators

    User Manual Chapter 11 GFK-1742F Jan 2020 11.4.3 Bitwise Logical Operators Bitwise logical operators mask or invert an individual bit or groups of bits. The BWAND (and), BWOR (or), BWXOR (exclusive or), and BWNOT (ones-complement) operators are valid constructs. BWAND, BWOR, and BWXOR require two operands. The BWNOT operator requires one operand.
  • Page 291: Local Logic / Host Controller / Motion Program Communication

    User Manual Chapter 11 GFK-1742F Jan 2020 11.5 Local Logic / Host Controller / Motion Program Communication The Local Logic program or host controller communicates with the motion program using parameters, CTL bits and Motion Program Block Numbers. These methods are used as follows: •...
  • Page 292 User Manual Chapter 11 GFK-1742F Jan 2020 “nut gripper released” signal is turned on by the host controller, the axis moves to the initial position with the full torque. Torque Limiting Local logic program. Local Logic Tutorial...
  • Page 293: Gain Scheduler Program Example

    User Manual Chapter 11 GFK-1742F Jan 2020 11.6.2 Gain Scheduler Program Example The following example illustrates a method to use local logic to implement a simple gainscheduling algorithm. Care should be taken whenever one implements an algorithm that dynamically changes the control characteristics. In many situations, dynamically changing the control characteristics can cause the controlled process to go unstable.
  • Page 294: Trigger Output Based Upon Position Program Example

    User Manual Chapter 11 GFK-1742F Jan 2020 Programmable Limit Switch Local Logic Program The motion program segment corresponding with the above local logic program is shown below. Programmable Limit Switch Example Motion Program Segment 11.6.4 Trigger Output Based Upon Position Program Example The following example illustrates a method to use Local Logic to trigger a timed output based upon the current motor position.
  • Page 295 User Manual Chapter 11 GFK-1742F Jan 2020 Figure 140: Timer Output Based Upon Position Example Timer Output Based Upon Position Local Logic Program The motion program segment corresponding with the above local logic program is shown below. Timer Output Based Upon Position Example Motion Program Segment Local Logic Tutorial...
  • Page 296: Windowing Strobes Program Example

    User Manual Chapter 11 GFK-1742F Jan 2020 11.6.5 Windowing Strobes Program Example The following example illustrates a method to use local logic to perform a windowing strobe function. The example ignores the strobe command unless the current motor position is inside the window (Actual Position >...
  • Page 297: Chapter 12: Local Logic Language Syntax

    User Manual Chapter 12 GFK-1742F Jan 2020 Chapter 12: Local Logic Language Syntax This chapter describes the Local Logic programming language syntax, rules, and language elements. The language uses free-format text-based constructs derived from the IEC 1131 structured text standard. The sections that follow describe the available commands and the command syntax.
  • Page 298: Local Logic Variables

    User Manual Chapter 12 GFK-1742F Jan 2020 Examples: 2#1010 Binary constant 2#11111110_11101101_10111110_11101111 Binary constant with embedded underscores A local logic program may have a maximum of 50 unique constants whose value is greater than 2047 or less than –2048. If a local logic program declares more than 50 unique constants, the build process generates an error.
  • Page 299: Local Logic Statements

    User Manual Chapter 12 GFK-1742F Jan 2020 12.1.3 Local Logic Statements The Local Logic language supports two kinds of statements: Assignment and Conditional. A Local Logic program supports 150 statements. The Local Logic check block will generate an error message when the 150 line limit is exceeded. Warnings are issued when the Local Logic program exceeds 100 lines.
  • Page 300: Whitespace

    User Manual Chapter 12 GFK-1742F Jan 2020 Local Logic Conditional Statements Conditional statements permit conditional code execution based on simple relational and bitwise logical operations. A conditional statement has the following format. IF <expression> THEN Local Logic Statements END_IF; The <expression> may consist of a constant, a variable, a relational or bitwise logical operation on two variables, or a bitwise complement of a constant or variable.
  • Page 301: Comments

    User Manual Chapter 12 GFK-1742F Jan 2020 12.1.5 Comments Comments may be used to add information to the program that is ignored by the Local Logic program execution engine. Two types of comments are supported. The (* character pair introduce a normal comment, which terminates with the *) character pair.
  • Page 302: Pragma Directive

    User Manual Chapter 12 GFK-1742F Jan 2020 12.1.6 PRAGMA Directive The #pragma directive is used to configure the Local Logic parser. The directive is NOT required for the parser to operate. However, if the user wishes to turn off warning messages the #pragma directive allows this to occur.
  • Page 303: Enabling And Disabling Local Logic

    The Local Logic Engine will not run if any custom Local Logic functions are enabled via the Advanced Parameters in Hardware Configuration. The custom function will normally not be available and is developed for application specific use only by Emerson. 12.3 Local Logic Outputs/Commands DSM command bit outputs (Jog, Feedhold, Follower Enable and Strobe Resets) are OR’ed...
  • Page 304: Local Logic Arithmetic Operators

    User Manual Chapter 12 GFK-1742F Jan 2020 Example: Jog_Plus_1 := TRUE; (* Turn on Jog Plus for Axis 1 *) Strobe_Reset1_3 := 0; (* Turn off the Strobe 1 reset bit for Axis 3 *) (* Some more code here *) Follower_Ratio_A_1 := 10;...
  • Page 305: Operator

    User Manual Chapter 12 GFK-1742F Jan 2020 12.4.1 Operator + Adds source1 to source2 and stores the result in destination Syntax destination := source1 + source2; The + operator syntax has these parts: Overflow – Set if the result of an addition is greater than 2,147,483,647 or less than - 2.147,483,648.
  • Page 306: Operator

    User Manual Chapter 12 GFK-1742F Jan 2020 12.4.3 Operator * Performs a signed multiply of source1 and source2 generating a signed 64-bit result. The result may be stored to a 32-bit or 64-bit destination. Syntax 1 destination := source1 * source2; Syntax 2 double destination := source1 * source2;...
  • Page 307: Function Abs

    User Manual Chapter 12 GFK-1742F Jan 2020 The modulus (remainder) is calculated by performing an integer division, therefore the MOD operator has the same error conditions as the divide operator. A divide overflow occurs when the quotient of a divide operation cannot be correctly be represented as a signed 32-bit value.
  • Page 308: Operator Bwand

    User Manual Chapter 12 GFK-1742F Jan 2020 12.5.1 Operator BWAND Performs a bitwise and of source1 and source2. Syntax 1 destination:= source1 BWAND source2; Syntax 2 IF source1 BWAND source2 THEN The BWAND operator syntax has these parts: Remarks Syntax 1 is used for assignment; syntax 2 is used in a conditional evaluation. 12.5.2 Operator BWOR The BWOR operator returns the bitwise or on source1 and source2.
  • Page 309: Operator Bwxor

    User Manual Chapter 12 GFK-1742F Jan 2020 12.5.3 Operator BWXOR The BWXOR operator returns the bitwise exclusive or of source1 and source2. Syntax 1 destination: = source1 BWXOR source2; Syntax 2 IF source1 BWXOR source2 THEN The BWXOR operator syntax has these parts: Remarks Syntax 1 is used for assignment;...
  • Page 310: Comparison Operators

    User Manual Chapter 12 GFK-1742F Jan 2020 12.6 Comparison Operators The comparison operators form a relational assertion between two operands. The comparison expression evaluates the conditional based on the operands signed integer value. Table 58: Relational Operators Operator Meaning < Less than >...
  • Page 311: Local Logic Runtime Errors

    User Manual Chapter 12 GFK-1742F Jan 2020 12.7 Local Logic Runtime Errors 12.7.1 Overflow Status Some arithmetic operations may have results that cannot be correctly represented as a signed 32-bit value. An example is shown in the following code segment. In the first line, P001 is loaded with 2,147,483,647, the largest value that can be represented as a 32 bit signed two’s-complement value.
  • Page 312: Local Logic Error Messages

    User Manual Chapter 12 GFK-1742F Jan 2020 Watchdog Timeout Warning / Error Local Logic programs are constrained to complete execution within 300 microseconds in the Logic Engine. This is to allow sufficient processing time in the module for Path Generation and other tasks. Refer to Appendix E for a detailed listing of the execution times for all valid Local Logic operations.
  • Page 313: Local Logic Syntax Errors

    User Manual Chapter 12 GFK-1742F Jan 2020 12.8.2 Local Logic Syntax Errors The build process enforces the local logic syntax. If the source program fails to meet this criterion, the build process reports a syntax error. The error message identifies the error as a syntax error.
  • Page 314 User Manual Chapter 12 GFK-1742F Jan 2020 Error Number Error Description The program has attempted an invalid usage of one of the double precision registers. Double precision registers may only be assigned values as the result of a multiply operation. (P204) Invalid use of Double precision var The program has attempted an invalid usage of one of the double precision...
  • Page 315 298-(P299) Internal Error. Contact Emerson Technical Support. If the parser reports error 298 or 299 for a user program, please notify Emerson technical support. Provide a copy of the program and error log. (P300) Parse directives must precede any executable statements.
  • Page 316: Local Logic Parse Warnings

    User Manual Chapter 12 GFK-1742F Jan 2020 12.8.4 Local Logic Parse Warnings Parse warnings are generated for conditions that may have unexpected results or indicate a possible oversight in the Local Logic Program. Table 61: Local Logic Parse Warnings Error Description Error Number (P400)
  • Page 317 User Manual Chapter 12 GFK-1742F Jan 2020 Table 63: Local Logic Preprocessing Error Codes Error Code Response Description Error (Hexadecimal) Type F0A0 System Error Local Logic Program Header Error Module F0A1 System Error Local Logic Program Terminator Error Module F0A2 System Error Local Logic Program Constant Header Error Module...
  • Page 318: Local Logic Runtime Errors

    User Manual Chapter 12 GFK-1742F Jan 2020 12.8.6 Local Logic Runtime Errors The following errors and warnings may be reported when a Local Logic program is executed in the module. Table 64: Local Logic Runtime Error Codes Response Description Error Type Error Code (Hexadecimal) Fast Stop...
  • Page 319: Chapter 13: Local Logic Variables

    User Manual Chapter 13 GFK-1742F Jan 2020 Chapter 13: Local Logic Variables This chapter describes the local logic variable types, identifies the local logic system variables, double precision 64-bit registers, the local logic user data table, and digital outputs/CTL variables. 13.1 Local Logic Variable Types Local Logic accesses the motion controller variables and parameter registers using pre-...
  • Page 320: Local Logic System Variables

    User Manual Chapter 13 GFK-1742F Jan 2020 Variable Sign Local Logic variables that are less than 32 bits long are either Signed or Unsigned (except Bit Operands, which are always Unsigned). All Math/Logic operations in the Logic Engine are signed 32 bit operations (except the 64 bit signed Divide and Modulus operations). Signed variables that are less than 32 bits long are automatically sign extended to 32 bits when they are loaded by the Logic Engine.
  • Page 321: System_Halt Variable

    User Manual Chapter 13 GFK-1742F Jan 2020 13.2.3 System_Halt Variable The System_Halt variable is a Write-Only Bit Operand (refer to Table 69). If the Local Logic program writes a 1 to the System_Halt variable servo motion and Local Logic execution is halted.
  • Page 322: Local Logic User Data Table

    User Manual Chapter 13 GFK-1742F Jan 2020 13.4 Local Logic User Data Table Local Logic provides an 8192 Byte Circular Buffer which can be used to store and retrieve data by the Local Logic program. Refer to Table 69 for a listing of the Data_Table variables. The data table is accessed using indirect memory addressing.
  • Page 323: Digital Outputs / Ctl Variables

    User Manual Chapter 13 GFK-1742F Jan 2020 13.5 Digital Outputs / CTL Variables The eight Digital Outputs in the module (2 per axis) are individually configurable to be either under host controller control (PLC Control - default) or under Local Logic (DSM) control. If the Local Logic program writes to a particular Digital_Output variable (refer to Table 15H13- 1 through Table 20H13-6) it must be configured for DSM control.
  • Page 324 User Manual Chapter 13 GFK-1742F Jan 2020 Local Logic Variable Name Attribute Size Jog_Minus_1 Write Only Bit Operand FeedHold_1 Write Only Bit Operand Status Variables Error_Code_1 Read Only Unsigned 16 Bits Block_1 Read Only Unsigned 16 Bits Actual_Position_1 Read Only 32 Bits Commanded_Position_1 Read Only...
  • Page 325 User Manual Chapter 13 GFK-1742F Jan 2020 Table 66: Axis 2 Variables Local Logic Variable Name Attribute Size FacePlate I/O Strobe1_Level_2 Read Only Bit Operand Strobe2_Level_2 Read Only Bit Operand Positive_EOT_2 Read Only Bit Operand Negative_EOT_2 Read Only Bit Operand Home_Switch_2 Read Only Bit Operand...
  • Page 326 User Manual Chapter 13 GFK-1742F Jan 2020 Local Logic Variable Name Attribute Size UnAdjusted_Strobe1_Position_Cts_2 Read Only 32 Bits UnAdjusted_Strobe2_Position_Cts_2 Read Only 32 Bits Axis_OK_2 Read Only Bit Operand Position_Valid_2 Read Only Bit Operand Strobe1_Flag_2 Read Only Bit Operand Strobe2_Flag_2 Read Only Bit Operand Drive_Enabled_2 Read Only...
  • Page 327 Bit Operand These Digital Outputs must be configured for Local Logic control in Hardware Configuration in order to be write-able by Local Logic. Note: For Axis 3, the DSM314 Version 2.0 only supports the variables in Table 67. Local Logic Variables...
  • Page 328 These Digital Outputs must be configured for Local Logic control in Hardware Configuration, in order to be writeable by Local Logic. Note: For Axis 4, the DSM314 Version 2.0 only supports the variables in Table 68. Table 69: Global Variables Local Logic Variable Name...
  • Page 329 User Manual Chapter 13 GFK-1742F Jan 2020 Table 70: CTL Bits Local Logic Variable Name Attribute Size CTL01 ** Read / Write Bit Operand CTL02 ** Read / Write Bit Operand CTL03 ** Read / Write Bit Operand CTL04 ** Read / Write Bit Operand CTL05 **...
  • Page 330: Chapter 14: Local Logic Configuration

    The programming software environment allows you to configure the input source for CTL bits (CTL01-CTL24) using the Hardware Configuration screen. From the Hardware Configuration screen, select the DSM314 module you wish to configure. Refer to chapter 4 for information on using Hardware configuration. The DSM314 configuration screens contain a tab called CTL Bits.
  • Page 331: Ctl Bits Ctl01-Ctl32

    CTL bits CTL01-CTL32 • CTL01 - CTL24 are configurable CTL bits. • CTL25 - CTL32 are non-configurable CTL bits providing Local Logic read and Local Logic write. Table 71: CTL Bit Summary for DSM314 Identifier %I Bit Faceplate %Q bit Local Logic...
  • Page 332: Ctl01-Ctl24 Bit Configuration Selections

    User Manual Chapter 14 GFK-1742F Jan 2020 14.3 CTL01-CTL24 Bit Configuration Selections Each of the bits CTL01-CTL24 are individually configurable. CTL17-CTL24 default to the %Q digital output control bits for axis 1 - axis 4. The configuration choices are shown in the following table.
  • Page 333: Fbsa Function And Ctl Bit Assignments

    Faceplate Output Bit Configuration The programming environment, through Hardware configuration, allows you to configure the DSM314 faceplate digital outputs for either Local Logic program control or host controller program control. The DSM314 configuration screens contain a tab (Output Bits). Selecting this tab results in a display similar to the one shown in Figure 144.
  • Page 334 User Manual Chapter 14 GFK-1742F Jan 2020 The following table describes the faceplate outputs that can be controlled from Local Logic or the host controller. Table 74: Faceplate Output Bit Description Signal Name Description OUT1_A Faceplate 24v (SSR) Output Axis 1 OUT3_A Faceplate 5v Output Axis 1 OUT1_B...
  • Page 335: Chapter 15: Using The Electronic Cam Feature

    Chapter 15: Using the Electronic CAM Feature This chapter describes the electronic CAM function, which was introduced in DSM314 release 2.0. An electronic CAM is analogous to a mechanical CAM. In most cases, an electronic CAM not only can replace the traditional mechanical CAM but also performs many functions not achievable with its mechanical counterpart.
  • Page 336 User Manual Chapter 15 GFK-1742F Jan 2020 Another example application is a bottle filling line (reference Figure 147 and Figure 148). In this case, the lift that raises and lowers the bottles serves as the CAM master. The slave is the plunger that pushes the fluid into the bottle.
  • Page 337: Basic Cam Shapes/Definition

    User Manual Chapter 15 GFK-1742F Jan 2020 15.2 Basic Cam Shapes/Definition Electronic Cams duplicate the behavior of their mechanical counterparts. The following figure illustrates the elements of a basic mechanical cam system and shows the Slave Position for two positions of the Master Cam. As the Master Shaft rotates, the Master Cam, which is fastened to the Master Shaft, rotates as well.
  • Page 338: Cam Syntax

    User Manual Chapter 15 GFK-1742F Jan 2020 15.3 CAM Syntax This section covers some critical features of the CAM feature and introduces the CAM Motion Program statements and error codes. 15.3.1 CAM Types An important concept concerning the CAM function is the different CAM types available. The CAM profiles can be one of the following types: Non-Cyclic CAM Linear Cyclic CAM...
  • Page 339 User Manual Chapter 15 GFK-1742F Jan 2020 Note: For any Cyclic CAM, the master High/Low Position limits in Hardware Configuration must be set up according to the master rollover points in the CAM profile. The master axis Low Limit must equal the first master position in the profile.
  • Page 340 User Manual Chapter 15 GFK-1742F Jan 2020 Note: The Editor will not display “Circular Cyclic” as an option in the “CAM Type” field unless the constraint described above is satisfied. For Cyclic CAMs, the master High/Low Position limits in Hardware Configuration must be set up according to the master rollover points in the CAM profile.
  • Page 341: Interpolation And Smoothing

    User Manual Chapter 15 GFK-1742F Jan 2020 15.3.2 Interpolation and Smoothing One key CAM feature is the interpolation scheme used to define the CAM profiles. The following is a reprint of a section from the CAM Editor help system. It is included in this section to not only introduce these important concepts, but also to encourage you to explore the CAM Editor on-line help for additional information.
  • Page 342 User Manual Chapter 15 GFK-1742F Jan 2020 Note: • For a given master position X, that lies between X and X , the coefficients A, B and C are selected for the point corresponding to X • For a second order curve-fit, the A coefficient is always zero, and for a first order curve-fit, both the A and B coefficients are always zero.
  • Page 343: Interaction Of Motion Programs With Cam

    15.3.3 Interaction of Motion Programs with CAM CAM motion shall be initiated in the DSM314 using instructions in the motion program. The following new motion instructions are required to support CAM motion programming: CAM: Used in the motion program to start CAM motion and specify exit conditions.
  • Page 344: Cam Command

    User Manual Chapter 15 GFK-1742F Jan 2020 15.3.4 CAM Command The CAM command is used to program a CAM move using the specified CAM profile. Syntax: CAM <”CAM Profile Name”>, <distance>, <master mode>, [Cyclic Exit Condition] Parameter Description <”CAM Profile Name”> Name of the CAM Profile from the CAM Library (the profile must be linked to the CAM Download block).
  • Page 345: Cam-Load Command

    User Manual Chapter 15 GFK-1742F Jan 2020 cyclical CAM, specifying “NONE” means the CAM will exit when it reaches either the minimum or maximum master position of the profile. The [master mode] is used to specify whether the master axis operates in Absolute or Incremental mode.
  • Page 346: Cam-Phase Command

    User Manual Chapter 15 GFK-1742F Jan 2020 Note: A CAM-LOAD command counts as two instructions towards the 1000 instruction limit in a motion program. When a CAM-LOAD command is executed, the following sequence of actions is performed: The current master position is read. Using the master position, CAM-Phase value, the CAM profile table, and CAM configuration table, the appropriate position of the slave axis is calculated and loaded into the designated parameter register.
  • Page 347: Time-Based Cam Motion

    CAM (position-based master). In order to program a time-based CAM profile, the CAM master source should be configured as “Commanded Position” of Axis 3 in the DSM314 module hardware configuration, with the Axis 3 mode set to “Auxiliary Axis.” A constant velocity command is then initiated on Axis 3.
  • Page 348 User Manual Chapter 15 GFK-1742F Jan 2020 You then need to enter these values in the appropriate locations in hardware configuration. In this example, Axis #2 is the master and Axis #1 is the slave. Therefore, enter the User Units and Count values into hardware configuration for the slave as shown in Figure 153.
  • Page 349 User Manual Chapter 15 GFK-1742F Jan 2020 This tells the module the correct scaling to use when it runs motion programs. However, the CAM Editor also needs to know the correct scaling to perform the proper transformations from user units to counts. For this example, this data must be entered into any CAM profiles that are to run on these axes.
  • Page 350 User Manual Chapter 15 GFK-1742F Jan 2020 Table 75: CAM Example Data Scaled in Inches Master Position (Inches) Slave Position (Inches) 0.075 0.075 0.25 The table above is shown in inches. In this example, the CAM is programmed in 1000 of an inch.
  • Page 351: Synchronization Of Cam Motion With External Events

    User Manual Chapter 15 GFK-1742F Jan 2020 The CAM Editor automatically changes the values to correspond to an integer number of feedback counts. The Editor also rounds the displayed values to limit clutter within the table. Note that the editor maintains the variable’s precision and it is only the display that is rounded.
  • Page 352: Cam-Specific Dsm Error Codes

    User Manual Chapter 15 GFK-1742F Jan 2020 15.3.11 CAM-Specific DSM Error Codes Table 78: CAM Specific Error Codes Error Response Description Error Possible Cause Code Type (hex) Cam Program Error Codes Normal Stop Cyclic CAM CTL Exit Axis CTL exit conditions are permitted condition specified for for Cyclic CAMs only.
  • Page 353 CAM master value out of profile master range for Non-Cyclic profile (CAM and CAM-LOAD commands) Normal Stop Absolute mode CAM after Axis incremental mode CAM in the sequence Fast Stop CAM trajectory calculation Axis Contact Emerson error Using the Electronic CAM Feature...
  • Page 354: Electronic Cam Programming Basics

    15.4.2 Introduction to Electronic Cam Programming The electronic CAM function works with the DSM314 motion program, DSM314 Local Logic program, and the Host Controller programming environment. Specifically, the electronic CAM function allows you to specify precise position-to-position relationships between a master axis and a slave axis.
  • Page 355 User Manual Chapter 15 GFK-1742F Jan 2020 Generate motion and Local Logic programs 10. Set up hardware configuration in the configuration/programming software 11. Execute (test) the application Step 1: Create a Project For details on creating a project, refer to the on-line help or the software user’s manual. PAC Machine Edition Logic Developer-PLC Getting Started, GFK-1918 Figure 157: New project Using the Electronic CAM Feature...
  • Page 356 User Manual Chapter 15 GFK-1742F Jan 2020 Step 2: Create a CAM Block Using the CAM Editor The CAM editor is integrated into the Logic developer environment. The editor allows you to easily create, edit, store, and download CAM blocks. From the Target menu, select Add Component to Target1, then select Motion.
  • Page 357 User Manual Chapter 15 GFK-1742F Jan 2020 Figure 159: Create New CAM Block Creating the new block opens up an edit field that allows you to name the block. The rules for naming a CAM block are: • Only the characters A-Z, a-z, 0-9, and _ (underscore symbol) are allowed. Consecutive underscores are not allowed.
  • Page 358 User Manual Chapter 15 GFK-1742F Jan 2020 Step 3: Create a CAM Profile The next step is to create a simple CAM profile. The CAM profiles are linked to CAM blocks. Additional information on this interlinking is contained within the on-line help. To create a CAM profile, right-click the CAM Profiles icon in the Navigator window and select New Profile as shown in the following figure.
  • Page 359 User Manual Chapter 15 GFK-1742F Jan 2020 You can rename this profile to a name more suitable to the application if desired. The naming rules are: • Any alpha-numeric character or the underscore ( _ ) symbol may be used. •...
  • Page 360 User Manual Chapter 15 GFK-1742F Jan 2020 Step 5: Configure CAM Profile Data Points Once these operations are complete, you must configure the CAM profile. A CAM profile is composed of a series of Points that defines the relationship between the master position and the slave position.
  • Page 361 User Manual Chapter 15 GFK-1742F Jan 2020 Figure 164: Inserting a Point in the Profile Editor Window Since the Slave Position end point is the same value (0) as the initial Slave Position point, this CAM meets the requirements for a Linear Cyclic CAM. (For more information on the different CAM types, refer to “CAM Types”...
  • Page 362 User Manual Chapter 15 GFK-1742F Jan 2020 Figure 166: CAM Editor Example (Linear Cycle CAM) There are numerous other features in the editor. These include being able to define additional sectors that each have a different curve fit method. These editor features are discussed in the programming software’s on-line help.
  • Page 363 User Manual Chapter 15 GFK-1742F Jan 2020 Figure 167: CAM Editor CAM Type Selection Step 7: Specify the Correction Property The last item to be specified for this example is the correction status. The Correction property determines whether the motion module will permit an online correction for a specific sector.
  • Page 364 User Manual Chapter 15 GFK-1742F Jan 2020 Figure 168: CAM Editor Correction Enable Step 8: Save the CAM Profile At this point, a simple CAM profile is defined. To save the CAM blocks/profiles, select the File main menu item followed by the Save Project submenu selection. The CAM editor has many more additional features and functionality.
  • Page 365 User Manual Chapter 15 GFK-1742F Jan 2020 // Motion program for example CAM block // Slave Axis Program 1 AXIS1 VELOC 10000 // Set Velocity ACCEL 10000 // Set Acceleration 100: WAIT CTL01 // Wait For LL to Say Master is ready 110: CAM-LOAD "ExCamProfile", P006, ABS // Load Param.
  • Page 366 User Manual Chapter 15 GFK-1742F Jan 2020 // Local Logic Program for CAM Example After completing the program entry, the resulting Logic Developer screen should look similar to Figure 169. Figure 169: CAM Editor Correction Enable Using the Electronic CAM Feature...
  • Page 367 The resulting Settings tab will be as shown in Figure 170 . Note: This example uses only one DSM314.The DSM314 executes the files (CAM, Local Logic, and Motion Program) pointed to by the configuration. Multiple DSM314 modules can run the same Local Logic program, motion programs, or CAM Blocks.
  • Page 368 Local Logic Control. To do this, access the CTL Bits tab in the hardware configuration and set CTL01 Config and CTL08 Config to Local_Logic_Controlled. The resulting Hardware Configuration screen is shown in Figure 171. Figure 171: Hardware Configuration 90-30 rack DSM314 CTL Bits Tab Using the Electronic CAM Feature...
  • Page 369 User Manual Chapter 15 GFK-1742F Jan 2020 You also need to indicate to Axis #1 that it will use the Axis #2 commanded position as its CAM Master source. To do this select, the Axis #1 tab in hardware configuration. Go to the CAM Master Source data entry field.
  • Page 370 User Manual Chapter 15 GFK-1742F Jan 2020 You also need to indicate to Axis #2, the rollover points for the Master axis position reference. To do this, select the Axis #2 tab in hardware configuration. Input 49,999 into the High Position Limit and 0 into the Low Position Limit data entry fields. Note that since this is a Cyclic CAM, the master source high limit, by definition, must be one less than the last point in the master data table.
  • Page 371 This completes the configuration changes necessary for the example. The link between the sample CAM Block, Motion program and Local Logic program, and the DSM314 module are now complete. Create any required Host Controller ladder logic programming, then Validate the programs and download them to the Host Controller.
  • Page 372 User Manual Chapter 15 GFK-1742F Jan 2020 will perform a find home cycle. Wait until this completes for both axes and the Position Valid %I bits turn on. The Position Valid %I bit for Axis 1 is the %I offset 17 bit (the 18th %I bit), and for Axis 2 is the %I offset 33 bit (the 34th %I bit).
  • Page 373 User Manual Chapter 15 GFK-1742F Jan 2020 Figure 176: RVTExample Screen First Dwell Once the dwell time is finished, the motors will continue executing the statements until they reach the second DWELL where you can visually verify that it followed correctly. The display should be similar to Figure 177.
  • Page 374 Details on the DSM314’s %AI, %AQ, %I, and %Q memory are provided in Chapter 5. Using the Electronic CAM Feature...
  • Page 375: Appendix A: Error Reporting

    (eight times/second) for errors that cause the servo to stop. In the case of a fatal hardware error being detected at power-up, the STAT LED will flash an error code, which should be reported to Emerson. See “LED Indicators” later in this chapter for more details. Error Reporting...
  • Page 376: A-1.3 Error Code Format

    User Manual Appendix A GFK-1742F Jan 2020 A-1.3 Error Code Format All error codes are represented as hexadecimal data with the following format: Figure 178: Status Code Organization A-1.4 Response Methods Status Only Errors: Set the Module Error Present %I bit and Module Status Code or Axis Error Code %AI word, but do not affect motion.
  • Page 377 User Manual Appendix A GFK-1742F Jan 2020 Table 79: DSM314 Error Codes Error Code Response Description Error Type Possible Cause (hex) None No Error Configuration Errors Status Only Scaled data too big, Axis Check DSM axis configuration in HWCFG maximum value in range used Status Only Home Position >...
  • Page 378 Configured Velocity Limit, executing program is greater than the limit value used Velocity Limit set in axis configuration. Reserved – not used in Axis DSM314 Stop Normal Jump Mask error Axis Contact Emerson Stop Normal Wait Mask error Axis Contact Emerson...
  • Page 379 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) value is larger than allowed. The DWELL time used for the program is 5 seconds. The user should open the motion program and correct the DWELL time statement to be less than 60 seconds.
  • Page 380 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Status Only Find Home while Program Axis The Find Home command was executed Selected error while a Motion Program was selected for execution. The motion program must be halted (Program Active I bit off) prior to executing the Find Home command.
  • Page 381 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Status Only Move at Velocity while Drive Axis The Move at Velocity command (22h) was Not Enabled error sent when the Drive Enable bit was not on. The user should enable the drive and re- execute the command.
  • Page 382 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Status Only Jog while Force Digital Servo Axis The user set a Jog Q bit while the module Velocity error was executing a Force Digital Velocity (34h) or Force Analog Output (24h) AQ command.
  • Page 383 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) halted (Program Active I bit off) prior to executing the Set Position command. Status Only Set Position Data over-range Axis The user executed a Set Position command error with a value greater then the maximum position range (-536,870,912 to...
  • Page 384 (Program Active I bit set). The PLC program should be corrected to prevent this error. Consider using the Program Active Bit in the logic that disables the drive. Software Errors Status Only Software Error (Call Emerson Axis Contact Emerson Field Service) Status Only Absolute Encoder Rotary...
  • Page 385 Normal Stop Absolute mode CAM after Axis incremental mode CAM in the sequence Fast Stop CAM trajectory calculation Axis Contact Emerson error Program Execution Errors Status Only Execute Program on first PLC Module An Execute Program Q bit was set on the sweep first PLC sweep.
  • Page 386 Aux axis performs position feedback processing only and does not have an internal motion path generator. Reserved - not used in DSM314 Status Only Empty or Invalid Program Module An Execute Program Q bit was set for a requested program number not defined in the configured motion program block.
  • Page 387 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) cycle completes or abort the home cycle prior to executing the Motion Program. Status Only Execute Program while Jog Axis The PLC set an Execute Program Q bit while the module was performing a Jog operation.
  • Page 388 PMOVE identified by a sync block even though the other axis had not yet reached the sync block. EEPROM Errors Status Only Flash EEPROM memory Module Contact Emerson programming failure Local Logic Errors Stop Fast Local Logic System Halt Module The Local Logic program executed a statement that wrote to the System_Halt variable (e.g.
  • Page 389 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Status Only Local Logic Timeout Warning Module The Local Logic program execution time is close (greater than 275 Microseconds) to the maximum allowable execution time (300 Microseconds).
  • Page 390 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Encoder Alarms Stop Fast Servo not ready Axis For analog servos, the Drive Ready faceplate input must be set on (0 volts) within 1 second after turning on the Enable Drive Q bit.
  • Page 391 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Stop Fast Encoder CRC checksum Axis The encoder communications circuit has failure detected a CRC error. Check the encoder cable grounding and the motor grounding for possible error sources.
  • Page 392 User Manual Appendix A GFK-1742F Jan 2020 Error Code Response Description Error Type Possible Cause (hex) Stop Fast Over Velocity Detected Axis The Motor Control firmware detected a velocity value that exceeded allowed values. This error is not encountered under normal operating conditions.
  • Page 393 This error should not be encountered during normal operating conditions. If error encountered consult factory. Special Purpose Errors Stop Fast DSP Interrupt failure Module Contact Emerson Follower Ramp Errors Status Only Follower Registration Axis When Follower Disable Action = Incremental Distance (from parameter...
  • Page 394 1:10000 represent an A/B ratio in the range 32:1 to 1:10000. Internal Errors Status Only Control Loop execution time Axis Contact Emerson > 500 microseconds Status Only Control Loop execution > 400 Axis Contact Emerson microseconds, more than 5 times in a row...
  • Page 395: A-1.5 System Error Codes

    Axis Analog Servo Cmd mode (Torque mode) not supported. Note: DSM314 version 3.0 or later supports Torque Mode. DSM Digital Servo Alarms (B0–BE)  and  digital servo systems have built in detection and safety shut down circuitry for many potentially dangerous conditions. The table below reflects that three different models of servo amplifiers may be used with the DSM, the ...
  • Page 396 User Manual Appendix A GFK-1742F Jan 2020 Table 81: DSM Digital Servo Alarms Error Servo Description Amplifier Alarm Display Number Alarm  ALM (Hex) Name 7 SEG 7 SEG Over- Voltage DC LINK † Low Voltage Control Power † DBRLY Dynamic Brake Circuit Failure †...
  • Page 397: Troubleshooting Digital Servo Alarms

    If the items below do not fit the case or resolve the alarm, replace the servo amplifier, or Contact Emerson Technical support. The appropriate amplifier and motor, Maintenance Manual or Description Manual, will include more detailed trouble shooting procedures.
  • Page 398 Ambient temperature may be too high, consider a cooling fan for the servomotor. Emerson supplies fan kits for most motors. The motor may be operating in violation of duty cycle restrictions. Calculate the amount of cooling time needed based on the duty cycle curves published for the particular motor.
  • Page 399 User Manual Appendix A GFK-1742F Jan 2020 LV (Low Voltage Control Power Alarm): The control voltage used to operate the low- voltage circuitry in the amplifier is too low.  Series SVU type amplifiers will be shipped with default jumpers to use a single phase of the 220 VAC power to the amplifier.
  • Page 400: Led Indicators

    When the LED is steady ON, the DSM314 is functioning properly. Normally, this LED should always be ON. OFF: When the LED is OFF, the DSM314 is not functioning. This is the result of a hardware or software malfunction that will not allow the module to power Flashing: When the LED is FLASHING, an error condition is being signaled.
  • Page 401 User Manual Appendix A GFK-1742F Jan 2020 This LED is ON when a module configuration has been received from the PLC. When this LED is ON, the Axis 1 Drive Enable relay output is active When this LED is ON, the Axis 2 Drive Enable relay output is active. When this LED is ON, the Axis 3 Drive Enable relay output is active.
  • Page 402: Appendix B: Dsm314 Communications Request Instructions

    Immediate Command is most useful if you only need to load a few (one to four). • User Data Table (UDT) Type: Used to access the DSM314’s Local Logic User Data Table. The User Data Table is an 8192-byte memory area that Local Logic programs can use for data storage and retrieval.
  • Page 403: B-1.1 Structure Of The Communications Request

    The Status Word: The Status Word is a single location in host controller data memory where the CPU reports the result of the communications request. The Status Word address is specified in the Command Block by the user. The following table lists the status codes reported in the Status Word: DSM314 Communications Request Instructions...
  • Page 404 But, if an error occurs in a proven application that has been running successfully, the problem is more likely to be hardware related. The host controller fault tables should be checked for possible additional information when troubleshooting Status Word errors. DSM314 Communications Request Instructions...
  • Page 405: B-1.2 Monitoring The Status Word

    Word (%R0195) in a rung prior to the rung that contains the COMM REQ instruction. When multiple DSM COMM REQs are used, it is recommended that each be verified for successful communications before the next is enabled. Monitoring the Status Word is one way to accomplish this. DSM314 Communications Request Instructions...
  • Page 406: B-1.3 Operation Of The Communications Request

    In the case of a UDT COMM REQ, the command data either specifies that data is to be read from host controller memory and copied into a specific UDT memory Segment or read from a specific UDT memory Segment and copied into host controller memory. DSM314 Communications Request Instructions...
  • Page 407: The Comm Req Ladder Instruction

    COMM REQ is targeting. The high byte (first two digits of the hex number) contains the rack number, and the low byte contains the slot number. The table below shows some examples of this: SYSID Examples Rack Slot Hex Word Value 0004h 0304h 0209h DSM314 Communications Request Instructions...
  • Page 408 Word-type MOVE to load a hexadecimal number, and an Integer- type MOVE to load a decimal number. You will see this applied in the example at the end of this appendix for a Parameter Load COMM REQ, where the E501h code is DSM314 Communications Request Instructions...
  • Page 409: The User Data Table (Udt) Comm Req

    Integer-type MOVEs. The User Data Table (UDT) COMM REQ The DSM314 has an 8192-byte memory area called the User Data Table (UDT) that is designated for use with Local Logic (LL) programs. LL Programs can access all or part of this memory to store and retrieve data.
  • Page 410: B-3.2 The Udt Comm Req Command Block

    GFK-1742F Jan 2020 B-3.2 The UDT COMM REQ Command Block Table 84: User Data Table Command Block User Data TableCOMM REQ Command Block for DSM314 Module Description Address Offset Word No. and Value Data Block Header Length Address + 0...
  • Page 411 Codes table below. So, for example, to specify %R memory, you would put either the decimal code number 8 or the hexadecimal code number 08h in this word. Note: The UDT COMM REQ does not support discrete memory (%I or %Q) for the Data Memory Type. DSM314 Communications Request Instructions...
  • Page 412: B-3.3 User Data Table Comm Req Example

    The COMM REQ’s FT (fault) output drives a Set Coil. • Segment 1 of the DSM314 User Data Table is to be Written to. This is specified by the Command Code D001 in Word 7 of the Command Block. •...
  • Page 413 User Manual Appendix B GFK-1742F Jan 2020 Figure 183: Data Transfer for Command Code D001 (Write to Segment 1) DSM314 Communications Request Instructions...
  • Page 414: B-3.4 User Data Table Comm Req Example

    User Manual Appendix B GFK-1742F Jan 2020 B-3.4 User Data Table COMM REQ Example Figure 184: DSM314 UDT COMM REQ Example DSM314 Communications Request Instructions...
  • Page 415: The Parameter Load Comm Req

    Block structure can be placed in the designated memory area using an appropriate programming instruction (the BLOCK MOVE instruction is recommended). The DSM Command Block has the following structure: Table 88: DSM Parameter Load COMM REQ Command Block DSM314 Communications Request Instructions...
  • Page 416 Note that if you select a discrete memory type (%I or %Q), a group of 32 consecutive bits will be required for each parameter, and a group of 16 consecutive bits each will be required for Words 11 and 12. DSM314 Communications Request Instructions...
  • Page 417 Table 89: Parameter Load COMM REQ Memory Type Codes Parameter Load COMM REQ Memory Type Codes Memory Type Code Number to Enter Memory Type Abbreviation Decimal Hexadecimal Discrete input table Discrete output table Register memory Analog input table Analog output table DSM314 Communications Request Instructions...
  • Page 418: B-4.2 Dsm Parameter Load Comm Req Example

    • The data in 32 words (16 double words) of memory, %R0208 through %R0239, are copied to 16 double word parameter registers, P001 through P016, in DSM314 parameter memory. This transfer of data is illustrated in the next figure: Figure 185: Data Transfer for Parameter Load COMM REQ Example...
  • Page 419 User Manual Appendix B GFK-1742F Jan 2020 Figure 186: Overview of the Parameter Load COMM REQ Example DSM314 Communications Request Instructions...
  • Page 420: Comm Req Ladder Logic Example

    %R00203 – Parameter data size, in bytes = 68 %R00204 – Memory type code for %R memory = 8 %R00205 – Starting register for Parameter Data (offset by one) = 205 %R00206 – Starting Parameter Number = 1 DSM314 Communications Request Instructions...
  • Page 421 Additional logic will be required to load your data into registers %R00208 - %R00239 so that it can be sent to the DSM314 parameters. (The value in double word %R00208/%R00209 will be sent to Parameter 1, the value in %R00210/%R00211 will be sent to Parameter 2, and so on, until finally, the value in %R00238/%R00239 will be sent to Parameter 16.) The...
  • Page 422 %R00150/%R00151 by multiplying it by 1000. If scaling had not been desired, a value of 1 would be used instead of 1000 at IN2 of the MUL DINT instruction; this would provide conversion to double integer without changing (scaling) the value. DSM314 Communications Request Instructions...
  • Page 423 The SYSID input contains the rack and slot number (rack 00, slot 07) of the DSM314 targeted by this COMM REQ. The TASK input is always zero for the DSM314. The FT output connects to a coil (%M00295) that will be energized if a fault is detected.
  • Page 424 %R00208/R00209 (the source of the value sent by the COMM REQ to DSM Parameter 1) with the value returned from Parameter 1 in %AI00021/AI00022. If the values are equal, coil “Verify” will turn on. DSM314 Communications Request Instructions...
  • Page 425: Appendix C: Position Feedback Devices

    Low Position Limit are valid and the Actual Position %AI status word as reported by the DSM314 will wrap from high to low count or from low to high count values. This is an excellent mode for continuous applications that will always operate via incremental moves, in the same direction.
  • Page 426: Absolute Encoder Mode Considerations

    (capacitor backup) memory. Once an absolute position is established by successful completion of a Find Home cycle, the DSM314 will automatically initialize the Actual Position %AI status word after a power cycle and set the Position Valid %I bit.
  • Page 427: C-3.3 Absolute Encoder Mode - Dsm314 Power-Up

    DSM314 to read the encoder absolute position. The DSM314 reports the Actual Position %AI status as the sum of the encoder position and the Absolute Feedback Offset established by the initial Find Home cycle or Set Position %AQ command.
  • Page 428: C-3.4 Incremental Quadrature Encoder

    Successful completion of the %Q Find Home cycle or a Set Position %AQ command causes the DSM314 to set the axis Position Valid %I bit. Position Valid must be set before motion programs will be allowed to execute. Position Valid is only cleared by an encoder Quadrature Error (Channel A and Channel B switching at the same time) or by turning on the Find Home and Abort %Q bits simultaneously.
  • Page 429: Appendix D: Tuning Digital And Analog Servo Systems

    This appendix provides a procedure for starting up and tuning a Digital or Analog servo system. For Digital servos systems, there are two control loops in the DSM314 that require tuning, the velocity loop and the position loop. Always begin with module configuration then proceed to the velocity loop setting and finally the position loop.
  • Page 430 Set the configuration parameters in the order shown above. Store the configuration to the host controller. Clear the program from the host controller, turn off all DSM314 %Q bits and place the host controller in RUN mode. Monitor the %I CTL bits for Home Switch, (+) Overtravel and (-) Overtravel and confirm that each bit responds to the correct switch (Refer to Chapter 5 for %I bit definitions).
  • Page 431 Digital Servo System Startup Troubleshooting Hints The DSM314 requires a Series 90-30 CPU with firmware release 10.0 or later, or a PACSystems RX3i CPU (version 2.8 or later). DSM support for Beta M1 and Beta M0.5 motors requires DSM firmware version 3.0 or later.
  • Page 432: D-1.2 Tuning A Digital Servo Drive

    Appendix D GFK-1742F Jan 2020 The CFG OK LED must be ON or the DSM314 will not respond to host controller commands. If the LED is OFF then a valid DSM314 configuration has not been received from the host controller, or there may be a recognized configuration error.
  • Page 433 User Manual Appendix D GFK-1742F Jan 2020 Tuning the DIGITAL MODE Velocity Loop The proper method to tune the velocity loop is to separate the velocity loop from the position loop. To achieve this separation, a method must be used to directly send velocity commands without using the position loop control.
  • Page 434 User Manual Appendix D GFK-1742F Jan 2020 Connect an oscilloscope to the analog outputs for Motor Velocity feedback and Torque Command. See Section 4.25 of Chapter 5 for analog output configuration instructions. Set the Velocity Loop Gain to zero. This is a conservative approach. If the application is known to not have resonant frequencies from zero to approximately 250 Hz, you can start with a higher value, but do not exceed the value calculated in equation 1 at this point.
  • Page 435 User Manual Appendix D GFK-1742F Jan 2020 Sample DIGITAL MODE Velocity Loop Tuning Session A sample velocity loop tuning session is shown in the plots that follow. Figure 193: Velocity Loop Step Response Velocity vs. Time VLGN = 0 Figure 194: Velocity Loop Step Response Torque Command vs. Time VLGN = 0 Tuning Digital and Analog Servo Systems...
  • Page 436 User Manual Appendix D GFK-1742F Jan 2020 Note that in Figures 193 and 194 the system does not have enough damping. In this case the controller does not have the required bandwidth and the Velocity Loop Gain must be increased. Figure 195: Velocity Loop Step Response Velocity vs.
  • Page 437 User Manual Appendix D GFK-1742F Jan 2020 Note that in Figures 195 and 196, the system is beginning to look acceptable. The only problem is the velocity overshoot. Figure 197: Velocity Loop Step Response Velocity vs. Time VLGN = 48 Figure 198: Velocity Loop Step Response Torque Command vs.
  • Page 438 User Manual Appendix D GFK-1742F Jan 2020 Figure 199: Velocity Loop Step Response Velocity vs. Time VLGN = 64 Figure 200: Velocity Loop Step Response Torque Command vs. Time VLGN = 64 The response shown in Figures 199 and 200 is acceptable. Tuning Digital and Analog Servo Systems...
  • Page 439 User Manual Appendix D GFK-1742F Jan 2020 Figure 201: Velocity Loop Step Response Velocity vs. Time VLGN = 208 Figure 202: Velocity Loop Step Response Torque Command vs. Time VLGN = 208 The response shown in Figures 201 and 202 is marginally stable and would be unacceptable in many applications.
  • Page 440 User Manual Appendix D GFK-1742F Jan 2020 Tuning the Position Loop The very first step in adjusting the tuning for the position loop is to insure that the velocity loop is stable and has response suitable to the application. Refer to the previous section for methods of setting the velocity loop.
  • Page 441 User Manual Appendix D GFK-1742F Jan 2020 High Bandwidth • Allows the servo to more accurately reproduce the desired motion • Allows accurate following of sharp corners in motion paths and high machine cycle rates • Rejects torque disturbances from mechanics or outside influences improving system accuracy •...
  • Page 442: Start-Up And Tuning Information For Analog Servo Systems

    0v or the Drive Ready input can be disabled in the module configuration. If a Home switch is used (24 Vdc), wire it to the correct DSM314 input. The Home switch must be wired so that it is ALWAYS ON when the axis is on the negative side of home and ALWAYS OFF when the axis is on the positive side of home.
  • Page 443 Turn on the %Q Jog Plus bit. Confirm that the servo moves in the proper direction and that the Actual Velocity reported by the Motion Mate DSM314 in the %AI table matches the configured Jog Velocity. If Motion Programs will use an acceleration higher than the Jog Acceleration, it may be necessary to increase Jog Acceleration so that Abort All Moves and Normal Stop actions will operate as expected.
  • Page 444: D-2.2 Analog Mode Torque Interface System Startup Procedures

    0v or the Drive Ready input can be disabled in the module configuration. If a Home switch is used (24 Vdc), wire it to the correct DSM314 input. The Home switch must be wired so that it is ALWAYS ON when the axis is on the negative side of home and ALWAYS OFF when the axis is on the positive side of home.
  • Page 445 Configuration Software can also be used to swap the positive and negative axis directions. If the motor moves in the POSITIVE direction but the DSM314 reports that Actual Velocity is NEGATIVE, then the encoder channel A and channel B inputs must be swapped.
  • Page 446 10. Turn on the %Q Jog Plus bit. Confirm that the servo moves in the proper direction and that the Actual Velocity reported by the Motion Mate DSM314 in the %AI table matches the configured Jog Velocity. If Motion Programs will use acceleration higher than the Jog Acceleration, it may be necessary to increase Jog Acceleration so that Abort All Moves and Normal Stop actions will operate as expected.
  • Page 447 User Manual Appendix D GFK-1742F Jan 2020 Tuning the Torque Mode Velocity Loop The proper method to tune the velocity loop is to separate the velocity loop from the position loop. To achieve this separation, a method must be used to directly send velocity commands without using the position loop control.
  • Page 448 User Manual Appendix D GFK-1742F Jan 2020 Method #2: In some applications, method #1 introduces too large a shock to the device under control. In these cases, another method to generate a velocity command is needed. The method requires that the user set the position loop to an open loop configuration. The position loop is set to open loop by setting the Position Loop Time Constant to zero and the Velocity Feedforward Gain to 100 percent.
  • Page 449 User Manual Appendix D GFK-1742F Jan 2020 The next parameter to be adjusted is the Velocity Loop Integral Gain. . The Velocity Loop integral gain is the term multiplied by the area of the velocity error (velocity command - velocity feedback) to generate the portion of the torque command due to the integral term.
  • Page 450 User Manual Appendix D GFK-1742F Jan 2020 Equation 2 Velocity Loop Gain = Where: Motor Inertia Load Inertia The Velocity Loop Gain calculated above in many cases will not need to be altered. However, due to the application (for example, machine resonance) the value may need to be adjusted. To tune the Velocity Loop Gain the following procedure can be used: 16.
  • Page 451 User Manual Appendix D GFK-1742F Jan 2020 Sample Velocity Loop Tuning Session A sample velocity loop tuning session is shown in the plots that follow. To begin the process the Velocity Loop Proportional Gain is tuned Figure 204: Velocity Loop Step Response Velocity Feedback vs. Time Kp=500 Ki=0 VLGN = 0 Note the system has a relatively slow response.
  • Page 452 User Manual Appendix D GFK-1742F Jan 2020 Figure 205: Velocity Loop Step Response Velocity Feedback vs. Time Kp=1000 Ki=0 VLGN = 0 The Velocity Loop Proportional Gain has been increased in the figure above. The rise time has been decreased. However, the system can still be enhanced by adding additional Velocity Loop Proportional Gain.
  • Page 453 User Manual Appendix D GFK-1742F Jan 2020 Figure 207: Velocity Loop Step Response Velocity Feedback vs. Time Kp=3000 Ki=0 VLGN = 0 The response shown above in is looking very good. Note the slight peak in the response. To experiment with the response, the Velocity Loop Proportional Gain will be increased more. Figure 208: Velocity Loop Step Response Velocity Feedback vs.
  • Page 454 User Manual Appendix D GFK-1742F Jan 2020 Figure 209: Velocity Loop Step Response Velocity Feedback vs. Time Kp=10000 Ki=0 VLGN = 0 The plot shown above represents an unacceptable response. The loop is exhibiting signs of instability. Not the Overshoot and ringing following the first peak. The Velocity Loop Proportional Gain should be significantly decreased to achieve a more stable response.
  • Page 455 User Manual Appendix D GFK-1742F Jan 2020 The response above indicates that the Velocity Loop Integral Gain has resulted in a more desirable response. Specifically, the steady state error is being reduced. Figure 211: Velocity Loop Step Response Velocity Feedback vs. Time Kp=4000 Ki=60 VLGN = 0 When you increase the Velocity Loop Integral Gain further, you can see the beginning of an overshoot due to the integral gain.
  • Page 456 User Manual Appendix D GFK-1742F Jan 2020 The response shown above illustrates too much Velocity Loop Integral Gain and in most applications this would be considered unacceptable. Figure 213: Velocity Loop Step Response Velocity Feedback vs. Time Kp=4000 Ki=7500 VLGN = 0 The result shown above represents a marginally stable system.
  • Page 457 User Manual Appendix D GFK-1742F Jan 2020 Figure 214: Velocity Loop Step Response Velocity Feedback vs. Time Kp=4000 Ki=30 VLGN = 0 The figure above shows the motor velocity response with a load connected to the motor and the motor tuned per the exercise above. The performance is acceptable, but by increasing the Velocity Loop Gain the rise time can be decreased.
  • Page 458 User Manual Appendix D GFK-1742F Jan 2020 Figure 216: Velocity Loop Step Response Velocity Feedback vs. Time Kp=4000 Ki=30 VLGN = 32 The response shown above has a rather large overshoot, however there are no adverse effect beyond the initial overshoot and oscillation. The overshoot indicates that the user may wish to reduce the Velocity Loop Gain.
  • Page 459: System Troubleshooting Hints (Analog Mode)

    This response would not be acceptable. System Troubleshooting Hints (Analog Mode) The DSM314 requires a Series 90-30 CPU with firmware version 10.0 or later, or a PACSystems RX3i CPU with version 2.8 or later. The DSM Torque Mode function requires DSM firmware version 3.0 or higher.
  • Page 460 0 then set to 1 for at least one sweep to clear the error. The CFG OK LED must be ON or the DSM314 will not respond to host controller commands. If the LED is OFF then a valid DSM314 configuration has not been received from the host controller, or there may be a recognized configuration error.
  • Page 461: Appendix E: Local Logic Execution Time

    User Manual Appendix E GFK-1742F Jan 2020 Appendix E: Local Logic Execution Time This appendix contains information necessary to determine a local logic program’s execution time. Local Logic Execution Timing Data Local Logic program in the DSM is constrained to complete execution within 300 Microseconds.
  • Page 462: Example 2

    User Manual Appendix E GFK-1742F Jan 2020 Execution Time for Instruction Line 3 (assuming Conditional evaluates to TRUE)=> (Time to load Constant) + (Time to write Torque_Limit_1) => 0.50 (from Table 97) + 0.30 (from Table 93) => 0.80 microseconds Execution Time for Instruction Line 4 (assuming Conditional evaluates to TRUE)=>...
  • Page 463 User Manual Appendix E GFK-1742F Jan 2020 => 0.90 microseconds Total Execution Time => 3.10 + 4.70 + 4.70 + 0.90 = 13.40 Microseconds Table 91: Local Logic Math/Logical Operation execution times Local Logic Math and Logical Operations Local Logic Execution Time (Assignment, := ) (Microseconds) Add (+)
  • Page 464 User Manual Appendix E GFK-1742F Jan 2020 Table 93: Axis 1 Local Logic Variable Execution Times X- Not Applicable. Local Logic Variable Name Local Logic Execution Time (In Microseconds) Read Write Strobe1_Level_1 1.40 Strobe2_Level_1 1.40 Positive_EOT_1 1.40 Negative_EOT_1 1.40 Home_Switch_1 1.40 Digital_Output1_1 1.80...
  • Page 465 User Manual Appendix E GFK-1742F Jan 2020 Local Logic Variable Name Local Logic Execution Time (In Microseconds) Read Write Commanded_Torque_1 0.80 Axis_OK_1 1.40 Position_Valid_1 1.40 Strobe1_Flag_1 1.40 Strobe2_Flag_1 1.40 Drive_Enabled_1 1.40 Program_Active_1 1.40 Moving_1 1.40 In_Zone_1 1.40 Position_Error_Limit_1 1.40 Torque_Limited_1 1.40 Servo_Ready_1 1.40...
  • Page 466 User Manual Appendix E GFK-1742F Jan 2020 Local Logic Variable Name Local Logic Execution Time (In Microseconds) Read Write Enable_Follower_2 1.70 Jog_Plus_2 1.70 Jog_Minus_2 1.70 FeedHold_2 1.70 Error_Code_2 0.80 Actual_Position_2 0.70 Strobe1_Position_2 0.80 Strobe2_Position_2 0.80 Actual_Velocity_2 0.80 Block_2 0.90 Commanded_Position_2 0.60 Position_Error_2 0.60...
  • Page 467 User Manual Appendix E GFK-1742F Jan 2020 Table 95: Axis 3 Local Logic Variable Execution Times X- Not Applicable. Local Logic Variable Name Local Logic Execution Time (In Microseconds) Read Write Strobe1_Level_3 1.40 Strobe2_Level_3 1.40 Positive_EOT_3 1.40 Negative_EOT_3 1.40 Home_Switch_3 1.40 Digital_Output1_3 1.80...
  • Page 468 User Manual Appendix E GFK-1742F Jan 2020 Table 97: Global Local Logic Variable Execution Times X- Not Applicable Local Logic Variable Name Local Logic Execution Time (In Microseconds) Read Write Local Logic Program Constants 0.50 Overflow 2.40 1.30 System_Halt 1.80 Data_Table_Ptr 0.60 0.70...
  • Page 469: Appendix F: Updating Firmware In The Dsm314

    The DOS-based PC Loader utility controls downloading the new firmware from the floppy to the DSM314 FLASH memory. PC Loader requires an IBM AT/PC compatible computer with at least 640K RAM, one floppy drive, MS-DOS 3.3 (or higher), and one RS-232 serial port. In order to run this utility within an MS-DOS box under Windows®...
  • Page 470: Windows Update (For Windows 95/Nt/98/2000)

    Once in boot mode, press the F1 key to download the new firmware. Press the Y key to confirm the operation. The download should take about 4 minutes. If the download fails, refer below to Restarting An Interrupted Firmware Upgrade. Updating Firmware in the DSM314...
  • Page 471: Restarting An Interrupted Firmware Upgrade

    Label your unit with the installed firmware version. MS-MS-DOS, Windows, and Windows NT are registered trademarks of Microsoft Corporation; Pentium is a trademark of Intel Corporation; IBM-AT and IBM-PC are registered trademarks of International Business Machines Corporation. Updating Firmware in the DSM314...
  • Page 472: Appendix G: Strobe Accuracy Calculations

    250 microseconds. To overcome this limitation, the strobe event is time stamped in relation to the last encoder position reading that occurred within the DSM314. This value is used to estimate the axis position at the instant that the strobe event occurred based on the actual servo axis velocity at the time of the strobe.
  • Page 473 User Manual Appendix G GFK-1742F Jan 2020 Given the following values/constant for this example: Encoder Resolution = 8192 cnts/rev A = Acceleration/deceleration during the strobe event which is 250,000,000 cnts/sec (assumed to be constant over the entire 250μs period; Larger acceleration values will increase the amount of error in the calculation) = Position sampling period which is 250 microseconds = Initial velocity just before the strobe event which will be 0 for this example.
  • Page 474 User Manual Appendix G GFK-1742F Jan 2020 Figure 219: Example axis position capture error due to acceleration Since the initial velocity is equal to 0, the formula for calculating P can be manipulated to determine the time that the count actually occurred at (T ) as follows: Likewise, the formula for estimating the strobe position (P ) can be solved for time (T...
  • Page 475 User Manual Appendix G GFK-1742F Jan 2020 Figure 220: Effective response time delay Therefore, in the example above, the worst-case error due to acceleration/deceleration can be expressed as +/- 0.086 degrees (approximately 2 counts) of position or as 62.5 microseconds of delay (given that the initial velocity is 0). Note that the DSM cannot deal with fractional units and therefore the error will be rounded to the nearest count or user unit.
  • Page 476 User Manual Appendix G GFK-1742F Jan 2020 Note that an additional error as much as 10 microseconds (or the number of degrees or position counts that can occur in 10 microseconds) may also be seen due to input filtering/sampling delays in the hardware. WARNING Note that user wiring and the type of device used for the strobe input may also cause inaccuracies in the strobe value.
  • Page 477: Appendix H: Using Versapro With The Dsm314

    Note: VersaPro Version 1.1 or later is required for use with the DSM314. This document discusses how to use the VersaPro software to access the DSM314 configuration, motion programming, and Local Logic programming screens. It does not tell you specifically what values to configure, or what commands to use in motion or Local Logic programs.
  • Page 478 Series 90-30 folder that was originally created in Logicmaster or Control. See the “Folder Operations” section of Chapter 2 in the VersaPro User’s Guide, GFK-1670 for details. For this example, click New Folder. A New Folder Wizard dialog box will appear as shown in the next figure. Using VersaPro with the DSM314...
  • Page 479 (If you wanted to import a Logicmaster or Control folder, you would click Next, which would give you another dialog box with the import choices.) You will now see the Main LD (Ladder Diagram) screen. Using VersaPro with the DSM314...
  • Page 480: Starting The Configuration Process

    VersaPro Workbench, as shown below. If so, click the Expand button to expand it to full size. (You may also have to click the Expand Button in the smaller window to expand it also.) Using VersaPro with the DSM314...
  • Page 481 User Manual Appendix H GFK-1742F Jan 2020 Figure 225: The Hardware Configuration (HWC) Startup Screen The Configuration Window will expand to its full size: Figure 226: The Expanded Hardware Configuration Screen Using VersaPro with the DSM314...
  • Page 482: Configuring The Dsm314

    • With the Configuration window open, as shown in the previous figure, double click the empty slot where the DSM314 is to be installed. You will see a Module Catalog window appear with a list of module categories: Figure 227: Module Catalog Widow for Hardware Configuration •...
  • Page 483 Figure 229: DSM314 Hardware Configuration Window The figure above shows the DSM314 default configuration settings. Only 11 of the selection tabs are displayed. Other tabs not shown will appear if their associated parameters are selected. For details on individual configuration settings, refer to Chapter 4. Here is a...
  • Page 484 • When finished configuring the module, click the DSM314 configuration window’s close button (the button in the upper right corner of the configuration window with an X) to return to the “Rack View.” At this point, your configuration settings are not yet saved to disk.
  • Page 485: Connecting To And Storing Your Configuration To The Plc

    Figure 231: The Connect Dialog Box • If connecting directly to the PLC programmer port from the COM1 serial port on your computer, use the DEFAULT settings shown in the figure above. Using VersaPro with the DSM314...
  • Page 486 OK button to store to the PLC. Once the store is complete, the message on the Status bar at the bottom of the screen will change from Not Equal to Equal. Using VersaPro with the DSM314...
  • Page 487: Creating A Motion Program

    On the Main LD screen, click File on the Menu bar, then select New Motion. Then, on the side menu, click Motion Program (see next figure). Figure 234: Creating a New Motion Program from the File Menu Using VersaPro with the DSM314...
  • Page 488 Enter the motion program Name and Description, then click the OK button (leave the Motion Module Type box set at its default DSM314 setting). A window for the new motion program block will open. As shown in the next figure, the window title is based upon the folder name, Test102 in this case, and motion program name, Part1 in this case.
  • Page 489: H-5.2 Saving Your Motion Program

    “Connecting to and Storing Your Configuration to the PLC” on page 473. H-5.4 Printing a Hardcopy of your Motion Programs and Subroutines There are two print selections on the File menu: Print and Print Report. Using VersaPro with the DSM314...
  • Page 490 Menu bar and select Print Report. Click the Blocks checkbox, then choose the Selected radio button. This limits the reports to only those blocks that you have highlighted in the Folder Browser window. Using VersaPro with the DSM314...
  • Page 491: Creating A Local Logic Program

    • On the Main LD screen, click File on the Menu bar, then select New Motion. Then, on the side menu, click Local Logic Program. Figure 240: Creating a New Local Logic Program Using VersaPro with the DSM314...
  • Page 492 Type the Local Logic program Name and Description, then click the OK button (leave the Motion Module Type box set at its default DSM314 setting). A window for the new Local Logic program block will open. As shown in the next figure, the window title is based upon both the folder name, Test102 in this case, and Local Logic program name, Part1LL in this case.
  • Page 493 Menu bar, then select Print. In the Print dialog box (shown above), make sure the Selection radio button in the Print range section is selected (has a dot in the middle). Click the OK button. Using VersaPro with the DSM314...
  • Page 494 Print Report. Click the Blocks checkbox, then choose the Selected radio button. This limits the reports to only those blocks that you have highlighted in the Folder Browser window. See the next figure for an example of this. Figure 244: The Print Report Dialog Box Using VersaPro with the DSM314...
  • Page 495: H-6.1 Checking Local Logic Syntax

    You can then go to the error message in the information window and double click the line. The Local Logic editor automatically goes to the beginning of the line that caused the error message so the user can fix the error. Using VersaPro with the DSM314...
  • Page 496: H-6.2 Viewing The Local Logic Variable Table

    Local Logic block must exist. If none exist, create a new one. To display the table, click View on the Menu bar, and select Local Logic Variable Table from the dropdown menu, shown in the following figure: Using VersaPro with the DSM314...
  • Page 497 Once the Local Logic Variable Table appears near the bottom of the VersaPro screen, you can drag its top border or column borders to size them to your preference. See the next figure. Figure 248: View Showing Local Logic Variable Table near Bottom of Screen Using VersaPro with the DSM314...
  • Page 498: Creating A Cam Block

    VersaPro folder (see Step 1). Refer to the VersaPro User’s Manual, GFK-1670 for how to create or open a folder. Once the VersaPro folder is open, select the File menu selection, then the New Motion menu selection, followed by the CAM Program… menu selection. (Figure 249) Using VersaPro with the DSM314...
  • Page 499 A “Create New Program” dialog box appears. Give the CAM block a name and an optional descriptive comment. At this time, the CAM feature is supported only on the DSM314 (release 2.0 or later). Therefore, the default selection for Motion Module Type should not be changed.
  • Page 500 The CAM Editor contains extensive on-line hypertext help. This manual only attempts to introduce some of these concepts. It does not try to cover all the editor features, so it is strongly suggested that you review the programming software’s on-line material. Using VersaPro with the DSM314...
  • Page 501 For this example, a profile must first be created in the library. One method to perform this step is to right-click the “CAM Profiles” icon in the Navigator window. The short-cut menu appears. Select New Profile as shown in Figure 252. Figure 252: Create New CAM Profile Using VersaPro with the DSM314...
  • Page 502 The first character in a profile name must be a letter. • A profile name cannot be more than 20 characters long. • A profile is referenced by name in a VersaPro motion program. NOTE: VersaPro is not case-sensitive when referencing a profile name. Using VersaPro with the DSM314...
  • Page 503 CAM profile onto the applicable CAM block. The result is shown in the next figure. Note: VersaPro limits the download block total size (Motion, Local Logic, and CAM combined) to 32K. Using VersaPro with the DSM314...
  • Page 504 (above and below) points. Change the values for this point to 47500 for the Master and 11000 for the Slave. To change a point value, click it, type in the new number, then either press the Enter key, or click outside of the table. Using VersaPro with the DSM314...
  • Page 505 Figure 47HH-9 and Figure 48HH-10 by right-clicking the point below the insertion position and selecting Insert Point from the menu. Then change the default values to 2500 for the Master and 10000 for the Slave. Figure 257: CAM Profile Table Data Using VersaPro with the DSM314...
  • Page 506 From the short-cut menu, choose Properties. The Inspector opens showing the CAM profile's properties. • In the Inspector, click the arrow in the CAM Type field. The CAM Type drop-down list appears. • Choose ‘Linear Cyclic CAM’ from the list (Figure 289). Using VersaPro with the DSM314...
  • Page 507 CAM profile table by clicking it. This will cause the Inspector window to display the sector properties and allow them to be edited. Select the Correction drop down box and choose Enabled (Figure 260). Using VersaPro with the DSM314...
  • Page 508 The next items to be generated are a motion program and Local Logic program that will work with this CAM profile. For this example, the logic must work with a DSM314 controlling two axes. Axis #1 will be the slave, and Axis #2 will be the master. Therefore, there will be two motion programs.
  • Page 509 Enabled Note: This example uses only one DSM314.The DSM314 executes the files (CAM, Local Logic, and Motion Program) pointed to by the configuration. Multiple DSM314 modules can run the same Local Logic program, motion programs, or CAM Blocks. This allows you to have one source file for multiple DSM314 modules.
  • Page 510 GFK-1742F Jan 2020 Figure 262: Hardware Configuration 90-30 rack DSM314 Settings Tab In this example, the Local Logic program will control CTL01 and CTL08. Because CTL01 and CTL08 are used to signal the Motion Programs, you must configure these CTL bits to be under Local Logic Control.
  • Page 511 Appendix H GFK-1742F Jan 2020 Figure 263: Hardware Configuration 90-30 rack DSM314 CTL Bits Tab Since this example uses the Beta 0.5 digital servo, Axis 1 and Axis 2 Mode should be set to Digital Servo. The resulting Hardware Configuration screens are shown in Figure 264.
  • Page 512 GFK-1742F Jan 2020 Figure 264: Hardware Configuration DSM314 Settings Tab You also need to indicate to Axis #1 that it will use the Axis #2 commanded position as its CAM Master source. To do this select, the Axis #1 tab in hardware configuration. Go to the CAM Master Source data entry field.
  • Page 513 Master as a continuous circular strip where the first point on the strip is the same as the last point on the strip. Thus, for this example, 50,000 is the same point as zero. While in this tab, change the Home Mode: to Move + and OverTravel Switch to Disabled. Using VersaPro with the DSM314...
  • Page 514 (Based upon application/mechanics reference Chapter 4 and Appendix D) • Vel Loop Gain: 32 Note: (Based upon inertia attached to motor. The typical Beta Demo case has an indicator wheel attached that represents approximately this inertia to a Beta 0.5) Using VersaPro with the DSM314...
  • Page 515 The link between the example CAM Block, Motion program, Local Logic program, and the DSM314 module is now complete. Create any required PLC ladder logic programming, then perform a Check All on the programs and download them to the PLC. Additional information concerning the download operation is provided in the VersaPro manual, GFK-1670, or the on-line help.
  • Page 516 CAM profile correctly. The display should be similar to Figure 269. Notice how the commanded position for Axis#2 equals 2500, while the commanded position for the slave corresponds to the CAM table and has the value 10,000. Using VersaPro with the DSM314...
  • Page 517 DWELL where you can visually verify that it followed correctly. The display should be similar to Figure 270. Notice how the commanded position for Axis#2 equals 47500, while the slave commanded position corresponds to the CAM table and has the value 11,000. Using VersaPro with the DSM314...
  • Page 518 Details on the DSM314’s %AI, %AQ, %I, and %Q memory are found in Chapter 5. Using VersaPro with the DSM314...
  • Page 519 Note: If the product is purchased through an Authorized Channel Partner, please contact the seller directly for any support. Emerson reserves the right to modify or improve the designs or specifications of the products mentioned in this manual at any time without notice.

Table of Contents