User Manual
Chapter 3
GFK-1742F
Jan 2020
Installing and Wiring the DSM314
58
Mounting Dimensions
Figure 34: IC693ACC335 Digital Axis Terminal Board Mounting Dimensions
Page 1: ...USER MANUAL GFK 1742F Jan 2020 PACSystems RX3i Series 90 30 DSM314 MOTION CONTROLLER USER MANUAL ...
Page 2: ...ity Mode 16 Chapter 2 System Overview 17 2 1 Unpacking the System 18 2 1 1 Unpacking the DSM314 18 2 1 2 Unpacking the Digital Servo Amplifier 18 2 1 3 Unpacking the Motor 18 2 2 Assembling the Motion Mate DSM314 System 19 2 2 1 General Guidelines 19 2 2 2 Motion Mate DSM314 Connections 19 2 2 3 Connecting the Series SVU Digital Servo Amplifier 20 2 2 4 Connecting the β Series SVU Digital Servo Am...
Page 3: ...onfiguration 93 4 1 Connecting the Programmer to the Host Controller 93 4 2 Rack Slot Configuration 94 4 3 Module Configuration 97 4 3 1 Setting the Configuration Parameters 98 4 3 2 Settings 99 4 3 3 Serial Communications Port Configuration Data 104 4 3 4 Control CTL Bits 105 4 3 5 Output Bits 106 4 3 6 Axis Configuration Data 107 4 3 7 Tuning Data 122 4 3 8 Computing Data Limit Variables 128 4 3...
Page 4: ...7 6 Conditions That Stop a Motion Program 175 7 7 Motion Program Basics 175 7 7 1 Motion Language Syntax and Commands 176 7 7 2 Motion Program Commands 178 7 7 3 Program and Subroutine Structure 187 7 7 4 Command Usage Examples 190 7 7 5 Types of Programmed Move Commands 192 7 7 6 Other Programmed Motion Considerations 208 7 7 7 Feedhold with the DSM314 210 7 7 8 Feedrate Override 211 7 7 9 Multi ...
Page 5: ... with Motion Program 244 Chapter 10 Introduction to Local Logic Programming 246 10 1 Local Logic Programming 246 10 2 When to Use Local Logic Versus Ladder Logic 249 10 3 Getting Started with Local Logic and Motion Programming 249 10 3 1Requirements 249 10 3 2Creating a Local Logic Program 250 10 4 Local Logic Variable Table 251 10 5 Connecting the Local Logic Editor to the DSM 253 10 6 Building a...
Page 6: ... Strobes Program Example 285 Chapter 12 Local Logic Language Syntax 286 12 1 Syntactic Elements 286 12 1 1Numeric Constants 286 12 1 2Local Logic Variables 287 12 1 3Local Logic Statements 288 12 1 4Whitespace 289 12 1 5Comments 290 12 1 6PRAGMA Directive 291 12 1 7Local Logic Keywords and Operators 291 12 2 Enabling and Disabling Local Logic 292 12 3 Local Logic Outputs Commands 292 12 4 Local Lo...
Page 7: ... 2 2Overflow Variable 309 13 2 3System_Halt Variable 310 13 3 Double Precision 64 Bit Registers 310 13 4 Local Logic User Data Table 311 13 5 Digital Outputs CTL Variables 312 Chapter 14 Local Logic Configuration 319 14 1 CTL Bit Configuration 319 14 2 CTL bits CTL01 CTL32 320 14 3 CTL01 CTL24 Bit Configuration Selections 321 14 4 FBSA Function and CTL Bit Assignments 322 14 5 Faceplate Output Bit...
Page 8: ...84 A 2 DSM Digital Servo Alarms B0 BE 384 A 3 Troubleshooting Digital Servo Alarms 386 A 4 LED Indicators 389 Appendix B DSM314 Communications Request Instructions 391 B 1 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 395 B 2 The COMM REQ Ladder Instruction 396 B 3 The User Da...
Page 9: ...ning Information for Analog Servo Systems 431 D 2 1 Analog Mode Velocity Interface System Startup Procedures 431 D 2 2 Analog Mode Torque Interface System Startup Procedures 433 D 3 System Troubleshooting Hints Analog Mode 448 Appendix E Local Logic Execution Time 450 E 1 Local Logic Execution Timing Data 450 E 2 Example 1 450 E 3 Example 2 451 Appendix F Updating Firmware in the DSM314 458 F 1 Wi...
Page 10: ...our 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 H 6 Creating a Local Logic Program 480 H 6 1 Checking Local Logic Syntax 484 H 6 2 Viewing the Local Logic Variable Table 485 H 7 Creating a Cam Block 487 ...
Page 11: ...d maintenance The information is supplied for informational purposes only and Emerson makes no warranty as to the accuracy of the information included herein 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...
Page 12: ...ule 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 Figure 1 The DSM314 supports two primary control loop configurations Standard Mode Follower Control Loop Disabled Follower Mode Follower Control Loop Enabled ...
Page 13: ...1 to 4 axis motion programs Multi axis programs using Axes 1 and 2 may utilize a synchronized block start Non volatile storage for 10 programs and 40 subroutines created with the programming software Compatible with Series 90 30 CPUs equipped with firmware version 10 0 or later does not work with CPUs 311 341 and 351 and PACSystems RX3i CPUs version 2 8 or later Single point of connection for all ...
Page 14: ...ervos or third party servos with analog velocity command or analog torque command interface Home and overtravel switch inputs for each Servo Axis Two Position Capture Strobe Inputs for each axis can capture axis and or master position with an accuracy of 2 counts plus 10 microseconds of variance 5v 24v and analog I O for use by the host controller Incremental Quadrature Encoder input on each axis ...
Page 15: ...er either PACSystems RX3i or Series 90 30 PLC operate together as one integrated motion control package The DSM314 communicates with the host controller through the backplane interface Every host controller sweep data such as Commanded Velocity and Actual Position within the DSM314 is transferred to the host controller in I and AI data Also every host controller sweep Q and AQ data is transferred ...
Page 16: ...a to the DSM once per host controller sweep In the worst case the DSM internal data update which takes 0 5 to 2ms to occur occurs just after the host controller scan s input update In this case the host controller does not read DSM data again until its next scan and any changes in DSM data will be available in the host controller either 4 6ms later or approximately one host controller sweep later ...
Page 17: ...ion Loop 2 milliseconds When controlling an Analog servo the DSM314 without Local Logic uses the loop update times shown in Table 2 Table 2 Analog Servo Loop Update Times without Local Logic 1 Axis Position Loop without Local Logic 0 5 milliseconds 2 Axes Position Loop without Local Logic 1 millisecond 3 4 Axes Position Loop without Local Logic 2 milliseconds When controlling an Analog servo the D...
Page 18: ...er I Strobe status bits if not physically connected to a device DSM314 Scan Time Contribution The tables below list the time that the DSM314 adds to host controller scan time The scan time contribution is related to 1 the number of DSM314 axes configured and 2 the type of rack main expansion or remote the DSM314 is mounted in DSM314 Scan Time Contribution in Milliseconds No of Axes Configured 90 3...
Page 19: ...ernal response time to motion I O signals is much faster than would be possible if the logic for these signals was handled in the main ladder program running in the host controller This is due to 1 the delay in communicating the signals across the backplane and 2 the longer host controller sweep time CAM profile creation A CAM profile specifies the response of a follower servo to a master position...
Page 20: ...p position control for up to four servomotors Also based upon the axis configuration the DSM provides velocity loop control for Analog Torque mode When the DSM is used with analog velocity interface servos velocity and torque control loops are closed in the servo amplifier while the DSM closes the position loop When the DSM is used with analog torque interface servos the torque control loop is clo...
Page 21: ...tor provides Commanded Position and Commanded Velocity to the Position Loop The Position Loop subtracts Actual Position Position Feedback from Commanded Position to produce a Position Error The Position Error value is multiplied by a Position Loop Gain constant to produce the Servo Velocity Command To reduce Position Error while the servo is moving Commanded Velocity from the Command Generator is ...
Page 22: ...omotor s position and velocity are determined by the sum of the 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 Axis 1 Actual Position Axis 1 Encoder Axis 2 Commanded Position Axis 2 Actual Position ...
Page 23: ... reliability and performance The latest technologies such as high speed serial encoders and high efficiency Integrated Power Modules IPMs further enhance customer benefits The servo system is unique in that all the control loops current velocity and position are closed in the motion controller This approach reduces setup time and delivers significant throughput advantages even in the most challeng...
Page 24: ... NA Cables to connect the SVU Amps to the DSM314 and to the motors are available in various lengths Refer to publication GFH 001 Servo Product Specification Guide for more information about the Series servo products Series Servo Motors The Series of servomotors incorporate design improvements to provide the best performance possible Ratings up to 56 Nm are offered These motors are up to 15 shorter...
Page 25: ...performance The latest technologies such as high speed serial encoders and high efficiency Integrated Power Modules further enhance the performance of the servo system Designed with the motion control market in mind the Series Servo Drives is ideally suited for the packaging material handling converting and metal fabrication industries The servo system is unique in that all the control loops curre...
Page 26: ...corporate several design innovations that provide the best possible combination of high performance low cost and compact size Ratings of 0 5 to 12 Nm are offered These motors are up to 15 shorter and lighter than comparable servos New insulation on the windings and an overall sealant coating help protect the motor from the environment The Series motors conform to international standards IEC The mo...
Page 27: ...duct Overview 16 1 6 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: ... into signals that are sent to the servo amplifier It also runs the Local Logic and Motion programs The servo amplifier receives the control signals from the servo control and amplifies them to the required power level of the motor The DSM314 provides the servo control The machine control host control PACSystems RX3i or Series 90 30 PLC houses the DSM314 module and I O modules The machine control ...
Page 29: ...etain any loose parts or gasket materials packed with the amplifier Visually inspect the amplifier for damage during shipment Note Do not change any pre configured jumpers or switches on the amplifier at this time 2 1 3 Unpacking the Motor Motors are packed two different ways depending on their size The largest motors are shipped on wooden pallets and are covered with cardboard Most motors however...
Page 30: ...ions 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 For instructions about installation of the DSM314 when IEC and other standards must be observed see Installation Requirements for Conformance to Standards GFK 1179 2 2 2 Motion Mate DSM314 Connections Figure 6 provides an overview of the...
Page 31: ...er The signals carried in this cable are at data communications voltage levels and should be routed away from other conductors especially high current conductors C Locate the servo command cable IC800CBL001 1 meter or IC800CBL002 3 meter Insert the mating end of this cable into the connector JS1B located on the Servo Amplifier bottom see Figure 2 4 D If you are not using the IC693ACC335 axis termi...
Page 32: ...ottom switch For example in Figure 7 Switches 1 3 and 4 are shown ON and switch 2 is shown OFF Figure 7 SVU Amplifier Channel Switches Table 6 SVU Amplifier Channel Switch Settings Amplifier SVU1 80 Regenerative Discharge Unit SW1 SW2 SW3 SW4 Built in 100 W ON OFF ON ON Separate ZA06B 6089 H500 200 W ON OFF ON OFF Separate ZA06B 6089 H713 800 W ON OFF OFF OFF Amplifier SVU1 130 Regenerative Discha...
Page 33: ...User Manual Chapter 2 GFK 1742F Jan 2020 System Overview 22 Figure 8 Connecting the Series Digital Servo Amplifier to the Motion Mate DSM314 ...
Page 34: ...e Length 3 3000 6 3000 IC800CBL061 Elbow MS Connector 14 Meters 12 3000 22 2000 30 1200 IC800CBL062 Elbow MS Connector 14 Meters 30 3000 40 2000 IC800CBL063 Elbow MS Connector 14 Meters B One end of this cable has four wires labeled U V W and GND that connect to screw terminals 9 12 on the servo amplifier Connect these four wires to the terminal strip as shown in Figure 9 C Attach the other end of...
Page 35: ...User Manual Chapter 2 GFK 1742F Jan 2020 System Overview 24 Figure 9 Connecting the Motor to the Series Servo Amplifier Terminal Strip ...
Page 36: ... on the motor B Plug the opposite end into the connection labeled JF1 on the bottom of the Series servo amplifier see Figure 10 Repeat this procedure for all axes in the system Figure 10 Connecting the α Series Motor Encoder Table 8 Prefabricated Servo Motor Encoder Cable K2 for 3 to 40 Models Motor Models Severe Duty Cable Cable Length 3 to 40 CF3A 2MPB 0140 AZ 14 meters Note Details on cables ca...
Page 37: ...er to the Line Filter and Power Source Note You must supply the cable for both the connections between the line filter and the servo amplifier and the connection between the line filter and the power source Use four conductor 600V 60 C 140 F UL or CSA approved cable between the line filter and the servo amplifier The gauge of wire used for connecting the line filter to the power source must be siz...
Page 38: ...in E STOP If no E STOP switch is used this connection must be made with a wire jumper Note You must supply the cable for this connection Keyed connector plugs marked as connector X and terminal connector pins are included with the amplifier package You must install this connection as a switch or jumper for the amplifier to operate CAUTION Do not apply any external voltage to this connector Figure ...
Page 39: ... voltage levels and should be routed away from other high current conductors C Locate the servo command cable IC800CBL001 1 meter or IC800CBL002 3 meter Insert the mating end of this cable into the connector JS1B located on the front of the Servo Amplifier see Figure 13 D This step depends on whether you are using a terminal board If you are not using the IC693ACC335 axis terminal board to break o...
Page 40: ...er Manual Chapter 2 GFK 1742F Jan 2020 System Overview 29 Figure 13 Series Servo Amplifier Connections For more information refer to the connection section of the Servo Product Specification Guide GFH 001 ...
Page 41: ...an choose to purchase prefabricated cables or to build custom cables Refer to the Series Control Motor Descriptions Manual GFZ 65232EN for information about custom cables or installation for conformance to CE mark The amplifier end of the prefabricated motor power cable is constructed to connect to terminal block CX11 3 on the amplifier Table 9 K4 Cable Series Motor Cable Examples Servo Motor Type...
Page 42: ...tor Encoder Cable K2 to the Series Digital Servo Amplifier The motor size ordered for your system determines the K4 motor power cable you will use if you ordered prefabricated cables with your system Please refer to the table below to determine the correct encoder cable catalog number D Remove the protective plastic cap from the connector on the motor and locate the encoder cable K2 see table 10 T...
Page 43: ...e power transformer is used Two or more amplifiers may be connected to one AC line filter or transformer if its power capacity is not exceeded Figure 15 shows how to connect the amplifier to the line filter Figure 15 Connecting the Series Servo Amplifier to the Line Filter and Power Source Note You must supply the cable for the connection between the line filter and the power source Use 4 conducto...
Page 44: ...d with the amplifier as part number ZA02B 0120 K301 If no E STOP circuit is required this connection must be made with a wire jumper or the amplifier will not enable 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 fi...
Page 45: ...0PWR024 power supply is recommended Do not apply power at this time 7 Connect Cable K8 Jumper or External Regeneration Resistor to the Series Digital Servo Amplifier Without External Regeneration Resistor Using a Jumper If you do not have an external regeneration resistor you must leave the connections on CX11 2 DCP and DCC open However you must jumper the CX11 6 TH1 and TH2 terminals shown in the...
Page 46: ...erature switch This switch will open and shut down the amplifier if the resistor gets too hot The two larger wires K7 connect to the resistor All connectors needed to connect this resistor unit to the amplifier are provided in the amplifier package Connect the two over temperature switch wires K8 to CX11 6 terminals TH1 and TH2 These connections are not polarity sensitive Connect the two resistor ...
Page 47: ...relay output on pin 15 of the Auxiliary Terminal Board for connection to a servo amplifier enable input In analog mode the DSM314 requires a Drive Ready input IN_4 signal on pin 5 of the Auxiliary Terminal Board This signal must be switched to 0v when the amplifier is ready to control the servo The DSM starts checking the Drive Ready input one second after the Drive Enable relay turns on in respon...
Page 48: ... one of these must be connected to a panel frame ground The system ground cable must have sufficient cross sectional area to safely carry the accidental current flow into the system ground when an accident such as a short circuit occurs Typically it must have at minimum the cross sectional area of the AC power cable Figure 22 illustrates the grounding systems The amplifier ground connections power...
Page 49: ...te shield 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 1 Turn on the 220V AC power to the Digital servos Verify that the charged LED indicator on the amplifier is on 2 For Series Digital am...
Page 50: ...ogramming environment has several communications options One communications option is to connect the programmer directly to the host controller SNP port as shown in the following figure Consult the software documentation for additional communications methods The DSM314 Controller is configured using the following programming software RX3i Machine Edition version 4 5 or later Series 90 30 Machine E...
Page 51: ...saPro software refer to Appendix H 1 Start the Machine Edition Logic Developer PLC software The Machine Edition dialog box appears Figure 24 2 Under Create a New Project choose Machine Edition Template and click OK The New Project dialog box appears 3 Type a name for Project Name In the Project Template dropdown list select Series 90 30 PLC or PACSystems RX3i Click OK ...
Page 52: ...ter 2 GFK 1742F Jan 2020 System Overview 41 Figure 25 Your project appears in the Navigator window as shown in the following figure Figure 26 4 Expand the Main Rack node which contains the default power supply and CPU ...
Page 53: ...ion Note Because an IC694DSM314 module and an IC693DSM314 module have the same functionality a Series 90 30 PLC supports them in the same way If you install an IC694DSM314 in a Series 90 30 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 A Right click an empty slot and choose Add Module The Module Catalog d...
Page 54: ...configuration settings You should complete the configuration of your host controller to include the Power Supply Rack CPU and additional modules to match the target system Consult the software user s manual and on line help as needed Important The completed configuration must be stored to the host controller See Storing Your Configuration to the Host Controller on page 44 for instructions on how t...
Page 55: ...he 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 For information on downloading using VersaPro see Appendix H Figure 29 Communications Setup ...
Page 56: ...ors or that it has successfully downloaded the program in the Feedback Zone window Note 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 t...
Page 57: ...gital or Analog Servo System 2 8 Configuration Settings If your system powers up with alarms it may be due to an incorrect configuration setting The configuration must be stored to the host controller CPU and the host controller must be in Run Output Enabled mode If you cannot move an axis or execute a jog check to see that all conditions necessary to perform these operations are met Refer to the ...
Page 58: ...ion This section identifies the module s major hardware features The module s faceplate provides seven status 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 ...
Page 59: ... 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 Irregular Rate CFG LED OFF If this occurs immediately at power up then a hardware ...
Page 60: ...d an RJ 11 connector for the DSM314 If a longer cable is used the maximum recommended length is 50 feet Table 12 DSM314 COMM Port Pin Assignments RJ 11 Pin Number 9 Pin female Number Signal Name Description 1 7 CTS Clear to Send 2 2 TXD Transmit Data 3 5 0V Signal Ground 4 5 0V Signal Ground 5 3 RXD Receive Data 6 8 RTS Request to Send Note Pin 1 is at the bottom of the connector when viewed from ...
Page 61: ...e or Velocity Interface or Aux Axis control Aux Axis functions include position input for Follower Master axes and internal virtual master command generation Any of these four connectors used in a system typically is cabled to an appropriate Terminal Board with cable IC693CBL324 1 meter or IC693CBL325 3 meters Three different terminal boards provide screw terminals for connecting to external devic...
Page 62: ...ges the slot on the baseplate top edge 4 Swing the module down until the connectors mate and the lock lever on the bottom of the module snaps into place engaging the baseplate notch 5 Connect the faceplate shield wire from the inch blade terminal on the bottom of the module to a suitable panel earth ground 6 Refer to Figures 3 10 through 3 23 and Tables 3 7 through 3 14 for I O wiring requirements...
Page 63: ...with PWR321 322 328 3 DSM314 modules in expansion baseplate with PWR321 322 328 6 DSM314 modules in expansion remote baseplate with PWR330 331 332 PACSystems RX3i Maximum 61 total DSM314 modules per PACSystems RX3i system 60 maximums if an Ethernet module IC695ETM001 is required Series 90 30 Model 350 352 360 363 364 366 367 374 CPUs 5 and 10 slot CPU main baseplates 5 and 10 slot expansion or rem...
Page 64: ...System Manual GFK 2314 which also lists load requirement specifications for PACSystems RX3i modules Series 90 30 PLC Installation Manual GFK 0356P or later which also lists load requirement specifications for Series 90 30 modules The available power supplies are PACSystems RX3i Power Supplies IC695PSA040 AC DC Power Supply allows 30 watts 6000 ma for 5 VDC IC695PSD040 24 VDC input Power Supply all...
Page 65: ...allations that do not require special procedures for noisy or hazardous environments For installations that must conform to more stringent requirements such as CE Mark see GFK 1179 Installation Requirements for Conformance to Standards 3 3 I O Wiring and Connections 3 3 1 I O Circuit Types Each of the module s four connectors Connector A B C and D provide the following types of I O circuits Three ...
Page 66: ...wiring to a third party Analog servo amplifier and I O devices See Figures 49 through 53 2 For Auxiliary axes it connects to DSM Connector B C or D to provide screw terminals for wiring to external devices such as Strobe sensors Home switches and Overtravel Limit switches Note See Figure 53 SL Series Servo to APM DSM Terminal Board Catalog IC800SLT001 Used to connect DSM connector A B C or D to a ...
Page 67: ...rminal 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 A Servo Command Cable IC800CBL001 1 meter or IC800CBL002 3 meters connects from the SERVO connector PL3 to the JS1B connector on a Series or ...
Page 68: ... Host controller 24v Output Host controller 24v Output OUT1P_A OUT1M_A 30 VDC 5 13 14 32 OUT3 Differential 5v output Host controller 5v Output Host controller 5v Output OUT3P_A OUT3M_A 5 VDC 4 6 AOUT 10v Analog Out Host controller Analog Out AOUT_A 5 VDC 12 24 ACOM Analog Out Com Analog Out Com ACOM_A 5 VDC S 2 pins SHIELD Cable Shield Cable Shield SHIELD_A 5 VDC For signal names pertaining to ser...
Page 69: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 58 Mounting Dimensions Figure 34 IC693ACC335 Digital Axis Terminal Board Mounting Dimensions ...
Page 70: ... configuration The following table and drawings describe the various plastic parts that make up the axis terminal board assembly and shows a side view of the board configured for DIN rail mounting Table 17 Axis Terminal Board Assembly Components Plastic Component Part Number Description Quantity Mounting Styles Used With UMK BE 45 Base Element 1 DIN Panel UMK SE 11 25 1 Side Element 2 DIN Panel UM...
Page 71: ...e is used exercise extreme caution to avoid damaging either the plastic parts or the circuit board 2 Slide the UMK FE foot element off the base element Save this part for possible future use in converting the terminal board back to its DIN rail mounting configuration 3 Snap the side element removed in step 1 above back into the base element 4 Insert one UMK BF mounting ear into the appropriate two...
Page 72: ... DSM314 faceplate connector For detailed connection information refer to Analog Servo Axis 1 4 Circuit and Pin Assignments on page 71 The maximum voltage that should be applied to I O terminals 16 18 and 34 36 is 30 VDC The maximum voltage for any other input terminal is 5 VDC Six 130V MOVs are installed between selected I O points and the shield frame ground for noise suppression The I O terminal...
Page 73: ...g optional configuration The following table and drawings describe the various plastic parts that make up the auxiliary terminal board assembly and shows a side view of the board configured for DIN rail mounting Table 18 Auxiliary Terminal Board Components Phoenix Contact Part Number Description Quantity UM45 Profil 105 25 PCB Carrier 1 UM 45 SEFE with 2 screws Side element with Foot 2 UMK 45 SES ...
Page 74: ...de element with foot to the UM 45 profile PCB carrier Save this part for possible future use in converting the terminal board back to its DIN rail mounting configuration 2 Attach one UMK 45 SES side element to the PCB carrier in place of the side removed in step 1 above again using the two screws Be careful to not over tighten the screws 3 Insert one UMK BF mounting ear into the appropriate two ho...
Page 75: ...Amp Custom Terminal Board and Servo cables are available in longer lengths by contacting your Emerson distributor The maximum recommended cable length for the DSM connector to the and Series servo amplifier is 50 meters The cables use special shielding and construction to ensure reliable servo operation We recommend that users do not attempt any field modifications of the cables or connectors Note...
Page 76: ... GFK 1742F Jan 2020 Installing and Wiring the DSM314 65 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 ...
Page 77: ...ng the DSM314 66 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: ...ded steel plate Use noise protector for MCC B DSM to Axis Terminal cable Axis terminal cable to amplifier DSM to Aux Terminal cable Encoder feedback cable Separate a minimum 10cm from group A signals by bundling separately or use electromagnetic shielding grounded steel plate Use all required individual cable shield grounds and grounding bar connections DSM to or Series Digital Servo Amplifier Sig...
Page 79: ...20 Installing and Wiring the DSM314 68 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 ...
Page 80: ...1179 Figure 45 DSM314 I O Cable Grounding I O Circuit Identifiers and Signal Names I O circuit identifiers provide a consistent method of naming the I O circuits For example IN1 refers to the first of three differential single ended 5v inputs for each axis Signal names are assigned to the circuit identifiers for each axis The signal name consists of the circuit identifier followed by a suffix A D ...
Page 81: ...Pin Assignments This table identifies all circuits and pin assignments for Digital Servo Axis 1 and Digital Servo Axis 2 The shaded areas indicate signals that are cabled to the servo amplifier and are not available for user connections Table 23 Circuit and Pin Assignments for Digital Servo Axis 1 and Digital Servo Axis 2 Circuit Identifier Circuit Type Analog Servo Axis 1 2 Circuit Function Axis ...
Page 82: ..._A ENBL2_A ENBL1_B ENBL2_B 15 33 AIN1 Differential 10v Analog Inputs IR Phase Current IR Phase Current AIN1P_A AIN1M_A AIN1P_B AIN1M_B 7 25 AIN2 IS Phase Current IS Phase Current AIN2P_A AIN2M_A AIN2P_B AIN2M_B 8 26 AOUT1 10v Analog Out Host controller Analog Out AOUT_A AOUT_B 6 4 ACOM Analog Out com Analog Out Com ACOM_A ACOM_B 24 12 SHIELD Cable Shield Cable Shield SHIELD_A SHIELD_B S Analog Ser...
Page 83: ... 12 12 0V 0v 0v 0V_A 0V_B 0V_C 0V_D 27 30 27 30 IN9 24v optically isolated inputs Overtravel IN9_A IN9_B IN9_C IN9_D 16 16 IN10 Overtravel IN10_A IN10_B IN10_C IN10_D 34 34 IN11 Home Switch IN11_A IN11_B IN11_C IN11_D 17 17 INCOM 24v Input Common 24v Input Common INCOM_A INCOM_ B INCOM_C INCOM_ D 35 35 OUT1 24 v 125 mA DC SSR output PLC 24v Output PLC 24v Output OUT1P_A OUT1M_A OUT1P_ B OUT1M_ B O...
Page 84: ...ignal Name Axis 2 Signal Name Axis 3 Signal Name Axis 4 Signal Name Faceplate Pin Aux Term Board Terminal AOUT1 10v Analog Out Servo Vel Cmd or Servo Torque Cmd AOUT_A AOUT_B AOUT_C AOUT_D 6 6 ACOM Analog Out Com Servo Vel Cmd Com or Servo Torque Com ACOM_A ACOM_B ACOM_C ACOM_D 24 24 SHIELD Cable Shield Cable Shield SHIELD_A SHIELD_ B SHIELD_C SHIELD_ D S ...
Page 85: ...Strobe 2 Input IO6_B IO6_C IO6_D 10 10 IO7 Not Used IO7_B IO7_C IO7_D 11 11 IO8 Not Used IO8_B IO8_C IO8_D 12 12 0V 0v 0v 0V_B 0V_C 0V_D 27 30 27 30 IN9 24v optically isolated inputs PLC 24v Input IN9_B IN9_C IN9_D 16 16 IN10 PLC 24v Input IN10_B IN10_C IN10_D 34 34 IN11 Home Switch IN11_B IN11_C IN11_D 17 17 INCOM 24v Input Common 24v Input Common INCOM_B INCOM_C INCOM_D 35 35 OUT1 24 v 125 mA DC...
Page 86: ...nual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 75 I O Connection Diagrams The following diagrams illustrate typical user connections to the DSM314 Figure 46 Digital Servo Axis 1 Connections ...
Page 87: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 76 Figure 47 Digital Servo Axis 2 Connections ...
Page 88: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 77 Figure 48 and Series Digital Servo Command Cable IC800CBL001 002 Connections ...
Page 89: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 78 Figure 49 Analog Servo Axis 1 Connections ...
Page 90: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 79 Figure 50 Analog Servo Axis 2 Connections ...
Page 91: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 80 Figure 51 Analog Servo Axis 3 Connections ...
Page 92: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 81 Figure 52 Analog Servo Axis 4 Connections ...
Page 93: ...User Manual Chapter 3 GFK 1742F Jan 2020 Installing and Wiring the DSM314 82 Figure 53 Aux Axis Connections Axis 3 Shown ...
Page 94: ...rcuit Function Signal Name X A B C or D Connector Faceplate Pin Auxiliary Terminal Board Servo Terminal Board IN1 Strobe Input 1 Strobe Input 1 Encoder Chan A Encoder Chan A IN1P_X 1 1 1 IN1M_X 19 19 9 IN2 Strobe Input 2 Strobe Input 2 Encoder Chan B Encoder Chan B IN2P_X 2 2 2 IN2M_X 20 20 10 IN3 Ser Encoder Data Ser Encoder Data Encoder Marker Encoder Marker IN3P_X 3 3 N C IN3M_X 21 21 N C I O T...
Page 95: ...dentifier Servo Axis 1 4 Circuit Function Aux Axis 2 4 Circuit Function Signal Name X A B C or D Connector Faceplate Pin Auxiliary Terminal Board Servo Terminal Board IN4 Servo Ready Input Faceplate 5v IN4_X 5 5 N C Input I O Type Single Ended 5v Sink Input Circuit Type Sink Input 4 7K ohm pull up to internal 5v Input Impedance 4 7K ohms to 5v Maximum Input Voltage 10 0 v Logic 0 Threshold 0 8 v m...
Page 96: ...11 Home Switch Home Switch IN11_X 17 17 7 INCOM 24v Input Common 24v Input Common INCOM_X 35 35 15 I O Type Optically Isolated 24v Source Sink Inputs Circuit Type Source Sink 5K resistance to INCOM Input Impedance 5 4K ohms to INCOM 24 VDC Maximum Input Voltage 30 0v referenced to INCOM Logic 0 Threshold 6 0 v max referenced to INCOM Logic 1 Threshold 18 0 v min referenced to INCOM Input Filtering...
Page 97: ...IO8 0V Servo ENBL Alarm 0v Not Used 0v IO8_X IN8_X 0V_X 12 30 12 30 N C N C I O Type Single Ended 5v Inputs Outputs Circuit Type Sink 4 7K ohm pull up to internal 5v Input Impedance 4 7K ohms to internal 5v Maximum Input Voltage 1 0 v 7 0v Logic 0 Input Threshold 0 8 v max Logic 1 Input Threshold 2 4 v min Input Filtering 10 microseconds typical Output Sink Current 10 mA max On State Output Voltag...
Page 98: ...oard OUT2 Serial Encoder Req Serial Encoder Req Not Used Not Used OUT2P_X OUT2M_X 13 31 13 31 N C N C OUT3 Faceplate 5v Output Faceplate 5v Output Faceplate 5v Output Faceplate 5v Output OUT3P_X OUT3M_X 14 32 14 32 5 13 I O Type 5v Differential Outputs Circuit Type Differential Totem Pole Source Sink Output Source Sink Current 20 mA max Output Voltage 1 5 v min across 120 ohm differential load Not...
Page 99: ...4v Output OUT1P_X OUT1M_X 18 36 18 36 8 16 I O Type 24v DC Optically Isolated Output Circuit Type Isolated Solid State Relay SSR Output Current 125 mA continuous 500 mA for 10 ms resistive or inductive Output Voltage Drop 1 0 v max at 0 125 amps Note Output is protected by a 30v transzorb and a 0 2 amp Polyswitch If a short circuit occurs the output will automatically switch to a high impedance st...
Page 100: ...L Servo MCON Servo MCON 0v Drive Enable Drive Enable Drive Enable Drive Enable ENBL1_X ENBL2_X 15 33 15 33 N C N C I O Type Optically Isolated Enable Relay Output Circuit Type Isolated AC Solid State Relay SSR Output Current 30 mA continuous 50 mA for 10 ms Output Voltage Drop 1 0 v max at 10 mA Note This is a low current SSR output The output is ON when the associated faceplate Axis Enabled LED i...
Page 101: ...e Current IS Phase Current Faceplate Analog In Faceplate Analog In AIN2P_X AIN2M_X 8 26 8 26 N C N C I O Type Differential 10v Analog Inputs Circuit Type Differential Input Input Impedance 102K ohms common mode with respect to faceplate connector 0v 204K ohms differential Maximum Input Voltage 15 v common mode with respect to faceplate connector 0v 20 v differential Resolution 15 bits Linearity 13...
Page 102: ... Output Load Impedance 2K ohms minimum Output Current 5 mA max Resolution 13 bits Linearity 13 bits Output Offset Voltage 500 microvolts max Force D A Gain Factor 10 0v 32000 counts Gain Accuracy 1 0 Force Analog Output Update Rate Host controller sweep rate when used by Force Analog Output AQ command 250 microseconds when used as Digital Servo tuning output Note Since this is a single ended outpu...
Page 103: ...x total for all connectors Notes Note This output is intended to power external devices such as Incremental Quadrature Encoders requiring less than 0 5 amps total from all four axis connectors The output current is provided by the host controller backplane 5v supply and is protected by an electronic short circuit protector in the DSM314 module The total external device current drawn from this 5V c...
Page 104: ...procedure consisting of 1 Rack Slot Configuration 2 Module Configuration 4 1 Connecting the Programmer to the Host Controller All DSM314 programming is done through the configuration programming software interface yielding a single point of programming for the module For more information please refer to the Series 90 30 PLC Installation and Hardware Manual GFK 0356 or the PACSystems RX3i System Ma...
Page 105: ... modules in a baseplate and saving the information to a configuration file which is then downloaded to the PLC CPU 1 Start the Machine Edition Logic Developer PLC software The Machine Edition dialog box appears Figure 55 2 Under Create a New Project choose Machine Edition Template and click OK The New Project dialog box appears 3 Type a name for Project Name In the Project Template dropdown list s...
Page 106: ...User Manual Chapter 4 GFK 1742F Jan 2020 Configuration 95 Figure 56 Your project appears in the Navigator window as shown in the following figure Figure 57 ...
Page 107: ...6 Add a DSM314 to the rack configuration Note Because an IC694DSM314 module and an IC693DSM314 module have the same functionality a Series 90 30 PLC supports them in the same way If you install an IC694DSM314 in a Series 90 30 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 A Right click an empty slot and c...
Page 108: ...r 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 Correct the discrepancy clear the host controller Fault and re Store the configuration...
Page 109: ...ch tab is as shown below Tab Name Function or Description Settings Contains PLC Reference assignments and lengths DSM Axis Setup and other global data SNP Port DSM front panel SNP port setup CTL Bits Configuring the DSM s 24 control bits Output Bits Configuring the DSM s 8 faceplate digital outputs Axis 1 Axis 4 Configuring axis parameters such as Position Limits Find Home Velocity and Jog Acceler...
Page 110: ... tables pertain to this chapter Table 26 Settings Tab Configuration Parameter Description Values Default Units Reference Section Number of Axes Number of Controlled Axis 1 2 3 4 4 N A 1 01 I Reference Start address for I ref type 80 bits CPU Dependent I00001 or next higher reference N A 1 02 I Length I reference address length 32 1 Axis 48 2 Axis 64 3 Axis 80 4 Axis N A Length automatically determ...
Page 111: ...gic Mode The Local Logic Engine mode Disabled Enabled Disabled N A 1 04 Total Encoder Power Encoder power requirements RX3i 0 000 through 0 500 90 30 0 through 2 5 0 RX3i Amps 90 30 Watts 1 05 Motion Program Block Name The motion program name to execute on the module Name must be 20 characters or less and begin with a letter or underscore _ Only alphanumeric characters and non consecutive undersco...
Page 112: ...o Analog Servo Disabled 2 0 12 4 Analog Servo Auxiliary Axis Analog Servo Auxiliary Axis Disabled 2 0 13 4 Analog Servo Auxiliary Axis Analog Servo Disabled Disabled 2 0 14 4 Analog Servo Auxiliary Axis Analog Servo Disabled Enabled 2 0 15 4 Analog Servo Auxiliary Axis Analog Servo Limited Aux Axis Enabled 2 0 16 4 Analog Servo Auxiliary Axis Auxiliary Axis Analog Servo Disabled 2 0 17 4 Analog Se...
Page 113: ... axes 1 03 Axis n Mode These parameters define the command output types provided to the servo sub systems Digital Servo selects a special digital output for Digital servo drives If Digital Servo is selected Axes 1 and 2 must be digital Analog Servo selects a 10 volt velocity command or 10 volt torque command for standard analog servo drives The torque or velocity interface is configured by the Ana...
Page 114: ...me is entered the DSM will assume that Local Logic blocks are not used If a name is entered a Local Logic block of the same name must exist within the active folder Entering an invalid name will cause an error to be generated when storing the hardware configuration to the PLC The name may consist of up to 31 characters but cannot have any blank spaces although you are allowed to use the underline ...
Page 115: ...1 Baud Rate The baud rate parameter specifies the transmission rate in bits per second of data through the serial port 2 02 Stop Bits All serial communications devices use at least one 1 stop bit For slower devices set this parameter to two 2 stop bits 2 03 Parity Specifies whether or not a parity bit is to be used NONE if not and if so whether it should be ODD or EVEN 2 04 Idle Time Specifies the...
Page 116: ...pter 14 CTL05 Config CTL05 Bit Configuration IN9_B Axis 2 OT Chapter 14 CTL06 Config CTL06 Bit Configuration IN10_B Axis 2 OT Chapter 14 CTL07 Config CTL07 Bit Configuration IN11_B Axis 2 Home Sw Chapter 14 CTL08 Config CTL08 Bit Configuration Strobe1 Level Axis 2 Chapter 14 CTL09 Config CTL09 Bit Configuration Q bit Offset 12 Chapter 14 CTL10 Config CTL10 Bit Configuration Q bit Offset 13 Chapter...
Page 117: ...er 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 Table 32 Output Bits Tab Configuration Parameter Description Values Defaults Ref Out1_A Config Out1_A Control Source PLC Control Q bit Offset 24 DSM Contr...
Page 118: ... MaxPosnUu 1 8388607 User units 5 04 Low Position Limit Low Position Limit MaxPosnUu MaxPosnUu 1 8388608 User units 5 05 High Software EOT Limit High Software End of Travel Limit MaxPosnUu MaxPosnUu 1 8388607 User units 5 06 Low Software EOT Limit Low Software End of Travel Limit MaxPosnUu MaxPosnUu 1 8388608 User units 5 07 Software End of Travel Software End of Travel Control Disabled Enabled Di...
Page 119: ...n Data 2 Offset 2 147483 648 to 2 147 483 647 0 5 24 Cam Master Source Cam Master Source Cmd Position 1 Actual Position 1 Cmd Position 2 Actual Position 2 Cmd Position 3 Actual Position 3 Cmd Position 4 Actual Position 4 Actual Position 3 N A 5 25 Follower Control Loop Follower Control Loop Enable Disabled Enabled Disabled N A 5 26 Ratio A Value Follower A B Ratio A 32768 32767 1 N A 5 27 Ratio B ...
Page 120: ... Follower Disable Action Follower Disable Action Stop Inc Position Abs Position Stop N A 5 32 Ramp Makeup Acceleration Follower Ramp Makeup Acceleration 1 MaxAccUu 10 000 5 33 Ramp Makeup Mode Follower Ramp Makeup Mode Makeup Time Makeup Velocity Makeup Time N A 5 34 Ramp Makeup Time Follower Ramp Acceleration Makeup Time 0 32000 0 mSec 5 35 Ramp Makeup Velocity Follower Ramp Makeup Velocity 1 Max...
Page 121: ...plication has an encoder that produces 1 000 quadrature counts per revolution 250 lines and is geared to a machine that produces one inch per revolution The default unit would be one thousandth of an inch per count However you may want to write programs and use the DSM300 Series module with metric units A ratio of 2540 User Units to 1000 Counts can be configured to allow this With this ratio one u...
Page 122: ...03 78 User Units 160 000 encoder counts 0 02815 or 1 35 5 This ratio is too small so something must be changed Any of the following system components could be changed to solve the problem Change the spur gear diameter to 15 92 inch or larger Change the encoder lines per revolution to 1800 or less Change the gear reduction to 18 1 or less Change the desired programming unit to 0 001 inch By far the...
Page 123: ...length of travel then rewind as the axis reverses 5 02 Overtravel Limit Switch Selects whether the DSM300 Series module uses the hardware over travel limit switch inputs DISABLED the faceplate overtravel inputs IN09 and IN10 may be used as general purpose motion program flow control and program branching inputs assigned to CTL01 CTL24 ENABLED indicates that the DSM300 will check the axis over trav...
Page 124: ...it User Units When moving in the negative direction the Actual Position will roll over to the high limit when this value is reached The Position Limits can be used for continuous rotary applications when the Software End of Travel configuration is set to Disabled For proper operation the rollover modulus High Position Limit Low Position Limit 1 must always be greater than the distance traveled by ...
Page 125: ... Low Software EOT Limit is enabled and its value is more negative than the Low Position Limit the Low Software EOT Limit will internally be set equal to the Low Position Limit Axis error code 17h will also be reported indicating that the limit has been adjusted The Low Software EOT limit is ignored for Jog commands if the Position Valid I bit is off In Auxiliary Axis mode the Low Software EOT limi...
Page 126: ...lute feedback type for the serial encoder Incremental means the serial encoder is being used as an incremental encoder and encoder battery alarms will not be reported Absolute means the serial encoder is being used as an absolute encoder encoder backup battery installed which maintains position if system power is cycled In Absolute mode encoder battery alarms will be reported See appendix C Positi...
Page 127: ...5 17 Jog Acceleration Jog Acceleration Rate User Units second second The acceleration and deceleration rate used during Jog Find Home Move at Velocity Abort All Moves and Normal Stop operations A Normal Stop occurs when the PLC switches from Run to Stop or after certain programming errors refer to Appendix A Jog Acceleration is used by motion programs when no Acceleration command is included in th...
Page 128: ...ind Home cycle when the Home Mode is configured for HOMESW If desired Find Home Velocity can be set to a high value to allow the servo to quickly locate the Home Switch Default 2000 5 23 Home Mode Find Home Mode The method used to find home during a Find Home cycle HOME SWITCH indicates that a Home Switch is to be monitored to Find Home MOVE and MOVE specify direct positive and negative movement t...
Page 129: ...separate words for major minor revision codes DSM Firmware Build ID is interpreted as a single hex word Absolute Feedback Offset is the position offset in counts that is used to initialize Actual Position when a digital Absolute Encoder is used Actual Position Absolute Encoder Data Absolute Feedback Offset Analog Inputs provides two words of data for each axis low word AIN1 and high word AIN2 The ...
Page 130: ... DSM firmware supports A B slave master follower ratios in the ranges of 32 1 to 1 10 000 Default 1 1 5 28 Follower Master Source 1 Follower Control Loop must be Enabled Configures follower Master Axis Source 1 Allowed choices are Commanded or Actual Position for any of the 4 axes as long as it s a configured axis Follower Master Source 1 is active when the Follower Master Source Select Q bit is O...
Page 131: ...of the disable trigger configuration Default None 5 32 Follower Disable Action Stop means the follower will immediately decelerate to zero velocity at the configured Follower Ramp Acceleration rate Inc Position means the follower will continue at its present velocity then decelerate and stop after a specified distance has elapsed The incremental distance is specified in a parameter register for ea...
Page 132: ...ance correction is not possible in the configured makeup time because the value is too small then the correction time is longer and a warning error is reported This setting only has an effect when the Ramp Makeup Mode is set to Makeup Time If an acceleration ramp without any correction for lost counts is desired Makeup Time should be set to 0 In this case the motor will synchronize velocity relati...
Page 133: ...0 12000 0 01 6 07 Acceleration Feed Forward Percentage Acceleration Feed Forward Percentage 0 12000 0 01 6 08 Integrator Mode Position Loop Integrator Mode Off Continuous Servo Null Off N A 6 09 Integrator Time Constant Position Loop Integrator Time Constant 0 10000 0 mSec 6 10 Velocity Loop Gain Velocity Loop Gain 0 65535 16 N A 6 11 Note Torque Mode is supported in DSM firmware version 3 0 or la...
Page 134: ...ies Servo Motor Motor Type Code Motor Model Motor Specification 61 1 3000 0371 46 2 2000 0372 62 2 3000 0373 15 3 3000 0123 16 6 2000 0127 17 6 3000 0128 18 12 2000 0142 19 12 3000 0143 27 22 1500 0146 20 22 2000 0147 21 22 3000 0148 28 30 1200 0151 22 30 2000 0152 23 30 3000 0153 30 40 2000 0157 29 40 FAN 0158 L Series Servo Motor Motor Type Code Motor Model Motor Specification 56 L3 3000 0561 57...
Page 135: ...or Specification 24 M3 3000 0161 25 M6 3000 0162 26 M9 3000 0163 Series Servo Motor Motor Type Code Motor Model Motor Specification 13 0 5 3000 0013 35 1 3000 0031 36 2 3000 0032 33 3 3000 0033 34 6 2000 0034 M Series Servo Motor Motor Type Code Motor Model Motor Specification 115 M 0 5 5000 0115 116 M 1 5000 0116 6 02 Analog Servo Command The Analog Servo Command determines whether the analog com...
Page 136: ... Calculate servo velocity at 4000 rpm 2 user units count x 8192 counts rev x 4000 revs minute 60 seconds minute 1 092 266 user units second Step 2 Calculate Position Error at 4000 rpm 50 milliseconds x 1 092 266 user units second 1000 milliseconds second 54613 user units If Velocity Feedforward is used to reduce the following error a smaller error limit value can be used but in general the error l...
Page 137: ...ies 100msec of time the Pos Loop Time Constant should be between 25 to 50msec To maintain system stability use the largest value possible For users familiar with servo bandwidth expressed in rad sec Bandwidth rad sec 1000 Position Loop Time Constant ms For users familiar with servo gain expressed in ipm mil Gain ipm mil 60 Position Loop Time Constant ms Table 36 Gain Bandwidth Position Loop Time C...
Page 138: ...em capability the DSM314 will clamp that command value at the appropriate maximum motor velocity boundary Note that no error will be reported back to the DSM314 See Appendix D Start up and Tuning Digital and Analog Servo Systems for more information on determining the correct value Default 100000 CAUTION The Velocity at 10V must be configured correctly in order for the analog servo Pos Loop Time C...
Page 139: ...second the Position Error would be reduced to 37 of its initial value after 1 second A value of zero turns off the integrator If used the Integrator Time Constant should be 5 to 10 times greater than the Position Loop Time Constant to prevent instability and oscillation Default 0 6 11 Velocity Loop Gain Used to set velocity loop gain This applies to Digital Servos and Analog Torque Mode Servos onl...
Page 140: ...ng of the maximum supported motor speed Note that for settings 0 and 1 some motors maximum speed ratings are below the maximum supported speed shown in the table Range of allowable settings 0 3 In Figure 61 above Tuning Parameter 1 is set to a value of 2 for Axis 1 Table 38 Tuning Parameter 1 Values Tuning Parameter 1 Values Counts Revolution Maximum Supported Motor Speed 0 8192 44001 2 1 16384 36...
Page 141: ...ix D describes a method to correctly tune this parameter The allowable range for the velocity loop proportional gain term is 0 32767 The default value is 1500 Tuning Parameter 8 Sets the velocity regulator integral gain The parameter is only used in torque mode The integral gain is the term multiplied by the area of the velocity error velocity command velocity feedback to generate the portion of t...
Page 142: ...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 All reference section designations pertain to this chapter Table 40 I Status Bits Bit Offset Description Axis Ref Bit Offset Description Axis Ref 00 Module ...
Page 143: ... 07 27 Reserved 67 Program Active Servo 4 1 08 28 Follower Enabled Servo 1 1 15 68 Moving Servo 4 1 09 29 Velocity Limit Servo 1 1 16 69 In Zone Servo 4 1 10 30 Follower Ramp Active Servo 1 1 17 70 Strobe 1 Flag 5v Servo 4 1 11 31 Reserved 71 Strobe 2 Flag 5v Servo 4 1 11 32 Axis OK Servo 2 1 05 72 Position Error Limit Servo 4 1 12 33 Position Valid Servo 2 1 06 73 Reserved Servo 4 34 Drive Enable...
Page 144: ...he execution of motion program Wait and Conditional Jump commands CTL bits can also be used to trigger the follower ramp enable disable functions The CTL bit assignments are selected through configuration Consult Chapters 4 and 14 for additional information Default CTL01 CTL08 and CTL13 CTL16 assignments are shown in Table 41 Table 41 Defaults for Configurable I Status Bits Bit Name Signal Name Si...
Page 145: ...of the associated faceplate EN LED In Digital mode the solid state relay provides the MCON signal to the Digital Servo through the servo command cable Drive Enabled is cleared following power up or an error condition that stops the servo 1 08 Program Active The Program Active status bit for each axis indicates that a Motion Program 1 10 or a Move AQ command 27h is executing on that axis Executing ...
Page 146: ... Commanded Velocity and Commanded Position are frozen to allow the axis to catch up to the Commanded Position 1 13 Torque Limit The Torque Limit status bit is set when the commanded torque exceeds the torque limit setting for the configured motor type 1 14 Servo Ready This status bit is set when faceplate signal IN4 of the associated connector A B C or D is ON active low ON 0v OFF 5v For each Serv...
Page 147: ...s All reference section designations pertain to this chapter 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 Table 43 AI Status Words Word Offset Description Axis Ref Word Offset Description Axis Ref 00 Module Status...
Page 148: ...s Fast Stop or System Error priority The Module Status Code word is also used to report System Status Errors These are of the format 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 ...
Page 149: ...osition and Strobe 2 Position user units contain the axis actual position when a Strobe 1 Input or Strobe 2 Input occurs When a Strobe Input occurs the Strobe 1Flag or Strobe 2 Flag I bit is set to indicate to the host controller that new Strobe data is available in the related Strobe 1 Position or Strobe 2 Position status word The host controller must set the proper Reset Strobe 1 or Reset Strobe...
Page 150: ...ice and is updated by the DSM314 once every 128 milliseconds 2 10 User Selected Data 1 There is one of these words for each of the four axes The information reported in User Selected Data 1 is determined by module configuration see Chapter 4 or the Select Return Data 1 AQ command see Section 4 AQ Immediate Commands in this chapter 2 11 User Selected Data 2 There is one of these words for each of t...
Page 151: ... 3 3 10 14 Configurable CTL bit source N A 3 04 54 Reset Strobe 1 Servo 3 3 11 15 Configurable CTL bit source N A 3 04 55 Reset Strobe 2 Servo 3 3 11 16 Abort All Moves Servo 1 3 05 56 OUT1_C Config CTL bit src Servo 3 3 12 17 Feed Hold Pause Prgm Servo 1 3 06 57 OUT3_C Config CTL bit src Servo 3 3 13 18 Enable Drive MCON Servo 1 3 07 58 Reserved 19 Find Home Servo 1 3 08 59 Reserved 20 Jog Plus S...
Page 152: ...to ON each time a program is to be executed Programs may be temporarily paused by a Feed Hold command When a program begins execution Rate Override is always set to 100 A Rate Override AQ command can be sent on the same sweep as the Execute Motion Program n Q bit and will be effective as the program starts Only one Motion Program can be executed at a time per axis The Program Active I status bit m...
Page 153: ...tion control functions are enabled and servo motion can be commanded A signal will be sent MCON to the digital servo enabling the drive Enable Drive must be maintained ON to allow normal servo motion except when using Jog commands If using the Force Analog Output immediate command see Section 4 06 Force Analog Output the applicable Enable Drive signal must be on to produce an analog output with th...
Page 154: ...ition AI status word When the host controller acknowledges this data it may use the Reset Strobe n Flag Q command bit to clear the Strobe n Flag I status bit flag Once the Strobe n Flag I bit is set additional Strobe Inputs will not cause new data to be captured The flag must be cleared before another Strobe Position will be captured As long as the Reset Strobe n Flag Q command bit is set the Stro...
Page 155: ...sources for configurable CTL bits independent of the Output Bits configuration Refer to Chapter 4 for information on configuring the CTL01 CTL24 bit sources 3 14 Enable Follower When this bit is set and the Follower Enabled I status bit indicates the Follower is enabled motion commanded by the external or internal master will act as an input to the follower loop An optional Follower Trigger bit ma...
Page 156: ... host controller sweep the only exception being the Load Parameter Immediate command which is axis independent The number of Load Parameter Immediate commands that can be sent in one sweep depends upon the number of AQ words configured see Table 47 for details Even though the commands are sent each sweep the DSM314 will act on a command ONLY if it changed since the last sweep When any of the 3 wor...
Page 157: ...the least significant word The data to be sent to the DSM314 would be Word 2 Word 1 Word 0 Command 0033 E23A 0023 Set Position 3 400 250 Setting up word 0 as a hexadecimal word and words 1 and 2 as a double integer in a Reference View Table display will simplify immediate command entry The data limit values MaxPosnUu MaxVelUu and MaxAccUu are computed as shown below Formulas for Computing Data Lim...
Page 158: ... User Units 4 07 xx xx xx In Posn Zone 00 26h In Position Zone Range 0 255 4 08 Position or Parameter Move Type 27h Move Command Pos MaxPosnUu MaxPosnUu 1 Par 0 255 4 09 Velocity 00 28h Jog Velocity Vel 1 MaxVelUu 4 10 Acceleration 00 29h Jog Acceleration Acc 1 MaxAccUu 4 11 xx xx Time Constant 0 1 ms units 00 2Ah Position Loop Time Constant Time Constant 0 65535 0 1 ms units 4 12 xx xx VFF 0 01 u...
Page 159: ...e Axis 47h Select Analog Output Mode Digital mode only 4 26 xx xx xx xx 00 49h Clear New Configuration Received 4 27 Parameter Data Par h 50h Load Parameter Immediate Par 0 255 Parameter Data Range depends on parameter usage 4 28 Only 00 or FFh are acceptable xx don t care 4 01 Null This is the default AQ Immediate command Since the AQ words are automatically transferred each CPU sweep the Null co...
Page 160: ...ues without moving the axis Operation of the command depends on the axis configuration Servo Axis The Commanded Position and Actual Position values will both be changed so that no motion command will be generated The Actual Position will be set to the value designated and the Commanded Position will be set to the value Position Error Set Position cannot be performed when the Moving I bit or the Pr...
Page 161: ...nable Drive bit can be used to switch the analog output voltage on and off When a Force Analog Output command is active for a given axis any other AQ immediate command for that axis will remove the Force Analog Output command and turn off the associated analog output There are some differences between the Digital and Analog Axis Modes when using this command which are detailed below Digital Mode T...
Page 162: ...ince Q1 was configured as the first Q bit the Enable Drive Servo 4 bit for Axis 4 is Q67 see Table 44 Q Discrete Commands So the following values must be moved into the applicable words using Move instructions in ladder logic using a WORD type Move instruction makes it easier to move a hex number AQ10 Set to 24h which specifies the Force Analog Output command AQ11 Set to 16000 which equals 5VDC AQ...
Page 163: ...ler 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 4 09 Move Command This command will produce a single move profile that will move the axis to the position commanded each time it is sent The current Jog Acceleration and Jog Velocity which can also be changed by AQ commands will be used for the ...
Page 164: ...ec sec This command sets the acceleration value used by Jog Find Home Move at Velocity Abort All Moves and Normal Stop operations A Normal Stop occurs when the host controller switches from Run to Stop or after certain programming errors refer to Appendix A Jog Acceleration is used by motion programs when no Acceleration command is included in the program Jog Acceleration is always used by the AQ ...
Page 165: ... to update the slave master A B ratio used in each follower loop A is a 16 bit signed integer with a minimum value of 32 768 and a maximum value of 32 767 B is a 16 bit integer with a minimum value of 1 and a maximum value of 32 767 The magnitude of the A B ratio must be in the range 32 1 to 1 10 000 or a status error will be generated Refer to Chapter 8 for additional information about the A B ra...
Page 166: ...is received 4 19 Force Servo Velocity RPM Digital Mode and Analog Torque Mode only This command bypasses the position loop and forces a velocity command to the digital servo for tuning purposes In Analog Torque Mode it bypasses the position loop and forces a velocity command to the velocity regulator Acceleration control is not used and changes in velocity take effect immediately A Force Servo Vel...
Page 167: ...e default mode and offset for User Selected Data 2 can be set in the module configuration software The following selections are allowed for Select Return Data 1 and Select Return Data 2 Return Data Digital Analog Torque Analog Velocity Selected Return Data Data Mode Data Offset Y Y N Torque Command 00h not used Y Y Y DSM Firmware Revision 10h not used Y Y Y DSM Firmware Build ID No hex 11h not use...
Page 168: ...r rotation after these operations within the 32 bit raw encoder count range with rollover regardless of how the rotation is commanded except for the Position Increment without Position Update command If a Set Position command is executed or a Find Home cycle is completed the UAP is set to the raw counts equivalent to the Set Position data or the configured Home Position after scaling by the Counts...
Page 169: ...mp Distance Make Up Time and Ramp Makeup Acceleration at the beginning of the correction This mode is used when the Follower axis must be position and velocity synchronized to the Master position at the instant the Follower mode was enabled If the Follower Ramp Distance Make Up Time is too short then the velocity profile is a triangular profile If during the distance correction velocity exceeds 80...
Page 170: ...will determine how well the velocity regulator performs in the control system Appendix D describes a method to correctly tune this parameter The allowable range for the velocity loop proportional gain term is 0 32767 The default value is 0 4 25 Torque Command Filter Analog Torque Mode only The torque command filter AQ command allows the user to activate a low pass filter for the velocity regulator...
Page 171: ...mmand None 25 decimal Servo Axis 2 Actual Velocity Connector B Cannot be re routed This signal code can only be used to restore this signal back to its default output Note The analog output is not available for user control on digitally controlled axes Issuing the Force Analog Output or the Select Analog Output commands for digital axes will have no effect on these analog outputs The Select Analog...
Page 172: ...is example the Servo Axis 1 Actual Velocity signal Signal Code 15 is re routed from its default output on Connector A to Connector B Connector Code 02h replacing any previous signal on Connector B This is accomplished by placing the following data in the AQ immediate command words Figure 64 Example 2 In this example the Servo Axis 1 Torque Command signal Signal Code 10 is selected as the Analog Ou...
Page 173: ...Acceleration This would only be necessary if the AQ commands were used to override DSM314 configuration data programmed with the host controller configuration software This command can be sent from the Command registers for any axis 1 4 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...
Page 174: ...Home Offset defines the location of Home Position as the offset distance from the Home Marker The Enable Drive Q bit must be ON during an entire home cycle However the Find Home Q bit does not need to be held ON during the cycle it may be turned on momentarily with a one shot Note that turning ON the Find Home Q bit immediately turns OFF the Position Valid I bit until the end of the home cycle The...
Page 175: ...the marker pulse 8 The axis is moved at the current Jog Velocity the number of user units specified by the Home Offset value from the home reference position If Home Offset 0 the axis moves back to the position of the marker pulse 9 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 s...
Page 176: ...correct distance needs to be greater than the worst case stopping distance required by the machine slide after it reaches the overtravel limit position In this example the machine slide s working range is on the positive side of the home switch If the DSM s Home Position parameter was set to 0 this would simplify programming absolute positioning commands since only positive numbers would be used O...
Page 177: ...ogging to the correct position a set of alignment marks indicating a close proximity to the home position is sometimes placed on the machine and machine axis Move Minus Home Cycle Example The next picture shows an example of the Home Position parameter set to Move minus In this example the operator jogs the axis until the moveable mark on the machine slide lines up with the stationary mark on the ...
Page 178: ...id I bit to indicate the home cycle is complete 6 2 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 M...
Page 179: ...d 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 The Drive Enabled I bit must be ON before the DSM314 receives the immedia...
Page 180: ...ve for a given axis any other 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 ...
Page 181: ... can be used at any time though simultaneous use with the Force Servo Velocity command is impossible because the Force Servo Velocity command must remain in the AQ command data area or the servo will be stopped 6 7 Other Considerations Other considerations when using non programmed motion are as follows The Abort All Moves Q bit when ON will prevent any non programmed motion from starting Turning ...
Page 182: ... AXIS1 The DSM314 may operate up to four single axis programs These programs may run independently or simultaneously For example motion Program 1 may be written for Axis 1 and motion Program 2 written for Axis 2 Each axis may be home referenced and the motion program for each axis may execute independently without regard to the state of the other axis Alternately Program 1 and Program 2 may start ...
Page 183: ...categories of moves 1 Axis moves and 2 Axis moves 1 Axis moves When two consecutive 1 Axis moves are programmed the second move will begin execution within 2 milliseconds after the first move finishes 2 Axis moves A 2 Axis move is programmed with three consecutive blocks The first of the three blocks must contain the SYNC Block command The next two blocks contain the move commands one for Axis 1 a...
Page 184: ...lock numbers provide an identification or label for the Type 3 command that follows Block numbers are required with JUMP commands otherwise they are optional If a program block does not contain a block number the previous block number if any remains in effect The SYNC synchronize block command is a two axis synchronization command this may or may not delay motion on one axis The Load Parameter com...
Page 185: ... execution When a DSM314 is executing a multi axis program the program commands are scanned independently by each axis and only the data designated for that axis is executed Note that some multi axis program commands do not specify an axis Block number Jump Call and End and therefore apply to both axes A multi axis program can contain SYNC commands to synchronize the axes at designated points When...
Page 186: ...omments may span multiple lines White space and blank lines may be used to improve readability and to separate certain items The Motion Editor is not case sensitive All motion programs and subroutines must be contained in a single file Single axis and multi axis programs and subroutines A given single axis program must have the capability to be run on any one axis specified in the Program definiti...
Page 187: ...cimal hexadecimal or binary values Hexadecimal and binary constants are identified by the prefixes 16 and 2 respectively do not use a space between the prefix and the number Hexadecimal and binary constants cannot be prefixed with a negative sign Therefore negative values must be entered in two s complement form Numeric constants may contain single underline characters e g 5_000_000 between digits...
Page 188: ...t a limited set of predefined variables the parameter data registers and the CTL bits In the following table x represents a decimal value in the specified range The value x is interpreted based on its numeric value Therefore a given variable may be referenced several ways For example P1 and P001 both refer to Parameter Data Register 1 and will be accepted by the Motion Editor Variable Constraints ...
Page 189: ...on language commands is KEYWORD axis parameter parameter If the axis is specified it immediately follows the command keyword 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...
Page 190: ...nd Syntax block num command Parameter Description block num Block number must be in the range of 1 65535 command Any command except PROGRAM SUBROUTINE ENDPROG ENDSUB or another block number may follow a block number on the same line Aliases None Errors 1 All block numbers and synch block numbers must be unique within a program or subroutine 2 Block number must be in the range of 1 65535 CALL The C...
Page 191: ...cceleration 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 position The destination positions May be a constant or a parameter data register positioning mode Specifies incremental INCR or absolute ABS positioning acceleration mode Specifies linear LINEAR or s curve S CURVE accelera...
Page 192: ...ommand for each axis Syntax DWELL axis delay 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 delay Delay in milliseconds specified as a constant or a parameter data register Range is 0 60 000 ms A value of 0 is interpreted as a null command Aliases None Errors 1 Axis specified in single ...
Page 193: ...must be CTL in the range of 1 32 or keyword UNCOND 2 Destination block must be in the range of 1 65535 and must be defined within the same program or subroutine as the JUMP statement LOAD Initializes or changes a parameter data register with 32 bit twos complement integer value Syntax LOAD parameter data register load value Parameter Description parameter data register Parameter data register to b...
Page 194: ...ied axis does not support programmed motion PROGRAM The PROGRAM statement is the first statement in a motion program The program statement identifies the program number 1 10 and the axis configuration Program definitions cannot nest There are two types of motion programs single axis in which all commands are directed to the same axis and multi axis which may contain commands for axis 1 and axis 2 ...
Page 195: ...d to the same axis and multi axis which may contain commands for axis 1 and axis 2 The subroutine type is specified by the SUBROUTINE statement A single axis subroutine is identified by the word SINGLE AXIS following the subroutine number A multi axis subroutine is identified by the word MULTI AXIS following the subroutine number The subroutine axis configuration is used to enforce whether or not ...
Page 196: ...tatements without an intervening command 4 Sync block numbers must be in the range of 1 65535 VELOC Sets the axis velocity used by subsequent motion program move commands and remains in effect until changed by another VELOC statement If a VELOC statement is not used in a program moves will use the current Jog Velocity value Also moves programmed before the first VELOC statement will use the curren...
Page 197: ... A single WAIT command only applies to one axis Therefore in a multi axis program you must designate the axis number that a WAIT applies to For example WAIT AXIS1 CTL01 If you wish to make both axes wait in a multi axis program you must use a separate WAIT command for each axis Syntax WAIT axis ctl Parameter Description axis The axis can only be specified in a multi axis program or subroutine The ...
Page 198: ... helps separate one program or subroutine from another The ENDPROG should be the only thing on the last line of any program ENDPROG Single Axis Program Example Note that the axis number is specified in the first line and is not specified in the program body Note also that there is no space in the term AXIS1 PROGRAM 2 AXIS1 ACCEL 50000 VELOC 5000 PMOVE 10000 ABS LINEAR DWELL 6000 PMOVE 5000 ABS LIN...
Page 199: ...31 1 CALL P255 LOAD P215 2000 PMOVE AXIS1 8388607 INCR S CURVE ENDPROG Single axis Subroutine Structure SUBROUTINE definition statement It must be the first line of the subroutine It must identify the subroutine number and contain the SINGLE AXIS statement For example SUBROUTINE 3 SINGLE AXIS Body The subroutine body contains the actual programmed commands Note that in a single axis subroutine you...
Page 200: ... subroutine number and the fact that this is a multi axis program by using the MULTI AXIS term For example SUBROUTINE 7 MULTI AXIS Body The subroutine body contains the actual programmed commands Note that in a multi axis subroutine you must specify an axis number in many of the commands Failure to do so will generate an error An example of correct syntax for a multi axis subroutine command is ACC...
Page 201: ... to move to The following is an absolute positioning move example PMOVE 5000 ABS LINEAR In this example the axis will move from its current position whatever it may be to the position 5000 Thus the actual distance moved depends upon the axis current position when the move is encountered If the initial position is 0 the axis will move 5000 user units in the positive direction If the initial positio...
Page 202: ...n sample plotting velocity versus time is shown below As illustrated S Curve acceleration is non linear When the move begins the acceleration starts slowly and builds until it reaches the programmed acceleration This should be the midpoint of the acceleration Then the acceleration begins decreasing until it is zero at which time the programmed velocity has been reached An S Curve move requires twi...
Page 203: ...of the following Move command A CMOVE uses the most recently programmed velocity and acceleration If a VELOC command has not been encountered in the motion program the Jog Velocity is used as default 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 C...
Page 204: ...742F Jan 2020 Programmed Motion 193 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 ...
Page 205: ...an s curve PMOVE It like the first accelerates to the programmed velocity moves for a time and decelerates to zero velocity because it is a PMOVE The next move is a linear CMOVE It accelerates to program velocity moves for a time and then decelerates to a lower velocity using linear acceleration When a CMOVE ends it will be at the programmed position of the move just completed and at the velocity ...
Page 206: ...e without changing velocity The acceleration of the second move is S curve as it decelerates to zero velocity Figure 74 Changing the Acceleration Mode During a Profile Example 3 Not Enough Distance to Reach Programmed Velocity 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 v...
Page 207: ...damage Figure 76 Hanging the DSM314 When the Distance Runs Out DWELL Command A DWELL command is used to generate no motion for a specified number of milliseconds The DWELL command may use a value stored in a designated parameter A DWELL after a CMOVE will make the CMOVE stop before the next move unless the specified dwell duration is zero milliseconds A DWELL is treated as a null command and skipp...
Page 208: ...ines 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 this allows single axis subroutines to be called from any single axis program the commands in the subrouti...
Page 209: ...lt the program Figure 78 Unconditional Jump Conditional Jumps A conditional jump is a JUMP command with a CTL bit specified in the command Conditional jumps are Type 1 commands in that they affect program path execution but they are also similar to Type 2 commands because they do not take effect until a Type 3 command following the JUMP command is executed When a conditional JUMP command is execut...
Page 210: ...ng the following Type 3 command if it is in the same program block Multiple Conditional Jumps are not supported within the same program block the following example illustrates this incorrect usage of the Conditional Jump command Conditional Jump Example 1 PROGRAM 1 MULTI AXIS VELOC AXIS1 10000 ACCEL AXIS1 10000 1 JUMP CTL01 2 This JUMP command will be ignored JUMP CTL02 3 This JUMP command will be...
Page 211: ...n the servo stopping distance The servo stopping distance is computed using the present commanded velocity and the acceleration parameters that would be in effect when the jump block became active The axis will STOP before jumping if a Conditional Jump trigger occurs under any of the following conditions When a PMOVE is active When a CMOVE is active and the Jump destination block contains a CMOVE ...
Page 212: ...se commands will end jump testing Example 7 Jump Testing Consider the following two single axis program section examples In Example 1 the move to position 2000 is completed before jump testing begins The block number occurring immediately after the JUMP command ends jumps testing Thus the duration for which the CTL bit is monitored is very short However in Example 2 the JUMP command is encountered...
Page 213: ... axis motion will stop before program execution continues at the jump destination 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 Since jump testing...
Page 214: ...out Stopping This is a simple example of a conditional jump from one CMOVE to another While jump testing the CTL03 bit the first CMOVE accelerates to the programmed velocity Before the dashed line the CTL03 bit is OFF but at the dashed line the CTL03 bit turns ON Program execution is immediately transferred to block 3 and the CMOVE there begins Because the velocity at the jump destination is diffe...
Page 215: ...er the midpoint of the acceleration or deceleration the acceleration or deceleration is completed before the jump stop is initiated If the jump occurs before the midpoint of the acceleration or deceleration the profile will immediately begin leveling off Once acceleration or deceleration is zero the jump stop begins See the s curve jump examples Example 10 Jump Stop The following is an example con...
Page 216: ... curve motion at constant velocities immediately begin accelerating or decelerating to a new velocity Jumps during a s curve acceleration or deceleration however require different rules in order to maintain a s curve profile What happens when a jump occurs during an s curve move while changing velocity depends on whether the jump occurs before or after the midpoint the point where the acceleration...
Page 217: ...st 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 Example 13 S CURVE Jumping Before the Midpoint of Acceleration or Deceleration In the follow...
Page 218: ...n to zero Example 14 S CURVE Jumping to a Higher Velocity While Accelerating or Jumping to a Lower Velocity While Decelerating In this example a JUMP command is triggered during the initial phase of acceleration at the first dashed line and the velocity at the jump destination is higher than that of the current move The first dashed line indicates the maximum acceleration of the first CMOVE This v...
Page 219: ...in its limit In this case the DSM calculates that to reach a velocity of 24 000 in 131 seconds an acceleration of 183 would be required The Example 1 solid line velocity profile shows the higher 183 acceleration rate used by the DSM The dashed line profile in that drawing indicates the desired programmed acceleration rate and velocity profile that could not be attained Figure 86 Maximum Accelerati...
Page 220: ...tion portion of the profile The final move a PMOVE takes over from the third CMOVE at the deceleration midpoint distance 720 000 user units from the final position The third CMOVE as it approaches its final position will automatically decelerate to the PMOVE s velocity of 12 000 The dashed lines in the Example 2 drawing separate the four moves To calculate the distances of the second and third CMO...
Page 221: ... 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 The linear move accelerates to the programmed velocity at the programmed rate Feedhold is applied at the dashed line so velocity decreases at ...
Page 222: ... be effective 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 All future move velocities will be affected by the feedrate change...
Page 223: ...s been determined that after axis 1 has moved to a position of 30 000 user units to point B axis 2 could then start and still clear the obstacle The program segment could be programmed as follows 10 CMOVE AXIS1 30000 INCR LINEAR 20 SYNC PMOVE AXIS1 50000 INCR LINEAR PMOVE AXIS2 120000 INCR LINEAR When Block 10 is executed axis 1 begins its 30 000 unit move while axis 2 pauses When the axis 1 move ...
Page 224: ...e of the special purpose parameters are automatically written by the DSM314 For example P224 is automatically updated when Position Strobe 1 on Axis 1 occurs The following table describes the function of the special purpose parameters Table 49 Special Purpose Parameters Parameter Number Special Purpose Function Axis Units 216 223 Reserved 224 Position Strobe 1 Axis 1 user units 225 Position Strobe...
Page 225: ...3 commands that occurs within the DSM314 Note that a JUMP command clears preprocessing and forces the program commands at the jump target to be processed Below is an example of a motion program using Parameters The values of Parameters 1 5 are pre loaded with a COMREQ command from the host controller at least two program blocks before usage Remember that program blocks are not the same as sections...
Page 226: ...iven to its mass or the forces acting on it The following table includes transformations of the basic linear equations as applied to the acceleration portion of motion profiles Use these formulae to calculate the velocity and acceleration for the acceleration portions of the move Table 50 Linear Equation Transformations Given Solve For A X A V A t V t V X X t Acceleration V t V2 2X 2X t2 Velocity ...
Page 227: ...onds and the maximum motor velocity translated through the gearing is 15 inches per second Using the rule of thumb for trapezoidal moves divide the move s time into thirds ta 1 sec ts 1 sec and td 1 sec You can also subdivide the 16 inch move into three distances The slew Xs section of an equally divided trapezoidal velocity profile represents of the distance moved and the acceleration Xa and dece...
Page 228: ...on calculation is simple to do if the linear calculation is accomplished first The APM and DSM motion controllers use 100 jerk limiting To convert a linear acceleration to 100 jerk limited acceleration you either double the Acceleration value 2 A or double the time used for acceleration 2ta Using S Curve acceleration at the same acceleration rate A as linear acceleration will require twice the tim...
Page 229: ...ates the syntactic rules the editor cannot recognize the code and generates syntax errors Syntax errors will attempt to describe the error source Semantic Errors This section describes parse errors reported by the motion parser and their typical causes M200 Undefined identifier Text string is not a recognized motion program variable or keyword M201 Parameter register must be in range of P000 P255 ...
Page 230: ...cified a position outside the valid range M224 Dwell must be in range 0 60000 A DWELL command has specified a dwell outside the valid range M225 Block number must be in range 1 65535 A motion program or subroutine has attempted to define a block number outside the valid range M230 Must specify an axis in a multi axis program ACCEL VELOC CMOVE PMOVE DWELL and WAIT commands in a multi axis program o...
Page 231: ...ith an ENDPROG statement when the end of file was encountered M243 Subroutine must be in range 1 40 A SUBROUTINE statement is attempting to define a subroutine number that is outside the valid range M244 Attempt to redefine subroutine Subroutine already defined A SUBROUTINE statement is attempting to define a program using a subroutine number that is already defined M245 End subroutine definition ...
Page 232: ...ion that is invalid for the destination module M293 Maximum error count exceeded The motion program parser reports up to 30 errors when parsing a motion program block When that limit is reached this error is issued and no more errors are reported M300 Parse directives must precede any executable statements A pragma directive must be issued at the beginning of the motion program block i e preceding...
Page 233: ... the last line of the program just before the ENDPROG statement Notice that AXIS1 is found on this line Since PROGRAM 2 is a single axis program the use of axis numbers within the program is not allowed so an error was generated In the above example the error message was double clicked as indicated by the fact that it is highlighted in reverse video When this is done the cursor jumps to the place ...
Page 234: ... will immediately begin following the selected Master Source unless a Follower Enable Trigger input has been selected If a Follower Enable Trigger input has been selected then the Enable Follower Q bit must be ON and an OFF to ON transition of the trigger input must occur The external trigger input CTL01 CTL032 is selected in the configuration software The DSM314 always operates the follower axis ...
Page 235: ...nal source as shown in this example 8 2 1 Example 1 Following Axis 3 Actual Position Master Input In this example a graph of velocity v versus time t shows the velocities of the master input Actual Position 3 and the slave axis that is following the master The DSM314 is configured with Follower Master Source 1 Actual Position 3 and the Select Master Source Q bit is OFF The A B ratio is 1 1 The vel...
Page 236: ...o at any time even while following However an invalid ratio will generate a status error and be ignored An invalid ratio is a ratio with B equal to or less than zero or A B magnitude greater than 32 1 or less than 1 10 000 When following with a non 1 1 ratio the velocity profile of the master and follower will look somewhat different Horizontal lines indicating constant velocity and slanted lines ...
Page 237: ...Manual Chapter 8 GFK 1742F Jan 2020 Follower Motion 226 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 ...
Page 238: ...ve at the limit velocity multiplied by the A B ratio The Velocity Limit I bit is set and a status error is generated to indicate that the slave axis is no longer locked to the master input positioning The slave axis has essentially fallen behind the master input 8 5 1 Example 5 Velocity Clamping The Velocity Limit is set to 100 000 in this example Thus the slave axis velocity is clamped at 100 000...
Page 239: ...as an enable trigger for the follower axis If a CTL bit source is configured as an external faceplate input that input can be used to start the follower When no input is selected the follower is enabled and disabled directly by the Enable Follower Q bit When an input is selected for the Enable Trigger and the Enable Follower Q bit is set the next positive transition of the defined input will insta...
Page 240: ...Programs should not be active during a Follower Registration Move 8 10 Follower Axis Acceleration Ramp Control For applications where the Follower is enabled after the Master command is already up to speed the Follower Ramp feature can be used to apply a controlled acceleration rate to bring the follower axis up to speed This may be done without losing any Master command counts from the point at w...
Page 241: ... distance make up time 0 By default the superimposed motion profile that is automatically generated by the follower ramp function with non zero makeup time is trapezoidal using the Follower Ramp Acceleration and a distance derived from the active Ramp Makeup Time The value of the Velocity Limit may affect functionality differently depending on the relationships of the master source velocity The fo...
Page 242: ...Limit value Accumulated counts may be lost and the makeup move will not complete The Follower Ramp Active I bit indication is turned on while the ramp control is in effect for both the ramp up make up and ramp down The Follower Enabled and Follower Ramp Active I bits can be monitored by the host controller to determine which part of the follower ramp up ramp down cycle is active The following figu...
Page 243: ...too high then the velocity is clamped and warning error code is set in the point C of the trajectory Figure 107 shows the velocity profile during the follower ramp cycle for this case Figure 103 Follower Ramp Up Ramp Down Cycle case with active velocity limit If the acceleration time sector BC of the trajectory in figure 107 exceeds 128 seconds then another warning error will be reported In this c...
Page 244: ...in parallel with Actual Position for Axis 4 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 The Master Source Configuration items are all set to Actual Position Axis 4 This is not a requirement However it does eliminate a source of error due to the master source select bi...
Page 245: ...iguration the Local Logic function cannot be run This is because the command generator for axis 4 is required for this configuration The Master Source Configuration items are all set to Commanded Position Axis 4 This is not a requirement However it does eliminate a source of error due to the master source select bit being set incorrectly Figure 105 3 Axis Analog Follower Parallel Structure Source ...
Page 246: ...n 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 Figure 106 2 Axis Digital Follower Parallel Structure Source Commanded or Actual Position 3 ...
Page 247: ...run from the same commanded path Note that Axis 1 is configured with Follower Control Loop Disabled This configuration does not allow for load sharing between axes that are tightly coupled 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 Figure 107 2 Axis Digital Follower ...
Page 248: ...314 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 Figure 108 Four Axis Analog Follower Parallel Structure Src Cmd Pos 1 Cmd Pos 3 ...
Page 249: ...User Manual Chapter 8 GFK 1742F Jan 2020 Follower Motion 238 Follower Control Loop Block Diagram Figure 109 Follower Axis Control Loop Block Diagram ...
Page 250: ...ternally commanded motion 9 1 Example 1 Follower Motion Combined with Jog In this example the Enable Follower Q bit is set causing the slave axis to follow the master input While the slave axis is following the Jog Plus Q bit is set The following axis accelerates from its master s velocity to its master s velocity added to the current Jog Velocity This acceleration will be just as if the axis was ...
Page 251: ...nue The next Move will take place when the commanded distance for the previous move has completed The In Zone I bit will always indicate the true in zone condition The active commanded position updated and used by the stored motion program is referred to as Program Command Position Each time a program is selected for execution this position register is initialized in one of the two ways listed bel...
Page 252: ...words counts coming from the master source affect only the Actual Position and Actual Velocity If there are no internally generated move commands the Commanded Velocity will be 0 and the Program Command Position will not change Table 51 Command Input Effect on Position Registers COMMAND Input Follower Enabled Follower Registers Affected by input Master Commands from selected Master source No None ...
Page 253: ...Actual Position AI status word is updated Commanded Position AI status word is updated Actual Position Position Error Program Command Position is updated but not used Actual Velocity AI status word is updated Commanded Velocity AI status word is updated by Internal command velocity only Yes Find Home is not allowed Actual Position AI status word is updated by Internal command Master command Comman...
Page 254: ...ot allowed if the Moving I bit is ON Execute Program No Actual Position AI status word is NOT affected Program Command Position is set to Actual Position Position Error Yes Actual Position AI status word is NOT affected Program Command Position is set to Reference Position 0 Program moves will execute in a continuous fashion such that incremental PMOVE or CMOVE commands past the limits will roll o...
Page 255: ...lower Enable Trigger configuration parameter 3 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 Note that the Accel Ramp and Make Up Time feature could be used to allow the follower axis to catch up to the master axis if required 4 Once the ...
Page 256: ... 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 In this case the Moving and In Zone I bit indications could be used to indicate when step 1 is complete This method is possible because the Program Command Position is set to the Actual Position Position Error when Execute Motion Program is commanded w...
Page 257: ...SM local logic function provides the user the ability to execute basic logic and mathematical functions within the DSM module Additionally local logic permits fast read write access to local DSM digital and analog I O Consult Chapters 13 and 14 for a complete listing of available I O The local logic program execution method guarantees the local logic program runs at the position loop sample rate a...
Page 258: ...gram executes to completion each position loop sample period The motion program statements execute until the controlled motion achieves the desired result For additional details concerning motion program statement execution consult chapter 7 Table 53 Local Logic Motion Program Execution Example Position Loop Sample Number Active Motion Program Statement Local Logic Program Statements n CMOVE ABS S...
Page 259: ...1_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 END_IF n 3 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_Output...
Page 260: ... Reference Manual GFK 2222 or the Series 90 30 20 Micro PLC CPU Instruction Set Reference Manual GFK 0467 This is not true with local logic programs Local Logic programs always execute to completion every position loop sample period When using host controller logic the added latency associated with the host controller sweep times for time critical logic operations that are tightly coupled to motio...
Page 261: ... how to create or open a project For details on getting started with Machine Edition refer to Machine Edition Configuration in chapter 2 For details on using VersaPro refer to Appendix H 1 To create a local logic program open your project in Machine Edition 2 In the Project tab of the Navigator window right click the Target containing the DSM314 choose Add Component and then choose Motion Figure 1...
Page 262: ...gramming environment includes a window that contains the Local Logic variables The Local Logic Variable table LLVT allows you to drag and drop or cut and paste the text from the table into a program Reference Figure 123 To open the LLVT in Machine Edition right click the Local Logic folder in the Navigator and choose Local Logic Variable Table Figure 117 To open the LLVT in VersaPro select Local L...
Page 263: ...umns The columns are as follows Name This column contains the variable name that is valid to be used within a local logic program Type This is the data type for this variable For example 32 Bits means that this variable is a 32 bit variable Group This is the group this variable is placed in For example FacePlate I O means that this variable refers to a point on the module faceplate Description Thi...
Page 264: ...Logic and Motion programs are stored to a dedicated memory space inside the host controller CPU The DSM314 then requests these programs by name from the CPU during configuration The link to the programs the DSM314 requests from the CPU is contained in the Hardware Configuration for the host controller rack The benefit is that programs are not module specific but are rack slot specific Thus if ther...
Page 265: ... 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 For details on how to do this see Section Machine Edition Configuration Starting VersaPro The resulting display is like the figure below Figure 120 Machine Edition New Local Logic Program ...
Page 266: ...am that does not represent a fully functional application because it is intended for instructional purposes only The example program is a simple timer application that relies on the digital servos position loop sample period 2 mSec as a time base See Chapter 1 for position loop sample periods for other configurations Sample Local Logic Program Once you type the above program into the text editor t...
Page 267: ...User Manual Chapter 10 GFK 1742F Jan 2020 Introduction to Local Logic Programming 256 Figure 121 Local Logic LLExample ...
Page 268: ... in the Feedback Zone If the Feedback Zone is not already open starting the Validate process opens it In the following example the line First_Local_Logic_Sweep is incorrectly typed as First_Local_Logic_Swee Figure 122 Tip To cycle through the warning and error messages in the Feedback Zone press F4 To go to the line that caused the error in the local logic program double click the error descriptio...
Page 269: ... or Series 90 30 Release 10 0 or later firmware and an appropriate power supply for your application Add a DSM314 to your rack configuration This operation adds the DSM314 to the rack and opens the DSM314 configuration screens which allow you to customize the DSM314 to your particular application Note For details concerning the DSM314 configuration settings refer to chapter 4 2 On the Settings tab...
Page 270: ... data A Select the Axis 1 tab and input 18 in Return Data 1 Mode This tells the DSM that you want to return parameter registers In Return Data 1 Offset enter a 1 This tells the DSM to return parameter P001 The LLExample program returns P001 P003 and P004 However the grouping is better if you return P003 and P004 in Axis 2 Therefore you can either leave Return Data 2 Mode and Return Data 2 Offset a...
Page 271: ... 1 Mode This tells the DSM that you want to return parameter registers In Return Data 1 Offset enter a 3 This tells the DSM to return parameter P003 C On the Axis 2 tab enter in 18 in Return Data 2 Mode and 4 in Return Data 2 Offset to tell the DSM to return P004 Note 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 12...
Page 272: ...this access the CTL Bits tab in hardware configuration Select CTL01 Config and choose Local_Logic_Controlled The resulting CTL01 tab is shown in Figure 126 Figure 126 Hardware Configuration DSM314 CTL Bits Tab 5 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...
Page 273: ...rt the local logic program can be downloaded stored to the Host Controller CPU To store the current folder to the Host Controller choose Target from the Menu Bar and Go Online with Target from the submenu Once connected choose Target from the Menu Bar and Download Target to PLC from the submenu The store operation begins the folder transfer process from the programmer to the Host Controller CPU Wh...
Page 274: ...dicate any errors or that it has successfully downloaded the program in the Feedback Zone window When the programs are downloaded to the host controller you can interact with the DSM to verify that the Local Logic program is working correctly The Reference View Table RVT display can be used for this operation To create an RVT right click on the Reference View Tables folder in the Navigator window ...
Page 275: ...nt the local logic program is active and running within the DSM Note The LLExample sample program is a simple counter application The user can use the RVT to look at the passed parameters to verify that the program is active and functioning correctly From the RVT you can see that 1 Minute 8 Seconds have passed since Local Logic was started see AI0043 and AI0041 respectively Additionally 68370 mill...
Page 276: ...ery similar to the Local Logic editor The editor allows you to easily create edit store and download Motion programs 10 9 1 Creating a Motion Program To create a Motion program in Machine Edition expand the Motion Program folder in the Navigator then right click the Motion Blocks folder and choose New The new Motion block appears in the Navigator Figure 131 Creating a Motion Program in Machine Edi...
Page 277: ...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 The example is linked with the Local Logic program entered in Creating a Local Logic Program The Local Logic program from page 254 is repeated for reference ...
Page 278: ...unts ratio must be within the range of 8 1 to 1 32 For example if there is 1 000 inch of travel for 8192 feedback counts a 1000 8192 User Units Counts ratio sets 1 User Unit equal to 0 001 inch To set the User Units to Counts ratio the first piece of information required is the number of counts per revolution of the feedback device This example uses a Beta 0 5 motor The Beta 0 5 has a feedback res...
Page 279: ...vely 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 The equations to calculate the parameters are shown below Figure 133 Motion Program Editor Applying the numbers from this example to the triangular velocity equations gives the following ...
Page 280: ...User Manual Chapter 10 GFK 1742F Jan 2020 Introduction to Local Logic Programming 269 Given You are now ready to write a motion program The code for the sample program is as follows ...
Page 281: ...get from the main menu and then selecting Validate Target The information window displays the output of the syntax check operation If the sample program has been entered correctly you should receive a message indicating zero errors and zero warnings If the information window indicates a syntax error has occurred press F4 to cycle through the warnings and errors While the information window has foc...
Page 282: ...er to better illustrate the link between hardware configuration and the Motion program name in the DSM314 hardware configuration The first field you need to edit is the Motion Program Block Name on the Settings tab This field identifies to the DSM314 the Motion program name to be downloaded to the module Type the name of the example program MPExample into this field Note This example has only one ...
Page 283: ...irection and high position limit These are optional Consult chapter 4 for information on these configuration fields To add these values type the following into the fields on the Axis 1 tab 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 Co...
Page 284: ...00 Note Based upon application mechanics Refer to Chapter 4 and Appendix D Velocity FeedForward 9000 Note Based upon application mechanics Refer to Chapter 4 and Appendix D The resulting display should be similar to Figure 10 20 Figure 137 Hardware Configuration Tuning 1 Tab To save your work select the File from the main menu and then select Save All from the file menu The link between the exampl...
Page 285: ...ule and allows it to execute the desired motion program To perform this function open the RVT RVTExample created in the Local Logic section and enter 0023 hex in AQ offset 1 This enters the Set Position command Then enter 0 in AQ offset 2 Refer to Chapter 5 for additional information concerning entering AQ commands The resulting display should be similar to the following figure Figure 138 RVTExamp...
Page 286: ...itional statements permit conditional local logic code execution Conditional execution is based on the value of a constant or variable or the result of a relational or bitwise logical expression Assignment statements use the operator The following example multiplies two parameter registers and assigns the result to another parameter register P001 P210 P107 Note Assignment statements require a semi...
Page 287: ...enter the following Torque_Limit_1 5000 Sets Torque Limit Axis 1 to 50 or in hexadecimal form Torque_Limit_1 16 1388 Set Torque Limit Axis 1 to 50 When variables are assigned a numeric value they are automatically limit checked to a signed 32 bit value For example the following values represent the largest positive and negative values that are acceptable P001 16 7FFFFFFF P001 2147483647 or in deci...
Page 288: ...tors An introduction to each operator follows A more detailed discussion of the operators is contained in Chapter 12 11 4 1 Arithmetic Operators Local Logic provides the user with the ability to perform basic arithmetic operations The language supports 32 bit integer operations and limited use of 64 32 bit operations where appropriate to maintain precision All arithmetic functions except the ABS f...
Page 289: ...ble Block_1 equals 3 If the Block_1 value is not equal to 3 then the expression evaluates to false and program execution continues after the END_IF program statement Example IF Block_1 3 THEN Torque_Limit_1 10000 Set Torque Limit 100 Block 3 END_IF Complex relations may be solved by nesting IF statements For example to set Axis 1 torque limit Torque_Limit_1 to 10000 100 i e same scaling as in AQ c...
Page 290: ...Specifically the statements perform the following operations The first statement uses 16 0000A005 as a mask The mask corresponds to a binary value as follows 16 0000A005 2 0000 0000 0000 0000 1010 0000 0000 0101 Thus the statement P001 CTL_1_to_32 BWAND 16 0000A005 isolates bits 1 3 14 and 16 from CTL_1_to_32 and places the result in P001 The next statement performs a bitwise test to see if any of...
Page 291: ...ct and perform operation between programs These signaling constructs are important for the programming examples that follow For additional information on the host controller to motion program communications and program interactions the reader should consult chapter 5 and Chapter 7 11 6 Local Logic Programming Examples The preceding sections introduced the base local logic language constructs To il...
Page 292: ...Chapter 11 GFK 1742F Jan 2020 Local Logic Tutorial 281 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 ...
Page 293: ... control variable may be written multiple times in the same sweep in the following program However the final value written in a given sweep is the active value since variables are updated at the conclusion of Local Logic execution Refer to Chapters 12 and 13 for a detailed description of the Local Logic control variables and outputs 11 6 3 Programmable Limit Switch Program Example The following ex...
Page 294: ...his period This example uses digital servos which have 2 mSec position loop sample periods Therefore the counter will count in 2 mSec increments For other configurations consult Chapter 1 for the position loop sample periods Additionally Local Logic allows the program to write a variable multiple time within a program The last state that the variable is in at program completion is the one written ...
Page 295: ... 284 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 ...
Page 296: ... inside the window Actual Position 4000 but less than 5000 If the motor position is inside the aforementioned window the first strobe occurrence causes the current motor position to be captured within the strobe register The application is shown pictorially in Figure 141 Figure 141 Windowing Strobes Example Windowing Strobes Local Logic Program The motion program segment corresponding with the abo...
Page 297: ... decimal hexadecimal and binary constants The DSM treats all constants as 32 bit signed twos complement integer values Single underline characters i e 16 7fff_ffff may be inserted between digits to improve the readability of large numbers Decimal constants must be in the range of 2147483648 to 2147483647 Only integer values are supported therefore constants do not have a decimal point Thus as in a...
Page 298: ...ach variable has two attributes size and direction Local Logic variables range in size from 1 Bit Bit Operands to 64 bits All Local Logic parameter registers are one of the following types Double integer variables hold signed 32 bit values 2147483648 to 2147483647 There are 256 Parameter registers P000 P255 Long integer variables hold signed 64 bit values 9 22 x 1018 The long integer variables are...
Page 299: ...e a mathematical or bitwise logical operation on two operands an ABS function or a bitwise NOT operation Write only variables can not be the expression for an assignment operation Examples P032 Strobe1_Position_1 5000 This construct is okay P001 ABS Analog_Input1_1 This construct is okay Reset_Strobe1_1 BWNOT Strobe1_Flag_1 This construct is okay P040 2 11111010_1011000 This construct is okay P011...
Page 300: ...body of an IF statement subject to the total limit Each IF THEN statement must have an accompanying END_IF Examples IF P226 THEN This construct is okay IF CTL_1_to_32 BWAND 2 1010 THEN This construct is okay IF Strobe1_Level_1 TRUE THEN This construct is okay IF BWNOT P100 THEN This construct is okay IF BWNOT P001 P002 THEN This construct is ILLEGAL too many operations If statements may nest up to...
Page 301: ...are that one can enter a local logic program and inadvertently comment out the code that one wants to execute The common scenario that causes this to happen is as follows In the above code segment the end comment structure line shown in bold italic for illustrative purpose is incorrect because the asterisk in the close comment structure is absent The error causes the following line to be considere...
Page 302: ... the directive To turn ALL Local Logic warnings off issue the following command pragma errorsonly 1 or pragma errorsonly ON To turn warning messages back ON either delete the directive or change the directive as follows pragma errorsonly 0 or pragma errorsonly OFF 12 1 7 Local Logic Keywords and Operators The following keywords and operators have special significance in the Local Logic programming...
Page 303: ...ameters 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 between the host controller command and the Local Logic command Therefore either the host controller or Local Logic can control them i e t...
Page 304: ...e_Reset1_3 is turned ON and Follower_Ratio_A_1 is set to 20 12 4 Local Logic Arithmetic Operators The Local Logic language contains familiar constructs to perform basic signed integer arithmetic computations The language supports 32 bit arithmetic in the Local Logic program and limited use of 64 32 bit arithmetic All operations require two operands except for the ABS function which returns the abs...
Page 305: ... value of 16 0095 which is a status only error 12 4 2 Operator Subtracts source2 from source1 and stores the result in destination destination source1 source2 The operator syntax has these parts Overflow Set if the result of a subtraction is greater than 2 147 483 647 or less than 2 147 483 648 The Module_Status_Code is set to a value of 16 0095 which is a status only error Remarks The operator ma...
Page 306: ... are stored Any excess is truncated The second syntax may be used for multiplication operations where the result will fall outside the range of 2 billion 12 4 4 Operator MOD The MOD operator returns the remainder resulting from the signed integer division of source1 by source2 A double precision 64 bit parameter register may be used as the numerator Syntax 1 destination source1 MOD source2 Syntax ...
Page 307: ...e of the variable or constant parameter Syntax destination ABS parameter The ABS operator syntax has these parts Overflow Set if the operand has a value of 2 147 483 648 The Module_Status_Code is set to a value of 16 0096 which is a status only error 12 5 Local Logic Bitwise Logical Operators All logical operations are performed on a bit by bit basis for example the result of a BWAND operation is ...
Page 308: ...HEN 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 Syntax 1 destination source1 BWOR source2 Syntax 2 IF source1 BWOR source2 THEN The BWOR operator syntax has these parts Remarks Syntax 1 is used for assignment syntax 2 is used in a c...
Page 309: ...e1 BWXOR source2 THEN The BWXOR operator syntax has these parts Remarks Syntax 1 is used for assignment syntax 2 is used in a conditional evaluation 12 5 4 Operator BWNOT The BWNOT operator returns the one s complement of the source parameter Syntax 1 destination BWNOT source Syntax 2 IF BWNOT source THEN The BWNOT operator syntax has these parts Remarks Syntax 1 is used for assignment syntax 2 is...
Page 310: ...on IF source1 ComparisonOp source2 THEN Comparison operators have these parts Remarks The following table contains a list of the comparison operators and the conditions that determine whether the result evaluates to True or False Table 59 Local Logic Comparison Operators Relational Operator True if False if Less than source1 source2 source1 source2 Less than or equal to source1 source2 source1 sou...
Page 311: ...type of overflow and the Module Error Present I bit local logic variable Module_Error_Present is set The Module Status Code AI word and the Module Error Present I bit are not set until the current Local Logic sweep has finished executing In contrast the Overflow variable is set immediately following an instruction which causes an overflow The Local Logic program may clear the Overflow variable by ...
Page 312: ...l Logic Fast Stop errors see Table 61 and all Digital Outputs Control bits Jog Feedhold Strobe Resets Follower Enable and CTL bits that are under the control of Local Logic are disabled Local Logic execution resumes from the start when the user clears the error via the error clear Q bit 12 8 Local Logic Error Messages 12 8 1 Local Logic Build Error Messages The local logic program build process co...
Page 313: ... several syntax error messages To avoid confusion when debugging Local Logic programs with syntax errors correct the first error and rebuild the program to refresh the list of errors before proceeding 12 8 3 Local Logic Parse Errors Parse errors occur when the program syntax is correct but there is a semantic problem For example it is invalid to assign a value to a double precision variable except...
Page 314: ...09 Double Precision register must be in range D00 D07 This error is generated when the program specifies an undefined double precision register for example D08 P220 Hexadecimal constants must be in range of 16 0 16 FFFFFFFF The program has defined a hexadecimal constant that cannot be represented in 32 bits P221 Binary constants must be in range of 0 to 2 32 1 The program has defined a binary cons...
Page 315: ...of range in direct memory access reference A direct memory variable has specified an invalid offset P291 Invalid direct memory address variable An invalid direct memory variable has been specified P292 Direct memory access var requires subscript The program has referenced a direct memory variable without specifying an offset P293 Maximum error count exceeded The Local Logic parser will report a ma...
Page 316: ...al GFK 2222 or Series 90 30 CPU Reference Manual GFK 0467 P481 Obsolete syntax function parameter requires parentheses The parameter of an ABS function call is not enclosed in parentheses P482 Unexpected end of program unclosed comment A comment initiated with the character pair was not closed when the end of program was encountered P483 Nested comments This warning is generated if a Local Logic p...
Page 317: ...ror Local Logic Program Scan Error Module F0AA System Error Local Logic Program Reserved Class Error Module F0AB System Error Local Logic Program Invalid Parameter Register Module F0AC System Error Local Logic Program Invalid Double Precision Register Module F0AD System Error Local Logic Program Digital Output Error Module F0AE System Error Local Logic Program CTL Bit Error Module F0B0 System Erro...
Page 318: ...mmanded Module 92 Fast Stop Local Logic Execution Time Limit Exceeded Module 93 Fast Stop Local Logic Divide By Zero Module 94 Fast Stop Local Logic Divide Overflow Module 95 Status Only Local Logic Add Subtract Overflow Module 96 Status Only Local Logic Absolute value ABS overflow Module 97 Status Only Local Logic Execution Time Limit Warning Module 98 Status Only Local Logic Execute on First Swe...
Page 319: ...ble Attribute The attribute for each Local Logic variable is listed in Table 65 through Table 70 Variables can be Read Only Write Only or Read Write The Parser reports an error if the user attempts to write to a Read Only variable or read from a Write Only variable Variable Size Local Logic variables range in size from 1 bit Bit Operands to 64 Bits for the Double Precision Dxx registers Refer to T...
Page 320: ...ome variables For example the code below initializes some parameter registers and Control variables in the first sweep using the First_Local_Logic_Sweep variable IF First_Local_Logic_Sweep THEN If it s the First execution sweep then P001 0 Initialize P001 to 0 P015 1000 Initialize P015 to 1000 Velocity_Loop_Gain_1 20 Set the Velocity Loop Gain for Axis 1 to 20 END_IF 13 2 2 Overflow Variable The O...
Page 321: ... Divide Modulus operation on the result Thus the 64 bit registers may be used under the following circumstances 1 As the Destination register for a multiply operation 2 As the Dividend numerator in a Divide Modulus operation The Parser will flag an error if it is used in other operations Example code for the use of the Dxx registers is shown below D01 P001 2147483647 Perform a Multiply operation a...
Page 322: ... the correct Byte location in the 8192 Byte buffer Therefore the Data_Table_Ptr variable size is 13 bits 0 8191 allowed range The Pointer is automatically incremented when a value is read from or written to the Circular Buffer The amount by which the pointer is incremented depends on the size of the variable accessed The Data_Table_Ptr is automatically initialized to 0 when Local Logic starts befo...
Page 323: ...al Logic program has a statement that writes to CTL16 e g CTL16 1 then CTL16 must be configured as Local Logic Controlled in Hardware Configuration CTL01 through CTL32 and the Motion program Block Numbers variables Block_1 Block_2 Block_3 Block_4 can be used to synchronize the Motion Program and the Local Logic program Table 65 Axis 1 Variables Local Logic Variable Name Attribute Size FacePlate I ...
Page 324: ..._1 Read Only 32 Bits UnAdjusted_Strobe1_Position_Cts_1 Read Only 32 Bits UnAdjusted_Strobe2_Position_Cts_1 Read Only 32 Bits Axis_OK_1 Read Only Bit Operand Position_Valid_1 Read Only Bit Operand Strobe1_Flag_1 Read Only Bit Operand Strobe2_Flag_1 Read Only Bit Operand Drive_Enabled_1 Read Only Bit Operand Program_Active_1 Read Only Bit Operand Moving_1 Read Only Bit Operand In_Zone_1 Read Only Bi...
Page 325: ...tio_A_2 Write Only Signed 16 Bits Follower_Ratio_B_2 Write Only Signed 16 Bits Position_Increment_Cts_2 2 Write Only Signed 16 Bits Reset_Strobe1_2 Write Only Bit Operand Reset_Strobe2_2 Write Only Bit Operand Enable_Follower_2 Write Only Bit Operand Jog_Plus_2 Write Only Bit Operand Jog_Minus_2 Write Only Bit Operand FeedHold_2 Write Only Bit Operand Status Variables Error_Code_2 Read Only Unsign...
Page 326: ...y Bit Operand Program_Active_2 Read Only Bit Operand Moving_2 Read Only Bit Operand In_Zone_2 Read Only Bit Operand Position_Error_Limit_2 Read Only Bit Operand Torque_Limited_2 Read Only Bit Operand Servo_Ready_2 Read Only Bit Operand Follower_Enabled_2 Read Only Bit Operand Follower_Velocity_Limit_2 Read Only Bit Operand Follower_Ramp_Active_2 Read Only Bit Operand Note 1 These Digital Outputs m...
Page 327: ...ad Only Signed 16 Bits Control Variables Reset_Strobe1_3 Write Only Bit Operand Reset_Strobe2_3 Write Only Bit Operand Status Variables Error_Code_3 Read Only Unsigned 16 Bits Actual_Position_3 Read Only 32 Bits Strobe1_Position_3 Read Only 32 Bits Strobe2_Position_3 Read Only 32 Bits Actual_Velocity_3 Read Only 32 Bits Axis_OK_3 Read Only Bit Operand Position_Valid_3 Read Only Bit Operand Strobe1...
Page 328: ...le 69 Global Variables Local Logic Variable Name Attribute Size Overflow 1 Read Write Bit Operand System_Halt 1 Write Only Bit Operand Data_Table_Ptr 2 Read Write 13 Bits Data_Table_sint 2 Read Write Signed 8 Bits Data_Table_usint 2 Read Write Unsigned 8 Bits Data_Table_int 2 Read Write Signed 16 Bits Data_Table_uint 2 Read Write Unsigned 16 Bits Data_Table_dint 2 Read Write 32 Bits Module_Error_P...
Page 329: ...rite Bit Operand CTL16 Read Write Bit Operand CTL17 Read Write Bit Operand CTL18 Read Write Bit Operand CTL19 Read Write Bit Operand CTL20 Read Write Bit Operand CTL21 Read Write Bit Operand CTL22 Read Write Bit Operand CTL23 Read Write Bit Operand CTL24 Read Write Bit Operand CTL25 Read Write Bit Operand CTL26 Read Write Bit Operand CTL27 Read Write Bit Operand CTL28 Read Write Bit Operand CTL29 ...
Page 330: ... 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 Selecting this tab results in a display similar to the one shown in Figure 142 Figure 142 CTL Bits Configuration The configuration screen allows the user to select the CTL bit configuration that corresponds with the Motion Progra...
Page 331: ...cal Logic Read Local Logic Write SNAP1 Write SNAP1 Read CTL01 CTL08 X Config Config X Config Config X CTL09 CTL12 Config Config X Config Config CTL13 CTL16 X Config Config X Config Config CTL17 CTL24 Config Config X Config Config CTL25 CTL32 X X 1 Series 90 30 only feature SNAP is equivalent to Fast Backplane Status Access FSBA See GFK 0467L or later for details The figure below illustrates the so...
Page 332: ... Axis 4 Strobe1 Level Axis1 Input Strobe1 Level Axis 1 Strobe2 Level Axis1 Input Strobe 2 Level Axis 1 Strobe1 Level Axis2 Input Strobe 1 Level Axis 2 Strobe2 Level Axis2 Input Strobe 2 Level Axis2 Strobe1 Level Axis3 Input Strobe 1 Level Axis 3 Strobe2 Level Axis3 Input Strobe 2 Level Axis 3 IN5_D Faceplate 5v Input Axis 4 IN6_D Faceplate 5v Input Axis 4 Local Logic Write CTL bit under Local Logi...
Page 333: ... 20 Micro PLC CPU Instruction Set Reference Manual GFK 0467L or later Table 73 FBSA Bit CTL Bit Assignments FBSA Read CTL01 CTL08 CTL01 CTL08 each have an individually configurable source that includes Local Logic or any DSM faceplate input The bits are always readable as PLC I bits and FBSA inputs FBSA Write CTL01 CTL24 Configurable FBSA Write Bits 1 4 can be configured as the source for any of t...
Page 334: ...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 Faceplate 24v SSR Output Axis 2 OUT3_B Faceplate 5v Output Axis 2 OUT1_C Faceplate 24v SSR Output Axis 3 OUT3_C Faceplate 5v Output Axis 3 OUT1_D Faceplate 24v SSR Output Axis 4 OUT3_D Faceplate 5v Output Axis 4 ...
Page 335: ...ically wears out 15 1 Electronic CAM Overview Electronic CAMs are used in the machine industry to perform complex motions that require tight coordination between axes There are many examples of applications that fit these requirements Some examples are a simple rotary knife application shown in Figure 145 and Figure 146 In this application the conveyor belt position serves as the master position w...
Page 336: ...nd 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 In this example the bottles have a curved shape Thus the fill rate must be varied to account for this shape Figure 147 Filling Application Position to Position Table Figure 148 Filling Application ...
Page 337: ...e Offset Link Arm rolls on the Master Cam as the Master Cam rotates The Cam Follower either pushes up or pulls down on the Offset Link Arm depending on the position of the Master Cam The Lever Arm which is coupled to the Offset Link Arm moves up and down in turn pivoting on the Fulcrum as the Offset Link Arm moves Besides the Master Cam shape additional parameters that affect slave motion are the ...
Page 338: ...match the User Units Counts ratio specified for the corresponding axes in Hardware Configuration Also the maximum and minimum position values for the slave and master axes must lie within the High Low position limits specified for the corresponding axes in Hardware Configuration Linear Cyclic CAM A Linear Cyclic CAM has a profile that keeps repeating until an event causes it to exit Furthermore th...
Page 339: ... profile The master High Position Limit must be equal to the Last Master Position 1 in user units This is because a cyclic profile s first and last point are the same on the physical device Figure 150 Linear Cyclic CAM Circular Cyclic CAM A Circular Cyclic CAM has a profile that keeps repeating until an event causes it to exit Furthermore a Circular Cyclic CAM has different numerical start and end...
Page 340: ...and last point are the same on the physical device for example 0 and 360 on a circular knife 3 For a Circular Cyclic CAM both the master axis and the slave axis rolls over at the profile s end points The High and Low position limits for the slave axis are set in Hardware Config as follows If the minimum slave position is the profile s first point and the maximum slave position is the last point se...
Page 341: ...file is defined with a minimum number of actual data points After these points are defined they are grouped into sectors a profile is composed of one or more sectors For each sector you specify the curve fit order 1 2 or 3 The higher the order the smoother the curve fit The curve fit order is the order of the polynomial curves used to define the regions of the sector not specified by user defined ...
Page 342: ...r follows a quadratic 2nd order sector no action is taken to smooth the transition This type of transition is not recommended if it is avoidable as it may result in drastic velocity or acceleration changes on the controlled servo 2nd order to 2nd order When a quadratic 2nd order sector follows another quadratic 2nd order sector the polynomial coefficients for the first segment of the second quadra...
Page 343: ...t the first point End Boundary The slope at the end point of the profile is calculated by temporarily fitting a polynomial curve to the last four points 3rd order sector and calculating the slope of the temporary polynomial at the end point 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 in...
Page 344: ...uates to True the Cam exits at the end of the current cycle Note that this parameter must not be used for a Non Cyclic CAM profile Note 1 The CAM instruction is not permitted in a Multi Axis motion program 2 A CAM command counts as two instructions towards the 1000 instruction limit in a motion program 3 The Profile Names UDT_CAM_1 UDT_CAM_2 UDT_CAM_3 and UDT_CAM_4 are reserved for future usage Th...
Page 345: ...ion is prohibited For example if motion in the negative direction is prohibited then Vlim must be set to zero 15 3 5 CAM LOAD Command The CAM LOAD command is used to load the slave axis position into a parameter register A regular PMOVE command can then be used to move the slave axis to the loaded position The CAM LOAD command uses the CAM profile name actual master position and phase specified us...
Page 346: ...rameter register or as a constant Note that a phase value is active for all CAM instructions that follow it until modified by another CAM PHASE command The default Cam Phase value for a motion program is 0 Syntax CAM PHASE Phase Parameter Description Phase The CAM phase value specified as a constant or a Parameter Register Allowed Range for constant MaxPosn MaxPosn 1 15 3 7 CAM and MOVE Instructio...
Page 347: ...s per motor revolution Thus 8 192 feedback counts equals 1 inch of load travel Some users would find it easier to program motion in inches rather than in feedback counts In this case you could set up the scaling to program motion in thousandths of an inch To obtain this result set the User Units to Counts ratio to be 1000 to 8192 in the DSM hardware configuration Additional information on specifyi...
Page 348: ...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 Figure 153 Slave User Units Counts Hardware Configuration The Master User Units Counts value would be entered as shown in Figure 154 Figure 154 Windowing Strobes Example ...
Page 349: ...ed to reflect the new User Units values The following section discusses how the CAM editor rounds values when you are entering data This function is performed automatically and does not require you to perform or configure the editor in any special way Note that internally the DSM works in native feedback units and converts the native units to User Units automatically for the user The module perfor...
Page 350: ...nd enter the data into the CAM Editor as shown in Table 76 Table 76 CAM Example Data Scaled in 001 Inches Master Position 1000th of In Slave Position 1000th of In 0 in 0 thousandth of in 0 in 0 thousandth of in 075 in 75 thousandth of in 075 in 75 thousand of in 5 in 500 thousandth of in 25 in 250 thousandth of in 1 in 1000 thousandth of in 5 in 500 thousandth of in When you enter the data into th...
Page 351: ...n the Master Position and Slave Position with respect to User Units and Counts is shown in Table 77 Table 77 Relationship Between User Units and Counts in Scaling Example Master Position User Units Master Position Counts Slave Position User Units Slave Position Counts 0 0 0 0 74 951171875 614 75 01000000000001 1229 500 4096 250 4096 1000 8192 500 8192 This agrees with the functions that where auto...
Page 352: ...ot compatible and or The High Low Position Limit specified for the master axis in Hardware Config is not compatible with the profile Refer to the section on CAM Types for a detailed description on setting up the High Low Position Limits 2E Normal Stop CAM Slave Axis Config Error slave profile does not match slave axis configuration Axis The User Units Counts ratio specified for the slave axis in t...
Page 353: ...s The exit distance for a Non Cyclic CAM was greater than the modulus for the CAM 68 Status Only Correction Enabled Velocity Command Limited due to Velocity Limit violation or Position Error Limit violation Axis 68 Normal Stop Correction Disabled CAM velocity command above configured axis velocity limit Axis 6A Normal Stop CAM Position Error Limit Violation with Correction Disabled Axis 6B Status ...
Page 354: ...to position relationships between a master axis and a slave axis This ability is critical to many applications where very tight synchronization between axes is an absolute requirement The CAM Editor tool allows you to specify these position to position relationships called profiles graphically in tabular form or a combination of both These profiles are stored to the DSM module where they are acces...
Page 355: ...rograms 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 ...
Page 356: ...ows you to easily create edit store and download CAM blocks From the Target menu select Add Component to Target1 then select Motion This adds the Motion Target to the Navigator portion of the Logic Developer window If Motion programs or Local Logic programs have already been defined this step is not necessary Figure 158 Create CAM Program In the Navigator window right click CAM blocks and select N...
Page 357: ...me 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 The block name must begin with a letter or underscore symbol A block cannot have the same name as another block that exists in an open folder A CAM block name may contain up to twenty characters Figure 160 CAM Block Screen ...
Page 358: ... 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 Figure 161 Create New CAM Profile This inserts a new profile named Profile1 into the library as seen in the following figure Figure 162 New Profile Creation ...
Page 359: ...ile name in the Navigator window and choose Rename Profile from the short cut menu Type a name for the profile and press ENTER to finish The profile and any CAM profile links to it are renamed For this example the profile is renamed to ExCamProfile Refer to the on line help for additional information Step 4 Link the CAM Profile to the CAM Block Although there is more than one way to link a CAM pro...
Page 360: ...nd select the applicable task from the short cut menu The next step is to edit the end point the bottom point in the table for the Master and Slave In the Table Editor click in the end point s Master column and enter the value 50000 then click in the end point s Slave column and enter the value 0 NOTE As points are added or changed in the Table Editor the graph in the Graphical Editor will update ...
Page 361: ... are valid for a given data set For example since a requirement for a Linear Cyclic CAM is that the Slave Position start point and Slave Position end point are the same the editor only allows the Linear Cyclic CAM choice if these criteria is met Next insert a new point into the profile and then edit the point The point can be edited either in the profile table or graphically on the plot Insert the...
Page 362: ...tware s on line help Please refer to this source for additional information Step 6 Specify the CAM Type For this example the CAM will be Linear Cyclic as discussed previously Use the following procedure In the Project tab of the Navigator right click a CAM profile The short cut menu appears From the short cut menu choose Properties The Inspector opens showing the CAM profile s properties In the In...
Page 363: ...it order specified A unique polynomial is used to interpolate between each pair of adjacent user defined points Although the actual polynomial coefficients can be different for each segment the curve fit order is the same throughout the sector A sector is indicated in the CAM profile table as a bar spanning the user defined Master Position values included in the sector Initially all points defined...
Page 364: ...xis 2 will be the master Therefore there will be two motion programs The Axis 1 program for the slave will do some base initialization load the slave starting point for the given CAM profile and then execute the CAM command The Axis 2 program for the master source is a simple program that will initialize and then wait for the slave to be ready It will then execute a series of moves The program sto...
Page 365: ...ion that corresponds to Start of Table 130 CAM ExCamProfile 50000 ABS Execute CAM Statement 140 PMOVE 0 ABS S CURVE Move back to zero 150 ENDPROG Master Axis Program Program 2 AXIS2 VELOC 10000 ACCEL 10000 Set Velocity Set Acceleration 200 PMOVE 0 ABS S Curve Start at zero 210 WAIT CTL08 Master Waits Until Slave in Position 220 PMOVE 2500 ABS LINEAR Move 1st Master Point in Table 230 DWELL 5000 Wa...
Page 366: ...42F Jan 2020 Using the Electronic CAM Feature 355 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 ...
Page 367: ...opriate for your installation For general information on hardware configuration refer to chapter 4 Change the following Settings tab parameters to the values shown Axis 1 and Axis 2 modes are set to digital servo because this example uses the βis 0 5 digital servo Axis 1 Mode Digital Servo Axis 2 Mode Digital Servo Local Logic Block Name CamExLLPgm Cam Block Name CamBlk Local Logic Mode Enabled Th...
Page 368: ...L08 are used to signal the Motion Programs you must configure these CTL bits to be under 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 ...
Page 369: ...source To do this select the Axis 1 tab in hardware configuration Go to the CAM Master Source data entry field From the drop down box select Cmd Position 2 This will configure Axis 1 to use the Axis 2 commanded position as its CAM master source Figure 172 While in this tab change the Home Mode to Move and OverTravel Switch to Disabled Figure 172 CAM Slave Master Source Selection ...
Page 370: ...e strip is the same as the last point on the strip Therefore in 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 Figure 173 CAM Master Axis Scaling To finish the configuration go to the Tuning 1 and Tuning 2 tabs and enter the following values Motor Type 281 Position Error Limit 200 Optional see Configuration information...
Page 371: ...your application on actual machinery you must first verify that it is safe to do so This includes insuring that all devices are securely mounted all safety equipment is installed and operational and personnel in the area have been notified Failure to address all safety related issues could result in injury to personnel and damage to equipment Once the download operation is complete the module is r...
Page 372: ...ntroller If there are no errors you can then execute the motion programs 5 Execute Program 1 by toggling Q offset 2 bit The motor connected to Axis 1 should then begin to execute Motion Program 1 6 Execute Program 2 by toggling Q offset 3 bit The motor connected to Axis 2 should begin to execute Motion Program 2 7 The motors will execute the statements until they reach the first DWELL where you ca...
Page 373: ...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 Note that the commanded position for Axis 2 equals 47500 while the slave commanded position corresponds to the CAM table and has the value 11 000 ...
Page 374: ...VTExample Screen Second Dwell When the master axis reaches 50000 47500 2500 the CAM command will exit the slave axis will decelerate at the programmed acceleration rate and come to a halt and both axes will return to zero Details on the DSM314 s AI AQ I and Q memory are provided in Chapter 5 ...
Page 375: ...nd the Q Clear Error bit will not clear the error See the section System Status Errors later in this appendix for details A 1 2 Axis Error Code Words All axis specific motion related errors are reported in the proper Axis Error Code AI status word Whenever the Module Error Present I status bit is set all error words including Module Status Code should be checked for a reported error A new Axis Err...
Page 376: ...gnored 2 Stop Normal Errors Perform an internal abort of any current motion using current Jog Acceleration and Jog Acceleration Mode LINEAR or S CURVE The Drive Enabled and Axis Enabled I bit are each turned OFF after the configured Drive Disable Delay 3 Stop Fast Errors Instantly abort all motion by setting the servo velocity command to zero The Drive Enabled and Axis Enabled I bits are each turn...
Page 377: ...ol Module A Local Logic block name is specified in the configuration and the Hardware Configuration Output Bits Tab for the module does not have the required output configured for Local Logic control 0B System Error CTL bit written by Local Logic is not configured for Local Logic control Module A Local Logic block name is specified in the configuration and the Hardware Configuration CTL Bits Tab f...
Page 378: ...1 Status Only Program Acceleration too small defaulted to 32 cts sec sec Axis The acceleration programmed in the motion program currently executing is too small Default value 32 cts sec sec is being used in the motion program 22 Status Only Scaled Velocity greater than 1 million cts sec 1 million cts sec is used Axis Check scaling in configuration velocity in program 23 Status Only Program Velocit...
Page 379: ...master axis configuration Axis 1 The User Units Counts ratio specified for the master axis in the Editor and Hardware Configuration are not compatible and or 2 The High Low Position Limit specified for the master axis in Hardware Configuration is not compatible with the profile Refer to the section on CAM Types for a detailed description on setting up the High Low Position Limits 2E Normal Stop CA...
Page 380: ...the Find Home command 1 while executing a Move at Velocity 22h AQ command or 2 while another Find Home cycle was in progress For 1 halt the Move at Velocity operation Moving I bit off prior to executing the Find Home command For 2 verify that axis is In Zone and not Moving before executing a Find Home command 35 Status Only Find Home While Follower Enabled Axis The user executed the Find Home comm...
Page 381: ...city command 3D Status Only Move at Velocity while Abort All Moves bit is set error Axis The Move at Velocity command 22h was sent while the Abort All Moves Q bit was set The user must clear the Abort bit prior to sending the Move at Velocity command 3E Status Only Move at Velocity Data greater than 8 388 607 user units sec Axis The user sent a Move at Velocity command 22h where the commanded Velo...
Page 382: ...cuting a Move at Velocity function The Move at Velocity command must be halted prior to executing Force Digital Servo Velocity or Force Analog Output 49 Status Only Force Digital Servo Velocity or Force Analog Output while Program Selected error Axis The user executed a Force Digital Servo Velocity 34h or Force Analog Output 24h AQ command while the module is executing a motion program The motion ...
Page 383: ...on invalid must use Find Home or Set Position Axis 1 Absolute encoder position has not been initialized since first application of power 2 Configuration for Encoder mode has been changed from incremental to absolute 3 Configuration for Axis Direction normal or reverse has been changed 4 Encoder resolution Set with Advanced configuration tab parameter has been changed 5 Encoder alarm has occurred 5...
Page 384: ... 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 5F Status Only Software Error Call Emerson Field Service Axis Contact Emerson 60 Status Only Absolute Encoder Rotary Position Computation error Axis Contact Emerson Program and Subroutine Errors 61 Stop Normal Invalid subroutine number Axis The M...
Page 385: ...bove configured axis velocity limit Axis 6A Normal Stop CAM Position Error Limit Violation with Correction Disabled Axis 6B Status Only CAM commanded position at the exit different from CAM profile value due to position error or velocity limit Axis 6C Normal Stop CAM master value out of profile master range for Non Cyclic profile CAM and CAM LOAD commands Axis 6D Normal Stop Absolute mode CAM afte...
Page 386: ...sted Module An Execute Program Q bit was set for a program number not defined in the configured motion program block This error is also reported if the DSM is configured for fewer axes than the axis number of the requested program Check the configuration for a correct motion program block name Make sure the requested program number is defined in the configured program block Make sure the DSM is co...
Page 387: ...ng the Motion Program 84 Status Only Execute Program while Program Active Axis The PLC set an Execute Program Q bit for an axis that was already running a motion program The current program must be completed Program Active I bit off before executing another program on the same axis 85 Status Only Execute Program while Abort All Moves bit set Axis The PLC set an Execute Program Q bit while the modu...
Page 388: ...ion on local logic execution time 93 Stop Fast Local Logic Divide By Zero Error Module The Local Logic program performed a divide by zero or a Modulus by zero Check the Local Logic program divide statements for error source Parameter registers that contain zero values are possible sources for this error 94 Stop Fast Local Logic Divide Modulus Overflow Error Module The Local Logic program performed...
Page 389: ...9A Stop Fast Local Logic Stop Error Per Axis Axis A Local Logic Stop Fast Error occurred error codes 91 94 Hardware Limit Switch Errors A0 Stop Fast Limit Switch error Axis The Positive Overtravel Limit Switch input is off If Overtravel Limit switches are not used set the Overtravel Limit Switch configuration to Disabled A1 Stop Fast Limit Switch error Axis The Negative Overtravel Limit Switch inp...
Page 390: ... Stop Normal Servo Motor Over Temperature Axis The Servo Motor or Control Firmware has reported an over temperature condition The user needs to check the motion program to make sure that the duty cycle rating for the motor is not being exceeded The user needs to also check the motor mounting to make sure the heat sink for the motor is adequate and ventilation for the motor is adequate C4 N A Not u...
Page 391: ...ncoder connected to the module is not supported Motor is either not supported by the DSM module or has an incorrect encoder attached to the motor Check motor label and verify motor is a supported model If problem persists consult factory CC Normal Stop Missed DZ pulse when DS transitioned from 1 to 0 Axis Position data may be incorrect Power cycle motor and amplifier If problem persists consult fa...
Page 392: ... gain If problem persists or velocity loop gain is too small for the application consult factory D6 Status Only Integrator Gain Too Large Axis The Integral Gain for the Velocity Loop has exceeded allowed values Value limited to valid range This error should not be encountered during normal operation Possible error sources include incorrect motor type selected in hardware configuration or Velocity ...
Page 393: ...ied in the associated parameter register must be greater than the stopping distance The stopping distance depends on the present slave axis velocity and follower ramp acceleration Negative slave axis velocities require negative registration distances E9 Reserved not used in DSM314 EA Status Only Master velocity greater than 0 8 velocity limit no distance compensation Axis The master velocity when ...
Page 394: ...ocity Limit Condition Encountered Axis The sum of all command inputs internal cmds follower master local logic to the position loop has exceeded the configured velocity limit The axis is no longer position locked to the commands The command velocities must be decreased or the velocity limit must be increased F3 Status Only Follower Ratio B value 0 Axis Follower Ratio B values 0 are not allowed F4 ...
Page 395: ...is 1 2 Digital Servo Dx65 Axis Feedback Source is invalid or not supported Dx68 Axis Follower Disable action is not supported Dx69 Axis Follower Ramp Makeup Mode is not supported Dx71 Axis Invalid digital servo motor type Dx81 Axis Analog Servo Cmd mode Torque mode not supported Note DSM314 version 3 0 or later supports Torque Mode A 2 DSM Digital Servo Alarms B0 BE and digital servo systems have ...
Page 396: ...M Alarm or Over Current 01 B7 DCSW Regenerative Circuit Failure Alarm Regenerative Circuit Discharge Alarm 08 4 ON DCOH 5 B9 LV5V SVM Servo Module 5 V Low 2 BA IPML IPM Over Current High Temp or Low 8 8 IPMM Volt 9 9 IPMN A A IPMLM b b IPMMN L axis M axis N axis L M axes M C C IPMNL N axes N L axes or L M N axes d d IPMLMN E E BB LVDC SVM Servo Module Low DC LINK 5 BD FAL SVM Servo Module Fan Fail...
Page 397: ...ins larger value Position Loop Time Constant will additionally reduce regenerated voltage levels LVDC Low Voltage DC Link This alarm occurs if the high voltage DC level DC LINK voltage is abnormally low The AC voltage supplied to the amplifier may be missing or lower in value than the rated input voltage The β Series amplifier three phase supply voltage should be between 200 VAC to 240 VAC Verify ...
Page 398: ...ch unit failed 3 Some amplifiers have field replaceable fan units If a replacement fan unit is not available replace the amplifier HC HCL etc High Current Alarm Motor current is excessive For α Series amplifiers the suffix L M N etc indicates which axis is in alarm 1 Motor power wiring U V and W may be shorted to ground or connected with improper phase connections Check the wiring and connections ...
Page 399: ...urrent over heat or low voltage conditions in the power switching circuitry The suffix L M N etc indicates which axis is in alarm 1 Motor power wiring U V and W may be shorted to ground or connected with improper phase connections Check the wiring and connections Check the servomotor for shorts to motor frame Replace the motor if shorted 2 Improper motor type code may be configured or excessive va...
Page 400: ...or code hex format will be placed in the Module Status Code AI word or one of the 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 ...
Page 401: ...s been received from the PLC EN1 When this LED is ON the Axis 1 Drive Enable relay output is active EN2 When this LED is ON the Axis 2 Drive Enable relay output is active EN3 When this LED is ON the Axis 3 Drive Enable relay output is active EN4 When this LED is ON the Axis 4 Drive Enable relay output is active ...
Page 402: ...our 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 The UDT COMM REQ can copy data either from host controller word memory to the UDT or from the UDT to host controller word memory In general a COMM REQ is used in a host controller ladder program to comm...
Page 403: ...with the request and a parameter that points to the starting address of the Command Block Note that in programming this instruction the command block data should be initialized in the ladder program before the rung containing the COMM REQ instruction is executed The Command Block The Command Block consists of several words of host controller memory that contain additional information about the com...
Page 404: ...ithout receiving a response from the module Check DSM module Verify the COMM REQ parameters IOB_BAD_PARAM 7 One of the parameters passed was invalid Verify the COMM REQ parameters IOB_BAD_CSUM 8 The checksum received from the DMA protocol module did not match the data received Retry Check installation for proper grounding shielding noise suppression etc IOB_OUT_LEN_CHGD 9 The output length for the...
Page 405: ...play on an Operator Interface device in which case Status Word codes would correspond to appropriate error messages that would display on the operator screen For example if a 1 was detected in the Status Word a message could be displayed that says something like Error communicating with the DSM module in an expansion rack To dynamically check the Status Word write a non significant positive number...
Page 406: ...n the User Selected Data double word with the value sent Section 5 of this appendix shows an example of this Also refer to Chapter 5 for more information on the User Selected Data word and the Select Return Data command B 1 3 Operation of the Communications Request The figure below illustrates the flow of information from the host controller CPU to the DSM module Figure 181 Operation of the DSM Co...
Page 407: ...B 2 The COMM REQ Ladder Instruction This section discusses the COMM REQ instruction in general More information is provided in the PACSystems CPU Reference Manual GFK 2222 and the Series 90 30 20 Micro PLC CPU Instruction Set Reference Manual GFK 0467 The Communications Request begins when the COMM REQ Ladder Instruction is activated The COMM REQ ladder instruction has four inputs and one output F...
Page 408: ...Fault output explained earlier in this appendix under the heading Monitoring the Status Word As seen in the table above the FT output will be held False if the Enable Input is not active This means that if the COMM REQ is enabled by a transitional one shot contact and a fault occurs the FT output will only be High for one host controller scan Therefore to capture the fault you can program the faul...
Page 409: ... for each of the four Segments for a total of 8 possible UDT COMM REQ commands B 3 1 User Data Table COMM REQ Features and Usage Information Reads or Writes 2K 2048 bytes at a time to the Local Logic User Data Table No other value is permitted Only works with the DSM314 module will not work with the DSM302 Cannot be used to download parameter data to the DSM314 This instruction adds about 15 ms to...
Page 410: ...Data Offset Address 9 Word 10 chosen by user Data Block Length Word 1 The length of the Data Block header portion of the Command Block It should be set to 4 The Data Block header is stored in Words 7 through 10 of the Command Block WAIT NOWAIT Flag Word 2 This must always be set to logic zero for the DSM Status Word Memory Type Word 3 This word specifies the memory type that will be used for the S...
Page 411: ...nication Time parameter is not used for the DSM Set it to zero Command Code Word 7 Use one of the eight Command Codes from the table below The Command Codes are given as hexadecimal numbers Table 86 UDT COMM REQ Command Codes User Data Table UDT COMM REQ Commands Command Code Command Description D001h Write to UDT Segment 1 D101h Write to UDT Segment 2 D201h Write to UDT Segment 3 D301h Write to U...
Page 412: ...00 enter 99 100 1 99 Note that the memory type R in this example is specified in the previous word The starting address designated by this word will be the first of 1024 contiguous words of memory used in the COMM REQ B 3 3 User Data Table COMM REQ Example In this example the following specifications are given The DSM314 module is mounted in Rack 0 Slot 7 of the PLC The Command Block s starting ad...
Page 413: ...User Manual Appendix B GFK 1742F Jan 2020 DSM314 Communications Request Instructions 402 Figure 183 Data Transfer for Command Code D001 Write to Segment 1 ...
Page 414: ...User Manual Appendix B GFK 1742F Jan 2020 DSM314 Communications Request Instructions 403 B 3 4 User Data Table COMM REQ Example Figure 184 DSM314 UDT COMM REQ Example ...
Page 415: ...t address of the Command Block is specified by the IN input of the COMM REQ Ladder Instruction This address can be in any word oriented area of memory R AI or AQ The Command 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 C...
Page 416: ... Word Pointer Memory Type explanation above Idle Timeout Value Word 5 Since the DSM always uses the NOWAIT mode WAIT NOWAIT flag always set to zero this Idle Timeout Value parameter is not used for the DSM Set it to zero Maximum Communication Time Word 6 Since the DSM always uses the NOWAIT mode WAIT NOWAIT flag always set to zero this Maximum Communication Time parameter is not used for the DSM S...
Page 417: ...ues are 0 255 However to load all 16 parameters the value of Word 11 must be 240 or less Number of Parameters to Send Word 12 This parameter must always be set to 16 Parameter Data Words 13 44 The size of this Parameter Data area depends on the value in Word 12 Number of Parameters to Send Two words 4 bytes of data are required for each parameter Since the valid number of Double Integer parameters...
Page 418: ...Status Word is located at R0195 16 parameters are to be sent The COMM REQ s FT fault output drives a Set Coil DSM Parameter 1 is considered critical in this example application The last two rungs of the COMM REQ Ladder Logic Example see Section 5 verify that Parameter 1 received the correct value via the COMM REQ The data in 32 words 16 double words of memory R0208 through R0239 are copied to 16 d...
Page 419: ...User Manual Appendix B GFK 1742F Jan 2020 DSM314 Communications Request Instructions 408 Figure 186 Overview of the Parameter Load COMM REQ Example ...
Page 420: ...ck listing Setting up the COMM REQ Command Block Values The next two rungs load the appropriate values into the first seven words of the COMM REQ s Command Block Figure 187 In the following two rungs the remainder of the Command Block data is loaded This data is listed next R00202 Command For DSM it s always E501 hex R00203 Parameter data size in bytes 68 R00204 Memory type code for R memory 8 R00...
Page 421: ...rator interface device Handling Double Integer Parameter Values and Input Value Scaling The data in the single precision registers 16 bits needs to be converted to double integer 32 bits form because the DSM s parameters are double integer size A convenient way to do this is to use a Double Integer Multiply MUL DINT instruction to move input data into the registers whose contents will be sent to t...
Page 422: ... double integer value Word R00150 becomes the Least Significant Word and R00151 becomes the Most Significant Word in this double integer word The MUL DINT instruction multiplies the value in R00150 R00151 by 1000 and places the result in double word R00208 R00209 DBL_WRD When used this way R00151 is called an implied address since it is not shown on the screen Be aware that you must not use R00151...
Page 423: ...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 Figure 190 Verifying the Data Sent to Parameter 1 In this example the value in DSM Parameter 1 is critical because it specifies a move distance that if incorrect could result in machine damage So the logic in the following two rungs verifies that Parameter 1 r...
Page 424: ... delay after the Select Return Data Immediate Command is sent This is required because User Selected Data is not available in the ladder until at least 3 sweeps or 20 milliseconds whichever is greater elapses after the Select Return Data Immediate Command is sent Since the sweep time in this example is 14 milliseconds this 45 millisecond delay ensures that the Parameter 1 data will be present in t...
Page 425: ...d in either Incremental mode or Absolute mode The mode is configured using the Feedback Mode selection in the configuration software Proper operation of the Absolute mode requires an external battery pack that must be connected to the servo amplifier Refer to the appropriate amplifier manual for selection and installation of the battery pack C 2 Incremental Encoder Mode Considerations The digital ...
Page 426: ... is first powered up in Absolute Encoder mode a position offset for the encoder must be established Using the Q Find Home cycle or the Set Position AQ command can accomplish this Find Home Cycle Absolute Encoder Mode The Find Home Mode can be configured for Move Move or Home Switch operation Refer to Chapter 4 for additional details of Home Cycle operation The Home Offset and Home Position configu...
Page 427: ...estriction Once an absolute position is established by a Set Position command the DSM314 automatically initializes Actual Position after a power cycle and sets the Position Valid I bit C 3 3 Absolute Encoder Mode DSM314 Power Up The battery pack attached to the servo subsystem maintains power to the encoder counter logic Once the encoder has referenced through first time start up the encoder autom...
Page 428: ...tus word must be initialized with a known physical position before positioning control is allowed This position alignment can be accomplished using the Set Position AQ Immediate command or the Q Find Home cycle The home cycle makes use of the encoder marker channel which is a once per revolution pulse produced at a known encoder shaft angle Successful completion of the Q Find Home cycle or a Set P...
Page 429: ... switches are used Overtravel Limit Switch Enabled in configuration wire them to the correct 24V terminal board points refer to Chapter 3 The overtravel inputs are operated in the fail safe mode i e a normally closed or PNP type switching device should be used Current must be sourced to the input to maintain a logic level 1 on the input while the axis is NOT at the overtravel position or an alarm ...
Page 430: ...VE If the motor moves in the wrong direction use the Axis Direction parameter in the configuration software to swap the positive and negative axis directions 9 Remove the Force Digital Servo Velocity command from the AQ table Use a low Jog Velocity and Jog Acceleration in the configuration values may be increased later Turn on the Jog Plus Q bit Confirm that the servo moves in the proper direction...
Page 431: ...M314 configuration for the Overtravel Limit Switch inputs is ENABLED Therefore 24 VDC must be applied to the Overtravel inputs or the DSM314 will not operate If Overtravel inputs are not used the DSM314 configuration should be set to Overtravel Limit Switch inputs DISABLED If the Axis Enabled I bit is OFF the axis will not respond to any Q bits or AQ commands When a servomotor is not used with a S...
Page 432: ... the necessary signal waveforms the DSM314 analog outputs must be connected to an oscilloscope Without an oscilloscope to measure the signals tuning the servo drive with the following approach will not be possible The Select Analog Output Mode AQ command 47h is used to select the data that is sent to the analog outputs during servo tuning Refer to Chapter 5 for a discussion of this AQ command Tuni...
Page 433: ...imited only by the bandwidth of the velocity loop In some applications this can cause damage to the controlled device due to the high acceleration rate 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 configura...
Page 434: ...elocity Loop Gain by at least 15 As a general rule the lower the Velocity Loop Gain value that meets the system requirements the more robust the control You should carefully observe the velocity feedback signal In some applications running the Velocity Loop Gain high enough to create instability can cause machine damage If in doubt adjust the Velocity Loop Gain to be no greater than the value calc...
Page 435: ...Servo Systems 424 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 ...
Page 436: ...igures 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 Time VLGN 24 Figure 196 Velocity Loop Step Response Torque Command vs Time VLGN 24 ...
Page 437: ...at 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 Time VLGN 48 The response shown in Figures 197 and 198 is good ...
Page 438: ...2020 Tuning Digital and Analog Servo Systems 427 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 ...
Page 439: ...8 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 The plots are shown for reference only ...
Page 440: ...ide a stable response with sufficient gain bandwidth to meet the motion profile requirements Setting the Integrator Mode to OFF as described in the previous section creates a proportional only control loop There are two suggested methods of setting the proportional gain Pos Loop TC Position Loop Proportional Gain Method 1 Calculating the position loop proportional gain assumes that the mechanical ...
Page 441: ...emaining command For example 100 68 one time constant 32 32 68 21 8 68 first time constant 21 8 second time constant 89 8 Two time constants eliminate 89 8 of the command necessary Three time constants will account for 96 7 of the rise in command Four time constants account for 98 9 of the rise Typically three time constants are sufficient for most motion applications You can use your knowledge of...
Page 442: ...it If the servo amplifier does not provide a suitable Ready output this input to the DSM314 must be connected to 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...
Page 443: ...k for proper operation of the Find Home cycle by momentarily turning on the Q Find Home bit the Drive Enabled Q bit must also be maintained ON The axis should move towards the Home Switch at the configured Find Home Velocity then seek the Encoder Marker at the configured Final Home Velocity If necessary adjust the configured velocities and the location of the Home Switch for consistent operation T...
Page 444: ...4 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 4 Use the configuration software to set the desired configurable parameters Store the configuration to the host controller Specific parameters that the user will need to reference are as follows Analog Servo Command configuration m...
Page 445: ...his value Tuning Parameter 8 Sets the velocity regulator integral gain The parameter is only used in torque mode The 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 Correctly setting this value will determine how well the velocity regulator performs in the control system...
Page 446: ... and Normal Stop actions will operate as expected 11 Check for proper operation of the Find Home cycle by momentarily turning on the Q Find Home bit the Drive Enabled Q bit must also be maintained ON The axis should move towards the Home Switch at the configured Find Home Velocity then seek the Encoder Marker at the configured Final Home Velocity If necessary adjust the configured velocities and t...
Page 447: ... Force Servo Velocity AQ immediate command 34h will send a velocity command directly to the velocity loop This command is different from the Move at Velocity Command which uses the position loop to generate the command This is important since the position loop should not be interacting with the velocity loop at this point in the tuning process The Force Servo Velocity AQ command allows the user to...
Page 448: ...there is any concern start with a very low value 100 for example 2 Choose the method to introduce velocity command to the velocity loop Method 1 and Method 2 above are examples of methods to perform this task 3 Connect an oscilloscope to the analog outputs for Motor Velocity from the servo amplifier 4 Per the earlier discussion set the initial velocity loop proportional gain value 5 Generate a vel...
Page 449: ...scope The objective is to eliminate steady state error without introducing excessive overshoot or ringing While tuning the integral term pay particular attention to any oscillations that occur in the response Excessive oscillations are an indication of instability in the control loop due to excessive integral gain 14 Increase the Velocity Loop Integral Gain in small steps and repeat 12 and 13 unti...
Page 450: ...ity loop response Pay particular attention to any oscillations that are occurring in the velocity feedback signal 21 Increase the Velocity Loop Gain in small steps and repeat 19 and 20 until instability in the Motor Velocity feedback signal is observed Note Care should be taken in this step that an instability does not cause damage to the machine Once this point is reached decrease the Velocity Lo...
Page 451: ...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 Also based the desired velocity there is a steady state error In this case the Velocity Loop Proportional Gain can be increased to help generate a faster response ...
Page 452: ...the figure above The rise time has been decreased However the system can still be enhanced by adding additional Velocity Loop Proportional Gain The steady state error is still present 3 Figure 206 Velocity Loop Step Response Velocity Feedback vs Time Kp 2000 Ki 0 VLGN 0 The Velocity Loop Proportional Gain has been increase again The response shown is starting to look very acceptable However the ri...
Page 453: ...eak 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 Time Kp 4000 Ki 0 VLGN 0 The response shown in the figure has a slight overshoot This or the previous response would be very acceptable in many applications However the tuning should be determined based upon the machine abilities...
Page 454: ...k The Velocity Loop Proportional Gain should be significantly decreased to achieve a more stable response For this exercise the response shown corresponding to the Velocity Loop Proportional Gain Kp 4000 will be chosen as the desired response for the system This value will be used when tuning the Velocity Loop Integral Gain The Velocity Loop Integral Gain is initially zero You can make a small cha...
Page 455: ...0 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 However the responses in the previous two figures are both acceptable The final values chosen to depend on the capabilities of the driven load In general the lower the Velocity Loop Proportional Gain and Velocity Loop Integral Gain that meet the system require...
Page 456: ...bove represents a marginally stable system In this response there is not only a significant overshoot but also a ringing in the velocity response that is slowly being damped out The response is unacceptable The next step in the tuning process is to connect the motor to the load and then adjust the control to achieve the desired performance The Velocity Loop Gain parameter allows the user to adjust...
Page 457: ...tor 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 Figure 215 Velocity Loop Step Response Velocity Feedback vs Time Kp 4000 Ki 30 VLGN 16 The response shown above is acceptable The response has a slight overshoot but no sustained oscillation or ring...
Page 458: ...ot 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 Figure 217 Velocity Loop Step Response Velocity Feedback vs Time Kp 4000 Ki 30 VLGN 48 The response shown above exhibits an overshoot and notable ringing in the response This response is starting to indicate that the velocity loop gain ...
Page 459: ...n 1 second after the Drive Enable relay turns on or the Motion Mate DSM314 will not operate Incorrect Drive Ready configuration or wiring will cause Error Code C0h to be reported in the Axis Error Code AI data 4 The ENABLE DRIVE Q control bit must be set continuously to 1 or no motion other than Jog moves will be allowed If no STOP errors see Appendix A for error codes have occurred the DRIVE ENAB...
Page 460: ...or Check the AI error code words for Dxxx errors which are documented in the System Error Codes section of Appendix A Also check the PLC fault tables for reported configuration errors 8 Host controller logic should not send the following Q bit commands to the DSM314 on the first sweep Find Home Execute Motion Program Execute Local Logic If these commands are sent on the first sweep an error will b...
Page 461: ... axes motion would be in the order of 2 to 5 milliseconds Similarly for the digital inputs the hardware filter delays must be taken into account when computing the response time Note If the program execution time is between 300 and 350 microseconds a watchdog timeout may not occur depending on the task loading in the module The user should keep his program execution time within 300 microseconds to...
Page 462: ... Example 2 Execution Time for Instruction Line 1 Time to Load P100 Time to Load Constant Time to Multiply Time to write D00 0 60 from Table 97 0 50 from Table 97 1 30 from Table 91 0 70 from Table 97 3 10 microseconds Execution Time for Instruction Line 2 Time to Load D00 Time to load constant Time to perform divide Time to write P101 0 70 from Table 97 0 50 from Table 97 2 90 from Table 91 0 60 f...
Page 463: ...ute value ABS assume there are no computation overflows Table 92 Local Logic Conditional Operation Execution Times Local Logic Conditional Operations IF THEN Local Logic Execution Time Microseconds Greater Than 2 50 Less Than 2 50 Greater Equal 2 50 Less Equal 2 50 Equal 2 30 Not Equal 2 30 BWAND 1 40 BWOR 1 40 BWXOR 1 40 BWNOT 1 60 Null operator IF var THEN 1 10 END_IF 0 00 Note The execution tim...
Page 464: ...ollower_Ratio_A_1 X 0 30 Follower_Ratio_B_1 X 0 30 Torque_Limit_1 X 0 30 Position_Increment_Cts_1 X 0 30 Velocity_Loop_Gain_1 0 80 0 20 Reset_Strobe1_1 X 1 70 Reset_Strobe2_1 X 1 70 Enable_Follower_1 X 1 70 Jog_Plus_1 X 1 70 Jog_Minus_1 X 1 70 FeedHold_1 X 1 70 Error_Code_1 0 80 X Actual_Position_1 0 70 X Strobe1_Position_1 0 80 X Strobe2_Position_1 0 80 X Actual_Velocity_1 0 80 X Block_1 0 90 X C...
Page 465: ...1 1 40 X Follower_Ramp_Active_1 1 40 X Follower_Velocity_Limit_1 1 40 X Table 94 Axis 2 Local Logic Variable Execution Times X Not Applicable Local Logic Variable Name Local Logic Execution Time In Microseconds Read Write Strobe1_Level_2 1 40 X Strobe2_Level_2 1 40 X Positive_EOT_2 1 40 X Negative_EOT_2 1 40 X Home_Switch_2 1 40 X Digital_Output1_2 X 1 80 Digital_Output3_2 X 1 80 Analog_Input1_2 0...
Page 466: ...0 60 X Position_Error_2 0 60 X Commanded_Velocity_2 0 60 X User_Selected_Data1_2 0 60 X User_Selected_Data2_2 0 60 X UnAdjusted_Actual_Position_Cts_2 0 80 X UnAdjusted_Strobe1_Position_Cts_2 0 80 X UnAdjusted_Strobe2_Position_Cts_2 0 80 X Commanded_Torque_2 0 80 X Axis_OK_2 1 40 X Position_Valid_2 1 40 X Strobe1_Flag_2 1 40 X Strobe2_Flag_2 1 40 X Drive_Enabled_2 1 40 X Program_Active_2 1 40 X Mov...
Page 467: ...2_3 0 80 X Reset_Strobe1_3 X 1 70 Reset_Strobe2_3 X 1 70 Error_Code_3 0 80 X Actual_Position_3 0 70 X Strobe1_Position_3 0 80 X Strobe2_Position_3 0 80 X Actual_Velocity_3 0 80 X Axis_OK_3 1 40 X Position_Valid_3 1 40 X Strobe1_Flag_3 1 40 X Strobe2_Flag_3 1 40 X Table 96 Axis 4 Local Logic Variable Execution Times X Not Applicable Local Logic Variable Name Local Logic Execution Time In Microsecon...
Page 468: ...ocal Logic Program Constants 0 50 X Overflow 2 40 1 30 System_Halt X 1 80 Data_Table_Ptr 0 60 0 70 Data_Table_sint 2 10 1 70 Data_Table_usint 1 80 1 70 Data_Table_int 2 30 2 20 Data_Table_uint 2 30 2 20 Data_Table_dint 3 80 4 00 Module_Error_Present 1 40 X New_Configuration_Received 1 40 X First_Local_Logic_Sweep 1 40 X Module_Status_Code 0 50 X CTL_1_to_32 0 50 X P000 P255 0 60 0 60 D00 D07 0 70 ...
Page 469: ...der Windows 3 1 Windows 95 or Windows NT the processor should be at least a Pentium 133 If not the computer should be rebooted into MS DOS mode PC Loader functions optimally with a hard drive with at least 1 MB available space WARNING The user MUST determine that the PC is connected to a DSM and not a Host Controller CPU or other module that supports FLASH firmware upgrades before entering Boot mo...
Page 470: ...y applies to those running the DOS Loader update program from DOS For those using Windows software refer to Windows Update 1 Insert a labeled floppy disk in drive A or B Ensure that the floppy is not write protected Run the self extracting archive specifying drive A or B as the destination when prompted with Unzip to folder 2 At the C prompt type A install or B install if your floppy drive is B Th...
Page 471: ...wer cycle the rack containing the module If a partial or erroneous download was performed the module will power up with the STAT and CFG LED s on the module flashing in unison C If you are still running the PC Loader or Winloader program on your PC skip to step D below otherwise follow steps 5 and 6 above D Follow step 7 above Note that you will automatically be placed in BOOT MODE E Follow steps ...
Page 472: ...de In Digital mode the encoder is read as serial data Because this data is only acquired once every 250 microseconds latching the position value read from the encoder will only allow an accuracy of 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 pos...
Page 473: ...the following formula Pact VI t A t2 Therefore the total number of counts to occur during the sampling period for this example is approximately 8 counts actual calculated values is 7 8125 or 0 343 degrees of motor rotation The average velocity for the sample period given the change in position would be as follows The following formula can be used to estimate the strobe position using the velocity ...
Page 474: ...he initial velocity is 0 Test Pest Vavg Using these formulas the difference in time between when the strobe occurred and when the reported count occurred i e the effective delay can be calculated as follows Effective Delay Test Tact The effective delay for the maximum strobe position error i e at 125 microseconds is equal to 62 5 microsecond This value is negative because the estimated reported st...
Page 475: ...re the error will be rounded to the nearest count or user unit The formulas for determining the strobe error due to acceleration deceleration on a Digital axis are as follows Counts_of_error Effective_delay Where A Acceleration deceleration during the strobe event Tp Position sampling period which is 250 microseconds VI Velocity just before the strobe Note that the formulas above assume constant a...
Page 476: ...r 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: ...4 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 That information is covered elsewhere in this manual Additional VersaPro information can be found in the VersaPro Programming Software...
Page 478: ...in the Tools Options Dialog Box Make sure Series 90 30 is shown in the Default Hardware Configuration box then click the OK button To open a folder click File on the Menu bar then either click Open Folder to open an existing one or click New Folder to create a new one You can also import an existing Series 90 30 folder that was originally created in Logicmaster or Control See the Folder Operations...
Page 479: ...t convey the meaning you desire Better names might be something like PHouse1 or PH1 Chapter 2 of the VersaPro user s manual GFK 1670 has a section that explains the rules for creating Folder Names including which characters are allowed You may also change the folder location path from the default path shown in the Location field if you wish to store your folder in a different location Also there i...
Page 480: ...ogram that you can launch from the Main screen shown in the previous figure To begin double click the Hardware Configuration icon to launch the HWC Hardware Configuration program The HWC screen may appear as a window in or on top of the 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 exp...
Page 481: ... H GFK 1742F Jan 2020 Using VersaPro with the DSM314 470 Figure 225 The Hardware Configuration HWC Startup Screen The Configuration Window will expand to its full size Figure 226 The Expanded Hardware Configuration Screen ...
Page 482: ...r s Guide GFK 1670 and the VersaPro on line help 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 Click the Motion tab to access a list of motion module choices Figure 228 Motion Tab...
Page 483: ... on screen rack and its Configuration window will appear 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 summary of the tabs ...
Page 484: ...mption Lists DSM power consumption required from the backplane supply 4 0 watts plus encoder power 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 They only reside in your computer s volat...
Page 485: ...r Icons Several toolbar icons will be used in the next several steps to initiate such operations as Connect Stop the PLC and Store The following figure identifies these toolbar icons Figure 230 VersaPro Toolbar Icons Connecting to the PLC On the main VersaPro screen click the Connect icon on the Toolbar The Connect dialog box will appear Figure 231 The Connect Dialog Box If connecting directly to ...
Page 486: ...must be stopped to store configuration files so click the Stop icon on the Tool bar The Stop Execution dialog box will appear Figure 232 The Stop Execution Dialog Box Click Yes to stop the PLC The Status bar message at the bottom of the screen will change from Run Enabled to Stop Disabled Store Operation Click the Store to PLC icon on the Tool bar The Store Folder to PLC dialog box will appear Fig...
Page 487: ...the VersaPro Folder Browser window However once created and saved motion programs and Local Logic programs become part of the PLC CPU Hardware Configuration and are Stored to the PLC with the other configuration information 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...
Page 488: ...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 Notice also in the next figure that an icon for the new motion program called Part1 MP Motion Program appears in the Folder Browser ...
Page 489: ...Editor Window with Programmed Code H 5 2 Saving your Motion Program When ready to save your motion program subroutine file to your computer s hard disk either click the Save icon on the tool bar looks like a floppy diskette or click File from the Menu bar and click Save H 5 3 Storing your Motion Programs and Subroutines to the PLC Since the Motion Program Subroutine file is considered part of the ...
Page 490: ...a dot in the middle Click the OK button Print Report To print all motion program blocks if you have more than one as part of a report with the other information in the folder click File on the Menu bar and select Print Report The Print Report dialog box will appear Click the Blocks checkbox on the Print Report dialog box Make sure the All radio button is selected You can also select other items an...
Page 491: ... accessed from VersaPro s Folder Browser window However once created and saved motion programs and Local Logic programs become part of the PLC CPU Hardware Configuration and are Stored to the PLC with the other configuration information 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 Progr...
Page 492: ...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 The Local Logic program in this example could not be called Part1 because that name had already been used as the Motion Program block name Notice also in the next figure that an icon for the new motion program cal...
Page 493: ...Connecting to and Storing Your Configuration to the PLC documented earlier in this appendix Printing a Hardcopy of your Local Logic Program There are two print selections on the File menu Print and Print Report Print Printing your entire Local Logic file block While the Local Logic Editor is active click File on the Menu bar and select Print The Printer dialog box will display Make any desired pri...
Page 494: ...he report such as Table of Contents Cross References Variables etc Click the OK button to begin printing Motion program Local Logic and Ladder Diagram blocks will be printed as part of this report To print only selected Local Logic blocks as part of a report highlight the desired Local Logic blocks in the Folder Browser window Click File on the Menu bar and select Print Report Click the Blocks che...
Page 495: ... output of the syntax check operation If the sample program has been entered correctly you should receive a message indicating zero errors and zero warnings If the information window indicates a syntax error has occurred you can scroll the information window to the line that contains the error message While the information window has focus double click the error message This causes the editor wind...
Page 496: ... window or count down the number of lines from the top and add them to the current line number Figure 246 LLExample Syntax Check Failure Chapter 12 contains details and corrective actions for syntax errors and warnings H 6 2 Viewing the Local Logic Variable Table The Local Logic Variable Table appears in the Information Window area of the screen and contains information on the variables used in yo...
Page 497: ...e Local Logic Variable Table from the View Menu 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 ...
Page 498: ... 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 VersaPro Programming Software User s Guide GFK 1970 Step 2 Create a CAM Block Using the CAM Editor The CAM editor is integrated into the VersaPro environment...
Page 499: ... the DSM314 release 2 0 or later Therefore the default selection for Motion Module Type should not be changed Figure 250 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 The block name must begin with a letter or underscore symbol A block cannot have the same name as another block that exists in an open...
Page 500: ... to create the CAM Block VersaPro launches the CAM editor program Figure 251 Figure 251 Initial CAM Editor with InfoViewer Screen 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 ...
Page 501: ...d by the user The CAM profiles within the library are then linked to the CAM blocks Additional information on this interlinking is contained within the on line help 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...
Page 502: ...then 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 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 ...
Page 503: ...s must be linked to their associated CAM block A CAM block can contain numerous CAM profiles The DSM has two limits that affect the number of profiles The maximum CAM block size is 50K and the maximum number of linked profiles for an individual block is 100 The CAM Profile library is only limited by available disk space on the host computer The CAM block is linked to the DSM via the CAM Block entr...
Page 504: ... To edit points with the Graphical Editor click the point on the graph and drag it to the desire location The point data in the table editor will update to the new position To perform other tasks in the graphical editor right click in the graph and select the applicable task from the short cut menu The next step is to edit the end point the bottom point in the table for the Master and Slave In the...
Page 505: ...AM meets the requirements for a Linear Cyclic CAM If desired refer to Section 2 for more information on the different CAM types Note that the CAM Editor has several Smart edit fields that will ONLY display the choices that are valid for a given data set For example since a requirement for a Linear Cyclic CAM is that the Slave Position start point and Slave Position end point are the same the edito...
Page 506: ... line help Please reference this source for additional information Step 6 Specify the CAM Type For this example the CAM will be Linear Cyclic as discussed previously Use the following procedure In the Project tab of the Navigator right click a CAM profile The short cut menu appears From the short cut menu choose Properties The Inspector opens showing the CAM profile s properties In the Inspector c...
Page 507: ...order specified A unique polynomial is used to interpolate between each pair of adjacent user defined points Although the actual polynomial coefficients can be different for each segment the curve fit order is the same throughout the sector A sector is indicated in the CAM profile table as a bar spanning the user defined Master Position values included in the sector Initially all points defined in...
Page 508: ...ill be the slave and Axis 2 will be the master Therefore there will be two motion programs The Axis 1 program for the slave will do some base initialization load the slave starting point for the given CAM profile and then execute the CAM command The Axis 2 program for the master source is a simple program that will initialize and then wait for the slave to be ready It will then execute a series of...
Page 509: ...cause this example uses the is 0 5 digital servo Axis 1 Mode Digital Servo Axis 2 Mode Digital Servo Local Logic Block Name CamExLLPgm Cam Block Name CamBlk Local Logic Mode Enabled Note This example uses only one DSM314 The DSM314executes the files CAM LocalLogic and Motion Program pointed to by the configuration Multiple DSM314 modules can run the same Local Logic program motion programs or CAM ...
Page 510: ...ill 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 To do this access the CTL Bits tab in the VersaPro hardware configuration Select CTL01 Config and choose Local_Logic_Controlled Repeat the procedure for CTL08 The resulting Hardware Configuration screens are shown in Figure 263 ...
Page 511: ...with the DSM314 500 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: ...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 From the drop down box select Cmd Position 2 This will configure Axis 1 to use the Axis 2 commanded position as it s CAM master source Figure 265 While in this tab change the Home Mode to Move and OverTravel Switch to Disabled ...
Page 513: ... entry fields Figure 266 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 In this example this is point 50 000 Thus the high limit is equal to 49 999 One way to envision this principle is to think of a Cyclic CAM Master as a continuous circular strip where the first point on the strip is the same as the la...
Page 514: ...ation for additional information In Position Zone 20 Optional see Configuration information for additional information Pos Loop Time Const 200 Note Based upon application mechanics reference Chapter 4 and Appendix D Velocity FeedForward 9000 Note 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...
Page 515: ...t all devices are securely mounted all safety equipment is installed and operational and personnel in the area have been notified Failure to address all safety related issues could result in injury to personnel and damage to equipment Once the download operation is complete the module is ready to execute the CAM Blocks motion programs and Local Logic program Use the following procedure 1 Place the...
Page 516: ...1 by toggling Q offset 2 bit The motor connected to Axis 1 should then begin to execute Motion Program 1 6 Execute Program 2 by toggling Q offset 3 bit The motor connected to Axis 2 should begin to execute Motion Program 2 7 The motors will execute the statements until they reach the first DWELL where you can visually verify that it followed the CAM profile correctly The display should be similar ...
Page 517: ... 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 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 ...
Page 518: ...RVTExample Screen Second Dwell When the master axis reaches 50000 47500 2500 the CAM command will exit the slave axis will decelerate at the programmed acceleration rate and come to a halt and both axes will return to zero Details on the DSM314 s AI AQ I and Q memory are found in Chapter 5 ...
Page 519: ...ht to modify or improve the designs or specifications of the products mentioned in this manual at any time without notice Emerson does not assume responsibility for the selection use or maintenance of any product Responsibility for proper selection use and maintenance of any Emerson product remains solely with the purchaser 2019 Emerson All rights reserved Emerson Terms and Conditions of Sale are ...