Home

motion_instr.

image

Contents

1. Mnemonic Data Description Type ActualAcceleration REAL Actual Acceleration in Position Units Sec2 WatchPosition REAL Watch Position in Position Units Registration1Position REAL Registration 1 Position in Position Units Registration2Position REAL Registration 2 Position in Position Units Registration Time DINT Lower 32 bits of CST time RegistrationZTime DINT Lower 32 bits of CST time InterpolationTime DINT CST time to interpolate to InterpolatedActualPosition REAL Interpolated Actual Position in Position Units MasterOffset REAL Master Offset in Master Position Units StrobeMasterOffset REAL Strobe Master Offset in Master Position Units StartMasterOffset REAL Start Master Offset in Master Position Units CommandPosition REAL Command Position in Position Units StrobeCommandPosition REAL Strobe Command Position in Position Units StartCommandPosition REAL Start Command Position in Position Units CommandVelocity REAL Command Velocity in Position Units Sec CommandAcceleration REAL Command Acceleration in Position Units Sec2 InterpolatedCommandPosition REAL Interpolated Command Position in Position Units AccelStatus DINT Set if the axis is currently being commanded to accelerate DecelStatus DINT Setif the axis is currently being commanded to decelerate MoveStatus DINT Setif a Move motion profile is currently in progress Cleared when the Move is complete or is superseded
2. Operand Type Format Description MAHD Axis AXIS_SERVO tag Name of the axis to perform Motion Apply Hookup Diagnostics NDS AXIS_SERVO_DRIVE operation on Axis i FA N Motion MOTION_ tag Structure used to access instruction Motion Control R control INSTRUCTION status parameters Diagnostic Test Observed Direction Diagnostic UDINT immediate Selects the specific test for the test motion module to run 0 motor encoder hookup test 1 encoder hookup test 2 encoder marker test Observed BOOLEAN immediate Sets the direction of the test direction motion Select either 0 forward 1 reverse Structured Text MAHD Axis MotionControl DiagnosticTest ObservedDirection The operands are the same as those for the relay ladder MAHD instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number DiagnosticTest motor_encoder encoder marker ObservedDirection forward reverse 0 NO Publication 1756 RMO007G EN P May 2005 Description Motion Configuration Instructions 6 15 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 is set after
3. QU MCCM Equal Motion Coordinated Circular Move EN3 Source A Step Coordinate System cst ECN 0 Motion Control Move2 ER gt Source B 2 Move Type 0 IP Position My_Path 2 X_Axis 10 0 Y_Axis 5 0 Move2IP cs1 MovePendingQueueFullStatus gt Move Source Dest Publication 1756 RM007G EN P May 2005 Multi Axis Coordinated Motion Instructions 1 5 The Termination Type operand for the MCLM or MCCM instruction specifies how the currently executing move gets terminated The following illustrations show the states of instruction bits and coordinate system bits that get affected at various transition points Bit States at Transition Points of Blended Move Using Actual Tolerance or No Settle linear linear move ee ee ee ee j Fa rr i li mall 10 a BI 15 DR ap A The following table shows the Bit Status at the various transition points shown in the preceding graph with Termination Type of either Actual Tolerance or No Settle Bt Jm TPZ TPB Move1 DN T T T Move1 IP T F F Move1 AC T F F Move1 PC F T T Move2 DN T T T Move2 IP T T F Move2 AC F T F Move2 PC F F T cs1 MoveTransitionStatus F F F cs1 MovePendingStatus T F F cs1 MovePendingQueueFullStatus T F F Publication 1756 RM007G EN P May 2005 1 6 Multi Axis Coordinated Motion Instructions Bit States at Transition Poin
4. Operand Type Format Description Master UINT32 immediate Integer value representing master counts or tag counts used in specifying a Fractional gear ratio Master BOOLEAN immediate Sets the master position reference to reference either Command position or Actual position 0 Actual slave axis motion is generated from the current position of the master axis as measured by its encoder or other feedback device 1 Command slave axis motion is generated from the desired or commanded position of the master axis Ratio format BOOLEAN immediate The desired ratio specification format Select either 0 real gear ratio 1 integer fraction of slave encoder counts to master encoder counts Clutch BOOLEAN immediate When Clutch is enabled motion control ramps the slave axis up to gearing speed at the instruction s defined Acceleration value If not enabled the Slave axis immediately locks onto the Master axis If the Master Axis is currently moving this condition results in an abrupt uncontrolled acceleration event of the Slave Axis which can cause the axis to fault Select either 0 enabled 1 disabled Accel rate BOOLEAN immediate Acceleration rate of the Slave Axis in or tag or Acceleration Units It is applied when the Clutch feature is enabled Accel units DINT immediate The units used to display the Acceleration value Select either 0 units per sec 1 of
5. Publication 1756 RM007G EN P May 2005 7 14 Multi Axis Coordinated Motion Instructions MCLM CoordinateSystem Motion Control MoveType Position Speed SpeedUnits AccelRate A ccelUnits DecelRate DecelUnits VelocityProfile TerminationType Merge MergeSpeed Publication 1756 RMO007G EN P May 2005 Structured Text The operands are the same as those for the relay ladder MCLM instruction Note When entering enumerations for the operand value in Structured Text multiple word enumerations must be entered without spaces For example when entering Decel Units the value should be entered as unitspersec rather than Units per Sec as displayed in the ladder logic For the operands that have enumerated values enter your selection as This operand Has these options which you enter as text or enter as a number Move Type no enumeration 0 Absolute 1 Incremental Speed Units unitspersec 0 ofmaximum 1 ofmaximum Decel Units unitspersec 0 ofmaximum Profile trapezoidal 0 scurve 1 Termination Type no enumeration 0 Actual Tolerance 1 No Settle 2 Command Tolerance 3 No Decel 4 Follow Contour Velocity Constrained 5 Follow Contour Velocity Unconstrained See Choose a termination type on page 7 9 Merge Merge Speed Disabled Coordinatedmotion Allmotion Programmed Current 0 1 2 0 1 Multi Axis Coordinated Motion Instructi
6. ActualPosToleranceStatus Sets for Actual Tolerance Termination Type only It sets after the following two conditions are met 1 Interpolation is complete 2 The actual distance to the programmed endpoint is less than the configured coordinate system Actual Tolerance value The bit remains set after an instruction completes The bit is reset when a new instruction is started Publication 1756 RMO007G EN P May 2005 CommandPosToleranceStatus Sets for all Termination Types whenever the distance to the programmed endpoint is less than the configured coordinate system Command Tolerance value The bit remains set after an instruction completes It resets when a new instruction is started StoppingStatus The Stopping Status bit is cleared when the MCLM instruction initiates MoveStatus Sets when MCLM begins axis motion Clears on PC bit of the last motion instruction or when a motion instruction executes which causes a stop MoveTransitionStatus Sets when No Decel or Command Tolerance Termination Type is satisfied When blending collinear moves the bit is not set because the machine is always on path It clears when a blend completes the motion of a pending instruction starts or a motion instruction executes which causes a stop Indicates not on path MovePendingStatus Sets when one pending coordinated motion instruction is in the instruction queue Clears when the instruction queue is empty Mult
7. N gt N R MAFR Axis MotionControl Description Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis to perform operation on AXIS_VIRTUAL AXIS_GENERIC AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text The operands are the same as those for the relay ladder MAEFR instruction MOTION_INSTRUCTION Structure Mnemonic EN Enable Bit 31 Description It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 ER Error Bit 28 It is set when the axis faults have been successfully cleared It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis The Motion Axis Fault Reset MAFR instruction directly clears the specified fault status on the specified axis It does not correct the condition that caused the error If the condition is not corrected prior to executing the MAFR instruction the axis could immediately fault again giving the appearance that the fault status was not reset This instruction is most commonly used as part of a fault handler program which provides application specific fault action in response to various potential motion control faults Once the appropriate fault
8. Accel Units SINT INT or DINT Decel Rate SINT INT DINT or REAL immediate coordination units or tag mmediate Q Units per Sec 1 of Maximum Decel Units SINT INT or DINT Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 37 Operand Format Description Profile SINT INT or DINT immediate 0 Trapezoidal 1 S Curve Termination Type SINT INT or DINT immediate or tag 0 Actual Tolerance 1 No Settle 2 Command Tolerance 3 No Decel 4 Follow Contour Velocity Constrained 5 Follow Contour Velocity Unconstrained See Choose a termination type on page 7 9 Merge SINT INT or DINT immediate 0 Disabled 1 Coordinated Motion 2 All Motion Merge Speed SINT INT or DINT immediate 0 Programmed 1 Current Structured Text CCM CoordinateSystem otionControl MoveType Position Speed Speedunits AccelRate AccelUnits DecelRate DecelUnits VelocityProfile TerminationType Merge ergeSpeed Sec as displayed in the ladder logic The operands are the same as those for the relay ladder MCCM instruction Note When entering enumerations for the operand value in Structured Text multiple word enumerations must be entered without spaces For example when entering Decel Units the value should be entered as unitspersec rather than
9. DN Done Bit 29 The Done Bit resets when the rung transitions from false to true It sets when target position is calculated successfully ER Error Bit 28 The Error Bit resets when the rung transitions from false to true It sets when target position fails to calculate successfully Motion Type The motion type operand determines which motion profile to change Currently Coordinated Move is the only available option Coordinated Move When selected the Coordinated Move option changes the motion of the currently active move in the coordinate system Change Speed The Change Speed operand determines whether or not to change the speed of the coordinated motion profile No No change is made to the Speed of the coordinated motion Yes The speed of the coordinated motion is changed by the value defined in the Speed and Speed Units operands Speed The Speed operand defines the maximum speed along the path of the coordinated move Speed Units The Speed Units operand defines the units applied to the Speed operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Multi Axis Coordinated Motion Instructions 7 83 Change Accel The Change Accel operand determines whether or not to change the acceleration of the coordinated motion profile No change is made to the acceleration of the coordinated motion Yes
10. An expression contains tags A named area of the memory where data is stored valuel BOOL SINT INT DINT REAL string immediates A constant value 4 operators A symbol or mnemonic that specifies an operation tagl tag2 within an expression tagl gt valuel functions When executed a function yields one value Use function tagl parentheses to contain the operand of a function Even though their syntax is similar functions differ from instructions in that functions can only be used in expressions Instructions cannot be used in expressions Publication 1756 RM007G EN P May 2005 B 2 Structured Text Programming Term Definition Examples instruction An instruction is a standalone statement instruction see page B 11 An instruction uses parenthesis to contain its operands Depending on the instruction there can be zero one or multiple instruction operand operands When executed an instruction yields one or more values that are partof instruction operand1l a data structure operand2 operand3 Terminate the instruction with a semi colon Even though their syntax is similar instructions differ from functions in that instructions cannot be used in expressions Functions can only be used in expressions construct A conditional statement used to trigger structured text code i e other IF THEN see page B 12 statements CASE Terminate the construct with a se
11. Position Cam Lock Status Position Cam Status Position Cam Initiated Figure 3 26 Immediate Execution Changing the Cam Lock Position The Cam Lock Position parameter of the MAPC instruction determines the starting location within the cam profile when the slave locks to the master Typically the Cam Lock Position is set to the beginning of the cam profile as shown in the above illustration Since the starting point of most cam tables is 0 the Cam Lock Position is typically set to 0 Alternatively the Cam Lock Position can be set to any position within the master range of the cam profile If a Cam Lock Position is specified that is out of this range the MAPC instruction errors The diagram below shows the effect of specifying a Cam Lock Position value other than the starting point of the cam table in this Publication 1756 RM007G EN P May 2005 3 82 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 case a position within the cam profile itself Care must be taken not to define a Cam Start Point that results in a velocity or acceleration discontinuity to the slave axis if the master axis is currently moving Cam Cam Profile Slave Axis Start Position Position Master Axis Position 1 0 Position Cam Lock Status 1 ESTs Cam Status Position Cam Initiated Figure 3 27 Changing the Cam Lock Position Forward Only Reverse Only or Bi directional Execution
12. WHILE bool _expressionl DO lt statement gt lt q Statements to execute while bool_expression is true IF bool expression2 THEN l ENS lt q If there are conditions when you want to optional x exit the loop early use other statements END_IF such as an IF THEN construct to condition an EXIT statement END WHILE Publication 1756 RM007G EN P May 2005 Structured Text Programming B 23 The following diagrams show how a WHILE DO loop executes and how an EXIT statement leaves the loop early lad BOOL expression false true statement 1 statement 2 statement 3 statement 4 v rest of the routine While the bool_expression is true the controller executes only the statements within the WHILE DO loop Example 1 If you want this The WHILE DO loop evaluates its conditions first If the conditions are true the controller then executes the statements within the loop This differs from the REPEAT UNTIL loop because the REPEAT UNTIL loop executes the statements in the construct and then determines if the conditions are true before executing the statements again The statements in a REPEAT UNTIL loop are always executed at least once The statements in a WHILE DO loop might never be executed false ad BOOL expression true statement 1 statement 2 statement 3 statement 4 yes gt Exit O mo To stop the loop before the cond
13. CIRCULAR_SMALL_R_ERROR 49 Example This second example of error 49 shows a situation where the radius type circle uses a radius of magnitude of less than 0 001 The program is trying to generate a two dimensional arc going from 0 0 current position to 0 00099 0 00099 This error occurs because the user tried to program a radius type circle with a radius of a magnitude less than 0 001 units C Motion Cooidnated Crcular Move Nn Cocedinale System Coordinated_sys E Target Position Entry Coordinated_sys MCCM_Move_position 0 Center 2 lx Motion Contral MCCM O M Move Type D Position Tag a gt Poston MCCM_Move_positior 0 Axisd 0 00039 iP gt Axis 0 00039 Circle Type 1 Via Certer Radus Carmer 2 Direction 0 Speed 20 Speed Units Urits per sec Accel Rate 50 Accel Units of Maxmun Decel Rate 50 Decel Unts of Maxmun Profile Trapezcidal Termination Type 1 Mesge Disabled Merge Speed Progiammed lt lt Less Figure 7 48 Ladder Program and Target Entry Screen that Generate Error 49 MCCM Changes to Status Bits Status Bits provide a means for monitoring the progress of the motion instruction There are three types of Status Bits that provide pertinent information They are Axis Status Bits Coordinate System Status Bits and Coordinate Motion Status Bits When the MCCM instruction initiates the status bits undergo the following changes Axis Status Bits Bit Name Meaning
14. Motion Control MCSA 3 R gt Figure 7 59 MCSR Ladder Instruction Structured Text MCSR Coordinated_sys MCSR 3 Chapter 8 Motion Direct Commands Introduction Motion Direct Commands give you the ability to execute specific instructions while on line without having to write or execute an application program The ability to issue Motion Direct Commands is particularly useful when you are commissioning or debugging your motion applications During commissioning you can configure an axis and monitor behavior with Trend from the Controller Organizer By issuing Motion Direct Commands you can fine tune with or without load to achieve optimum performance During the testing debugging cycle you can issue Motion Direct Commands to establish reestablish conditions such as Home Motion Direct Commands give you the ability to test the system in small manageable areas during initial development or enhancement to mature applications These tasks include e Home to establish initial conditions e Incrementally Move to a physical position e Monitor system dynamics under specific conditions Supported Commands The list of instructions supported by the Motion Direct Commands feature are listed in the following tables Motion State Command Description MSO Enable the servo drive and activate the axis servo loop MSF Disable the servo drive and deactivate the axis servo loop MASD Force an axis into the shutdow
15. Relay Ladder MAS Motion Axis Stop Axis Motion Control Stop Type Change Decel Decel Rate Decel Units Structured Text AxisO E MAS_1 All Yes 100 Units per sec2 Lees Figure 3 2 MAS Ladder Example AAA MAS Axis0 MAS_1 All Yes 100 Unitspersec2 Motion Move Instructions 3 9 Motion Axis Home MAH MAH Motion Axis Home Axis Motion Control MAH Axis MotionControl J Operands aii Description Use the MAH instruction to home an axis Two different homing modes can be selected during axis configuration Active or Passive If an Active homing sequence is selected the axis executes the configured Home Sequence Type and establishes an absolute axis position If Passive homing is selected however no specific homing sequence is executed and the axis is left waiting for the next marker pulse to establish the home position Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis to perform AXIS_VIRTUAL operation on AXIS_GENERIC AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text The operands are the same as those for the relay ladder MAH instruction MOTION_INSTRUCTION Structure Mnemonic EN Enable Bit 31 Description It is set when the rung makes a false to true transition and remains set until the ser
16. TT MAJ Axis1 MAJ_1 0 100 Unitspersec 50 Unitspersec2 50 Unitspersec2 Trapezoidal Enabled Programmed The Motion Axis Move MAM instruction is used to initiate a move profile for the specified axis This move profile moves the axis to a Publication 1756 RM007G EN P May 2005 3 24 Motion Move Instructions specified Position or by a specified Distance depending on the Move Type selected The steady state speed of the move profile is given by Speed The motion control s move profile generator handles acceleration or deceleration of the axis to the steady state move speed using the specified Accel and Decel values and the profile type given by the Profile input parameter The value for Speed Acceleration and Deceleration may be specified in user defined units Speed Units Accel Units or in of maximum values Max Speed Max Accel Max Decel determined during configuration The Motion Axis Jog MAJ instruction may also be used to convert any current axis motion into a pure move profile by specifying the Merge option If merging is enabled the Merge Speed option may be used to specify the speed of the Move to be either the programmed Speed value or the Current speed of the axis To initiate a Master Offset Move the Move Type is set to either Absolute Master Offset or Incremental Master Offset The Master Offset Move provide a position offset to the master value of a position cam without actually changing the master
17. Y Y Start Slope 1 0 End Slope 1 0 Cam Profile cam_pro1 1 E Figure 3 24 MCCP Ladder Example Structured Text MCCP MCCP_1 Cam_1 0 30 1 0 1 0 cam_pro1 1 Motion Axis Position Cam The Motion Axis Position Cam MAPC instruction provides electronic M APC camming between any two axes according to the specified Cam Profile When executed the specified Slave Axis is synchronized to the designated Master Axis using a position Cam Profile established by the RSLogix 5000 Cam Profile Editor or by a previously executed Motion Calculate Cam Profile MCCP instruction The direction of Slave Axis motion relative to the Master Axis is defined by a flexible Direction input parameter The camming Direction as applied to the slave may be explicitly set as the Same or Opposite or set relative to the current camming direction as Reverse or Unchanged To accurately synchronize the slave axis position to master axis position an Execution Schedule setting and an associated Master Lock Position can be specified for the master axis When the master axis travels past the Master Lock Position in the direction specified by the Execution Schedule parameter the slave axis is locked to the master axis position according to the specified Cam Profile beginning at the Cam Lock Position The cam profile can also be configured via the Execution Schedule parameter to execute Immediately or Pending completion of a currently executing position cam profile The cam
18. 1 Pending lets you blend a new position cam execution after an in process position cam is finished When Pending is selected the following parameters are ignored Master Axis Master Lock Position and Master Reference 2 Forward only the cam profile starts when the master position crosses the Master Lock Position in the forward direction 3 Reverse only the cam profile starts when the master position crosses the Master Lock Position in the reverse direction 4 Bi directional the cam profile starts when the master position crosses the Master Lock Position in either direction Master Lock Position REAL immediate or tag The Master axis absolute position where the slave axis locks to the master axis If Pending is selected as the Execution Schedule value then Master Lock Position is ignored Publication 1756 RMO007G EN P May 2005 MAPC SlaveAxis MasterAxis MotionControl Direction CamProfile SlaveScaling MasterScaling ExecutionMode ExecutionSchedule MasterLockPosition CamLockPosition MasterReference Motion Move Instructions 3 75 Operand Type Format Description Cam Lock REAL immediate This determines the starting location Position or tag in the cam profile Master UINT32 immediate Sets the master position reference to Reference either Command position or Actual position If Pending is selected for the Execution Schedule value then Master
19. 21 6 7 9 1 Center 1 0 10 Units per sec Units per sec2 Units per sec2 Trapezoidal 0 Disabled Current ND Move Type is Incremental NO Position defined as an incremental distance from start point of 10 4 1 3 Circle Type is Center Center is defined as an incremental distance of 14 1 5 1 from start point of 10 4 1 3 Direction is Clockwise Multi Axis Coordinated Motion Instructions 7 45 Figure 7 19 MCCM Ladder Instruction with Move Type of Incremental Had a Direction of Counterclockwise been selected Direction 1 the axes move along the curve shown in the following graph 10 1126 6 jEnd 104 13 Sarff sf 2137 64 Conta f f 14 i i i al a ee De 5 MEROS MAT AA Figure 7 20 Plot of Path with Direction as Counterclockwise MCCM Using Via Circle Type The following examples show the use of the MCCM with a Circle Type of Via and a Move Type of Absolute first example and Incremental second example to arrive at the same result The basic assumptions are e The 2 axes Axis0 and Axis1 are both members of the coordinate system Coordinated_sys e Axis0 and Axis1 are orthogonal to each other e Coordinated_sys is initially at 10 4 1 3 units Move Coordinated_sys along an arc to 11 2 6 6 units passing through the point 3 7 8 6 units at the vector speed of 10 0 units per second with the acceleration and deceleration va
20. 7 8 Index Publication 1756 RM007G EN P May 2005 No 7 83 Yes 7 83 Change Decel 7 83 No 7 83 Yes 7 83 Change Speed 7 82 No 7 82 Yes 7 82 Coordinate System 7 81 Decel Rate 7 83 Decel Units 7 84 Motion Control 7 82 Motion Type 7 82 Coordinated Move 7 82 Relay Ladder 7 79 Scope 7 85 Speed 7 82 Speed Units 7 82 Structured Text 7 79 Motion Coordinated Circular Move 7 36 Motion Coordinated Circular Move MCCM Arithmetic Status Flags 7 68 Changes to Status Bits 7 75 Axis Status Bits 7 75 Coordinate System Status Bits 7 76 Description 7 39 Error Codes 7 69 Extended Error Codes 7 70 Fault Conditions 7 68 Operands 7 36 Accel Rate 7 64 Accel Units 7 65 Circle Type 7 42 Center 7 42 Center Incremental 7 42 Radius 7 42 Via 7 42 Coordinate System 7 39 Decel Rate 7 65 Decel Units 7 65 Direction 7 64 Merge 7 65 All Motion 7 66 Coordinated Motion 7 65 Merge Disabled 7 65 Merge Speed 7 66 Motion Control 7 40 Move Type 7 40 Absolute 7 41 Incremental 7 41 Position 7 41 Profile 7 65 Relay Ladder 7 36 Speed 7 64 Speed Units 7 64 Structured Text 7 37 Termination Type 7 9 Actual Tolerance 7 9 Command Tolerance 7 9 Follow Contour Velocity Constrainted 7 9 Follow Contour Velocity Un constrainted 7 9 No Decel 7 9 No Settle 7 9 Via Center Radius 7 63 Target Position Entry Dialog 7 66 Motion Coordinated Linear Move 7 13 Motion Coordinated Linear Move MCLM Arithmetic Status Flags 7 31 Changes to Stat
21. 7 TM Ay ay ay omy omy nm my mt Alms my mf om a Additional Note On Merging A move from point A to point B is initiated as shown in the figure Instructions below When the axis is at point C a merge to point D is initiated As a result the current instruction is terminated at point C The control computes the deceleration distance needed at point C along the vector Publication 1756 RMO007G EN P May 2005 MCLM Target Position Entry Dialog Box Multi Axis Coordinated Motion Instructions 7 29 AB from the current velocity to zero velocity This distance is shown as vector CF The imaginary point F is then computed by adding the vector CF to point C The resultant merged motion from C to D is as shown below It follows the curved line starting from C then joins the straight line from F to D This path is identical as if the original programmed move was made from point A to F then from F to D with a Termination Type of No Decel A C Figure 7 13 Merge Example The Target Position Entry Dialog box for the MCLM instruction provides an easy format for editing Position To gain access to the Target Position Entry dialog box you must have inserted the name of the coordinated system into the instruction you must have a valid tag name entered in the position field with sufficient elements to handle the number of axes and you must have selected a valid Move Type To access the MCLM Instruction Target Position Entr
22. Change Accel Accel Rate Change Decel Decel Rate Speed Units Accel Units Decel Units El TT Operands Use the MCD instruction to selectively change the speed acceleration rate or deceleration rate of a move profile or a jog profile in process Relay Ladder Operand Type Format Description Axis AXIS_VIRTUAL tag Name of the axis to perform AXIS_GENERIC operation on AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION _ tag Structure used to access control INSTRUCTION instruction status parameters Motion type UDINT immediate Motion profile jog or move to change Select either 0 jog 1 move Change BOOLEAN immediate Set to enable a change of speed speed Select either 0 no 1 yes Speed REAL immediate The new Speed to move the axis in or tag or Speed Units Change BOOLEAN immediate Set to enable an acceleration accel change Select either 0 no 1 yes Accel rate REAL immediate The acceleration rate of the axis in or tag or Acceleration units Change BOOLEAN immediate Set to enable a deceleration decel change Select either 0 no 1 yes Decel rate REAL immediate The deceleration rate of the axis in or tag or Deceleration units The axis could overshoot its target position if you reduce the deceleration while a move is in process Publication 1756 RM007G EN P May 2005 3 52 Motion Move Instructions Operand Type Format Descr
23. Complete Bit 27 Execution Mode when cam position moves beyond defined Output Cam range SEGMENT It is set to the array index associated with error 36 Illegal Output Cam or error 37 Illegal Output Compensation Only the first of multiple errors is stored Description The Motion Arm Output Cam MAOC instruction executes an output Publication 1756 RMO007G EN P May 2005 cam profile set up manually programmatically or by the RSLogix 5000 Output Cam Editor Internally Output Cam objects handle Motion Planner Cam functionality Each Output Cam object is responsible for one output which consists of 32 output bits Each single output bit can be programmed separately Currently Output Cam functionality is executed in the Logix controller every course update period currently configurable between 1 and 32 ms Axis The axis provides the position input to the Output Cam The axis can be a virtual physical or consumed one Execution Target The execution target defines a specific Output Cam from the set that is connected to the specified axis Currently only eight Output Cams can be specified Specifying the Output Cam Profile To execute a MAOC instruction a calculated Output Cam data array tag must be specified Output Cam array tags may be created by the RSLogix 5000 tag editor or the MAOC instruction using the built in Output Cam Editor The data defines the specifics for each Output Motion Event Instructions 5
24. If due to improper hookup or some other problem with the system the axis feedback fails to detect that axis reaching the configured Motor Encoder Test Increment within 2 seconds the servo sets the test voltage back to zero and disables the drive The control reflects this condition through the Test Status axis output parameter This usually indicates that either the cabling to the drive or the cabling to the encoder is incorrect Running MRHD with the Encoder Hookup Test selected is an effective method of isolating the problem to the encoder or drive Motion Configuration Instructions 6 21 Encoder Hookup Test If the Encoder Test is selected the motion module does not generate any axis motion but simply monitors axis encoder feedback The axis can then be moved by hand or by some other independent drive actuator to generate motion When the motion module detects that the axis has moved a distance greater than or equal to the configured Motor Encoder Test Increment the test is complete The motion module then reports the direction of travel as one of the following MRHD output parameters Axis Parameter Data Type Units Definition Test Status Integer Status Report of the Hookup Diagnostic Test Process Test Direction Boolean Direction of axis travel during hookup Forward test as seen by the motion module If due to improper hookup or some other problem with the system the axis feedback fails to detect
25. Operand Type Format Description MATC Axis AXIS_FEEDBACK tag The name of the axis to which the Motion Axis Time Cam Ny AXIS_VIRTUAL cam profile is applied Ellipsis Axis 3 AXIS_GENERIC launches Axis Properties dialog Motion Control M AXIS_SERVO Direction AXIS_SERVO_DRIVE R gt Cam Profile 3 Motion MOTION_ tag Structure used to access block status Distance Scaling A IP gt Control INSTRUCTION parameters Time Scaling 2 Direction UINT32 immediate Relative direction of the slave axis to or tag the master axis Execution Mode e Same the axis position Execution Schedule values in the cam profile are added to the command position of the axis Opposite the axis position values in the cam profile are subtracted from the command position of the axis creating axis motion in the other direction from that implied in the original cam table Or relative to the current or previous camming direction e Reverse the current or previous direction of the position cam is changed either from Same to Opposite or vice versa When executed for the first time with Reverse selected the control defaults the direction to Opposite Unchanged this allows other cam parameters to be changed without altering the current or previous camming direction When executed for the first time with Unchanged selected the control defaults the direction to Same Cam CAM_PROFILE array Tag name of the calcula
26. The acceleration of the coordinated motion is changed by the value defined in the Accel Rate and Accel Units operands Accel Rate The Accel Rate operand defines the maximum acceleration along the path of the coordinated move Accel Units The Accel Units operand defines the units applied to the Accel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Change Decel The Change Decel operand determines whether or not to change the deceleration of the coordinated motion profile No change is made to the deceleration of the coordinated motion Yes The deceleration of the coordinated motion is changed by the value defined in the Decel Rate and Decel Units operands Decel Rate The Decel Rate operand defines the maximum deceleration along the path of the coordinated move Publication 1756 RM007G EN P May 2005 7 84 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 Decel Units The Decel Units operand defines the units applied to the Decel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Impact of Changes to Acceleration and Deceleration Values on Motion Profile The following graph illustrates what could happen when a MCCD instruction is used to reduce the accele
27. valuel operator value2 If input input2 and result are DINT tags and your result1 inputl AND specification says Calculate the bitwise result of input2 input and input2 Store the result in result Determine the order of execution The operations you write into an expression are performed in a prescribed order not necessarily from left to right e Operations of equal order are performed from left to right e If an expression contains multiple operators or functions group the conditions in parenthesis _ This ensures the correct order of execution and makes it easier to read the expression Order Operation 1 function negate NOT MOD subtract lt lt gt gt lt gt 8 AND 11 XOR 12 OR gt N S oy S wy N Publication 1756 RM007G EN P May 2005 Structured Text Programming B 11 Instructions tag_xic Structured text statements can also be instructions See the Locator Table at the beginning of this manual for a list of the instructions available in structured text A structured text instruction executes each time it is scanned A structured text instruction within a construct executes every time the conditions of the construct are true If the conditions of the construct are false the statements within the construct are not scanned There is no rung condition or state transition that triggers execu
28. DN Bit 29 run qualification Servo On State Error 4 Attempted execution on an axis that has its servo loop closed Drive On State Error 6 Attempted execution on an axis that currently has the drive enabled Shutdown State Error 7 Attempted execution with the axis in the Shutdown state Illegal Axis Type 8 Attempted execution with the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed See Failure the Extended Error section for more information about this error Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group Is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Group in Faulted State 21 Attempted execution on an axis which is in a group which is in the Faulted state Publication 1756 RM007G EN P May 2005 6 24 Motion Configuration Instructions Error Message Code Definition Illegal Controller 24 Attempted execution when the processor Is in test Mode Operation mode Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is
29. Relational operators compare two values or strings to provide a true or false result The result of a relational operation is a BOOL value lf the comparison is The result is true 1 false 0 Use the following relational operators For this comparison Use this operator Optimal Data Type equal DINT REAL string less than lt DINT REAL string less than or equal lt DINT REAL string greater than gt DINT REAL string greater than or equal gt DINT REAL string not equal lt gt DINT REAL string Publication 1756 RM007G EN P May 2005 B 8 Structured Text Programming Use this format valuel operator value2 For example Example For this situation If temp is a DINT tag and your specification says If temp is less than 100 then You d write IF temp lt 100 THEN stringtagl operator stringtag2 If bar_code and destare string tags and your specification says If bar_code equals dest then IF bar code dest THEN charl operator char2 To enter an ASCII character directly into the expression enter the decimal value of the character If bar_code is a string tag and your specification says If bar_code DATA O equals A then IF bar_code DATA 0 65 THEN bool_tag bool expressions Publication 1756 RMO007G EN P May 2005 If count and length are DINT tags done is a BOOL tag and your specification
30. Set if a Time Cam motion profile is currently in progress Cleared when the Time Cam is complete or is superseded by some other motion operation PositionCamPendingStatus DINT Set if a Position Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MAPC instruction with Pending execution selected This bit is cleared when the current position cam profile completes initiating the start of the pending cam profile This bit is also cleared if the position cam profile completes or is superseded by some other motion operation TimeCamPendingStatus DINT Set if a Time Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MATC instruction with Pending execution selected This bit is cleared when the current time cam profile completes initiating the start of the pending cam profile This bit is also cleared if the time cam profile completes or is superseded by some other motion operation GearingLockStatus DINT Set whenever the slave axis is locked to the master axis in a gearing relationship according to the specified gear ratio The clutch function of the gearing planner is used to ramp an axis up or down to speed in a gearing process MAG with Clutch selected This bit is cleared during the intervals where the axis is clutching PositionCamLockStatus DINT Set
31. The operands are the same as those for the relay ladder MAM instruction Publication 1756 RM007G EN P May 2005 3 26 Motion Move Instructions Description Publication 1756 RMO007G EN P May 2005 For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number SpeedUnits unitspersec 0 ofmaximum 1 AccelUnits unitspersec2 0 ofmaximum 1 DecelUnits unitspersec2 0 ofmaximum 1 Profile trapezoidal 0 scurve 1 Merge disabled 0 enabled 1 MergeSpeed programmed 0 current 1 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when axis move has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared after the Motion Axis Move is complete or has been superseded by another Motion Axis Move command or terminated by a Motion Stop command merge shutdown or servo fault PC Process It sets after the move has completed e reached destination Complete Bit 27 The Motion Axis Move MAM instr
32. and Enable the Output Cam element is not considered and the user is warned with an instruction error Illegal Output Cam If you select an enable bit less than 0 or greater than 31 and the latch or unlatch type is set to Enable Position and Enable or Duration and Enable the Output Cam element is not considered and the user is warned with an instruction error Illegal Output Cam Specifying Output Compensation An Output Compensation data array tag may be specified via the RSLogix 5000 tag editor The data type defines the specifics for each output bit by specifying the characteristics of each actuator The array indices correspond to the output bit numbers The number of the highest compensated output bit defines the minimum size of this array Changes to the output compensation take effect immediately The following diagram shows the effect of the output compensation on the relationships between the axis input and output Position Output Bit Offset amp Delay Compensation Latch amp Unlatch Operation Mode Compensation Enable Bit Enable Selection amp Inversion Input Bit 0 31 Output Bit 0 31 Figure 5 15 Output Compensation Refer to the description of the OUTPUT_COMPENSATION structure for more information on data types and programming units Offset and Delay Compensation The offset provides position compensation while the latch and unlatch delay p
33. between two axes at a specified ratio Electronic gearing allows any physical axis to be synchronized to the actual or command position of another physical axis at a precise ratio It provides a direct edge to edge lock between the two axes no maximum velocity acceleration or deceleration limits are used The speed acceleration and deceleration of the slave axis is completely determined by the motion of the master axis and the specified gear ratio ATTENTION The maximum velocity acceleration or deceleration limits established during axis configuration do not apply to electronic gearing Select or enter the desired Master Axis Slave Axis and Direction and enter a value or tag variable for the desired ratio If an axis is dimmed gray or not shown in the Slave Axis pop up menu the physical axis is not defined for Servo operation Motion Move Instructions 3 43 If the targeted axis does not appear in the list of available axes the axis has not been configured for servo operation Use the Tag Editor to create and configure a new axis Electronic gearing remains active through any subsequent execution of jog or move processes for the slave axis This allows electronic gearing motions to be superimposed with jog or move profiles to create complex motion and synchronization Slaving to the Actual Position When Actual Position is entered or selected as the Master Reference source the slave axis motion is generated fro
34. Event Set Up Occurs Figure 5 4 Registration Multiple registration events may be active at any time for a given axis but only one may be active per registration input Each event is monitored independently and may be checked using the appropriate RegEventStatus bit Windowed Registration When the Windowed Reg checkbox is checked the selected trip state only results in a registration event if it occurs when the axis is within the window defined by the minimum and maximum positions as shown below Minimum Maximum Position Nea x Position Axis Position Figure 5 5 Windowed Registration Enter values or tag variables for the desired absolute positions that define the position window within which the selected trip state of the Registration input is valid Windowed registration is useful in Publication 1756 RM007G EN P May 2005 5 12 Motion Event Instructions Publication 1756 RMO007G EN P May 2005 providing a mechanism to ignore spurious or random transitions of the registration sensor thus improving the noise immunity of high speed registration inputs For linear axes the values can be positive negative or a combination However the Minimum Position value must be less than the Maximum Position value for the registration event to occur For rotary axes both values must be less than the unwind value set in the motion controller s machine setup menu The Minimum Position value can be greater than the Maximum
35. Failure the Extended Error section for more information about this error Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Group in Faulted State 21 Attempted execution on an axis which is in a group which is in the Faulted state Illegal Controller 24 Attempted execution when the processor is in test Mode Operation mode Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Process Conflict 39 You have a conflict in your process Test and Tune cannot be run at the same time Drive Locally Disabled 40 You are trying to run an MRAT instruction when the drive is locally disabled Extended Error Codes Status Bits Example Motion Configuration Instructions 6 13 Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MRAT instruction receives a Servo Message Failure 12 error message Associated Error Code Extended Error Meaning decimal Code decimal SERVO_MESSAGE_FAILURE Process terminated on Tune execution followed by 12 request 1 an instruction to shutdown disable drive or a motion stop instruction or a Processo
36. For this release the coordinate system supports up to three 3 primary axes Only the axes configured as primary axes up to 3 are included in Publication 1756 RM007G EN P May 2005 7 40 Multi Axis Coordinated Motion Instructions speed calculations Only primary axes participate in the actual circular move Motion Control The following control bits are affected by the MCCM instruction Mnemonic Description EN Enable Bit 31 The Enable Bit is set when the rung transitions from false to true It resets the rung transitions from true to false DN Done Bit 29 The Done Bit sets when the coordinated instruction has been verified and queued successfully Because it is set at the time it is queued it may appear as set when a runtime error is encountered during the verify operation after it comes out of the queue It resets when the rung transitions from false to true ER Error Bit 28 The Error Bit resets when the rung transitions from false to true It sets when the coordinated move fails to initiate successfully It can also be set with the Done bit when a queued instruction encounters a runtime error IP In Process Bit 26 The In Process Bit sets when the coordinated move is successfully initiated It resets when there is a succeeding move and the coordinated move reaches the new position or when there is no succeeding move and the coordinated move reaches the termination type speci
37. MAHD applies these values to the corresponding axis configuration parameter bits as shown in the following table Axis Parameter Data Type Units Definition Encoder Polarity Boolean Inverts the sense of the encoder Negative feedback input to the motion module To successfully execute a MAHD instruction running the Motor Encoder Test the targeted axis must be configured as either a Servo or Feedback Only axis type If any of these conditions are not met than the instruction errs aa The MAHD instruction execution can take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit is not set immediately but only after this message is successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RMO007G EN P May 2005 Motion Configuration Instructions 6 17 Error Codes MAHD Error Codes ERR Error Message Code Definition Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are e
38. Master Value Slave Value Y ae Ean Ean ES E SES Slope Value v Slope Derivative Motion Move Instructions MCSV MotionControl CamProfile MasterValue SlaveValue SlopeValue SlopeDerivative Description Publication 1756 RMO007G EN P May 2005 Relay Ladder Operand Type Format Description Motion MOTION_INSTRUCTION tag Structure used to access instruction Control status parameters Cam Profile CAM_PROFILE array tag An array of elements with the array index set to 0 It defines the cam profile used in calculating the slave values Master SINT INT DINT or REAL immediate The exact value along the master Value or tag axis of the cam profile that is used in calculating the slave values Slave Value REAL tag The value along the slave axis of the cam profile with the master at the specified master value Slope Value REAL tag The first derivative of the value along the slave axis of the cam profile with the master at the specified master value Slope REAL tag The second derivative of the value Derivative along the slave axis of the cam profile with the master at the specified master value Structured Text The operands are the same as those for the relay ladder MCSV instruction The Motion Calculate Slave Values MCSV instruction determines the slave value the slope value and the derivative of the slope for a given cam profile and m
39. Motion Disarm Registration instruction is executed for registration input 1 RegEventl Status DINT Set when a registration event has occurred on registration input 1 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEvent2Armedstatus DINT Set when a registration checking has been armed for registration input 2 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 2 RegEvent2Status DINT Set when a registration event has occurred on registration input 2 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 2 HomeEventArmedStatus DINT Set when a home event has been armed through execution of the MAH Motion Axis Home instruction Cleared when a home event occurs HomeEventStatus DINT Set when a home event has occurred Cleared when another MAH Motion Axis Home instruction is executed OutputCamStatus DINT A set of bits that are set when the Output Cam has been initiated OutputCamPendingStatus OutputCamLockStatus Publication 1756 RMO007G EN P May 2005 DINT DINT A set of bits that are set when an Output Cam i
40. Other execution states depend on the motion instruction STATUS SINT The message status value indicates the status condition of any message associated with the motion function Value Description 0000 The message was successful 0001 The module is processing another message 0002 The module is waiting for a response to a previous message 0003 The response to a message failed 0004 The module is not ready for messaging SEGMENT DINT A segment is the distance from one point up to but not including the next point A SEGMENT gives the relative position by segment number as the Cam is executing Coordinate System Control Each coordinate system defined in RSLogix5000 has a control structure Structure associated with it that can be used to monitor the status of the coordinate system along with any axis motion being executed by the coordinate system The Coordinate System has the following status bits Mnemonic Data Description Type ShutdownStatus DINT The Coordinate System bit will be set after an MCSD or MGSD is executed and all associated axes have stopped A MCSR or a MGSR will reset the coordinate system and clear the bit Coordinated moves cannot be initiated while this bit is set Publication 1756 RMO007G EN P May 2005 Structures A 31 Mnemonic Data Type Description ReadyStatus DINT The Ready bit is set when all associated axes are enabled It is cleared after an MCSD MGSD
41. Position instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number Type absolute 0 relative 1 PositionSelect actual 0 command 1 Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 61 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis position action been successfully redefined ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis Description The Motion Redefine Position MRP instruction directly sets the actual or command position of the specified axis to the specified absolute or relative position No motion is caused by this instruction the current axis position is simply redefined Select or enter the desired Axis Type Position Selection and enter a value or tag variable for the desired New Position If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis The MRP instruction may be used while the axis is moving as well as when
42. Publication 1756 RM007G EN P May 2005 8 30 Motion Direct Commands Operands Feature Description Group Select a Motion Group from the tag browser This list contains default existing motion groups and their aliases Notification messages are processed i e Motion Group Name changed is reflected ellipsis If an Motion Group alias is NOT selected then the ellipsis button is disabled If enabled then select the ellipsis button to display the Motion Group Properties dialog Motion Group Shutdown Reset If online from the Motion Direct Command dialog the user is able to execute a Motion Group Shutdown Reset MGSR command Gy Motion Direct Commands group 4 Figure 8 25 Motion Group Shutdown Reset Operands Feature Description Group Select a Motion Group from the tag browser This list contains default existing motion groups and their aliases Notification messages are processed i e Motion Group Name changed is reflected ellipsis If an Motion Group alias is NOT selected then the ellipsis button is disabled If enabled then select the ellipsis button to display the Motion Group Properties dialog Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 31 Motion Group Strobe Position If online from the Motion Direct Command dialog the user is able to execute a Motion Group Strobe Position MGSP command G3 Motion Direct Comma
43. Range was out of range See Extended Error section for more information on the cause of the error Homing in Process 16 Attempted execution with a homing process in Error progress Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Illegal Dynamic 23 Attempted execution with another cam profile in Change process Illegal Controller 24 Attempted execution in an operating mode of the Mode Operation ControlLogix processor that does not support this motion instruction Cam Profile Not 32 Attempted execution of cam profile segment that Calculated has not been calculated Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Maximum 54 The Decel Rate of the Axis is set to zero This is an Deceleration Value is illegal value for Decel Rate which inhibits start Zero motion See the Extended Error section for more information about this error Publication 1756 RMO007G EN P May 2005 3 106 Motion Move Instructions Extended Error Codes MATC Changes to Status Bits Publication 1756 RMO007G EN P May 2005 Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range
44. Re use of the motion control tag in other instructions can cause unintended operation This may result in damage to equipment or personal injury Group Control Instructions include all motion instructions that operate on all the axes in the specified group Instructions that can be applied to groups include position strobe shutdown control and stopping instructions Note that at present only one group is supported per Logix controller The motion group instructions are If you want to Use this instruction Available in these languages Initiate a stop of motion on a group of axes MGS relay ladder structured text Force all axes in a group into the shutdown MGSD relay ladder operating state structured text Transition a group of axes from the shutdown MGSR relay ladder operating state to the axis ready operating structured text state Latch the current command and actual position MGSP relay ladder of all axes in a group structured text Motion Group Stop MGS The MGS instruction initiates a stop of all motion in progress on all axes in the specified group by a method configured individually for each axis or as a group via the Stop Mode of the MGS instruction If the MGS Stop Mode is specified as Programmed each axis in the group is stopped according to the configured Programmed Stop Mode axis attribute This is the same stopping mechanism that is employed by the Logix Operating System when there i
45. Structured Text 2 10 Motion Axis Shutdown Reset MASR 2 13 Changes to Status Bits 2 16 Description 2 14 Error Codes 2 15 MOTION_INSTRUCTION structure 2 14 Operands 2 14 Relay Ladder 2 14 Structured Text 2 14 Motion Direct Drive Off MDF 2 20 Description 2 20 Error Codes 2 21 MOTION_INSTRUCTION structure 2 20 Operands 2 20 Relay Ladder 2 20 Structured Text 2 20 Motion Direct Drive On MDO 2 16 Changes to Status Bits 2 19 Description 2 17 Error Codes 2 18 MOTION_INSTRUCTION structure Index 2 17 Operands 2 16 Relay Ladder 2 16 Structured Text 2 16 Motion Servo Off MSF 2 6 Description 2 7 Error Codes 2 8 MOTION_INSTRUCTION structure 2 7 Operands 2 6 Relay Ladder 2 6 Structured Text 2 6 Motion Servo On MSO 2 2 Description 2 3 Error Codes 2 4 MOTION_INSTRUCTION structure 2 3 Operands 2 3 Relay Ladder 2 3 Structured Text 2 3 MRAT 6 7 MRHD 6 18 MRP 3 59 MSF 2 6 MSO 2 2 Multi Axis Coordinated Motion Circular Programming Reference Guide 7 77 Multi Axis Coordinated Motion Instructions 7 1 Introduction 7 1 MCCD 7 79 MCCM 7 36 MCLM 7 13 Operands 7 13 MCS 7 89 MCSD 7 94 MCSR 7 97 Motion Coordinated Change Dynamics 7 79 Motion Coordinated Change Dynamics MCCD Arithmetic Status Flags 7 85 Changes to Status Bits 7 87 Description 7 81 Error Codes 7 86 Extended Error Codes 7 86 Fault Conditions 7 85 Operands 7 79 Accel Rate 7 83 Accel Units 7 83 Change Accel 7 83 Publication 1756 RM007G EN P May 2005
46. The corresponding outputs maintain the last state after the disarming Publication 1756 RM007G EN P May 2005 Motion Event Instructions 5 45 Operands Relay Ladder Operand Type Format Description MDOC Axis AXIS_FEEDBACK tag Name of the axis which provides the Motion Disarm Output Cam N gt AXIS_CONSUMED position input to the Output Cam Axis ED AXIS_VIRTUAL Ellipsis launches Axis Properties cusco Tage pa o AXIS_GENERIC dialog l e AXIS_SERVO Motion Control cen Tie eae Execution SINT INT or DINT immediate The execution target defines the Target or tag specific Output Cam from the set connected to the named axis Behavior is determined by the following e 0 8 Output Cams executed in the Logix controller e 9 31 Reserved for future use Motion MOTION_ tag Structure used to access instruction Control INSTRUCTION status parameters Disarm Type UINT32 immediate Selects one or all Output Cams to be disarmed for a specified axis Select either 0 All Disarms all Output Cams connected to the specified axis 1 Specific Disarms the Output Cam that is connected to the specified axis and defined by the Execution Target MDOC Axis ExecutionTarget MotionControl DisarmType Structured Text The operands are the same as those for the relay ladder MDOC instruction For the operands that require you to select from available options
47. axis A PhysicalAxisFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ModuleFault DINT Set when a serious fault has occurred with the motion module associated with the selected axis Usually a module fault affects all axes associated with the motion module A module fault generally results in the shutdown of all associated axes Reconfiguration of the motion module is required to recover from a module fault condition A ModuleFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ConfigFault DINT Set when an update operation targeting an axis configuration attribute of an associated motion module has failed Specific information concerning the Configuration Fault may be found in the Attribute Error Code and Attribute Error ID attributes associated with the motion module A ConfigFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box WatchEventArmedStatus DINT Set when a watch event has been armed through execution of the MAW Motion Arm Watch instruction Cleared when either a watch event occurs or a MDW Motion Disarm Watch instruction is executed WatchEventStatus DINT Set when a watch event has occurred Cleared when either another MAW Motion Arm Watch instructi
48. e The axes follow the path e f the moves are long enough the axes won t decelerate between moves If the moves are too short the axes decelerate between moves Multi Axis Coordinated Motion Instructions 7 11 Termination type Example path Description 5 Follow Contour Move 1 Move 2 This termination type is similar to the contour velocity constrained It Velocity nal has these differences Unconstrained i y 4 00 e Use this termination type to get a triangular velocity profile across several moves This reduces jerk 3 00 2 00 Move 3 e You must calculate the acceleration for the triangular velocity profile 1 00 e You must also calculate the starting speed for each move in ses the deceleration half of the profile 0 00 1 00 200 3 00 400 500 6 00 velocity profile And to keep jerk low you want to use a triangular velocity profile For this situation use termination type 5 The other termination types may not let you get to the speed you want How dol geta triangular Suppose you want to program a pick and place action in 4 moves Termination types 2 3 or 4 Termination type 5 You want to get to this You calculate the acceleration and you must also calculate the starting speed for each move d during deceleration but the axes have to decelerate before they get there t The axes won t go any faster than a speed that lets them decelerate The
49. of course would terminate the active cam process on the slave axis At this point the application program should stop all other axes via the virtual master axis Next reposition the faulted axis by determining where the master is and then calculating where the slave axis should be had the fault not occurred Finally do an immediate lock MAPC to resynchronize with the Cam Lock Position set to the calculated value IMPORTANT The MAPC instruction execution completes in a single scan thus the Done DN bit and the In Process IP bit are set immediately The In Process CIP bit remains set until the initiated PCAM process completes is superseded by another MAPC instruction terminated by a Motion Axis Stop command Merge operation or Servo Fault Action The Process Complete bit is cleared immediately when the MAPC executes and sets when the cam process completes when configured for Once Execution Mode This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute Publication 1756 RM007G EN P May 2005 3 90 Motion Move Instructions e In structured text condition the instruction so that it only executes on a transition See Appendix C Cam Cam Profile Slave Axis Lock Position Position Master Axis Position ON 4 Position Cam Lock Status OFF ON 4 Position Gam Status OFF
50. or REAL immediate Coordination Units or tag Decel Units SINT INT or DINT immediate Q Units per Sec 1 of Maximum Scope SINT INT or DINT immediate 0 Active Motion Structured Text Publication 1756 RM007G EN P May 2005 7 80 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 The operands are the same as those for the relay ladder MCCD instruction Note When entering enumerations for the operand value in Structured Text multiple word enumerations must be entered without spaces For example when entering Decel Units the value should be entered as unitspersec rather than Units per Sec as displayed in the ladder logic For the operands that have enumerated values enter your selection as This operand Has these options which you enter as text or enter as a number Motiontype Coordinatedmove ChangeSpeed No 0 Yes 1 SpeedUnits Unitspersec 0 ofmaximum 1 ChangeAccel No 0 Yes 1 AccelUnits Unitspersec 0 ofmaximum 1 ChangeDecel No 0 Yes 1 ofmaximum 1 Scope activemotion 0 Multi Axis Coordinated Motion Instructions 7 81 Description The Motion Coordinated Change Dynamics MCCD instruction starts a change in the path dynamics of the specified coordinate system Based upon the Motion Type the MCCD changes the coordinated motion profile that is currently active on the system ATTENTION A If yo
51. profile can also be executed Once or Continuously by specifying the desired Execution Mode The Master Reference selection allows camming input from the master to be derived from either the Actual or Publication 1756 RM007G EN P May 2005 3 72 Motion Move Instructions Operands MAPC Motion Axis Position Cam Slave Axis Master Axis Motion Control Direction J Cam Profile Slave Scaling FYTI Master Scaling J Execution Mode Execution Schedule Master Lock Position Cam Lock Position J Master Reference Master Direction Publication 1756 RM007G EN P May 2005 Command position of the Master Axis To support applications which require unidirectional motion a slip clutch feature is available which prevents the slave from backing up when the master axis reverses direction This feature is controlled by the Master Direction parameter Master and Slave Scaling functionality can be used to scale slave motion based on a standard cam profile without having to create a new cam table and calculate a new cam profile Relay Ladder Operand Type Format Description Slave Axis AXIS_ VIRTUAL tag The name of the axis that the cam AXIS_GENERIC profile is applied to Ellipsis launches AXIS_SERVO Axis Properties dialog AXIS_SERVO_DRIVE Master Axis AXIS_FEEDBACK tag The axis that the slave axis follows AXIS_CONSUMED according to the cam profile Ellipsis AXIS_VIRTUA
52. usar pr iia ia 2 20 A A e EARR a E AEE a aha e Bere 2 20 Descrip tia baaa a a 2 20 Arithmetic Status Flags a a es his 2 21 Fault Conditions as eta ao oa is 2 21 o EA A Gh Sh nlp ee nent Gusti dod eek 2 21 MDF Changes to Status Bits cvs eee ne ays 2 22 EXP AA A Styne N 2 22 Motion Axis Fault Reset MAFR o o o o oo o o ooo 2 22 Operador ea 2 23 DESCHPUON osa A o eae RS 2 23 Arithmetic Status POS cos portate ED a 2 24 Fault Conditions 2 ria de 2 24 Error Codes saeni apih ia A 2 24 MAFR Changes to Status Bits o as 2 25 MAFR Example amp nio asar ade na 2 25 Chapter 3 LAU ODUCUOD os re snd Lo Oe te alo Sore AO da 3 1 Motion Axis Stop MAS aoaaa a a oo Cee US 3 2 Operas ostias Bad ES ha AE FEES SOS Oa 3 2 BSE iON ar pick al rt naa 3 4 Arithmetic Status Fl la aaa 3 7 Fault C AdiGons e DE A De PE REE EG 3 7 Erot CodeS e aao o ta Aa 3 7 Extended Error Codes slats Beats 3 7 a a A A S Me IE EN E E E E A 3 8 MAS Changes to Status Bits o oooo oo 3 8 EXT tes o cate in a Eins RE oda 3 8 Motion Axis Home MAH 0 0 0000 3 9 A mia Sas A Oa Beg dG 3 9 DESErI POM soot een Bk RAGS ale i te eed ee ee 3 9 Arithmetic Status Else ora a we eh gibt thy 3 11 Fault Conditions r eeann ek EA AAA 3 11 Table of Contents 3 Eror Code tai bong Bend oe ae eae oe ee ee 3 11 Extended Error Codes 05 6 ce ok eee ee ea 3 12 Status Bits e a det aed a ia 3 13 Example n a ey PS Ae Pek ee ek OPE RES ES 3 14 Motion
53. 12 The messaging to the servo module failed Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Motion Group Not 19 The motion group associated with the axes of Synchronized the coordinate system is not synchronized Coordinate System Not In 50 The coordinate system is not associated with Group the Motion Group MCSR Changes to Status Bits Status Bits provide a means for monitoring the progress of the motion instruction There are three types of Status Bits that provide pertinent information They are Axis Status Bits Coordinate System Status Bits and Coordinate Motion Status Bits When the MCS instruction initiates the status bits undergo the following changes Axis Status Bits Bit Name CoordinatedMoveStatus No effect Coordinate System Status Bits Bit Name Effect ShutdownStatus Clears the Shutdown status bit Coordinate Motion Status Bits Bit Name Flushes instruction queue and clears status bit MovePendingStatus Publication 1756 RM007G EN P May 2005 7 100 Multi Axis Coordinated Motion Instructions Bit Name Effect MovePendingQueueFullStatus Flushes instruction queue and clears status bit Example Relay Ladder Publication 1756 RM007G EN P May 2005 CSR Motion Coordinated Shutdown Reset N gt Coordinate System Coordinated_sys Nm
54. 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MATC instruction an extended error code of 5 would refer to the Time Scaling operand s value You would then have to check your value with the accepted range of values for the instruction For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 7 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value Status Bits If the Execution Schedule is set to Immediate execution of the MATC instruction simply sets the Time Cam Status bit to True Bit Name State Meaning TimeCamStatus TRUE Time Camming is Enabled TimeCamPendingStatus FALSE No pending Time Cam If the Execution Schedule is set to Pending execution of the MATC instruction does n
55. 2 seconds This test is used to check the OK contact wiring into the E Stop string of the Drive system In the event of a motion module DSP failure this mechanism is used to shut off the power supply to the drive s When the two second Watchdog OK Test is complete the motion module then reports success via the Test Status as shown below Axis Parameter Data Type Units Definition Test Status Integer Status Report of the Hookup Diagnostic Test Process Test Status Conditions may occur that make it impossible for the control to properly perform the test operation When this is the case the test process is automatically aborted and a test fault is reported and stored in the Test Status output parameter It is also possible to manually abort a test process using a MAS instruction which results in a test fault reported by the Test Status parameter Possible values for Test Status are shown in the table below Error Message Code Definition Test Success 0 Test process has been successful Test In Process 1 Test is in progress Test Aborted 2 Test Process was aborted by user Test Time out 3 Test Process has exceeded timed out 2 Seconds Test Servo Fault 4 Test Process Failed due to Servo Fault Test Increment Fault 5 Test Process Failed due to insufficient test increment distance to make a reliable measurement To successfully execute a MRHD instruction running the Motor Encoder Te
56. 25 Cam element The number of Output Cam elements is limited by the amount of available memory Zero or more cams can be defined for each output bit There is no constraint on how these elements are arranged within the Output Cam array Refer to the description of the OUTPUT_CAM structure for more information about data types and programming units The following diagram shows the relationships between the axis input and output that are defined by the Output Cam element Position Latch amp Unlatch Output Bit Dumi Operation Enable Selection amp Inversion Input Bit 0 31 Output Bit 0 31 Figure 5 11 Output Cam Element Relationships Latch Type Depending on the selected LatchType the corresponding output bit is set according to the following table Latch Type Behavior Inactive The output bit is not changed Position The output bit is set when the axis enters the compensated cam range Enable The output bit is set when the enable bit becomes active Position and Enable The output bit is set when the axis enters the compensated cam range and the enable bit becomes active Publication 1756 RM007G EN P May 2005 5 26 Motion Event Instructions The following diagram shows the effect of the selected latch type on the output bit for different compensated cam and enable bit combinations as function of position Compensated Cam Position Position Enable Bit Posit
57. 8 29 Operands arene ek ao MASA AE ARS 8 30 Motion Group Shutdown Reset o o o 8 30 Operands ura e aio areas a 8 30 Motion Group Strobe Position 0 4 8 31 Operands gt os mcr hae ario Bek aa wg hand 8 31 Motion Event Commands 00000 ee 8 32 Motion Arm Watch one ad Wk Aas Ao abuse ge GU 8 32 Operands Ae AVE Rte AO CE Ate 8 32 Motion Disarm Watch sed ds pio hae bbs 8 33 Operando id SOA wd eek had eae ees 8 33 Motion Arm Registration einen ened fee Pak 8 34 OMStndSs s gs 5 tins ee eta 8 34 Motion Disarm Registration 0000 8 35 Op tands 5 sers acquit dues 8 35 Motion Direct Command Error Process 8 36 Transition States esas ac pages e Higher a eo 8 38 Appendix A IAUVODUCUON so ssh lakh sigs hs woe ot Blase ald DR Hae Dd A 1 AXIS DUPICUMGS 4 52 AS SIGN ANTAS A 1 AXIS_CONSUMED Structure 0000 000 eee A 1 AXIS SERVO Structure aaa dete dad aja A 6 AXIS_SERVO_DRIVE Structure 056 oooconos A 14 AXIS VIRTUAL SUUCIIC Dea VEpes ok A 23 MOTION GROUP Structure veses Sie eG H hie A 27 MOTION_INSTRUCTION Structure A 28 Coordinate System Control Structure A 30 CAM SIRUGCHUTES rar doth greats Wee eels ce Ges IRM Bae oR anats A 32 CAM PROFILE Struct re ra a EA ae tate A 32 OUTPUT_CAM Structure ss 4 4 Gok ahs We A oe a ais A 33 OUTPUT_COMPENSATION Structure o o ooo o o A 34 Appendix B Introduction
58. Actual Position axis parameters Gearing in the Same Direction When Same is selected or entered as the Direction the slave axis moves in its positive direction at the specified gear ratio when the master axis moves in its positive direction and vice versa Gearing in the Opposite Direction When Opposite is selected or entered as the Direction the slave axis moves in its negative direction at the specified gear ratio when the master axis moves in its positive direction and vice versa Changing the Gear Ratio When Unchanged is selected or entered as the Direction the gear ratio may be changed while preserving the current gearing direction same or opposite This is useful when the current direction is not known or not important Reversing the Gearing Direction When Reverse is selected or entered as the Direction the current direction of the electronic gearing is changed from same to opposite or from opposite to same This is very useful for winding applications where the gear ratio must be reversed at each end of the wind Real Number Gear Ratios When Ratio Format is selected or entered as Real the gear ratio is specified as a real number or tag variable with a value between 0 00001 and 9 99999 inclusive representing the desired ratio of slave axis position units to master axis position units A gear ratio expressed this way is easy to interpret since it is defined in the axes configured position units Motion Move Ins
59. Bee Ob ped eos 7 92 Fault Conditions NES bate EAS 7 92 EXOF COLES Aaa tte Ge be pe one Sone 8 7 92 Extended Error Codes a ova 4 ee Ries BERR DAS OS 7 93 MCS Changes to Status Bits ias a4 hm enna se pis 7 93 AA O Een ee Cue Pao Serie Bin ese 7 94 Motion Direct Commands Table of Contents 9 Motion Coordinated Shutdown MCSD 7 94 o o A A NI nde TR Seas 7 94 Description Gn Gils ie 8 Paste ba O 7 95 Arithmetic Status Pas a Mo OER ee AG 7 95 Fault Conditions is ad Gea hl meee bee es dos 7 96 BITOFIGOGES 0 caia ahs a ah a ld E ect 7 96 MCSD Changes to Status Bits 4 0 05 4 a 7 96 Example Sarena eTA OR bug Pat eG a eS a 7 97 Motion Coordinated Shutdown Reset MCSR 7 97 Operands ini ARA 7 97 Descriptions adi a Re aae Fea Sag 7 98 Arithmetic Status PIAS G tee dro Sb gy HE edn ce 7 99 Fault CORIO NS rch a5 ae Seep lett ima Oy Gd A Bk oat dt 7 99 Error COLES valine Aine Ae ae Cae ASAS NA 7 99 MCSR Changes to Status Bits o o o o o o 7 99 Examples bt eo ete E ano ll Se EEE Soh OM ies 7 100 Chapter 8 TREO CUCU A AN 8 1 Supported Commands orto Er 8 1 Accessing Motion Direct Commands aanas aaaea 8 2 From the Main Menu sudan ta a8 wale od dd tae 8 3 From Group in the Controller Organizer 8 4 From Axis in the Controller Organizer 8 7 User Interfaces ria ais 8 8 Motion Direct Commands x yank ales oe ee Vee E 8 11 Motion State Commands 235 94 4 4
60. Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MDO instruction receives a Servo Message Failure 12 error message Extended Error Associated Error Code Meaning Code decimal decimal Object Mode conflict SERVO_MESSAGE_FAILURE Axis is in shutdown 12 12 MDO Changes to Status Bits Bit Name State Meaning DriveEnableStatus TRUE Axis is in Drive Control state with the Drive Enable output active When the input conditions are true the controller activates the servo drive for axis and sets the servo output voltage of axis7 In this example the output is 2 of the output value Publication 1756 RM007G EN P May 2005 2 20 Motion State Instructions Motion Direct Drive Off MDF Operands MDF Motion Direct Drive Off Axis voy Motion Control MDF Axis MotionControl Description Publication 1756 RMO007G EN P May 2005 Relay Ladder MDO Motion Direct Drive On No Axis Axis E gt Motion Control MDO_3 R gt Drive Output Drive Units Percent Figure 2 5 MDO Ladder Example Structured Text MDO Axis0 MDO_1 4 percent Use the MDF instruction to deactivate the servo drive and to set the servo output voltage to the output offset voltage The output offset voltage is the output voltage that generates zero or minimal drive motion You can specify this value during axis configura
61. Coordinated_sys e Axis0 is Rotary with an unwind of 1 rev e Axisl is Rotary with an unwind of 2 revs e Start position is 0 0 e Increment to end position is 0 5 0 5 e Increment to Center position is 0 5 0 Multi Axis Coordinated Motion Instructions 7 57 MCCM Motion Coordinated Circular Move NO Coordinate System Coordinated_sys Motion Control MCCM 8 N l Move Type 1 Move Type is RD gt Incremental Position MCCM_Move_position 16 L AxisO 0 5 IP gt Axis 0 5 Circle Type 1 D Via Center Radius Circle Type is Center Center 4 D 0 Direction Speed 1 Direction is Clockwise Speed Units Accel Rate Units per sec 1 Accel Units of Maximum Decel Rate 100 Decel Units Z of Maximum Profile S Curve Termination Type 1 Merge Disabled Merge Speed Programmed Figure 7 34 MCCM Ladder Instruction with Move Type of Absolute Publication 1756 RM007G EN P May 2005 7 58 Multi Axis Coordinated Motion Instructions Three Dimensional Arcs Publication 1756 RM007G EN P May 2005 The preceding MCCM instruction produces the following plot a Trend Motion Figure 7 35 Plot of MCCM with Two Rotary Axes and Move Type of Incremental The axis travels clockwise in a circle from 0 0 to 0 5 1 5 The move stops after generating a 270 degree arc There was one travel through the unwind for Axis1 It should be noted that the path of the coordinated motion is determin
62. DINT Set when the associated servo module has detected a problem with the module s timer event functionality used to synchronize the motion module s servo loop to the master timebase of the Logix rack i e Coordinated System Time This fault bit can be cleared only by reconfiguration of the motion module ModuleHardwareFault DINT Set when the associated servo module has detected a hardware problem that in general is going to require replacement of the module to correct ProcessStatus DINT Set when there is an axis tuning operation or an axis hookup diagnostic test operation in progress on the associated physical axis HomelnputStatus DINT Set when the current state of the dedicated Home input is active Cleared when the Home input is inactive Reg InputStatus DINT Set when the current state of the dedicated Registration 1 input is active Clear when the Registration 1 input is inactive Reg2InputStatus DINT Set when the current state of the dedicated Registration 1 input is active Clear when the Registration 1 input is inactive PosOvertravellnputStatus DINT Set when the current state of the dedicated Positive Overtravel input is active Clear when the Positive Overtravel input is inactive NegOvertravellnputStatus DINT Set when the current state of the dedicated Negative Overtravel input is active Clear when the Negative Overtravel input is inactive EnablelnputStat
63. Direct Commands Feature Description Decel Units Select the desired deceleration units from the combo box This list contains Units per sec2 default and of Maximum Profile Select the desired profile from the combo box This list contains Trapezoidal default and S Curve Merge Enable merge from Cam or gear by selecting Enabled from the combo box This list contains Disabled default and Enabled If Disabled is selected then the Merge Speed field is disabled Merge Speed Select the desired merge speed from the combo box This list contains Programmed default and Current If Merge Speed is set to At Current Speed then Speed and Speed Units fields are disabled Motion Axis Move If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Move MAM command G3 Motion Direct Commands my_virtual_axis 4 Publication 1756 RMO007G EN P May 2005 fel ES Figure 8 19 Motion Axis Move j rapezoidal isabled Q o i Operands Motion Direct Commands 8 23 Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the ellipsis button to display the Axis Properties d
64. Drive configuration bit parameter is FALSE indicating interface to an external torque servo drive the following output parameters are generated Axis Parameter Data Type Units Meaning Tune Status Real Status Report of the Tuning Process Tune Accel Time Real seconds Measured Acceleration Time of Tuning Profile Tune Decel Time Real seconds Measured Deceleration Time of Tuning Profile Tune Accel Real pos units sec Calculated Acceleration Time of Tuning Profile Tune Decel Real pos units sec Calculated Deceleration Time of Tuning Profile Effective Inertia Real mV KCPS2 Computed Effective Inertia of Drive Motor system Position Servo Real Hertz Calculated Maximum Position Servo Bandwidth Loop Bandwidth The above output parameters generated by the MRAT instruction serve as inputs to a subsequent MAAT instruction which performs further tuning calculations and applies the results to various axis servo and dynamic configuration parameters Publication 1756 RMO007G EN P May 2005 Motion Configuration Instructions 6 11 Tune Status Parameter Conditions may occur that make it impossible for the controller to properly perform the tuning operation When this is the case the tuning process is automatically aborted and a tuning fault reported that is stored in the Tune Status output parameter GSVable It is also possible to manually abort a tuning process using a MAS instruction which
65. INSERT Expressions An expression is a tag name equation or comparison To write an expression use any of the following e tag name that stores the value variable e number that you enter directly into the expression immediate value e functions such as ABS TRUNC e Operators such as lt gt And Or As you write expressions follow these general rules e Use any combination of upper case and lower case letter For example these three variations of AND are acceptable AND And and e For more complex requirements use parentheses to group expressions within expressions This makes the whole expression easier to read and ensures that the expression executes in the desired sequence See Determine the order of execution on page B 10 In structured text you use two types of expressions BOOL expression An expression that produces either the BOOL value of 1 true or 0 false e A bool expression uses bool tags relational operators and logical operators to compare values or check if conditions are true or false For example tag1 gt 65 Publication 1756 RMO007G EN P May 2005 Structured Text Programming B 5 e A simple bool expression can be a single BOOL tag e Typically you use bool expressions to condition the execution of other logic Numeric expression An expression that calculates an integer or floating point value e A numeric expression uses arithmetic operators arithmetic
66. In Process Bit is set when the coordinated move is successfully initiated It is reset when there is no succeeding move and the coordinated move reaches the new position or when there is a succeeding move and the coordinated move reaches the specifications of the termination type or when the coordinated move is superseded by another MCLM or MCCM instruction with a merge type of Coordinated Move or when terminated by an MCS instruction AC Active Bit 23 When you have a coordinated move instruction queued the Active Bit lets you know which instruction is controlling the motion It sets when the coordinated move becomes active It is reset when the Process Complete bit is set or when the instruction is stopped PC Process Complete Bit 27 The Process Complete Bit is reset when the rung transitions from false to true It is set when there is no succeeding move and the coordinated move reaches the new position or when there is a succeeding move and the coordinated move reaches the specified Termination Type ACCEL Acceleration Bit Bit 01 The Acceleration Bit sets while the coordinated move is in the acceleration phase It resets while the coordinated move is in the constant velocity or deceleration phase or when coordinated motion concludes DECEL Deceleration Bit Bit 02 The Deceleration bit sets while the coordinated move is in the deceleration phase It resets while the coordinated move is in the const
67. Instruction category includes all motion instructions that cause or directly affect axis motion These instructions include moving jogging gearing stopping camming etc This category also includes motion instructions that directly modify current axis position that are typically used to reference the specified axis to some absolute physical position of the axis Instructions to redefine axis position and perform a homing sequences fall under this category The motion move instructions are If you want to Use this instruction Available in these languages Initiate a controlled stop of any motion process MAS relay ladder onan axis structured text Home an axis MAH relay ladder structured text Initiate a jog motion profile for an axis MAJ relay ladder structured text Initiate a move profile for an axis MAM relay ladder structured text Provide electronic gearing between any two MAG relay ladder axes structured text Change the speed acceleration rate or MCD relay ladder deceleration rate of a move profile or a jog structured text profile in progress Change the command or actual position of an MRP relay ladder axis structured text Calculate a cam profile MCCP relay ladder structured text Publication 1756 RM007G EN P May 2005 3 2 Motion Axis Stop MAS MAS Motion Axis Stop Axis Motion Control Stop Type Change Decel Decel Rate Decel Units Motion Move I
68. MGSP Latch the current command and actual position of all axes in a group Motion Event Command Description MAW Arm watch position event checking for an axis MDW Disarm watch position event checking for an axis MAR Arm servo module registration event checking for an axis MDR Disarm servo module registration event checking for an axis Accessing Motion Direct The Motion Direct Command dialog can be accessed from the Tools Commands Publication 1756 RMO007G EN P May 2005 pull down of the Main Menu by right clicking on the Group in the Controller Organizer and by right clicking on an Axis in the Controller Motion Direct Commands 8 3 Organizer The point of entry determines the look of the opening dialog and the default values that are set From the Main Menu You can access the Motion Direct Commands dialog directly from the Tool pull down of the Main Menu 2 RSLogix 5000 mdconline 1756 L1 aleja e je gt gt BL EF Not Running EH E Controller OK j Io ols Rem Prog E Battery Fault F 1 0 Not Present importes Motion Direct Commands E Controller mdconline o Controller Tags E Controller Fault Handler E hu Power Up Handler 3 3 Tasks 04 MainT ask 2 MainProgram A Program Tags E EP MainRoutine m scheduled Programs Coral ESH Figure 8 1 Main Menu Tools Pull down Motion Direct Commands Publication 1756 RM007G E
69. Merge Speed Progsrred Merge set to Coordinated Motion for the Accel Unie instruction to be Deca Rate merged Decel Links Protte Termination Type Merge Speed is M gt Programmed Figure 7 11 Ladder Diagram Showing Merge If the axes are orthogonal to each other and the coordinate system cs2 is initially at 0 0 units then the motion caused by this diagram depends on the time at which the second instruction is executed The blending begins as soon as the second move is initiated and the first Publication 1756 RM007G EN P May 2005 7 28 Multi Axis Coordinated Motion Instructions The bit states at various transition points for the merge move move is terminated immediately In the ladder diagram for this example transition begins when the timer Tdelay expires Profile After Merge ECN posse S riginal Profile nano potter ene t X axis Figure 7 12 Graph Showing Result of Merge Bit Move1 DN TP1 TP2 TP3 TP4 Move1 IP Move1 AC meclm10 PC Move2 DN MoveZ IP Move2 AC Move2 PC cs2 MoveTransitionStatus cs2 MovePendingStatus cs2 MovePendingQueueFullStatus Note Currently Coordinated Motion only supports the queueing of one coordinated motion instruction Therefore the MovePendingStatus bit and the MovePendingQueueFullStatus bit are always the same sa a ml mf am a A mo A A alm Aa a a nm
70. Move Type Incremental and Circle Type of Center Creating a full circle is a special case of a circular arc The following is an example of a two dimensional full circle MCCM Full Circle The following examples show the use of the MCCM with a Circle Type of Center and a Move Type of Absolute first example and Incremental second example to create a full circle The basic assumptions are e The 2 axes Axis0 and Axis1 are both members of the coordinate system Coordinated_sys e Axis0 and Axis1 are orthogonal to each other e Coordinated_sys is initially at 10 4 1 3 units Move Coordinated_sys along an arc to 10 4 1 3 units with a center at 3 7 6 4 units from the start point at the vector speed of 10 0 units per second with the acceleration and deceleration values of 5 0 units per second The following graph shows the circle generated by the preceding information Clockwise _ Full mr f f f 104 13 Sart j 4 37 04 Combs Counte NS i Clockwise A Full Figure 7 29 Plot of Path of MCCM Full Circle This path can be achieved by using an MCCM instruction in the Clockwise direction with a Move Type Absolute or with a Move Multi Axis Coordinated Motion Instructions 7 53 Type Incremental When a Circle Type of Center is chosen the Via Center Radius position defines the center of the arc MCCM Motion Coordinated Circular Move Nn Coordinate Sys
71. NOT selected then the e ipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Publication 1756 RM007G EN P May 2005 8 16 Motion Direct Commands Motion Direct Drive On If online from the Motion Direct Command dialog the user is able to execute a Motion Direct Drive On MDO command Figure 8 13 Motion Direct Drive On Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Drive Output Enter the desired drive output in the edit box The default is 0 Drive Units Select the desired drive output units from the combo box This list contains Volts default and Percent Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 17 Motion Direct Drive Off If online from the Motion Direct Command dialog the user is able to execute a Motion Direct Drive Off MDF command Rs Motion Direct Commands my_virtual_axis 4 fro vital 2020202020222 Y Figure 8 14 Motion Direct Drive Off Operands Feature Description Axis Select an axis from the tag browser This list contains
72. Position value for registration windows that cross the unwind point of the axis as shown below Minimum Maximum Position Position D Axis Position Figure 5 6 Position Window for Rotary Axis Motion Event Instructions 5 13 Rearming an MAR Instruction If your application requires rapid and continuous detection of a Condition to start registration EnableRegistration registration sensor we recommend that you use the following logic Registration Armed Waiting for Sensor Registration_Rearmed MAR H Motion Arm Registration Axis Axis_0 J Nm Motion Control R gt Trigger Condition Positive_Edge IP gt Windowed Registration Disabled o Min Position Max Position Input Number Registration Armed Waiting for Sensor My_Reaistration IP Registration_Rearmed My_Registration EN Registration Armed Waiting for Sensor My Reaistration PC Registration_Rearmed Figure 5 7 Ladder Logic for Continuous Registration Detection To rearm the MAR instruction the rung must change from false to true The rate at which this logic functions depends on the following e program scan time e motion task course update rate IMPORTANT In large I O connections force values can slow down the rate at which the controller processes repetitive motion registration To successfully execute a MAR instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwis
73. PositionCamPendingStatus DINT Set if a Position Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MAPC instruction with Pending execution selected This bit is cleared when the current position cam profile completes initiating the start of the pending cam profile This bit is also cleared if the position cam profile completes or is superseded by some other motion operation TimeCamPendingStatus DINT Set if a Time Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MATC instruction with Pending execution selected This bit is cleared when the current time cam profile completes initiating the start of the pending cam profile This bit is also cleared if the time cam profile completes or is superseded by some other motion operation GearingLockStatus DINT Set whenever the slave axis is locked to the master axis in a gearing relationship according to the specified gear ratio The clutch function of the gearing planner is used to ramp an axis up or down to speed in a gearing process MAG with Clutch selected This bit is cleared during the intervals where the axis is clutching PositionCamLockStatus DINT Set whenever the master axis satisfies the starting condition of a currently active Position Cam motion profile The starting condition is established by the
74. R Error R is too small R lt 0 001 or R is too short to span programmed points 50 Coordinate System Not in Group The coordinate system tag is not associated with a motion group 51 Invalid Actual Tolerance The Termination Type has been set to Actual Position with a value of 0 This value is not supported Publication 1756 RM007G EN P May 2005 7 70 Multi Axis Coordinated Motion Instructions Code Error Message Description 52 Coordinated Motion In Process Error Atleast one axis is currently undergoing coordinated motion in another coordinated system 54 Maximum Deceleration Value is The Decel Rate of either the Coordinate System or the Axis is set to zero This is an Zero illegal value for Decel Rate which inhibits start motion See the Extended Error section for more information about this error 65 The selected axis exceeded the The axis moved too far and the controller can t store the position The range for maximum system travel limits position depends on the conversion constant of the axis position overflowed Axis Properties My_Axis_X Homing Hookup Tune Dynamics Gains Output Limits Offset Fault Actions Taa General Motion Planner Units Drive Motor Motor Feedback Aux Feedback Conversion Positioning Mode Linear S y Drive Counts 1 0 inches Conversion Constant 2097152 0 ased on 2097152 Counts Motor Rev Maximum positive position 2 147 483 647 conversion constant of the axi
75. RMO007G EN P May 2005 Motion Move Instructions 3 91 Code Error Message Description 24 Illegal Controller Mode Operation Attempted execution in an operating mode of the ControlLogix processor that does not support this motion instruction 32 Cam Profile Not Calculated Attempted execution of cam profile segment that has not been calculated 38 Illegal Axis Data Type You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction 54 Maximum Deceleration Value is The Decel Rate of the Axis is set to zero This is an illegal value for Decel Rate Zero which inhibits start motion See the Extended Error section for more information about this error 65 The selected axis exceeded the The axis moved too far and the controller can t store the position The range for maximum system travel limits position depends on the conversion constant of the axis position overflowed Axis Properties My_Axis_X Homing Hookup Tune Dynamics Gains Output Limits Offset Fault Actions Taa General Motion Planner Units Drive Motor Motor Feedback Aux Feedback Conversion Positioning Mode Linear y 20971520 Drive Counts 1 0 inches Conversion Constant 2097152 0 ased on 2097152 Counts Motor Rev Maximum positive position 2 147 483 647 conversion constant of the axis Maximum negative position 2 147 483 648 conversion constant of the axis Suppose you h
76. Scan Process rung true rung false complete rung false complete Figure 1 3 Process Type Instructions Rung Conditions Publication 1756 RMO007G EN P May 2005 Motion Concepts 1 7 Using the Motion Instruction Structure The controller uses the MOTION_INSTRUCTION structure to store status information during the execution of motion instructions Every motion instruction has an operand that requires a motion instruction structure For each motion instruction you use you must define a unique motion instruction structure The structure of the motion instruction structure is shown below MOTION_INSTRUCTION structure bit number 31 30 29 28 27 26 error code ERR 16 bits DECEL ACCEL 23 16 15 i 0 execution message SEGMENT Figure 1 4 Motion instruction Structure Motion Instruction Structure Mnemonic Data Type Description EN BOOL The enable bit indicates that the instruction is enabled the rung in and rung out condition is true DN ER BOOL BOOL BOOL The done bit indicates that all calculations and messaging if any are complete The error bit indicates when the instruction is used illegally The in process bit indicates that a process is being executed PC AC BOOL BOOL The process complete bit indicates that the operation is complete The DN bit sets after an instruction has completed execution The PC bit sets when the initiated process
77. Start Control and Start Position parameters of the MAPC instruction This bit is bit is cleared when the current position cam profile completes or is superseded by some other motion operation In uni directional master direction mode the Position Cam Lock Status bit is cleared when moving in the wrong direction and sets when moving in the correct direction MasterOffsetMoveStatus DINT Set if a Master Offset Move motion profile is currently in progress This bit is cleared when the Master Offset Move is complete or is superseded by some other motion operation CoordinatedMotionStatus DINT Set if any coordinated motion profile is currently active upon the axis It is cleared as soon as Coordinated Motion is complete or stopped ServoActionStatus DINT Set when the associated axis is under servo control Cleared when servo action is disabled DriveEnableStatus DINT Set when the Drive Enable output of the associated physical axis is currently enabled Cleared when physical servo axis Drive Enable output is currently disabled ShutdownStatus ConfigUpdatelnProcess DINT DINT Set when the associated axis is currently in the Shutdown state Cleared when the axis is transitioned from the Shutdown state to another state The Configuration Update Status Bits attribute provides a method for monitoring the progress of one or more specific module configuration attribute updates initiated by either a
78. Startpoint is legal Therefore radius mismatch R1 paths referred to by full circles may be generated R2 gt 15 R1 direction parameter a By setting Endpoint Startpoint in which case all direction types produce full circles b By setting Endpoint not Startpoint and using Full direction type 5 For 3D Full Circles set Position to be any point on the circle except Startpoint and use one of the Full direction types Position defines both arc and Shortest direction types Via Point Both Error 44 Collinearity Via point always Via point always 1 Full Circles can be Error 45 Endpoint determines determines programmed Startpoint direction direction Direction operand is only used 2 For full circles set Position Publication 1756 RMO007G EN P May 2005 to determine if circle is partial or full to be any point on circle except Startpoint and use one of the Full direction types Multi Axis Coordinated Motion Instructions 7 79 Motion Coordinated Change Dynamics MCCD cc Motion Coordinated Change Dynamic Coordinate System Motion Control Motion Type Change Speed Speed Speed Units Change Accel Accel Rate Accel Units Change Decel Decel Rate Decel Units Scope lt lt Less J J Operands Y YY MCCD CoordinateSystenm MotionControl MotionType ChangeSpeed Speed SpeedUnits ChangeAccel AccelRate AccelUnit
79. Status gt 1 the instruction then increments the Status member indicating that it is in use by this axis When the cam completes or terminates the Status member of the first cam profile array element is decremented to maintain track of the number of cams actively using the associated cam profile Linear and Cubic Interpolation Position cams are fully interpolated This means that if the current Master Axis position does not correspond exactly with a point in the cam table associated with the cam profile the slave axis position is Motion Move Instructions 3 79 determined by linear or cubic interpolation between the adjacent points In this way the smoothest possible slave motion is provided Each point in the Cam array that was used to generate the Cam Profile can be configured for linear or cubic interpolation Electronic camming remains active through any subsequent execution of jog or move processes for the slave axis This allows electronic camming motions to be superimposed with jog or move profiles to create complex motion and synchronization Scaling Position Cams A position cam profile can be scaled in both the master dimension and slave dimension when it is executed This scaling feature is useful to allow the stored cam profile to be used to determine the general form of the motion profile The scaling parameters are then used to define the total master or slave travel over which the profile is executed as shown
80. System Queue Full There are more motion instructions activated than the instruction queue can hold 50 Coordinate System Not in Group The coordinate system tag is not associated with a motion group 51 Actual Position Tolerance is Zero The Termination Type is set to Actual Position with a value of 0 This value is not supported Publication 1756 RM007G EN P May 2005 7 32 Multi Axis Coordinated Motion Instructions Code Error Message Description 52 Coordinated Motion In Process Error At least one axis is involved in a coordinated move through another coordinate system 54 Maximum Deceleration Value is The Decel Rate of either the Coordinate System or the Axis is set to zero This is an Zero illegal value for Decel Rate It inhibits start motion See the Extended Error section for more information about this error 65 The selected axis exceeded the The axis moved too far and the controller can t store the position The range for maximum system travel limits position depends on the conversion constant of the axis position overflowed Axis Properties My_Axis_X Homing Hookup Tune Dynamics Gains Output Limits Offset Fault Actions Taa General Motion Planner Units Drive Motor Motor Feedback Aux Feedback Conversion Positioning Mode Linear S y Drive Counts 1 0 inches Conversion Constant 2097152 0 ased on 2097152 Counts Motor Rev Maximum positive position 2 147 483 647 conversion constant
81. Text 3 66 Specifying a Cam Array 3 67 Specifying the Cam Profile Tag 3 67 Start Slope and End Slope 3 68 Motion Change Dynamics MCD 3 51 Changing Jog Dynamics 3 55 Changing Move Dynamics 3 55 Description 3 54 Error Codes 3 58 Extended Error Codes 3 58 MOTION_INSTRUCTION structure 3 53 Operands 3 51 Relay Ladder 3 51 Structured Text 3 52 Pausing Moves 3 55 Motion Group Strobe Position MGSP Status Bits 4 13 Motion Redefine Position MRP 3 59 Absolute Mode 3 61 Actual Position 3 62 Command Position 3 62 Description 3 61 Error Codes 3 64 Extended Error Codes 3 64 MOTION_INSTRUCTION structure 3 61 Operands 3 60 Relay Ladder 3 60 Structured Text 3 60 Relative Mode 3 62 Motion Slave Calculate Values MCSV 3 107 Arithmetic Status Flags 3 109 Changes to Status Bits 3 110 Error Codes 3 109 Fault Conditions 3 109 Operands 3 107 Motion Control 3 109 Relay Ladder 3 108 Structured Text 3 108 Structured Text 3 108 Operands Relay Ladder 3 2 Motion Redefine Position 3 59 Motion Run Axis Tuning 6 7 Motion Run Hookup Diagnostics 6 18 Motion Servo On 2 2 motion state MDO 2 16 Motion State Instructions 2 1 Introduction 2 1 Motion Axis Fault Reset MAFR 2 22 Description 2 23 Error Codes 2 24 MOTION_INSTRUCTION structure 2 23 Operands 2 23 Relay Ladder 2 23 Structured Text 2 23 Motion Axis Shutdown MASD 2 9 Description 2 10 Error Codes 2 12 MOTION_INSTRUCTION structure 2 10 Operands 2 10 Relay Ladder 2 10
82. The Final destination of an incremental move may be changed while the move is in progress although not while the axis is decelerating with S Curve profiles using another MAM instruction with an additional incremental distance The total distance moved by the MAM instructions is the sum of the two distances NOTE The Final destination of an S Curve velocity profile move may not be changed when the axis is decelerating The Final destination of an incremental move may also be changed while a move is in progress using another MAM instruction with a new absolute position In this case the axis Publication 1756 RM007G EN P May 2005 3 30 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 goes directly to the specified absolute position without completing the incremental move This action is different from the case where an incremental MAM instruction follows an absolute MAM instruction Incremental Moves with Gearing A Motion Axis Gear MAG instruction may be used while an incremental move is in progress on the slave axis and the gearing motion is superimposed on the move profile Conversely an incremental move instruction may be used while gearing is enabled to cause a similar effect This allows many complex profiles and sophisticated synchronization to be accomplished Superimposing an incremental move on top of electronic gearing is particularly useful to implement phase advance retard control Increm
83. This list contains Units per sec2 default and of Maximum Publication 1756 RM007G EN P May 2005 8 26 Motion Direct Commands Motion Change Dynamics If online from the Motion Direct Command dialog the user is able to execute a Motion Change Dynamics MCD command i G3 Motion Direct Commands my_virtual_axis 4 my vita as Figure 8 21 Motion Change Dynamics Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Motion Type Select the motion profile to change from the combo box This list contains Jog default and Move Change Speed Select whether or not to change the speed from the combo box This list contains No default and Yes If No is selected then the Speed and Speed Units fields are disabled Speed Enter the desired speed in the edit box The default is 0 Change Accel Select whether or not to change the accel from the combo box This list contains No default and Yes If No is selected then the Aceel Rate and Accel Units fields are disabled Accel Rate Enter the desired acceleration rate in the edit box The default is 100 0 Publicatio
84. This operand enter as text Has these options which you or enter as a number TriggerCondition forward reverse 0 1 Motion Event Instructions 5 3 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis watch event checking has been successfully armed ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared after the watch event has occurred or has been superseded by another Motion Arm Watch or terminated by a Motion Disarm Watch command PC Process It is set when a watch event occurs Complete Bit 27 Description The Motion Arm Watch MAW instruction sets up a Watch Position event to occur when the specified physical axis reaches the specified Set point position as shown below Setpoint Position ay ee ee ev ee ee Se Axis Position 1 NS 0 Watch_Pos_status Watch Watch Position Position Event Event Set Up Occurs Figure 5 1 Set Point Position Watch Position events are useful for synchronizing an operation to a specified axis position while the axis is moving such as activating a solenoi
85. Units per For the operands that have enumerated options enter your selection as This operand Has these options which you enter as text or enter as a number MoveType no enumeration 0 Absolute 1 Incremental Circle Type no enumeration 0 Via 1 Center 2 Radius 3 Center Incremental Direction 2D 3D clockwise shortest 0 counterclockwise longest 1 clockwisefull shortestfull 2 counterclockwisefull longestfull 3 Speed Units unitspersec 0 1 ofmaximum Publication 1756 RM007G EN P May 2005 7 38 Multi Axis Coordinated Motion Instructions This operand Has these options which you enter as text or enter as a number Accel Units unitspersec 0 ofmaximum ofmaximum Profile trapezoidal 0 s curve 1 Termination Type no enumeration 0 Actual Tolerance 1 No Settle 2 Command Tolerance 3 No Decel 4 Follow Contour Velocity Constrained 5 Follow Contour Velocity Unconstrained See Choose a termination type on page 7 9 Merge Merge Speed Disabled Coordinatedmotion Allmotion Programmed Current 0 oj n gt Publication 1756 RM007G EN P May 2005 Description Multi Axis Coordinated Motion Instructions 7 39 The Motion Coordinated Circular Move MCCM performs a circular move using up to three 3 axes statically coupled to the coordinate system as primary axes in a Cartesian coordinate system Th
86. an Absolute or Relative basis If Absolute is selected the Position value is assigned to the current Actual or Command position If Relative is selected the Position value is added as a displacement to the current Actual or Command position The process of redefining the current axis position has no affect on motion in progress as the instruction preserves the current servo following error during the redefinition process As a result axis position can be redefined on the fly without disturbing axis motion Publication 1756 RM007G EN P May 2005 3 60 Motion Move Instructions Operands Relay Ladder Operand Type Format Description MA Axis AXIS_FEEDBACK tag Name of the axis to perform Aga Redefine Position ND pet ate operation on Motion Control Nn AXIS_SERVO Type AXIS_SERVO_DRIVE Nain Select f R gt Motion MOTION_ tag Structure used to access control INSTRUCTION instruction parameters Type BOOLEAN immediate The way you want the redefinition operation to work Select either 0 absolute 1 relative Position BOOLEAN immediate Choose what position to perform select the redefinition operation on Select either 0 actual position 1 command position Position REAL immediate The value to use to change the axis or tag position to or offset to current position Structured Text MRP Axis MotionControl Type The operands are the same as those for the relay ladder MRP PositionSelect
87. and the Position Cam Lock Status bits to False Position Cam Lock Motion Move Instructions 3 93 Status transitions to True when the Execution Schedule condition is satisfied Bit Name State Meaning Position Cam TRUE Position Camming is Enabled Status Position Cam FALSE Slave Axis is waiting for Master Axis to reach Lock Status Lock Position Position Cam FALSE No pending Position Cam Pending Status If the Execution Schedule is set to Pending execution of the MAPC instruction does not affect the current state of either the Position Cam Status or Position Lock Status bits Position Cam Pending Status bit is set to True immediately and transitions to False when the pending cam becomes the active cam Bit Name State Meaning Position Cam N A Position Camming is Enabled Status Position Cam N A Slave Axis is waiting for Master Axis to reach Lock Status Lock Position Position Cam True Pending Position Cam Pending Status Example Relay Ladder MAPC Motion Axis Position Cam Slave Axis AxisO E Master Axis Axis1 Motion Control MAPC_1 Direction 1 Cam Profile Cam_pro1 0 Slave Scaling 1 0 YTT Master Scaling 1 0 Execution Mode Once Execution Schedule Immediate Master Lock Position Mickpos Cam Lock Position Cickpos 27 Master Reference Actual Master Direction Forward Only Figure 3 35 MAPC Ladder Example Publication 1756 RM007G EN P May 2005 3
88. are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Publication 1756 RM007G EN P May 2005 8 14 Motion Direct Commands Motion Axis Shutdown If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Shutdown MASD Motion Direct Commands my_virtual_axis 4 my vital as Figure 8 11 Motion Axis Shutdown Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e lipsis button is disabled If enabled then select the ellipsis button to display the Axis Properties dialog Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 15 Motion Axis Shutdown Reset If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Shutdown Reset MASR command Figure 8 12 Motion Axis Shutdown Reset Operands Feature Axis Description Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is
89. assigned to a physical motion module channel 13 Parameter Out of Range Attempted to execution with a parameter that was outside of its legal range limit See Extended Error section for more information on the cause of the error 16 Home in Process Attempted to execute with homing in process 17 Axis Mode Not Rotary Attem pted to execute a rotary move type with axis not configured for rotary operation 19 Axis Group Not Synchronized Attempted execution on an axis whose associated axis group is not currently synchronized Publication 1756 RM007G EN P May 2005 3 36 Motion Move Instructions Code Error Message Description 20 Axis in Faulted State Attempted execution on an axis which is in the Faulted state 23 Illegal Dynamic Change Attempted an illegal change of dynamics such as merge on an S curve change profile from trap to S curve on the fly change S curve to non zero speed or changing accel of an S curve 24 Illegal Controller Mode Operation Attempted execution when the processor Is in test mode 33 Position Cam Not Enabled An MAH execution was attempted without the position cam in process Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 37 Code Error Message Description 38 Illegal Axis Data Type You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction 54 Maximum Deceleration Value is The Decel Rate of the Axis is set to zero This is an ille
90. associated Motion Group properties dialog box WatchEventArmedStatus DINT Set when a watch event has been armed through execution of the MAW Motion Arm Watch instruction Cleared when either a watch event occurs or a MDW Motion Disarm Watch instruction is executed WatchEventStatus DINT Set when a watch event has occurred Cleared when either another MAW Motion Arm Watch instruction or a MDW Motion Disarm Watch instruction is executed RegEventl Armedstatus DINT Set when a registration checking has been armed for registration input 1 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEventl Status DINT Set when a registration event has occurred on registration input 1 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEvent2Armedstatus DINT Set when a registration checking has been armed for registration input 2 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 2 RegEvent2Status DINT Set when a registration event has occurred on registration input 2 Cleared when either anothe
91. axis being jogged in the configured Home Direction and then after the position is re defined based on detection of the home event the axis is automatically moved to the configured Home Position IMPORTANT WHen unidirectional active homing is performed on a rotary axis and the Home Offset value is less than the deceleration distance when the home event is detected the control moves the axis to the unwind position of zero this ensures that the resulting move to the Home Position is unidirectional Passive Homing When the axis Homing Mode is configured as Passive the MAH instruction re defines the actual position of a physical axis on the next occurrence of the encoder marker Passive homing is most commonly used to calibrate Feedback Only axes to their markers but can also be used on Servo axes Passive homing is identical to active homing to an encoder marker except that the motion controller does not command any axis motion After initiating passive homing the axis must be moved past the encoder marker for the homing sequence to complete properly For closed loop Servo axes this may be accomplished with a MAM or MAJ instruction For physical Feedback Only axes motion cannot be commanded directly by the motion controller and must be accomplished via other means Absolute Homing If the motion axis hardware supports an absolute feedback device Absolute Homing Mode may be used The only valid Home Sequence for an absolute
92. axis position This provides a shifting of the position cam profile along the master axis An axis move can be stopped by using the Motion Axis Stop MAS instruction Operands Relay Ladder MAM Operand Type Format Description Motion Axis Move N Axis AXIS_VIRTUAL tag Name of the axis to perform Axis a AXIS_ GENERIC operation on Motion Control N AXIS SERVO Move Type AXIS_SERVO_DRIV R gt E Si Position Speed gi IP gt Motion MOTION_ tag Structure used to access instruction pee 7 Ce control INSTRUCTION status parameters Speed Units Move type UDINT immediate The type of move operation you Accel Rate or tag require Select one of the following Accel Uni A 0 Absolute Move Decel a 1 Incremental Move 2 2 Rotary Shortest Path Move Decel Units 9 3 Rotary Positive Move Profile 4 Rotary Negative Move Merge 5 Absolute Master Offset Merge Speed 6 Incremental Master Offset Position REAL immediate The value of the absolute command Distance or tag position to move to or for incremental movement the value of the distance to move from the current command position Speed REAL immediate The speed to move the axis in either or tag or Speed units Publication 1756 RMO007G EN P May 2005 MAM Axis MotionControl MoveType Position Speed SpeedUnits AccelRate AccelUnits DecelRate DecelUnits Profile Merge MergeSpeed Motion Move Instructi
93. bits returned in the output Remote Operation Usage with MAOC Instruction Motion Event Instructions 5 39 echo connection may be used to determine the current state of each schedule and to trigger corresponding event tasks If a new schedule is sent by the controller and the CST timestamp has already past the output is asserted until the CST time has completely wrapped around The module does not check for an expired CST timestamp MI If the time between two schedules is less than the minimum schedule interval e g 100 us then jitter occurs This means that even though two outputs are scheduled at different times e g time 90 and time 110 they both activate at the same time e g time 90 The minimum schedule interval should not be set to faster than 100 us Scheduled outputs using the 1756 OB16IS module do not work with a remote chassis When used with motion and the MAOC instruction values in the output image are controlled by the Motion Planner firmware in the controller The Motion Planner triggers the data to be sent to the module Although the normal program task scan also triggers data to be sent to the module Data integrity is maintained by the firmware always setting the sequence count for a given schedule last The Output Cam instruction processes cam events for scheduled outputs one coarse update period sooner than unscheduled outputs When a programmed on or off event is detected a schedule is sent t
94. by some other motion operation JogStatus DINT Setif a Jog motion profile is currently in progress Cleared when the Jog is complete or is superseded by some other motion operation GearingStatus DINT Set if the axis is a slave that is currently Gearing to another axis Cleared when the gearing operation is stopped or is superseded by some other motion operation HomingStatus DINT Set if a Home motion profile is currently in progress Cleared when the homing operation is stopped or is superseded by some other motion operation StoppingStatus DINT Set if there is a stopping process currently in progress Cleared when the stopping process is complete Note The stopping process is used to stop an axis initiated by an MAS MGS Stop Motion fault action or mode change HomedStatus DINT Cleared at power up or reconnection Set by the MAH instruction upon successful completion of the configured homing sequence and later cleared when the axis enters the shutdown state PositionCamStatus DINT Setif a Position Cam motion profile is currently in progress Cleared when the Position Cam is complete or is superseded by some other motion operation TimeCamStatus DINT Set if a Time Cam motion profile is currently in progress Cleared when the Time Cam is complete or is superseded by some other motion operation Publication 1756 RM007G EN P May 2005 A 4 Structures Mnemonic Data Type Description
95. change HomedStatus DINT Cleared at power up or reconnection Set by the MAH instruction upon successful completion of the configured homing sequence and later cleared when the axis enters the shutdown state PositionCamStatus DINT Set if a Position Cam motion profile is currently in progress Cleared when the Position Cam is complete or is superseded by some other motion operation TimeCamStatus DINT Set if a Time Cam motion profile is currently in progress Cleared when the Time Cam is complete or is superseded by some other motion operation PositionCamPendingStatus DINT Set if a Position Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MAPC instruction with Pending execution selected This bit is cleared when the current position cam profile completes initiating the start of the pending cam profile This bit is also cleared if the position cam profile completes or is superseded by some other motion operation TimeCamPendingStatus DINT Set if a Time Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MATC instruction with Pending execution selected This bit is cleared when the current time cam profile completes initiating the start of the pending cam profile This bit is also cleared if the time cam profile completes or is superseded
96. comments on the back of this form Your Name Your Title Function Would you like us to contact you regarding your comments Location Phone ___No there is no need to contact me Yes please call me Yes please email me at Yes please contact me via Return this form to Rockwell Automation Technical Communications 1 Allen Bradley Dr Mayfield Hts OH 44124 9705 Fax 440 646 3525 Email RADocumentComments ra rockwell com Publication CIG C0521C EN P May 2003 PN957955 69957782 91 Other Comments PLEASE FASTEN HERE DO NOT STAPLE PLEASE FOLD HERE BUSINESS REPLY MAIL FIRST CLASS MAIL PERMIT NO 18235 CLEVELAND OH POSTAGE WILL BE PAID BY THE ADDRESSEE Allen Bradley BELIANCE pa ELECTRIC ie DOGE Rockwell Automation 1 ALLEN BRADLEY DR MAYFIELD HEIGHTS OH 44124 9705 NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES PLEASE REMOVE SERCOS interface is a trademark of the Interests group SERCOS interface e V of Stuttgart Germany Rockwell Automation Support www rockwellautomation com Corporate Headquarters Rockwell Automation provides technical information on the web to assist you in using its products At http support rockwellautomation com you can find technical manuals a knowledge base of FAQs technical and application notes sample code and links to software service packs and a MySupport feature that you can customize to make the best
97. configured Programmed Stop Mode for each axis This instruction initiates the same programmed stopping action that is automatically applied when the processor s operating system changes operating mode G e Run Mode to Program Mode etc This is particularly useful in designing custom motion fault handlers If the MGS Stop Mode parameter is set to Fast Stop each axis in the group is forced to perform a Fast Stop process regardless of the configured Programmed Stop Mode Each axis in the group is decelerated at the Maximum Deceleration rate and once stopped the axis is left in the Servo Active state If the MGS Stop Mode parameter is set to Fast Disable each axis in the group is forced to perform a Fast Disable process regardless of the configured Programmed Stop Mode Each axis in the group is decelerated at the Maximum Deceleration rate and once stopped placed into the Axis Ready servo inactive and drive disabled state There are five Programmed Stop Modes that are currently supported by the MGPS instruction Fast Stop Fast Disable Hard Disable Fast Shutdown and Hard Shutdown Each axis may be configured to use any of these five stop modes The following is a description of the effect of each these five stopping modes as they apply to an individual axis in the specified group Fast Stop For an axis configured for a Fast Stop the MGPS instruction initiates a controlled stop much like that initiated by an MAS instruction In
98. current position of the master axis as measured by its encoder or other feedback device This is the default selection and the only selection when the master Axis Type is configured as Feedback Only since it is often necessary to synchronize the actual positions of two axes Slaving to the Command Position When Command Position is entered or selected as the Master Reference source the slave axis motion is generated from the command position of the master axis as shown below Position Lock Cam Slave Axis Master Axis Command Position Command Position Master Position Figure 3 32 Slaving to the Command Position Command position only available when the master axis Axis Type is a Servo or Virtual axis is the desired or commanded position of the master axis Since the command position does not incorporate any associated following error or external position disturbances it is a more accurate and stable reference for camming When camming to the command position of the master the master axis must be commanded to move to cause any motion on the slave axis Refer to the Motion Axis Object Specification for more information on Command Position and Actual Position axis parameters Motion Move Instructions 3 87 Master Direction Normally the Master Direction parameter is set to Bi directional default However when Forward Only is selected for Master Direction the slave axis tracks the master axis in the forward dire
99. deceleration rate of the executing Stop The new deceleration jerk rate becomes smaller The time required to decelerate to zero causes velocity to undershoot Publication 1756 RM007G EN P May 2005 3 6 Motion Move Instructions passing through zero and becoming negative Axis motion reverses direction until velocity returns to zero Point during Stop where new Jog initiates Velocity Position Figure 3 1 MAJ Initiated During MAS Stop All Motion When Stop All Motion is entered or selected all motion in process i e jog move gear home test tune time cam position cam or master offset move processes are stopped simultaneously bringing the axis to a controlled stop aaa The MAS instruction execution completes in a single scan thus the Done DN bit and the In Process CIP bit are set and the Process Complete PC bit is cleared immediately The In Process IP bit remains set until the initiated stop process is completed or superseded by another MAS instruction or terminated by a Servo Fault Action The Process Complete PC bit is only set if the initiated clutch profile is completed prior to any other of the above events terminating the stop process and clearing the In Process IP bit This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that i
100. default is 0 Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 33 Motion Disarm Watch If online from the Motion Direct Command dialog the user is able to execute a Motion Disarm Watch MDW command Figure 8 28 Motion Disarm Watch Operands Feature Axis Description Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Publication 1756 RM007G EN P May 2005 8 34 Motion Direct Commands Motion Arm Registration If online from the Motion Direct Command dialog the user is able to execute a Motion Arm Registration MAR command Motion Direct Commands my _virtual_axis 4 Positive_Edge Disabled Figure 8 29 Motion Arm Registration Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Trigger Condition Select the trigger condition from
101. evaluation of strings B 8 expression B 4 FOR DO B 19 functions B 6 IF THEN B 13 logical operators B 9 non retentive assignment B 3 numeric expression B 4 relational operators B 7 REPEAT UNTIL B 25 WHILE DO B 22 structures AXIS A 1 CAM A 32 CAM_PROFILE A 32 MOTION_GROUP A 27 MOTION_INSTRUCTION A 28 W WHILE DO B 22 How Are We Doing AB Your comments on our technical publications will help us serve you better in the future Thank you for taking the time to provide us feedback Ty You can complete this form and mail or fax it back to us or email us at RADocumentComments ra rockwell com Pub Title Type Logix5000 Controllers Motion Instructions Cat No Pub No 1756 RMO07G EN P Pub Date May 2005 PartNo 957955 69 Please complete the sections below Where applicable rank the feature 1 needs improvement 2 satisfactory and 3 outstanding Overall Usefulness 1 2 03 How can we make this publication more useful for you 2 3 Can we add more information to help you Completeness all necessary information procedure step illustration feature is provided ere example guideline other explanation definition Technical Accuracy 1 2 3 Can we be more accurate all provided information l is correct text illustration Clarity 1 2 3 How can we make things clearer all provided information is easy to understand Other Comments You can add additional
102. exec_ trgt2 MDOC 2 all Publication 1756 RM007G EN P May 2005 5 48 Motion Event Instructions Notes Publication 1756 RMO007G EN P May 2005 Chapter 6 Motion Configuration Instructions MAAT MRAT MAHD MRHD ATTENTION Tags used for the motion control attribute of instructions should only be used once Re use of the motion control tag in other instructions can cause unintended operation This may result in damage to equipment or personal injury Introduction Configuration instructions include all motion instructions that are used establish and apply servo configuration parameters to an axis This group of instructions includes hookup test diagnostic instructions and tuning instructions Use the motion configuration instructions to tune an axis and to run diagnostic tests for the servo system These tests include e A motor encoder hookup test e An encoder hookup test e A marker test The motion configuration instructions are Ifyou want to Use this instruction Available in these languages Compute a complete set of servo gains and MAAT Relay Ladder dynamic limits based on a previously executed Structured Text MRAT instruction The MAAT instruction also updates the servo module with the new gain parameters Command the servo module to run a tuning MRAT Relay Ladder motion profile for an axis Structured Text Apply the results of a previously executed MAHD Relay Ladder MRHD instruction St
103. execute when ELSE numeric_expression selector3 lt statement gt q statements to execute when GI END CAS numeric_ expression any selector See the table on the next page for valid selector values Example If you want this If recipe number 1 then Ingredient A outlet 1 open 1 Ingredient B outlet 4 open 1 If recipe number 2 or 3 then Ingredient A outlet 4 open 1 Ingredient B outlet 2 open 1 If recipe number 4 5 6 or 7 then Ingredient A outlet 4 open 1 Ingredient B outlet 2 open 1 If recipe number 8 11 12 or 13 th Ingredient A outlet 1 open 1 Ingredient B outlet 4 open 1 Otherwise all outlets closed 0 en Structured Text Programming B 17 The syntax for entering the selector values is When selector is Enter one value value statement multiple distinct values value1 value2 valueN lt statement gt Use a comma to separate each value a range of values value1 valueN lt statement gt Use two periods to identify the range distinct values plus arange valuea valueb value valueN lt statement gt of values The CASE construct is similar to a switch statement in the C or C programming languages However with the CASE construct the controller executes only the statements that are associated with the first matching selector value Execution always breaks after the statements of that select
104. existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the ellipsis button to display the Axis Properties dialog Publication 1756 RM007G EN P May 2005 8 18 Motion Direct Commands Motion Axis Fault Reset If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Fault Reset MAFR command S Motion Direct Commands Ei my_virtual_ axis 4 xi vita E Figure 8 15 Motion Axis Fault Reset Operands Feature Axis Description Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the ellipsis button to display the Axis Properties dialog Publication 1756 RMO007G EN P May 2005 Motion Move Commands Motion Direct Commands 8 19 Motion Axis Stop If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Stop MAS command Operands Figure 8 16 Motion Axis Stop Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification
105. for your axis Bit Number Data Type Description ServoActionStatus 00 DINT Servo Action Status DriveEnableStatus 01 DINT Drive Enable Status ShutdownStatus 02 DINT Axis Shutdown Status ConfigUpdatelnProcess 03 DINT Configuration Update in Process Reserved 04 31 AxisFault DINT The axis faults for your axis Bit Number Data Type Description PhysicalAxisFault 00 DINT Physical Axis Fault ModuleFault 01 DINT Module Fault ConfigFault 02 DINT Configuration Fault Reserved 03 31 AxisEvent DINT The event status for your axis Bit Number Data Type Description WatchEventArmedStatus 00 DINT Watch Event Armed Status WatchEventStatus 01 DINT Watch Event Status RegEvent1 ArmedStatus 02 DINT Registration Event 1 Armed Status RegEvent Status 03 DINT Registration Event 1 Status RegEvevent2ArmedStatus 04 DINT Registration Event 2 Armed Status RegEvent2Status 05 DINT Registration Event 2 Status HomeEventArmedStatus 06 DINT Home Event Armed Status HomeEventStatus 07 DINT Home Event Status Reserved 08 31 ActualPosition REAL Actual Position in Position Units StrobeActualPosition REAL Strobe Actual Position in Position Units StartActualPosition REAL Start Actual Position in Position Units AverageVelocity REAL Average Velocity in Position Units Sec ActualVelocity REAL Actual Velocity in Position Units Sec Publication 1756 RMO007G EN P May 2005 Structures A 3
106. generated error code 23 The only exception for this is if the Execution Schedule is specified as pending Pending Cam Execution Alternatively the MATC instruction s execution can in effect be deferred pending completion of a currently executing time cam An Execution Schedule selection of Pending can thus be used to seamlessly blend two time cam profiles together without stopping motion The Pending execution feature is particularly useful in applications when the axis must be accelerated up to speed using a specific velocity profile When this acceleration profile is done it must be smoothly blended into a cam profile which is typically executed continuously To stop the axis the operating profile can be smoothly blended into a deceleration profile such that the axis stops at a known location as shown below Accel Operating Decel Axis Profile Profile Profile Position 15 15 x 7 Y Sa Lo a7 OSN Time Publication 1756 RM007G EN P May 2005 Motion Move Instructions 3 103 Figure 3 39 Pending Cam Execution By executing the time cam profile as a Pending cam profile while the current profile is still executing the appropriate cam profile parameters are set up ahead of time This makes the transition from the current profile to the pending profile seamless synchronization between the master time and slave axes position is maintained To ensure smooth motion across the transition howeve
107. gt eee eo ie start the first one OS the second one The tag for the coordinate system gives you 2 bits for Types When Blending queueing instructions nae bits always e the aoe ate becasue Instructions you can queue only one instruction at a time When an instruction Then enters the queue e MovePendingstatus bit 1 e MovePendingQueueFullStatus bit 1 e You can t queue another instruction leaves the queue and starts e MovePendingStatus bit 0 e MovePendingQueueFullStatus bit 0 e You can queue another instruction For example the following ladder diagram uses Coordinate System cs1 to blend Movel into Move2 If Step 1 then Move starts and moves the axes to a position of 5 0 And once Move is in process And there is room to queue another move Step 2 QU CLM Motion Coordinated Linear Move Coordinate System csi Motion Control Movet Move Type 0 Equal Source 4 Step 0 Source B 1 Position My_Path O X_Axis 5 0 Y_Axis 0 0 More gt gt Move IP cs1 MovePendingQueueFullStatus Move Source Dest Continued on next page Publication 1756 RM007G EN P May 2005 1 4 Multi Axis Coordinated Motion Instructions If Step 2 then Move is already happening Move goes into the queue and waits for Move1 to complete When Move is complete Move2 moves the axes to a position of 10 5 And once Movez is in process And Move2 comes off the queue and starts Step 3
108. has completed The Active Bit lets you know which instruction is controlling the motion when you have instructions queued It sets when the instruction becomes active It is reset when the Process Complete bit is set or when the instruction is stopped ACCEL BOOL The ACCEL bit indicates that the velocity has increased for the individual instruction that it is tied to i e jog move gearing DECEL BOOL The DECEL bit indicates that the velocity has decreased for the individual instruction that it is tied to i e jog move gearing ERR INT The error value contains the error code associated with a motion function See page 1 8 STATUS SINT The message status value indicates the status condition of any message associated with the motion function See page 1 10 Publication 1756 RM007G EN P May 2005 1 8 Motion Concepts Mnemonic Data Type Description STATE SINT The execution status value keeps track of the execution state of a function Many motion functions have several steps and this value tracks these steps SEGMENT DINT A segment is the distance from one point up to but not including the next point A SEGMENT gives the relative position by segment number as the Cam is executing Error codes ERR ErrorCode Error Message Description 1 Reserved Error Code 1 Reserved for future
109. in the associated Registration Position variable in the axis data structure Also the instruction s Event PC bit is simultaneously set as well as the Registration Event Status bit in the axis data structure If Windowed Registration is selected only registration events whose computed registration position falls within the Max and Min Position window are accepted If the Registration Position falls outside this window the registration event checking is automatically rearmed Operands Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis to perform TET TEF h i AXIS_VIRTUAL operation on o Ion arm Megistration AXIS_GENERIC Nation Control 3 Ne A Trigger Condition 7 P gt AXIS_SERVO_DRIVE Windowed Registration C gt Motion MOTION_ tag Structure used to access Min Position an control INSTRUCTION instruction status parameters Max Position Trigger BOOLEAN immediate Defines the Registration Input 22 condition transition that defines the Input Number registration event Select either 0 trigger on positive edge 1 trigger on negative edge Windowed BOOLEAN immediate Set 1 if registration is to be registration Windowed meaning that the computed Registration Position must fall within the specified Min and Max Position limits to be accepted as a valid registration event Select either 0 disabled 1 enabled Publication 1756 RM007G EN P May 200
110. in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAS instruction an extended error code of 4 would refer to the Decel Rate operand s value You would then have to check your value with the accepted range of values for the instruction Publication 1756 RM007G EN P May 2005 3 8 Motion Move Instructions MAS Changes to Status Bits Example Publication 1756 RMO007G EN P May 2005 Motion Status Bits If Stop Motion Type of All is entered or selected the MAS instruction clears all Motion Status bits Bit Name Status Meaning MoveStatus FALSE Axis is not Moving JogStatus FALSE Axis is not Jogging GearingStatus FALSE Axis is not Gearing HomingStatus FALSE Axis is not Homing StoppingStatus TRUE Axis is Stopping PositionCamStatus FALSE Axis is not Position Camming TimeCamStatus FALSE Axis is not Time Camming PositionCamPendingstatus FALSE Axis does not have a Position Cam Pending TimeCamPendingStatus FALSE Axis does not have a Time Cam Pending GearingLockStatus FALSE Axis is not in a Gear Locked condition PositionCamLockStatus FALSE Axis is not in a Cam Locked condition If a specific stop type is selected only the Motion Status Bit associated with the motion is cleared All other bits are unaffected When the input conditions are true the controller stops motion on axis1 and clears all associated motion status flags
111. in the illustration below In this way one standard cam profile can be used to generate a whole family of specific cam profiles When a cam profile array is specified by an MAPC instruction the master and slave values defined by the cam profile array take on the position units of the master and slave axes respectively By contrast the Master and Slave Scaling parameters are unitless values that are simply used as multipliers to the cam profile Profile Scaled with Slave Scaling Profile Scaled with Master Slave Axis and Slave Scaling Position Profile Scaled with Master Scaling Master Axis Position Profile Stored in Cam Profile Array Figure 3 25 Cam Profile Array By default both the Master Scaling and Slave Scaling parameters are set to 1 To scale a position cam profile enter a Master Scaling or Slave Scaling value other than 1 Note that increasing the master scaling value of a cam profile decreases the velocities and accelerations of the profile while increasing the slave scaling value increases the velocities and accelerations of the profile To maintain the velocities and Publication 1756 RM007G EN P May 2005 3 80 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 accelerations of the scaled profile approximately equal to those of the unscaled profile the master scaling and slave scaling values should be equal For example if the slave scaling value of a profile is 2 the master scali
112. instruction executes MoveStatus Sets when MCCM begins axis motion Clears on the PC bit of the last motion instruction or a motion instruction executes which causes a stop MoveTransitionStatus Sets when No Decel or Command Tolerance Termination Type is satisfied When blending collinear moves the bit is not set because the machine is always on path It clears when a blend completes the motion of a pending instruction starts or a motion instruction executes which causes a stop Indicates not on path MovePendingStatus Sets when one pending coordinated motion instruction is in the instruction queue Clears when the instruction queue is empty MovePendingQueueFullStatus Sets when the instruction queue is full It clears when the queue has room to hold another new coordinated move instruction Publication 1756 RMO007G EN P May 2005 Note Currently Coordinated Motion only supports the queueing of one coordinated motion instruction Therefore the Example Circular Programming Reference Guide Multi Axis Coordinated Motion Instructions 1 11 MovePendingStatus bit and the MovePendingQueueFullStatus bit are always the same Relay Ladder MECH Motion Coordinated Circular Move Coordinate System Coordinated_sys Motion Control MCCM O Move Type 0 Position AxisO Axis 5 0 Circle Type 0 MCCM_Move_position 0 0 0 Via Center Radius YIA Direction 0 Speed 10 of Maximum 5
113. instruction execution completes in a single scan thus the Done DN bit and the In Process CIP bit are set and the Process Complete PC bit is cleared immediately The In Process IP bit remains set until the initiated Move process is completed or superseded by another MAM instruction or terminated by a Motion Axis Stop command Merge operation or Servo Fault Action The Process Complete PC bit is only set if the initiated move profile is completed prior to any other of the above events terminating the move process and clearing the In Process IP bit This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MAM Error Codes ERR Code Error Message Description 5 Servo Off State Error Attempted execution on an axis that does not have the servo loop closed 7 Shutdown State Error Attempted execution with the axis in the Shutdown state 8 Illegal Axis Type Attempted execution with the axis not configured as servo 9 Overtravel Error Attempted execution in a direction that aggravates current overtravel condition 11 Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been
114. is reduced below the current output voltage value the Servo Output value is automatically clamped to the Output Limit value The most common use of this instruction is to provide an independent programmable analog output as an open loop speed reference for an external drive or for testing an external servo drive for closed loop operation To successfully execute a MDO instruction the targeted axis must be configured as a Servo axis and be in the Axis Ready state with servo action off If these conditions are not met the instruction errs avia The MDO instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module and time for the drive output to stabilize The Done DN bit is not set until after the axis is in the Drive Control state This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MDO Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run quali
115. is not Jogging GearingStatus FALSE Axis is not Gearing Homingstatus FALSE Axis is not Homing StoppingStatus FALSE Axis is not Stopping PositionCamStatus FALSE Axis is not Position Camming TimeCamStatus FALSE Axis is not Time Camming PositionCamPendingstatus FALSE Axis does not have a Position Cam Pending TimeCamPendingStatus FALSE Axis does not have a Time Cam Pending GearingLockStatus FALSE Axis is not in a Gear Locked condition PositionCamLockStatus FALSE Axis is not in a Cam Locked condition Example When the input conditions are true the controller disables the servo Motion Axis Shutdown MASD drive and the axis servo loop configured by Axis0 Relay Ladder MSF Motion Servo Off Axis Axis E Motion Control MSF_1 vy Figure 2 2 MSF Ladder Example Structured Text MSF AxisO MSF_1 Use the MASD instruction to force a specified axis into the Shutdown state The Shutdown state of an axis is the condition where the drive output is disabled servo loop deactivated and any available or Publication 1756 RM007G EN P May 2005 2 10 Motion State Instructions associated OK solid state relay contacts open The axis will remain in the Shutdown state until either an Axis or Group Shutdown Reset is executed Operands Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag The name of the axis to perform MASD operation on Motion Axis Shutdown N gt AXIS VIR
116. it is at rest MRP is used to redefine position on the fly for certain registration slip compensation and re calibration applications Absolute Mode When Absolute is selected or entered as the MRP Type the New Position specifies the new absolute position of the axis No motion occurs the current axis position actual or command is simply redefined to be the specified new position If software overtravel limits are used refer to Motion Axis Object specification for more information on software overtravel configuration the new position must be between the Max Positive and Max Negative Travel configuration values Otherwise a software overtravel fault is generated when the instruction is executed ATTENTION If software overtravel limit checking is in effect execution of an MRP in Absolute Mode may invalidate the current Max Positive and Max Negative Travel limits in the absolute sense Exercise caution when redefining the absolute position of an axis that has travel limits Absolute and relative mode MRP instructions have the same effect when the axis is not moving When the axis is moving however Publication 1756 RM007G EN P May 2005 3 62 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 absolute mode introduces a position error equal to the motion of the axis during the time it takes to execute the MRP instruction and assign the new position Relative mode does not introduce this error
117. languages Enable the servo drive and activate the axis MSO relay ladder servo loop structured text Disable the servo drive and deactivate the axis MSF relay ladder servo loop structured text Force an axis into the shutdown operating MASD relay ladder state Once the axis is in the shutdown operating state the controller will block any structured text instructions that initiate axis motion Change an axis from an existing shutdown MASR relay ladder operating state to an axis ready operating state If all of the axes of a servo module are structured text removed from the shutdown state as a result of this instruction the OK relay contacts for the module will close Enable the servo drive and set the servo output MDO relay ladder voltage of an axis structured text Deactivate the servo drive and set the servo MDF relay ladder output voltage to the output offset voltage structured text Clear all motion faults for an axis MAFR relay ladder structured text Publication 1756 RM007G EN P May 2005 2 2 Motion State Instructions The five operating states of an axis are Operating State Description Axis ready This is the normal power up state of the axis In this state e the servo module drive enable output is inactive e servo action is disabled e no servo faults are present Direct drive control This operating state allows the servo module DAC to directly contro
118. maximum acceleration Structured Text MAGGlaveAxis MasterAxis The operands are the same as those for the relay ladder MotionControl Direction MAG instruction Ratio SlaveCounts MasterCounts MasterReference RatioFormat Cl utch AccelRate Publication 1756 RM007G EN P May 2005 3 42 Motion Move Instructions For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number MasterReference actual 0 command 1 RatioFormat real 0 fraction_slave_master_counts 1 Clutch enabled 0 disabled 1 AccelUnits unitspersec2 0 ofmaximum 1 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when axis gear has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared if either superseded by another Motion Gear Axes command or terminated by a stop command merge shutdown or servo fault Description The Motion Axis Gear MAG instruction enables electronic gearing Publication 1756 RMO007G EN P May 2005
119. merge speed parameter Any pending coordinated motion instructions in the specified coordinate system are cancelled Any currently executing system single axis Publication 1756 RM007G EN P May 2005 7 66 Multi Axis Coordinated Motion Instructions motion instructions involving any axes defined in the specified coordinate system are not affected by the activation of this instruction and result in superimposed motion on the affected axes All Motion Any currently executing single axis motion instructions involving any axes defined in the specified coordinate system and any currently executing coordinated motion instructions are terminated The prior motion is merged into the current move at the speed defined in Merge Speed parameter Any pending coordinated move instructions are cancelled Merge Speed The Merge Speed operand defines whether the current speed or the programmed speed is used as the maximum speed along the path of the coordinated move when Merge is enabled Current speed is the vector sum of all motion Gogs MAM s geared motion etc for all axes defined in the current coordinate system MCCM Target Position Entry Dialog The MCCM Target Position Entry Dialog box is accessed by pressing Box the ellipsis button to the right of the position operand of the ladder instruction faceplate The Target Position Entry box can only be accessed if the coordinate system for the instruction has been named has a valid tag name
120. n Cam profile element has been calculated and is currently being used by 7 2 MAPC or MATC instructions Before starting a cam on a specified axis the MATC instructions checks if the cam profile array has been calculated by checking the value of the first cam profile element s Status member If Status is 0 or 1 then the cam profile has not been calculated yet and the MATC instruction errors If the cam profile array has been completely calculated Status gt 1 the instruction then increments the Status member indicating that it is in use by this axis When the cam completes or terminates the Status member of the first cam profile array element is decremented to maintain track of the number of cams actively using the associated cam profile Linear and Cubic Interpolation Time cams are fully interpolated This means that if the current master time value does not correspond exactly with a point in the cam table associated with the cam profile the slave axis position is determined Publication 1756 RM007G EN P May 2005 3 100 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 by linear or cubic interpolation between the adjacent points In this way the smoothest possible slave motion is provided Each point in the Cam array that was used to generate the Cam Profile can be configured for linear or cubic interpolation Electronic camming remains active through any subsequent execution of jog or move proces
121. not supported by the instruction Process Conflict 39 You have a conflict in your process Test and Tune cannot be run at the same time Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MRHD instruction receives a Servo Message Failure 12 Status Bits Example Publication 1756 RMO007G EN P May 2005 error message Associated Error Code decimal SERVO_MESSAGE_FAILURE 12 Extended Error Meaning Code decimal Process terminated on Test execution followed by request 1 an instruction to shutdown disable drive or a motion stop instruction or a Processor change requests a cancel of the Test SERVO_MESSAGE_FAILURE 12 SERVO_MESSAGE_FAILURE 12 Object Mode conflict Axis is in shutdown 12 Device in wrong state Incorrect Tune Process 16 order SERCOS MRHD Changes to Status Bits Bit Name State Meaning DriveEnableStatus TRUE e The axis is in the drive control state e The drive enable output is active while the tuning profile is running TestStatus TRUE The axis is running a testing process When the input conditions are true the controller runs the encoder diagnostic test on axis Motion Configuration Instructions 6 25 Relay Ladder RHD Motion Run Hookup Diagnos
122. of the Unlatch or Pulse Off event is set indicating that the output is to be turned off for these events For inverted outputs the bit corresponding to the output bit of the Latch or Pulse On event is set indicating that the output is to be turned off for these events The following is a simplified overview of how Time Slot data is utilized Latch Unlatch Detection nte rua Lateh Eventitask Uniateh Ewe nth ask Pulsed Output Processing Puta Din sk Normal Inverted Output Processing Cutput On biask Output Ott Mask Paes pita a ek W rite O utputs Figure 5 20 Overview of How Time Slot Data Utilization Time slots are also used to process overlapping cam elements A semaphore is maintained to indicate the currently active state of each output bit In addition if a programmed cam element Latch and Unlatch event occurs in the same time slot they cancel each other out The minimum width of a cam element corresponds to the width of a time slot or 1 16 the coarse update period The user can specify the Output parameter of an MAOC instruction as either a memory tag or an Output Module s data tag A pointer to the tag is passed into the MAOC instruction Also passed into the MAOC is an internal parameter of type IO_MAP If the Output parameter Output Data Structure Array of 16 Schedule Structures Schedule Processing Motion Event Instructions 5 43 references controller memory the IO_MAP parameter
123. of the axis Maximum negative position 2 147 483 648 conversion constant of the axis Suppose you have a conversion constant of 2 097 152 counts inch In that case e Maximum positive position 2 147 483 647 2 097 152 counts inch 1023 inches e Maximum negative position 2 147 483 648 2 097 152 counts inch 1023 inches To prevent this error e Set up soft travel limits that keep the axis within the position range e One way to get more travel is to use the max negative or max positive position as your home position Example Max 0 Max If you set the home 0 is in the middle of the position here travel This gives you twice the travel that homing to 0 would give you Extended Error Codes Extended Error codes help to further define the error message given for this particular instruction Their behavior is dependent upon the Error Code with which they are associated Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 33 The Extended Error Codes for Servo Off State 5 Shutdown State 7 Axis Type Not Servo 8 Axis Not Configured 11 Homing In Process Error 16 and Illegal Axis Data type 38 errors all function in the same fashion A number between 0 and n is displayed for the Extended Error Code This number is the index to the Coordinate System indicating the axis that is in the error condition For Error Code Axis No
124. on Motion Profile The following graph illustrates what could happen when a MCD instruction is used to reduce the acceleration as velocity approaches maximum The new acceleration Jerk Rate becomes smaller further limiting the maximum change in acceleration Velocity overshoot occurs due to the additional time required for acceleration to reach Publication 1756 RM007G EN P May 2005 3 56 Motion Move Instructions zero Another profile is generated to bring velocity back to the programmed maximum Point where acceleration p was decreased Welocity Figure 3 17 Effect of Change to Acceleration The following graph illustrates what could happen when an MCD instruction is used to reduce the deceleration as velocity and position approach their target endpoints The new deceleration Jerk Rate becomes smaller The time required to decelerate to zero causes velocity to undershoot passing through zero and becoming negative Axis motion also reverses direction until velocity returns to zero An additional profile is generated to bring position back to the programmed target Point where deceleration was decreased i 1 ON Velocity Position Figure 3 18 Affect of Change to Deceleration Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 57 To successfully execute a Motion Change Dynamics instruction the targeted axis must be configured as a Servo Axis Type and the axis must be in the Servo
125. on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MAH Error Messages ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Shutdown State 7 Attempted execution with the axis in the Shutdown state Error Illegal Axis Type 8 Attempted execution with the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed See Extended Failure Error section for more information on the cause of the error Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated axis Synchronized group is not currently synchronized Publication 1756 RM007G EN P May 2005 3 12 Motion Move Instructions Error Message Code Description Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Group in Faulted 21 Attempted execution on an axis which i
126. or a fault on any of the associated axes AccelStatus DINT The acceleration bit is set when a coordinated move s in the accelerating phase due to the current coordinated move It is cleared when the coordinated move has been stopped or the coordinated move is in the decelerating phase DecelStatus DINT The deceleration bit is set when a coordinated move is in the decelerating phase due to the current coordinated move It is cleared when the coordinated move has been stopped or the coordinated move is complete ActualPosToleranceStatus DINT The Actual Position Tolerance Status bit is set for AT term type only The bit is set when interpolation is complete and the actual distance to programmed endpoint is less than the configured AT value The bit remains set after an instruction completes The bit is reset if either a new instruction is started or the axis moves such that the actual distance to programmed endpoint is greater than the configured AT value CommandPosToleranceStatus DINT The Command Position Tolerance Status bit is set for all term types whenever the distance to programmed endpoint is less than the configured CT value The bit will remains set after an instruction completes The bit is reset when a new instruction is started StoppingStatus DINT The stopping bit is set when a MCS instruction is executed The bit will remain set until all coordinated motion is stopped The bit is cleared w
127. parameter is FALSE indicating interface to an external torque servo drive the following output parameters are generated Axis Parameter Data Type Units Meaning Pos Proportional Real 1 msec Position Servo Loop Proportional Gain Gain Pos Integral Gain Real 1 msec Position Servo Loop Integral Gain Vel Proportional Real 1 msec Velocity Servo Loop Proportional Gain Gain Vel Integral Gain Real 1 msec Velocity Servo Loop Integral Gain Velocity Real Position Servo Loop Proportional Gain Feedforward Acceleration Real Velocity Command Feedforward Feedforward Max Speed Real pos Maximum Speed for Motion Profiles units sec Set to Tuning Velocity Max Acceleration Real pos Maximum Acceleration for Motion Max Deceleration Real pos Maximum Acceleration for Motion units sec Profiles Motion Configuration Instructions 6 5 Axis Parameter Data Type Units Meaning Output Filter Real Hertz Bandwidth of Low Pass Servo Output Bandwidth Filter Output Scaling Real mv kcps Scale Factor applied to output of the Velocity Servo Loop to the DAC Position Error Real pos units Maximum Servo Loop Position Error Tolerance allowed without Fault The above output parameters generated by the MAAT instruction are immediately applied to the specified axis so that subsequent motion can be performed For more information about tuning configuration parameters refer to the
128. process is superseded by another Motion Axis Jog command or terminated by a Motion Stop command merge shutdown or servo fault Description The Motion Axis Jog MAJ instruction jogs moves continuously a physical axis in the specified direction at a specified speed and using a specified acceleration and deceleration To jog an axis enter or select the desired Axis and Direction and enter values or tag variables for the desired Speed Accel and Decel as percentages of the current configured maximum values or directly in the configured speed and acceleration units of the axis If the targeted axis does not appear in the list of available axes the axis has not been configured for servo operation Use the Tag Editor to create and configure a new axis The Figure below shows the general form of a trapezoidal jog starting with the axis at standstill Acceleration Velocity Figure 3 4 Trapezoidal Jog Publication 1756 RM007G EN P May 2005 3 18 Motion Move Instructions ATTENTION If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite d
129. says If count is greater than or equal to ength you are done counting How Strings Are Evaluated done count gt length The hexadecimal values of the ASCII characters determine if one string is less than or greater than another string e When the two strings are sorted as in a telephone directory the order of the strings determines which one is greater ASCII Characters Hex Codes lab 31 61 62 iA og Mo 31962 e r A 41 S e a AB 41 42 AB lt B e t B 42 r a 61 a gt B Y ab 61 62 e Strings are equal if their characters match e Characters are case sensitive Upper case A 41 is not equal to lower case a 61 For the decimal value and hex code of a character see the back cover of this manual Use this format Structured Text Programming B 9 Use logical operators Logical operators let you check if multiple conditions are true or false The result of a logical operation is a BOOL value lf the comparison is The result is true 1 false 0 Use the following logical operators For Use this operator Data Type logical AND 8 AND BOOL logical OR OR BOOL logical exclusive OR XOR BOOL logical complement NOT BOOL For example Example For this situation You d write BOOLtag If photoeye is a BOOL tag and your specification IF photoeye THEN says If photoeye is on then NOT BOOLtag I
130. six axis related data types that each have their own structure The six types are e Axis Consumed e Axis Feedback e Axis_Generic e Axis_Servo e Axis Servo_Drive e Axis_Virtual The following sections describe the structures for each of these axis data types A Consumed Axis is a link for axis motion data produced by a motion axis on another Logix processor The Axis_Consumed structure has the following status attributes Publication 1756 RM007G EN P May 2005 A 2 Structures Mnemonic Data Description Type MotionStatus DINT The motion status bits for your axis Bit Number Data Type Description AccelStatus 00 DINT Acceleration Status DecelStatus 01 DINT Deceleration Status MoveStatus 02 DINT Move Status JogStatus 03 DINT Jog Status GearingStatus 04 DINT Gearing Status Homingstatus 05 DINT Homing Status StoppingStatus 06 DINT Stopping Status HomedStatus 07 DINT Homed Status PositionCamStatus 08 DINT Position Cam Status TimeCamStatus 09 DINT Time Cam Status PositionCamPendingStatus 10 DINT Position Cam Pending Status TimeCamPendingStatus 11 DINT Time Cam Pending Status GearingLockStatus 12 DINT Gearing Lock Status PositionCamLockStatus 13 DINT Position Cam Lock Status Reserved TimeCamLockStatus 14 DINT Time Cam Lock Status MasterOffsetMoveStatus 15 DINT Master Offset Move CoordinatedMotionStatus 16 DINT Coordinated Motion Status Reserved 17 31 AxisStatus DINT The status bits
131. specification for a detailed description of these and other parameters Axis Parameter Data Type Units Definition Test Direction Boolean Direction of axis travel during hookup Forward test as seen by the motion module Motor Encoder Hookup Test If the Motor Encoder Test is selected the controller computes the proper setting for both the Encoder Polarity and the Drive Polarity based on the Observed Direction instruction parameter and the state of Test Direction Forward bit which was established by the output of the MRHD instruction Once the Encoder Polarity and Drive Polarity settings are computed the MAHD applies these values to the Publication 1756 RM007G EN P May 2005 Motion Configuration Instructions corresponding axis configuration parameter bits as shown in the following table Axis Parameter Data Type Units Definition Encoder Polarity Boolean Inverts the sense of the encoder Negative feedback input to the motion module Drive Polarity Boolean Inverts the sense of the DAC analog Negative output from the motion module Encoder Hookup Test If the Encoder Test is selected the controller computes the proper setting for just the Encoder Polarity based on the Observed Direction instruction parameter and the state of Test Direction Forward bit which was established by the output of the MRHD instruction Once the Encoder Polarity and Drive Polarity settings are computed the
132. stays in process 1 No Settle 0 00 1 00 200 3 00 400 500 600 7 00 The instruction stays active until the command position equals the target position At that point the instruction is complete and a queued MCLM or MCCM instruction can start 2 Command Tolerance The instruction stays active until the command position gets within the command position tolerance of the coordinate system At that point the instruction is complete and a queued MCLM or MCCM instruction can start If you don t have a queued MCLM or MCCM instruction the axes stop at the target position 3 No Decel The instruction stays active until the axes get to the deceleration point At that point the instruction is complete and a queued MCLM or MCCM instruction can start e The deceleration point depends on whether you use a trapezoidal or S curve profile e f you don t have a queued MCLM or MCCM instruction the axes stop 4 Follow Contour Velocity Constrained 0 00 1 00 200 3 00 400 500 6 00 Publication 1756 RMO007G EN P May 2005 The instruction stays active until the axes get to the target position At that point the instruction is complete and a queued MCLM or MCCM instruction can start e This termination type works best with tangential transitions For example use it to go from a line to a circle a circle to a line or a circle to a circle
133. the Clockwise direction with a Move Type Absolute or with a Move Type Incremental When a Circle Type of Center is chosen the Via Center Radius position defines the center of the arc Publication 1756 RM007G EN P May 2005 7 44 Multi Axis Coordinated Motion Instructions Publication 1756 RM007G EN P May 2005 MCCM Instruction Move Type Absolute MCCM Motion Coordinated Circular Move Coordinate System Motion Control Move Type Position Axis0 Axis1 Circle Type Via Center Radius Direction Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed Coordinated_sys E MCCM O 0 MCCM_Move_position 0 We 6 6 1 Center O 0 10 Units per sec Units per sec2 Units per sec2 Trapezoidal 0 Disabled Current Move Type is Absolute Position defined in absolute units Circle Type is Center Center position defined in absolute units as 3 7 6 4 Direction is Clockwise Figure 7 18 MCCM Ladder Instruction with Move Type of Absolute MCCM Instruction Move Type Incremental MCCM Motion Coordinated Circular Move Coordinate System Motion Control Move Type Position AxisO Axis Circle Type Via Center Radius Direction Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed Coordinated_sys MCCM 1 1 MCCM_Move_position 2 _
134. the combo box This list contains Positive_Edge default and Negative_Edge Window Registration Select whether window registration is to be used from the combo box This list contains Disabled default and Enable If Disabled is selected then the Min Position and Max Position edit fields are disabled Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 35 Feature Description Min Position Enter the desired minimum position in the edit box The default is 0 0 Max Position Enter the desired maximum position in the edit box The default is 0 0 Input Number Select which registration input is used from the combo box This list contains 1 default and 2 Motion Disarm Registration If online from the Motion Direct Command dialog the user is able to execute a Motion Disarm Registration MDR command i Motion Direct Commands my_virtual_axis 4 fry_vitualas A AAA Figure 8 30 Motion Disarm Registration Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Input Number Select which registration input is used from the combo b
135. the hookup test apply process has been successfully executed ER Error Bit 28 is set to indicate that the instruction detected an error such as if you specified an unconfigured axis The Motion Apply Hookup Diagnostics MAHD instruction is used to execute a series of computations resulting in values for the Encoder Polarity and Servo Polarity configuration bit parameters of the specified axis As part of work performed by MAHD these resultant configuration bit parameters are applied to the motion module so that the axis is ready for full servo operation This instruction is designed to follow execution of the MRHD instruction which generates axis input configuration values for the MAHD instruction See the MRHD instruction description for more information MAHD requires specification of the Diagnostic Test to apply and the Observed Direction of motion during the previous MRHD test process Enter or select the Diagnostic Test and the Observed Direction and the desired physical axis If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis The MAHD instruction uses axis configuration parameters as input and output The input configuration parameters that MAHD uses are shown in the table below The Test Direction Forward bit is automatically established as output from the MRHD instruction Refer to the Motion Axis Object
136. the respective operands via a linear path The specified distance is interpreted by the interpolator and can be positive or negative Negative position values instruct the interpolator to move the axis in a negative direction while positive values indicate positive motion is desired to reach the target position Motion greater than one unwind cycle is allowed in Incremental mode MCLM Move Type Examples The following examples show the use of the MCLM with Move Type of Absolute first example and Incremental second example to arrive at the same result The basic assumptions are e The 2 axes Axis0 and Axis1 are both members of the coordinate system Coordinated_sys e Axis0 and Axis1 are orthogonal to each other Publication 1756 RM007G EN P May 2005 7 18 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 e Coordinated_sys is initially at 5 5 units Move the Coordinated_sys linearly to 10 10 units at the vector speed of 10 0 units per second with the acceleration and deceleration values of 5 0 units per second The following graph is the path generated by the above assumptions O O E asgo P Figure 7 2 Resulting Plot of Path The total distance travelled along the path of the vector is DAxisO 10 5 5 DAxis1 10 5 15 TotalDist A DAxis0 O DAxis1 15 811388 The vector speed of the selected axes is equal to the specified speed in the position unit
137. this case the Motion Group Programmed Stop MGS instruction brings the axis motion to a controlled stop without disabling the axis servo loop It is useful when a fast decelerated stop the axis is desired with servo control retained The MGPS instruction uses the configured Maximum Deceleration for the axis in this stop mode as the basis for the deceleration ramp applied to the axis Publication 1756 RM007G EN P May 2005 4 4 Motion Group Instructions Publication 1756 RMO007G EN P May 2005 Fast Disable For an axis configured for a Fast Disable the MGS instruction initiates a controlled stop much like that initiated by an MAS instruction with the exception that the drive is disabled when the axis comes to a stop Use MGS when a fast decelerated stop the axis is desired before the drive is disabled The MGS instruction uses the configured Maximum Deceleration for the axis in this stop mode as the basis for the deceleration ramp applied to the axis Hard Disable For an axis configured for a Hard Disable the MGS instruction initiates the equivalent of an MSF instruction to the axis This action immediately turns the appropriate axis drive output off and disables the servo loop Depending on the drive configuration this may result in the axis coasting to a stop but offers the quickest disconnect of drive output power Fast Shutdown For an axis configured for a Fast Shutdown the MGS instruction initiates a Fast Stop
138. to execute an MDO MSO MAH MAJ MAM MCD MAPC MATC MAG MRAT or MRHD instruction when the controller was in the test mode 25 The instruction you tried to execute is not a legal instruction 26 The cam array is of an illegal length 27 The cam profile array is of an illegal length 28 You have an illegal segment type in the cam element 29 You have an illegal order of cam elements 30 You tried to execute while a cam profile is being calculated 31 The cam profile array you tried to execute is in use 32 The cam profile array you tried to execute was not calculated 33 A MAH execution was attempted without the position cam in process 34 You are trying to start a MAH instruction while running a registration 35 The Logix controller does not support the specified Output Cam 36 Either the size of the Output Cam array is not supported or the value of one of its members is out of range 37 Either the size of the Output Compensation array is not supported or the value of one of its members is out of range 38 The axis data type is illegal The axis data type is incorrect for the operation 39 You have a conflict in your process Test and Tune cannot be run at the same time 40 You are trying to run a MSO or MAH instruction when the drive is locally disabled Publication 1756 RM007G EN P May 2005 A 30 Structures Mnemonic Data Type Description 41 The homing configuration is illegal You have an absolute hom
139. to shutdown disable drive or a motion stop instruction or a Processor change requests a cancel of Home SERVO_MESSAGE_FAILURE No Resource 2 Not enough memory resources 12 to complete request SERCOS ERVO_MESSAGE_FAILURE Object Mode conflict Axis is in shutdown 2 12 2 SERCOS ERVO_MESSAGE_FAILURE Device in wrong state Redefine Position Home and 2 16 Registration 2 are mutually exclusive SERCOS device state not correct for action SERCOS S 1 SERVO_MESSAGE_FAILURE Permission denied 15 Enable input switch error 1 S 1 Motion Move Instructions 3 13 Associated Error Code Extended Error Meaning decimal Code decimal ILLEGAL_HOMING_CONFIG Home sequence 4 You have an absolute homing 41 instruction when the Homing sequence is not immediate LLEGAL_HOMING_CONFIG Home speed of zero 6 Home speed cannot be zero 41 LLEGAL_HOMING_CONFIG Home return speed of The Home Return Speed cannot 41 zero 7 be zero For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 72 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access th
140. use of these tools For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect Support programs For more information contact your local distributor or Rockwell Automation representative or visit http support rockwellautomation com Installation Assistance If you experience a problem with a hardware module within the first 24 hours of installation please review the information that s contained in this manual You can also contact a special Customer Support number for initial help in getting your module up and running United States 1 440 646 3223 Monday Friday 8am 5pm EST Outside United Please contact your local Rockwell Automation representative for any States technical support issues New Product Satisfaction Return Rockwell tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned United States Contact your distributor You must provide a Customer Support case number see phone number above to obtain one to your distributor in order to complete the return process Outside United Please contact your local Rockwell Automation representative for States return procedure Rockwell Automation 777 East Wisconsin Avenue Suite 1400 Milwaukee WI 53202 5302 USA Tel 1 414 212 5200 Fax 1 414 212 5201 Headquarters f
141. whenever the master axis satisfies the starting condition of a currently active Position Cam motion profile The starting condition is established by the Start Control and Start Position parameters of the MAPC instruction This bit is cleared when the current position cam profile completes or is superseded by some other motion operation In uni directional master direction mode the Position Cam Lock Status bit is cleared when moving in the wrong direction and sets when moving in the correct direction MasterOffsetMoveStatus CoordinatedMotionStatus DINT DINT Set if a Master Offset Move motion profile is currently in progress This bit is cleared when the Master Offset Move is complete or is superseded by some other motion operation Set if any coordinated motion profile is currently active upon the axis It is cleared as soon as Coordinated Motion is complete or stopped ServoActionStatus DriveEnableStatus DINT DINT Set when the associated axis is under servo control Cleared when servo action is disabled Set when the Drive Enable output of the associated physical axis is currently enabled Cleared when physical servo axis Drive Enable output is currently disabled Publication 1756 RMO007G EN P May 2005 Structures A 19 Mnemonic Data Type Description ShutdownStatus DINT Set when the associated axis is currently in the Shutdown state Cleared when the axis is transiti
142. while LatchType or UnlatchType is set to enable or position and enable or duration and enable o al PUN co co Illegal Output 37 Compensation Attempted execution with an Output Cam array containing at least one member out of range 1 Invalid Mode value 2 CycleTime amp while Mode is set to pulsed or inverted and pulsed 3 DutyCycle less than 0 or greater than 100 while Mode is set to pulsed or inverted and pulsed Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAOC instruction an extended error code of 4 would refer to the Output operand s value You would then have to check your value with the accepted range of values for the instruction MAOC Effects on Status Bits Status bits may be used to determine if an MAOC instruction can be initiated The MAOC instruction affects the following status words in the Motion Axis Structure e OutputCamStatus e OutputCamPendingStatus e OutputCamLockStatus Motion Event Instructions 5 37 e OutputCamTransitionStatus If the Execution Schedule is set to Forward Only Reverse Only or Bi Direc
143. 0 Speed Units Accel Rate of Maximum 50 Accel Units Decel Rate of Maximum Trapezoidal Decel Units Profile Termination Type Disabled Programmed Merge Merge Speed Figure 7 49 MCCM Ladder Instruction Structured Text BRA AA MCCM Coordinated sys MCCM 0 0 MCCM Move position 0 0 5 0 via 0 0 10 o0fmaximum 50 ofmaximum 50 Sofmaximum Trapezoidal 0 Disabled programmed Publication 1756 RM007G EN P May 2005 7 78 Multi Axis Coordinated Motion Instructions Circle Type Used in Validation Errors Direction 2D Direction 3D Comments 2D 3D Both Radius 2D Error 25 Illegal CW CCW as viewed N A A radius forces arc length to be lt Instruction from the 180 Shortest arc Error 45 Endpoint perpendicular to the A radius forces arc length to be gt Startpoint circular plane 180 Longest arc Error 49 R too small Full Circles can be programmed R lt 001 or R too For full circles set Position to be short to span any point on circle except Startpoint programmed points and use one of the Full direction types Center Point Both Error 44 Collinearity CW CCW as viewed Shortest Longest 3 Full Circles can be 3D only from the arc In Full circles programmed Error 45 Endpoint perpendicular to the placement of Startpoint 3D only circular plane endpoint defines 4 In 2D only Endpoint Error 46 Start End shortest longest
144. 1 Incremental Position AxisO Axis Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed move_position 6 5 0 5 0 1 rr ty Units per sec 1 of Maximum 100 of Maximum S Curve Disabled Programmed Figure 7 7 MCLM Ladder Instruction with Move Type of Incremental The previous MCLM ladder program produces the following plot of the moves path B trend Motion ee se os e A coe on G41 24AM S5T 28AM Mon Monday May 06 2003 Figure 7 8 Plot of MCLM with Two Rotary Axes and Move Type of Incremental In the plot above the axes travel a reverse z pattern two and one half times stopping at an actual position of 0 1 This equates to 5 revolutions unwinds for AxisO and 2 5 revolutions unwinds for Axis1 The position increments for this move are positive therefore the axes Publication 1756 RM007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 23 move in a positive direction with AxisO moving from 0 to 1 and Axis1 moving from 0 to 2 In this example the endpoint is not required to fit within the absolute position defined by the rotary unwind of the axes The path of the coordinated motion is determined in linear space but position of the axes is limited by the rotary configuration Position A one dimensional array whose dimension is defined to be at least the equivalent of the number of ax
145. 2 indicates the parameter value for Move Type is in error Referenced Error Code and Extended Error Instruction Description Number Numeric Parameter Indicator Parameter Out Of Range 13 Decel Rate is less than or equal to 0 MCS Changes to Status Bits Status Bits provide a means for monitoring the progress of the motion instruction There are three types of Status Bits that provide pertinent information They are Axis Status Bits Coordinate System Status Bits and Coordinate Motion Status Bits When the MCS instruction initiates the status bits undergo the following changes Axis Status Bits Bit Name Meaning CoordinatedMoveStatus It is cleared once the coordinated move stops Coordinate System Status Bits Bit Name Meaning MotionStatus It is cleared once the coordinated move stops Coordinate Motion Status Bits Bit Name Meaning AccelStatus The bit is cleared when the MCS instruction executes DecelStatus The bit is set during the stop and then cleared when the stop completes Publication 1756 RM007G EN P May 2005 7 94 Multi Axis Coordinated Motion Instructions Motion Coordinated Shutdown MCSD Example Operands Publication 1756 RMO007G EN P May 2005 Bit Name Meaning StoppingStatus The bit is set during the stop and then cleared when the PC bit is set MovesStatus The bit is cleared when the MCS instruction executes Move Tran
146. 4 Motion Apply Axis Tuning 6 1 Motion Apply Hookup Diagnostics 6 14 Motion Arm Output Cam 5 19 Motion Arm Registration 5 9 Motion Arm Watch 5 1 Motion Axis Gear 3 40 Motion Axis Home 3 9 Motion Axis Jog 3 14 Motion Axis Move 3 23 Motion Axis Position Cam 3 71 Motion Axis Stop 3 2 Motion Axis Time Cam 3 94 Motion Calculate Cam Profile 3 65 Motion Calculate Slave Values MCSV 3 107 Motion Change Dynamics 3 51 motion change dynamics 3 51 Motion Configuration Instructions 6 1 Introduction 6 1 Motion Apply Axis Tuning MAAT 6 1 Description 6 2 Error Codes 6 6 MOTION_INSTRUCTION structure 6 2 Operands 6 2 Relay Ladder 6 2 Structured Text 6 2 Status Bits 6 6 Motion Apply Hookup Diagnostics MAHD 6 14 Description 6 15 Encoder Hookup Test 6 16 Error Codes 6 17 MOTION_INSTRUCTION structure 6 15 Motor Encoder Hookup Test 6 15 Operands 6 14 Relay Ladder 6 14 Structured Text 6 14 Status Bits 6 18 Motion Run Axis Tuning MRAT 6 7 Changes to Status Bits 6 13 Description 6 8 Error Codes 6 12 Extended Error Codes 6 13 MOTION_INSTRUCTION structure 6 8 Operands 6 7 Relay Ladder 6 7 Structured Text 6 7 Tune Status Parameter 6 11 Motion Run Hookup Diagnostics MRHD 6 18 Changes to Status Bits 6 24 Description 6 19 Encoder Hookup Test 6 21 Error Codes 6 23 Extended Error Codes 6 24 Marker Hookup Test 6 21 MOTION_INSTRUCTION structure 6 19 Motor Encoder Hookup Test 6 20 Operands 6 19 Relay Ladder 6 19 Index 3 Structured Te
147. 5 5 10 Motion Event Instructions MAR Axis MotionControl TriggerCondition WindowedRegistration MinimumPosition MaximumPosition InputNumber Publication 1756 RMO007G EN P May 2005 Operand Type Format Description Minimum REAL position immediate Used when Windowed or tag Registration is enabled Registration Position must be greater than Min Position limit before registration event is accepted Maximum REAL position immediate Used when Windowed or tag Registration is enabled Registration Position must be less than Max Position limit before registration event is accepted Input UINT32 Number 1or2 Specifies the Registration Input to select 1 Registration 1 Position 2 Registration 2 Position Structured Text The operands are the same as those for the relay ladder MAR instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number TriggerCondition positive_edge 0 negative_edge 1 WindowedRegistration disabled 0 enabled 1 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis
148. 7 98 Error Codes 7 99 Index 9 Fault Conditions 7 99 Operands 7 97 Coordinate System 7 98 Motion Control 7 98 Relay Ladder 7 98 Structured Text 7 98 Motion Coordinated Stop 7 89 MCS Arithmetic Status Flags 7 92 Changes to Status Bits 7 93 Axis Status Bits 7 93 Coordinate Motion Status Bits 7 93 Coordinate System Status Bits 7 93 Description 7 90 Extended Error Codes 7 93 Fault Conditions 7 92 Operands 7 89 Change Decel 7 91 No 7 91 Yes 7 91 Coordinate System 7 91 Decel Rate 7 92 Decel Units 7 92 Error Codes 7 92 Motion Control 7 91 Relay Ladder 7 89 Stop Type 7 91 Coordinated Move 7 91 Structured Text 7 89 numeric expression B 4 0 operators order of execution structured text B 10 order of execution structured text expression B 10 P postscan structured text B 3 process motion instructions 1 4 Publication 1756 RM007G EN P May 2005 10 Index relational operators structured text B 7 REPEAT UNTIL B 25 S Scheduled Output Array of 16 Schedule Structures 5 43 1 0 Subsytem 5 42 Operation 5 38 Output Data Structure 5 43 Remote Operation 5 39 Schedule Processing 5 43 Usage with MAOC Instruction 5 39 Scheduled Output Module 5 37 string evaluation in structured text B 8 structured text Publication 1756 RM007G EN P May 2005 arithmetic operators B 6 assign ASCII character B 4 assignment B 2 bitwise operators B 10 CASE B 16 comments B 28 components B 1 contructs B 12
149. 756 RM007G EN P May 2005 7 96 Multi Axis Coordinated Motion Instructions Fault Conditions none Error Codes MCSD Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution while another instance of instruction is currently in process Axis Not Configured 11 At least one axis is not configured to a physical motion module or has not been assigned to a Motion Group Servo Module Failure 12 The messaging to the servo module failed Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Motion Group Not 19 Synchronized The motion group associated with the axes of the coordinate system is not synchronized Shutdown Status Time 42 Out The MCSD instruction failed to detect the assertion of the Shutdown Status Bit within the established fixed delay time period Coordinate System 50 Not In Group The coordinate system is not associated with the Motion Group MCSD Changes to Status Bits Status Bits provide a means for monitoring the progress of the motion instruction There are three types of Status Bits that provide pertinent information They are Axis Status Bits Coordinate System Status Bits and Coordinate Motion Status Bits When the MCS instruction initiates the status bits undergo the following changes Axis Status Bits Bit Nam
150. 9 5 bee BS oi Boos a 8 12 Motion Servo On 2 2 0 ee 8 12 Operands RA Ries dha Gem A ANS 8 12 Moton Servo OU AER E NA Aes 8 13 Operands srai ta da OMAR Bek Boned be Re 8 13 Motion Axis Shutdown p44 elas wv oe Ae Ae ek 8 14 Operands A A wld es autos ANA 8 14 Motion Axis Shutdown Reset crias ist aha 2 8 15 OPERANDS a erie a ae a 8 15 Motion Direct Drive On a ao 8 16 Op rands dro la e Ea a o Goh Berek e 8 16 Motion Direct DOS ps 8 17 Operando FEE bik a eins ido e e E e a da E 8 17 Motion Axis Fault RESELLER 8 18 Operands si ea ik ann e phere IA RNa gy a e AE Mee Olena ae 8 18 Motion Move Commands usa tarta obrado 8 19 Motion Axis Stop 2 0 ee 8 19 Operas dotada Bed ote Gee rd ez 8 19 Motion Axis Home oooocccocoo a 8 20 Operands A E ANN 8 20 Motion AXIS JOS spaa ona A a tos 8 21 Publication 1756 RM007G EN P May 2005 Table of Contents 10 Structures Structured Text Programming Publication 1756 RMO007G EN P May 2005 Operadora os pit aos 8 21 Motion Axis MOVE tarada ee eG Se 8 22 OPE als a a oo 8 23 MOON Axis EIA AAA A 8 24 Operanids ua tc paid io Gd ot tr ind 8 24 Motion Change Dynamics y sad A A 8 26 So A O IR AN 8 26 Motion Redefine Position i oi orita 8 27 A A ke ates Be Wied eo Ge ak Seats 8 28 Motion Group Commands ooo ooo ooo 8 28 Motion Group Stop sasaaa 0 0 0 eee eee 8 28 peras dl so doe ord ae Oe He bbe Sate ay Od del ob ng edt 8 29 Motion Group Shutdown ati he te aks eek tea
151. 94 Motion Move Instructions Motion Axis Time Cam MATC Publication 1756 RMO007G EN P May 2005 Structured Text MAPC Axis0 Axis1 MAPC_1 1 Cam_pro110 1 0 1 0 Once immediate Mlckpos Clckpos Actual Forwardonly The Motion Axis Time Cam MATC instruction provides electronic camming of an axis as a function of time according to the specified Cam Profile Time cams allow the execution of complex motion profiles other than the built in trapezoidal or S curve move profiles When executed the specified Axis is synchronized in time using a time Cam Profile established by the RSLogix 5000 Cam Profile Editor or by a previously executed Motion Calculate Cam Profile MCCP instruction The direction of axis motion relative to the cam profile is defined by a very flexible Direction input parameter The camming Direction may be explicitly set as the Same or Opposite or set relative to the current camming direction as Reverse or Unchanged The cam profile can be configured via the Execution Schedule parameter to execute Immediately or Pending completion of a currently executing time cam profile The cam profile can also be executed Once or Continuously by specifying the desired Execution Mode Distance and Time Scaling functionality can be used to scale axis motion based on a standard cam profile without having to create a new cam table and calculate a new cam profile Motion Move Instructions 3 95 Operands Relay Ladder
152. A A A RN E B 1 Index Back Cover Table of Contents 11 Structured Text Syntax Ss a B 1 ASSISEN y a ETA See e ani B 2 Specify a non retentive assignment B 3 Assign an ASCII character to a string B 4 EXpPrTESSIONS te b e Be bene se Res B 4 Use arithmetic operators and functions B 6 Use relational operators taa ALA B 7 Use logical operators sois 2 B 9 Use bitwise operators eran B 10 Determine the order of execution B 10 Instfuchions pot Dia e Paw wee DAS MARTE Wes B 11 CONSTE ahs cos vad Ady Sine ats eo aa edad dt anes es B 12 Some key words are reserved for future use B 12 TE STHEN cates ete oe a EA E E raided en ii B 13 CASE OE pa pa ns es ean Ge Pear AND a COR BA pena B 16 POR ADOS Been phate Gs ashe toed OM cache cra ll Mende Ree Gi Edel B 19 WHILE DO Se a hh GR hee aa aA Me es B 22 REPEAT UNTIL 2004 a Bie dad ed eben dt totes ae B 25 COMENTS a eee ba GE B 28 Rockwell Automation Support o o o ooo momo 1 2 Installation ASSISTANCE aaa ro ed 1 2 New Product Satisfaction Return 1 2 Publication 1756 RM007G EN P May 2005 Table of Contents 12 Publication 1756 RMO007G EN P May 2005 Introduction Using Motion Parameters Chapter 1 Motion Concepts This chapter covers concepts that are common to all the motion instructions It contains information on using motion parameters instruction timing types of timing se
153. AILURE 12 SERVO_MESSAGE_FAILURE 12 Axis is in shutdown Enable input switch error SERCOS Device in wrong state 16 SERVO_MESSAGE_FAILURE 12 Device state not correct for action SERCOS Axis Status Bits Bit Name State Meaning ServoActStatus TRUE Axis is in Servo Control state with the servo loop active DriveEnableStatus TRUE The axis drive enable output is active Motion Status Bits None When the input conditions are true the controller enables the servo drive and activates the axis servo loop configured by axisl Publ ication 1756 RM007G EN P May 2005 2 6 Motion State Instructions Motion Servo Off MSF Relay Ladder MSO Motion Servo On Axis Axis E vv Motion Control MSO_1 Figure 2 1 MSO Ladder Example Structured Text MSO CAxis0 MSO_1 Use the MSF instruction to deactivate the drive output for the specified axis and to deactivate the axis servo loop IMPORTANT If you execute an MSF instruction while the axis is moving the axis coasts to an uncontrolled stop Operands Relay Ladder MSF Motion Servo Off Axis Motion Control MSF Axis MotionControl Publication 1756 RM007G EN P May 200 Vo 5 Operand Type Format Description Axis AXIS_GENERIC tag Name of the axis to perform action upon AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruct
154. Allen Bradley Logix5000 Controllers Motion Instructions 1756 ControlLogix 1768 CompactLogix 1789 SoftLogix 20D PoweFlex 700S with DriveLogix Reference Manual Rockwell Automation Important User Information Solid state equipment has operational characteristics differing from those of electromechanical equipment Safety Guidelines for the Application Installation and Maintenance of Solid State Controls Publication SGI 1 1 available from your local Rockwell Automation sales office or online at http www ab com manuals gi describes some important differences between solid state equipment and hard wired electromechanical devices Because of this difference and also because of the wide variety of uses for solid state equipment all persons responsible for applying this equipment must satisfy themselves that each intended application of this equipment is acceptable In no event will Rockwell Automation Inc be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment The examples and diagrams in this manual are included solely for illustrative purposes Because of the many variables and requirements associated with any particular installation Rockwell Automation Inc cannot assume responsibility or liability for actual use based on the examples and diagrams No patent liability is assumed by Rockwell Automation Inc with respect to use of info
155. Axis Coordinated Motion Instructions Example Relay Ladder CCD Motion Coordinated Change Dynamics Coordinate System Coordinated_sys L Motion Control MMCM 0 Motion Type Coordinated Move Change Speed Yes Speed 25 YTT Speed Units of Maximum Change Accel Yes Accel Rate 20 Accel Units of Maximum Change Decel Yes Decel Rate 10 Decel Units of Maximum Scope Active Motion Figure 7 53 MCCD Ladder Instruction Structured Text MCCD Coordinated _sys MCCM 0 CoordinatedMove Yes 25 Sofmaximum Yes 20 sofmaximum Yes 10 sofmaximum 0 Publication 1756 RM007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 89 Motion Coordinated Stop Use the MCS instruction to initiate a controlled stop of the coordinated M CS motion profile The Stop Type operand specifies stopping coordinated move profiles Operands The MCS s operands are the place to enter the values that govern how this instruction performs its function To display a reminder of the type of value a specific operand requires place the cursor on the operand in question and a tool tip is displayed for that operand in the status bar C i A ls AMCLM_Move Enter engineering units for deceleration display Figure 7 54 Status Bar for the Decel Units Operand of the MCS Instruction Relay Ladder Operand Type Format Description MCS Coordinate COORDINATE_SYSTEM tag Coordinated group of axes M
156. Axis Coordinated Motion Instructions 7 41 via center radius parameter uses to indicate the via and center circle positions The options are Absolute or Incremental Absolute When the Move Type is Absolute the coordinate system moves to the specified Position at the defined Speed using the Accel and Decel Rates as designated by their respective operands along a circular path When an axis is configured for rotary operation absolute moves are handled in the same manner as with linear axes When the axis position exceeds the Unwind parameter an error is generated The sign of the specified position array is interpreted by the controller as the direction for the move Negative position values instruct the interpolator to move the rotary axis in a negative direction to obtain the desired absolute position A positive value indicates that positive motion is desired to reach the target position To move to the unwind position in the negative direction a negative unwind position value must be used as 0 and 0 are treated as 0 When the position is greater than the unwind value an error is generated The axis can move through the unwind position but never incrementally more than one unwind value Incremental When the Move Type is Incremental the coordinate system moves the distance as defined by the position array at the specified Speed using the Accel and Decel rates determined by the respective operands along a circular path
157. Axis Tos MAD lt 2 epi eed hee dS be ener ds 3 14 OPE hh ah sg Rob Jee Sas Ghd a ae a bt a AO hs 3 15 DESCAPHON A oY EOE Wa wait wae BE 3 17 Arithmetic Status Flags s caro ra tra ESAS 2 3 21 Fault Conditions naaa era ts a 3 21 Error CodeS ria e ai E 3 21 Extended Error Codes aos SES al Be ed 3 22 MAJ Changes to Status Bits sr o 3 23 A Sot E e nes WMA fart bt EA AN 3 23 Motion Axis Move AMAN ii coo oo Kae aoe ks 3 23 Operands irp rr caba wr oa Ver eee 3 24 Descupti ne estao tail BS PS eo 3 26 Arithmetic Status Plastic A ee aa A ese 3 35 Fault Conditjons occas wig Baa hoes pas a 3 35 OL COGS IR A he lod 3 35 Extended Error Codes bp tri bid vad Gad wh glade art 3 38 MAM Changes to Status Bl rats Me Re ee 3 38 Examples anar e io 3 39 Motion Axis Gear MAG 4 24 2 pa eae eee ad 3 40 Operands isco ain ue eee eevee eee eee 3 40 Descriptio yea dara BG ta bees ae 3 42 Arithmetic Status Flags 0 20 00 o ooo ooo 3 47 Fault Conditions tratando lt ia 3 47 Error Codes Vials RE Sete AAA 3 48 Extended Error Codes il sata a as e 3 48 Status Bitsin pudo Dar odia DA ls 3 49 EXP SA ea DOLE See ERA 3 49 Motion Change Dynamics MCD 5 3 51 OpetandS Nadar rr AAA ee te aed 3 51 Description A ea on Aaa 3 54 Arithmetic Status Pasa eee Se 3 57 Fault Conditions AA ol ee eel os 3 57 Error COURS rd a a 3 58 Extended Error COS nannaa aaa a 3 58 MCD Changes to Status Bits o o o ooooo o 3 59 Exam plenes A a a
158. Blending Instructions 7 3 Choose a termination type 7 9 How do get a triangular velocity profile 7 11 Blending Moves at Different Speeds 7 12 New Termination Types 7 13 7 14 7 38 7 38 3 5 3 18 3 28 3 54 7 15 7 39 7 81 7 90 Attention If you use an S Curve profile InhibitStatus bit A 10 A 19 The axis could overshoot its target position if you reduce the deceleration while a move is in process 3 51 3 51 7 89 Publication 1756 RM007G EN P May 2005 Summary of Changes 2 Notes Publication 1756 RMO007G EN P May 2005 Preface Introduction This manual is one of several Logix5000 based instruction manuals Task Goal Documents Program the controller for sequential Logix5000 Controllers General Instructions Reference Manual publication applications 1756 RM003 Program the controller for process or drives applications Logix5000 Controllers Process Control and Drives Instructions Reference Manual publication 1756 RMO006 Program the controller for motion applications You are here D gt Logix5000 Controllers Motion Instructions Reference Manual publication 1756 RM007 Program the controller to use equipment phases PhaseManager User Manual publication LOGIX UM001 Import a text file or tags into a project Export a project or tags to a text file Convert a PLC 5 or SLC 500 application to a Logix5000 application Logix5000 Controllers Import Export Refe
159. CM instruction in the Clockwise direction with a Move Type Absolute or with a Move Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 49 Type Incremental When a Circle Type of Radius is chosen the Via Center Radius position defines the radius of the arc MCCM Motion Coordinated Circular Move N gt Coordinate System Coordinated_sys Motion Control MCCM 3 N Move Type 0 Move Type is Absolute Position MCCM_Move_position 6 Position defined in AxisO 11 1 absolute units Axis 6 6 Circle Type is Radius Circle Type 2 o aoe ei ee Radius defined as 15 units Speed 10 Speed Units Units per sec Accel Rate 5 Direction is Clockwise Accel Units Units per sec2 Decel Rate 5 Decel Units Units per sec2 Profile Trapezoidal Termination Type Merge Disabled Merge Speed Current Figure 7 25 MCCM Instruction Move Type Absolute Circle Type Radius Publication 1756 RM007G EN P May 2005 7 50 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 MCCM Motion Coordinated Circular Move Coordinate System Coordinated_sys Motion Control MCCM 4 NO Position defined as an Move Type 1 incremental distance from PO gt start point of 10 4 1 3 ND Move Type is Incremental Pasition MCCM_Move_position 8 AxisO 21 6 Axis Pe Circle Type 2 C Via Center Radius Radius 1 pa rele Types Radius Direction 0 Radius defined a
160. Cam motion profile is currently in progress Cleared when the Position Cam is complete or is superseded by some other motion operation TimeCamStatus DINT Set if a Time Cam motion profile is currently in progress Cleared when the Time Cam is complete or is superseded by some other motion operation PositionCamPendingStatus DINT Set if a Position Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MAPC instruction with Pending execution selected This bit is cleared when the current position cam profile completes initiating the start of the pending cam profile This bit is also cleared if the position cam profile completes or is superseded by some other motion operation TimeCamPendingStatus DINT Set if a Time Cam motion profile is currently pending the completion of a currently executing cam profile This would be initiated by executing an MATC instruction with Pending execution selected This bit is cleared when the current time cam profile completes initiating the start of the pending cam profile This bit is also cleared if the time cam profile completes or is superseded by some other motion operation GearingLockStatus DINT Set whenever the slave axis is locked to the master axis in a gearing relationship according to the specified gear ratio The clutch function of the gearing planner is used to ramp an axis up or down to spe
161. CoordinatedMotionStatus Sets when the MCCM instruction executes and is cleared when the instruction completes Publication 1756 RM007G EN P May 2005 1 76 Multi Axis Coordinated Motion Instructions Coordinate System Status Bits Bit Name MotionStatus Sets when the MCCM instruction is active and the Coordinate System is connected to its associated axes Coordinate Motion Status Bits Bit Name AccelStatus Sets when vector is accelerating Clears when a blend is in process or when vector move is at speed or decelerating DecelStatus Sets when vector is decelerating Clears when a blend is in process or when vector move is accelerating or when move completes ActualPosToleranceStatus Sets for Actual Tolerance Termination Type only The bit is set after the following two conditions have been met 1 Interpolation is complete 2 The actual distance to the programmed endpoint is less than the configured coordinate system s Actual Tolerance value It remains set after the instruction completes It is reset when a new instruction is started CommandPosToleranceStatus Sets for all Termination Types whenever the distance to the programmed endpoint is less than the configured coordinate system s Command Tolerance value and remains set after the instruction completes It is reset when a new instruction is started StoppingStatus The Stopping Status bit is cleared when the MCCM
162. DINT Position Cam Lock Status TimeCamLockStatus 14 DINT Time Cam Lock Status MasterOffsetMoveStatus 15 DINT Master Offset Move Status CoordinatedMotionStatus 16 DINT Coordinated Motion Status Reserved 17 31 AxisStatus DINT The status bits for your axis Bit Number Data Type Description ServoActStatus 00 DINT Servo Action Status DriveEnableStatus 01 DINT Drive Enable Status ShutdownStatus 02 DINT Axis Shutdown Status ConfigUpdatelnProcess 03 DINT Configuration Update in Process Reserved 04 31 AxisFault DINT The axis faults for your axis Bit Number Data Type Description PhysicalAxisFault 00 DINT Physical Axis Fault ModuleFault 01 DINT Module Fault ConfigFault 02 DINT Configuration Fault Reserved 03 31 AxisEvent DINT The event status for your axis Bit Number Data Type Description WatchEventArmedStatus 00 DINT Watch Event Armed Status WatchEventStatus 01 DINT Watch Event Status RegEvent1 ArmedStatus 02 DINT Registration Event 1 Armed Status RegEvent Status 03 DINT Registration Event 1 Status RegEvent2ArmedStatus 04 DINT Registration Event 2 Armed Status RegEvent2Status 05 DINT Registration Event 2 Status HomeEventArmedStatus 06 DINT Home Event Armed Status HomeEventStatus 07 DINT Home Event Status Reserved 08 31 Publication 1756 RM007G EN P May 2005 Structures A 15 Mnemonic Data Description Type A
163. DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Direction UDINT immediate Direction of jog Select either or tag 0 forward jog 1 reverse jog Speed REAL immediate Speed to move the axis in or or tag Speed Units Speed units UDINT immediate Engineering units in which the Speed value is displayed Select either 0 units per sec 1 of maximum speed Accel rate REAL immediate Accel rate of the axis in or or tag Acceleration Units Accel units UDINT immediate Engineering units in which the Acceleration value is displayed Select either 0 units per sec 1 of maximum acceleration Decel rate REAL immediate Deceleration rate of the axis in or tag or Deceleration Units Decel units UDINT immediate Engineering units in which the Deceleration value is displayed Select either 0 units per sec 1 of maximum deceleration Publication 1756 RM007G EN P May 2005 3 16 Motion Move Instructions MAJ Axis MotionControl Direction Speed SpeedUnits AccelRate AccelUnits DecelRate DecelUnits Publication 1756 RMO007G EN P May 2005 Operand Type Format Description Profile UDINT immediate select the velocity profile to run the jog 0 trapezoidal 1 S curve Merge UDINT immediate When enabled Merge instructs the motion control to turn all current axis motion regardless of the motion instruction
164. E d ea 4 i p a i i 1 OSA 4 3 i A 1 Mr A I are y UI O O a 1 1 1 Y axis 0 5 05 X axis Figure 7 36 3D Arc Using Circle Type of Via This path is achieved by using an MCCM instruction with a Move Type of Absolute and a Circle Type of Via When Via is selected the Publication 1756 RM007G EN P May 2005 7 60 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 Via Center Radius position defines a point through which the arc must pass MCCM Three dimensional coordinate system Motion Coordinated Circular Move N gt Coordinate System Coordinated_sys1 Motion Control MCCHM 8 N Move Type 0 A gt Position MCCM_Move_position 16 AxisO 2 0 IP gt Position defined in Axis 2 0 Ass 00 OD absolute units Circle Type 0 l a Co Circle Type is Via Via Center Radius VIA 4 Direction 0 Via position defined in absolute units as Speed 10 1 0 1 0 1 414 Speed Units Units per sec Accel Rate Direction is ignored for Via Circle Type Accel Units Units per sec2 Decel Rate Decel Units Units per sec2 Profile Trapezoidal Termination Type Merge Disabled Merge Speed Current Figure 7 37 MCCM Ladder Instruction for 3D Arc Using Circle Type of Via 3D Arc Using MCCM with Circle Type Center The following example shows the use of the MCCM with a Circle Type of Center and a Move Type of Absolute to create a three dimensional arc The basic assum
165. EN P May 2005 Structures A 17 Mnemonic Data Description Type DriveStatus DINT The status bits for your servo drive Bit Number Data Type Description no tag 00 DINT Servo Action Status no tag 01 DINT Drive Enable Status no tag 02 DINT Axis Shutdown Status ProcessStatus 03 DINT Process Status Reserved 04 05 HomelnputStatus 06 DINT Home Input Status Reg1InputStatus 07 DINT Registration 1 Input Status Reg2InputStatus 08 DINT Registration 12Input Status PosOvertravellnputStatus 09 DINT Positive Overtravel Input Status NegOvertravellnputStatus 10 DINT Negative Overtravel Input Status EnablelnputStatus 11 DINT Enable Input Status AccelLimitStatus 12 DINT Accel Limit Status AbsoluteReferenceStatus 13 DINT Absolute Reference Status Reserved 14 15 VelocityLockStatus 16 DINT Velocity Lock Status VelocityStandstillStatus 17 DINT Velocity Standstill Status VelocityThresholdStatus 18 DINT Velocity Threshold Status TorqueThresholdStatus 19 DINT Torque Threshold Status TorqueLimitStatus 20 DINT Torque Limit Status VelocityLimitStatus 21 DINT Velocity Limit Status PosLockStatus 22 DINT Position Lock Status Reserved 23 31 Reserved DriveFault DINT The servo fault bits for your servo loop Bit Number Data Type Description PosSoftOvertravelFault 00 DINT Positive Software Overtravel Fault NegSoftOvertravelFault 01 DINT Negative Software Overtravel Fault PosHardOvertravelFault 02 DINT Positive Hardware Ove
166. Homing Mode is immediate In this case the absolute homing process establishes the true absolute position of the axis by applying the configured Home Position to the reported position of the absolute feedback device Prior to execution of the absolute homing process via the MAH instruction the axis must be in the Axis Ready state with the servo loop disabled To successfully execute a MAH instruction on an axis configured for Active homing mode the targeted axis must be configured as a Servo Motion Move Instructions 3 11 Axis Type To successfully execute an MAH instruction the targeted axis must be configured as either a Servo or Feedback Only axis If any of these conditions are not met the instruction errs IMPORTANT When the MAH instruction is initially executed the In process IP bit is set and the Process Complete PO bit is cleared The MAH instruction execution may take multiple scans to execute because it requires transmission of multiple messages to the motion module Thus the Done DN bit is not set until after these messages have been successfully transmitted The In process IP bit is cleared and the Process Complete PC bit is set at the same time that the Done DN bit is set This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes
167. In the case where the Execution Schedule parameter of the instruction is set to Forward Only Reverse Only or Bi directional the slave axis is not locked to the master until the master axis satisfies the specified condition In this case the master axis is monitored by the camming process to determine when the master axis passes the specified Master Lock Position in the specified direction In a rotary axis configuration this lock criterion is still valid independent of the turns count If the position reference of the master axis is redefined e g an MRP instruction after the MAPC instruction executes but before the lock condition is satisfied the cam profile generator monitors the master axis based on the absolute position reference system in effect prior to the redefine position operation Motion Move Instructions 3 83 Master Cam Profile Slave Axis Start Position Position Master Axis Position 1 0 Position Cam Lock Status 1 0 Position Cam Status Position Cam Initiated Figure 3 28 Forward Only Reverse Only or Bi directional Execution When the absolute position of the master axis passes the specified Master Lock Position in the specified direction Forward Only direction in the illustration below the Position Cam Status bit of the Motion Status word for specified slave axis is set Slave axis motion is then initiated according to the specified cam profile starting at the
168. L launches Axis Properties dialog If AXIS_GENERIC Pending is selected as the Execution AXIS_SERVO Schedule then Master Axis is AXIS_SERVO_DRIVE ignored Motion MOTION_ tag Structure used to access block status Control INSTRUCTION parameters Direction UINT32 immediate Relative direction of the slave axis to or tag the master axis e Same the slave axis position values are in the same sense as the master s e Opposite the slave axis position values are in the opposite sense of the master s Or relative to the current or previous camming direction e Reverse the current or previous direction of the position cam is reversed on execution When executed for the first time with Reverse selected the control defaults the direction to Opposite Unchanged this allows other cam parameters to be changed without altering the current or previous camming direction When executed for the first time with Unchanged selected the control defaults the direction to Same Motion Move Instructions 3 13 Operand Type Format Description Cam Profile CAM_PROFILE array Tag name of the calculated cam profile array used to establish the master slave position relationship Only the zero array element 0 is allowed for the Cam Profile array Ellipsis launches Cam Profile Editor Slave REAL immediate Scales the total distance covered by Scaling or tag the slave axis through the cam pro
169. LossFault 05 DINT encoder channel Z loss fault EncNsFault 06 DINT encoder noise fault DriveFault 07 DINT drive fault Reserved 08 31 Bit Number Data Type Description SyncConnFault 00 DINT synchronous connection fault HardFault 01 DINT servo hardware fault Reserved 02 31 GroupFault DINT The fault bits for the group Bit Number Data Type Description GroupOverlapFault 00 DINT group task overlap fault CSTLossFault 01 DINT The controller has lost synchronization with the CST master GroupTaskLoadingFault 02 DINT The group coarse update period is too low user application tasks are not getting enough time to execute Reserved 03 31 Publication 1756 RM007G EN P May 2005 A 28 Structures MOTION INSTRUCTION Each motion instruction has a MOTION_INSTRUCTION structure that Structure contains status information about the instruction Mnemonic Data Type Description FLAGS DINT The instruction status bits are Bit ACCEL DECEL PC ER DN EN Number 00 26 27 28 29 ow 1 Data Type DINT DINT DINT DINT DINT DINT DINT Description The Acceleration bit sets when the commanded motion process accelerates and is cleared if the process cruises stops or decelerates The Deceleration bit sets when the commanded motion process decelerates and is cleared if the process cruises stops or accelerates The Process Complete is cleared when EN sets and aft
170. Master Offset Moves A MAM instruction can also be used while the position cam is operating to shift the master reference position of the cam on the fly Unlike an incremental move on the slave axis a master offset move Publication 1756 RM007G EN P May 2005 3 88 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 on the slave axis shifts the cam profile relative to the master axis as shown below Profile After Incremental Move of Slave Axis Slave Axis Position Profile After Master Offset Move of Slave Axis s nN YH a N Master Axis Position Initial Cam Profile Figure 3 33 Master Offset Move When the MAPC instruction except pending is initiated the corresponding active Master Offset Move is disabled and the corresponding Master Offset Strobe Offset and Start Master Offset are reset to zero In order to achieve the master reference position shift the MAM instruction must be initiated after the MAPC is initiated See the Motion Axis Move MAM instruction for more information on Master Offset moves Stopping a Cam Like other motion generators jog move gear etc active cams must be stopped by the various stop instructions MAS or MGS Cam motion must also stop when the ControlLogix processor changes OS modes The MAS instruction in particular must be able to specifically stop the camming process This behavior should be identical to the MAS functionality that specifica
171. Motion Axis Object Specification To successfully execute a MAAT instruction the targeted axis must be configured as a Servo axis and be in the Axis Ready state with servo action off If these conditions are not met the instruction errs aaa The MAAT instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit not set immediately but only after this message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 6 6 Motion Configuration Instructions Error Codes MAAT Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Servo On State Error 4 Attempted execution on an axis that has its servo loop closed Shutdown State Error 7 Attempted execution with the axis in the Shutdown state Illegal Axis Type 8 Attempted execution wi
172. Move Type 1 Position AxisO Axis 15 0 Speed 10 Speed Units Units per sec Accel Rate 5 Accel Units Units per sec2 Decel Rate Decel Units Profile Termination Type Units per sec2 Trapezoidal 0 Disabled Current Merge Merge Speed Figure 7 4 MCLM Ladder Instruction with Move Type of Incremental move_position 2 L 5 0 Coordinated_sys E Move Type is Incremental P gt Position defined as an incremental distance from C gt _ start point of 5 5 D Publication 1756 RM007G EN P May 2005 7 20 Multi Axis Coordinated Motion Instructions MCLM Instruction With Rotary Axes The following examples show the plot of the paths for MCLM Examples instructions that have axes defined as Rotary Publication 1756 RM007G EN P May 2005 MCLM with One Rotary Axis and Move Type of Absolute The first example uses a coordinate system of one axis and a Move type of Absolute The plot of the path is based on the following assumptions e 1 axis Coordinate System named coord_systl e Axis0 is Rotary with an unwind of 5 revs e Start position is 4 e End position is 2 MCLM Motion Coordinated Linear Move N gt Coordinate System coord_systl Motion Control MCLM 1 D Move Type is Move Type 0 R Absolute Position move_position 4 AxisO 2 0 IP gt Speed 1 End point is defined f o as negative Speed Units Units per sec Accel Rate 100 o Accel Units of Maximum Decel R
173. Multi Axis Coordinated Motion Instructions MC Motion Coordinated Circular Move Coordinate System Cooidneted_sys Mation Cortal MCCM 0 Move Type Position MCCM_Move_positor 0 AxisO 21 51 Axis 00 Cicle Type 1 Via Center Radius Certei 1 Direction D Speed 20 Speed Unis Accel Rate Accel Unis Decel Rate Decel Units Prolie Termination Type Merge Merge Speed Figure 7 46 Ladder Program and Target Entry Screen that Generate Error 46 CIRCULAR_SMALL_R_ERROR 49 Example This first example of error 49 depicts a situation where the radius type circle uses a radius that is too short to span the distance between the start point and the end point The program is trying to generate a two dimensional arc going from 0 0 current position to 20 0 However the user tried to program a radius type circle with a radius that is too short to span the distance between the startpoint and endpoint CCM Motion Coordinated Circular Move N gt Coorcnate System Cocecinated_sys Motion Control MCCHIO ND Move Type 0 Position MCCM_Move_position 0 Ans0 20 0 Awel 0 0 Cicle Type 2 Via Centes Radus Radius 1 Direction 0 Speed 20 Speed Urils Accel Rate Accel Units Decel Rate Decel Units Profle Termination Type Meige Merge Speed Figure 7 47 Ladder Program and Target Entry Screen that Generate Error 49 Publication 1756 RM007G EN P May 2005 Multi Axis Coordinated Motion Instructions 1 15
174. N P May 2005 8 4 Motion Direct Commands When you access the Motion Direct Commands dialog from the Tools pull down it defaults to the MSO command and the Axis field is defaulted to a question mark Figure 8 2 Motion Direct Command Dialog from Tool Menu From Group in the Controller You can access the Motion Direct Commands by right clicking on the Organizer Group in the Controller Organizer This is the recommended way when you want to invoke a Motion Group Instruction Publication 1756 RM007G EN P May 2005 E J Controller mdconline A Controller Tags Controller Fault Handler 23 Power Up Handler 6 8 Tasks Ed MainTask B MainProgram A Program Tags E MainRoutine 3 Unscheduled Programs B Motion Groups ESE DEST VIGUGHIaT cur aults Motion Direct Commands Motion Direct Commands 8 5 Figure 8 3 Controller Organizer Group Motion Direct Commands When the Motion Direct Commands dialog is accessed from the Motion Group in the Controller Organizer the Motion Group field defaults to the group you right clicked on and the MGS command is the default selection Publication 1756 RM007G EN P May 2005 8 6 Motion Direct Commands Motion Direct Commands group 12 T es Figure 8 4 Motion Direct Command Dialog from Motion Group Publication 1756 RM007G EN P May 2005 Motion Direct Commands 8 7 From Axis in the Controller Organizer You can access the M
175. NT Bit Number Data Type Description ControlSyncFault 00 DINT Control Sync Fault ModuleSyncFault 01 DINT Module Sync Fault TimerEventFault 02 DINT Timer Event Fault ModuleHardwareFault 03 DINT Module Hardware Fault AttributeErrorCode INT ASA Error code returned by erred set attribute list service to the module AttributeErrorlD INT Attribute ID associated with non zero Attribute Error Code PositionCommand REAL Position Command in Position Units PositionFeedback REAL Position Feedback in Position Units AuxPositionFeedback REAL Auxiliary Position Feedback in Position Units PositionError REAL Position Error in Position Units PositionIntegratorError REAL Position Integrator Error in Position Units mSec VelocityCommand REAL Velocity Command in Position Units Sec VelocityFeedback REAL Velocity Feedback in Position Units Sec Publication 1756 RM007G EN P May 2005 A 16 Structures Mnemonic Data Description Type VelocityError REAL Velocity Error in Position Units Sec VelocitylntegratorError REAL Velocity Integrator Error in Position Units mSec Sec AccelerationCommand REAL Acceleration Command in Position Units Sec2 AccelerationFeedback REAL Acceleration Feedback in Position Units Sec2 ServoOutputLevel REAL Servo Output Level in Volts MarkerDistance REAL Marker Distance in Position Units VelocityOffset REAL Velocity Offset in
176. NT Negative Hardware Overtravel Fault FeedbackFault 04 DINT Feedback Fault FeedbackNoiseFault 05 DINT Feedback Noise Fault AuxFeedbackFault 06 DINT Auxiliary Feedback Fault AuxFeedbackNoiseFault 07 DINT Auxiliary Feedback Noise Fault PosErrorFault 08 DINT Position Error Fault DriveFault 09 DINT Drive Fault Reserved 10 31 ServoModuleFault DINT Bit Number Data Type Description ControlSyncFault 00 DINT Control Sync Fault ModuleSyncFault 01 DINT Module Sync Fault TimerEventFault 02 DINT Timer Event Fault ModuleHardwareFault 03 DINT Module Hardware Fault Reserved 04 31 AttributeErrorCode INT ASA Error code returned by erred set attribute list service to the module AttributeErrorlD INT Attribute ID associated with non zero Attribute Error Code PositionCommand REAL Position Command in Position Units PositionFeedback REAL Position Feedback in Position Units AuxPositionFeedback REAL _ Auxiliary Position Feedback in Position Units PositionError REAL Position Error in Position Units PositionIntegratorError REAL Position Integrator Error in Position Units mSec VelocityCommand REAL Velocity Command in Position Units Sec VelocityFeedback REAL Velocity Feedback in Position Units Sec VelocityError REAL Velocity Error in Position Units Sec VelocitylntegratorError REAL Velocity Integrator Error in Position Units mSec Sec AccelerationCommand REAL Acceleration Command in Position Units Sec2 AccelerationFeedback REAL Accelera
177. O Position Gam Initiated Figure 3 34 Position Cam Timing Diagram Arithmetic Status Flags not affected Fault Conditions none Error Codes MAPC Error Codes ERR Code Error Message Description 5 Servo Off State Error Attempted execution on an axis that does not have the servo loop closed 7 Shutdown State Error Attempted execution with the axis in the Shutdown state 8 Illegal Axis Type Attempted execution with the axis not configured as servo 9 Overtravel Error Attempted execution in a direction that aggravates current overtravel condition 10 Master Axis Conflict Passed a master axis reference that was the same as the slave axis reference 11 Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel See the Extended Error section for more information about this error 13 Value Out of Range Attempted execution with an input parameter that was out of range See Extended Error section for more information on the cause of the error 16 Homing in Process Error Attempted execution with a homing process in progress 19 Axis Group Not Synchronized Attempted execution on an axis whose associated axis group is not currently synchronized 20 Axis in Faulted State Attempted execution on an axis which is in the Faulted state 23 Illegal Dynamic Change Attempted execution with another cam profile in process Publication 1756
178. O A 6 AXIS_SERVO_DRIVE A 14 AXIS_VIRTUAL A 23 bitwise operators structured text B 10 BOOL expression structured text B 4 C CASE B 16 comments structured text B 28 construct structured text B 12 D description structured text B 28 Direct Commands 8 1 Accessing 8 2 From Axis 8 7 From Group 8 4 From the Main Menu 8 3 Introduction 8 1 Supported Commands 8 1 Motion Event 8 2 Motion Group 8 2 Motion Move 8 2 Motion State 8 1 User Interface 8 8 Dialog 8 8 Off line 8 9 On line 8 9 Index document structured text B 28 E expression BOOL expression structured text B 4 numeric expression structured text B 4 order of execution structured text B 10 structured text arithmetic operators B 6 bitwise operators B 10 functions B 6 logical operators B 9 overview B 4 relational operators B 7 F FOR DO B 19 functions structured text B 6 IF THEN B 13 immediate motion instructions 1 2 L logical operators structured text B 9 M MAAT 6 1 MAFR 2 22 MAG 3 40 MAH 3 9 MAHD 6 14 MAJ 3 14 MAM 3 23 MAOC 5 19 5 44 Instruction 5 23 MAPC 3 71 MAR 5 9 MAS 3 2 MASD 2 9 Changes to Status Bits 2 12 Axis Status Bits 2 12 Publication 1756 RM007G EN P May 2005 2 Index Motion Status Bits 2 12 MASR 2 13 MATC 3 94 math operators structured text B 6 MAW 5 1 MCCD Examples Impact of Changes to Acceleration and Deceleration Values on Mo tion Profile 7 84 Relay Ladder 7 88 Structured Text 7 88 Ope
179. OS numeric expression REAL radians to degrees DEG numeric expression DINT REAL natural log LN numeric expression REAL log base 10 LOG numeric expression REAL degrees to radians RAD numeric expression DINT REAL sine SIN numeric expression REAL square root SQRT numeric expression DINT REAL tangent TAN numeric expression REAL truncate TRUNC numeric expression DINT REAL For example Structured Text Programming B 7 Use this format Example For this situation You d write valuel operator value2 If gain_4 and gain_4_adj are DINT tags and your gain 4 adj specification says Add 15 to ga n_4 and store the gain 4 15 result in gain_4_adj operator valuel If alarm and high_alarm are DINT tags and your alarm specification says Negate high_alarm and store the result in alarm high alarm function numeric expression If overtravel and overtravel_POS are DINT tags and your specification says Calculate the absolute value of overtravel and store the result in overtravel_POS overtravel POS ABS overtravel valuel operator function value2 value3 2 If adjustment and position are DINT tags and sensor and sensorZ are REAL tags and your specification says Find the absolute value of the average of sensor and sensorZ add the adjustment and store the result in position Use relational operators position adjustment ABS sensorl sensor2 2
180. On state If any of these conditions are not met than the instruction errs If the axis does not have a move or a jog in process at the time of MCD execution the instruction has no affect Maia The MCD instruction execution completes in a single scan thus the Done DN bit is set immediately This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 3 58 Motion Move Instructions Error Codes MCD Error Codes ERR Error Message Code Description Servo Off State Error 5 Attempted execution on an axis that does not have the servo loop closed Shutdown State Error 7 Attempted execution with the axis in the Shutdown state Illegal Axis Type 8 Attempted execution with the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Parameter Out Of 13 Attempted execution with an input parameter that Range was out of range See Extended Error section for more information on the cause of the error Home in Process 16 Attempted to execute with homing in process Axis Group No
181. Opposite Direction When Opposite is selected or entered as the Direction the axis position values computed from the cam profile are subtracted from the command position of the axis Thus axis motion is in the opposite direction from that implied by the original cam table That is consecutive increasing profile values result in axis motion in the negative direction and vice versa Changing the Cam Profile When Unchanged is selected or entered as the Direction other time cam parameters may be changed while preserving the current or previous camming direction same or opposite This is useful when the current direction is not known or not important For first time execution of a cam with Unchanged selected the control defaults the direction to Same Changing the Camming Direction When Reverse is selected the current or previous direction of the time cam is changed from Same to Opposite or from Opposite to Same For first time execution of a cam with Reverse selected the control defaults the direction to Opposite Specifying the Cam Profile To execute a MATC instruction a calculated Cam Profile data array tag must be specified Cam Profile array tags may be created by the RSLogix 5000 tag editor or the MATC instruction using the built in Cam Profile Editor or by executing an Motion Calculate Cam Profile MCCP instruction on an existing Cam array See the following figure Tag Edito MCCP Cam Motion Planner Cam ao Tag Cr
182. Output Cam Axis Execution Target Motion Control Dutput Input Output Cam Cam Start Position Cam End Position Output Compensation Execution Mode Execution Schedule Axis Arm Position Cam Arm Position Position Reference behavior allows the output cam to become disarmed when the cam position exceeds the output cam range and rearmed when cam position returns to within range Output Cam range is defined by input parameters CamStartPosition and CamEndPosition The Master Reference selection allows axis input to be derived from either the Actual or Commanded position of the designated axis ATTENTION A Output cams increase the potential for exceeding coarse update rate This can cause misbehavior if the motion task execution time exceeds the configured group coarse update period The only way to check on this condition is to monitor the max execution time from the Motion Group Properties page Operands Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis that provides Ne AXIS_CONSUMED the position input to the Output AXIS_VIRTUAL Cam Ellipsis launches Axis N AXIS_GENERIC Properties dialog AXIS_SERVO R gt AXIS_SERVO_DRIVE p gt Execution Target UINT32 immediate The execution target defines the or tag specific Output Cam from the set C connected to the named axis Behavior is determined by the following e 0 8 Output Cams executed in the Logix contr
183. Position REAL Start Command Position in Position Units CommandVelocity REAL Command Velocity in Position Units Sec CommandAcceleration REAL Command Acceleration in Position Units Sec2 InterpolatedCommandPosition REAL Interpolated Command Position in Position Units ServoStatus DINT The status bits for your servo loop Bit Number Data Type Description no tag 00 DINT Servo Action Status no tag 01 DINT Drive Enable Status no tag 02 DINT Axis Shutdown Status ProcessStatus 03 DINT Process Status OutputLimitStatus 04 DINT Output Limit Status PositionLockStatus 05 DINT Position Lock Status HomelnputStatus 06 DINT Home Input Status Reg1InputStatus 07 DINT Registration 1 Input Status Reg2InputStatus 08 DINT Registration 2 Input Status PosOvertravellnputStatus 09 DINT Positive Overtravel Input Status NegOvertravellnputStatus 10 DINT Negative Overtravel Input Status DriveFaultInputStatus 11 DINT Drive Fault Input Status Reserved 12 31 Publication 1756 RM007G EN P May 2005 A 8 Structures Mnemonic Data Description Type ServoFault DINT The servo fault bits for your servo loop Bit Number Data Type Description PosSoftOvertravelFault 00 DINT Positive Software Overtravel Fault NegSoftOvertravelFault 01 DINT Negative Software Overtravel Fault PosHardOvertravelFault 02 DINT Positive Hardware Overtravel Fault NegHardOvertravelFault 03 DI
184. Position Units Sec TorqueOffset REAL Torque Offset from 100 to 100 TorqueCommand REAL The command when operating in Torque Mode in terms of rated TorqueFeedback REAL The torque feedback when operating in Torque Mode in terms of rated PosDynamicTorqueLimit REAL The currently operative maximum positive torque current limit magnitude It should be the lowest value of all torque current limits in the drive at a given time including amplifier peak limit motor peak limit user current limit amplifier thermal limit and motor thermal limit NegDynamicTorqueLimit REAL The currently operative negative positive torque current limit magnitude It should be the lowest value of all torque current limits in the drive at a given time including amplifier peak limit motor peak limit user current limit amplifier thermal limit and motor thermal limit MotorCapacity REAL The present utilization of motor capacity as a percent of rated capacity DriveCapacity REAL The present utilization of drive capacity as a percent of rated capacity PowerCapacity REAL The present utilization of the axis power supply as a percent of rated capacity BusRegulatorCapacity REAL The present utilization of the axis bus regulator as a percent of rated capacity MotorElectricalAngle REAL The present electrical angle of the motor shaft TorqueLimitSource DINT The present source if any of any torque limiting for the axis Publication 1756 RMO007G
185. Programmed Speed 3 21 Velocity Profile Effects 3 19 Motion Axis Move MAM 3 23 Absolute and Incremental Master Index 5 Offset Move 3 33 Absolute Moves 3 28 Changing the Endpoint 3 28 Rotary Axes 3 29 Current Speed 3 34 Description 3 26 Error Codes 3 35 Extended Error Codes 3 38 Incremental Moves 3 29 Changing the Move Distance 3 29 on Rotary Axes 3 30 with Gearing 3 30 Merged Moves 3 34 MOTION_INSTRUCTION structure 3 26 Move Profile 3 33 Operands 3 24 Relay Ladder 3 24 Structured Text 3 25 Programmed Speed 3 34 Rotary Negative Moves 3 32 Rotary Positive Moves 3 31 Rotary Shortest Path Moves 3 30 Motion Axis Position Cam MAPC 3 71 Cam Profile Array Checks 3 78 Cam Profile Execution Modes 3 80 Camming Direction 3 77 Camming in the Opposite Direction 3 77 Camming in the Same Direction 3 77 Changes to Status Bits 3 92 Changing the Cam Lock Position 3 81 Description 3 76 Error Codes 3 90 Execution Schedule 3 80 Immediate Execution 3 81 Extended Error Codes 3 92 Fault Recovery 3 88 Forward Only Reverse Only or Bi di rectional Execution 3 82 Incremental Moves 3 87 Linear and Cubic Interpolation 3 78 Master Direction 3 87 Master Offset Moves 3 87 Master Reference 3 85 Merging from a Cam 3 88 MOTION_INSTRUCTION structure 3 76 Moving While Camming 3 87 Operands 3 72 Publication 1756 RM007G EN P May 2005 6 Index Publication 1756 RM007G EN P May 2005 Relay Ladder 3 72 Structur
186. RM007G EN P May 2005 3 66 Motion Move Instructions Operands Relay Ladder Operand Type Format Description Motion MOTION_ tag Structure used to access block status MCC control INSTRUCTION parameters Motion Calculate Cam Profile m Motion Control Cam CAM array Tag name of the cam array used to Cam N compute the cam profile The numerical Length array index indicates the starting cam l F gt element in the array used in the cam Start Slope profile calculation Ellipsis launches Cam Profile Editor End Slope 77 Length UINT immediate Determines the number of cam elements Cam Profile or tag in the array used in the cam profile calculation Start Slope REAL immediate This is the boundary condition for the or tag initial slope of the profile It is valid only for a cubic first segment and is used to specify a slope through the first point End Slope REAL immediate This is the boundary condition for the or tag ending slope of the profile It is valid only for a cubic last segment and is used to specify a slope through the last point Cam Profile CAM_PROFILE array Tag name of the calculated cam profile array used as input to MAPC and MATC instructions Only the zero array element 0 is allowed for the Cam Profile array Ellipsis launches Cam Profile Editor Structured Text MCCP MotionControl Cam The operands are the same as those for the relay ladder Length StartSlope EndSlope MCCP i
187. Reference is ignored 0 Actual slave axis motion is generated from the current position of the master axis as measured by its encoder or other feedback device 1 Command slave axis motion is generated from the desired or commanded position of the master axis Master UINT32 immediate This determines the direction of the Direction master axis that generates slave motion according to the cam profile Options are 0 Bi directional slave axis can track the master axis in either direction 1 Forward only slave axis tracks the master axis in the forward direction of the master axis 2 Reverse only slave axis tracks the master axis in the opposite direction of the master axis Structured Text The operands are the same as those for the relay ladder MAPC instruction For the array operands you do not have to include the array index If you do not include the index the instruction starts with the first element in the array 0 For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number ExecutionMode once 0 continuous 1 persistent 2 Publication 1756 RM007G EN P May 2005 3 76 Motion Move Instructions This operand Has these options which you enter as text or enter as a number ExecutionSchedule immediate 0 pen
188. S Status Bits MAAT Changes to Status None Publication 1756 RMO007G EN P May 2005 Bits Motion Configuration Instructions 6 7 Example Motion Run Axis Tuning MRAT MRAT Motion Run Axis Tuning Axis Motion Control MRAT Axis MotionControl dd Operands PY TP When the input conditions are true the controller computes a complete set of servo gains and dynamic limits for axis1 based on the results of the previously executed Motion Run Axis Tuning MRAT instruction Relay Ladder MAAT Motion Apply Axis Tuning Axis Axis J N gt Motion Control MAAT_2 Figure 6 1 MAAT Ladder Example Structured Text MAAT Axisl MAAT 2 Use the MRAT to command the motion module to run a tuning motion profile for the specified axis The tuning motion profile consists of one or more acceleration and deceleration ramps induced by applying fixed voltages to the servo s drive output Note that this instruction does not at any time close the servo loop While this instruction takes no explicit input parameters it does derive input from the Axis Tuning Configuration parameters The result of executing the MRAT instruction is a set of measurement data that is stored in the Axis Object for subsequent use with the Motion Apply Axis Tuning MAAT instruction Relay Ladder Operand Type Format Description Axis AXIS_SERVO tag Name of the axis to perform AXIS_SERVO_DRIVE operation on M
189. S curve change profile from trap to S curve on the fly change S curve to non zero speed or changing accel of an S curve Illegal Controller 24 Attempted execution when the processor is in test mode Mode Operation Illegal Axis Data 38 You attempted to execute an instruction on an Axis Data Type Type that is not supported by the instruction Maximum 54 The Decel Rate of the Axis is set to zero This is an illegal Deceleration Value value for Decel Rate which inhibits start motion See the is Zero Extended Error section for more information about this error Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAJ instruction an extended error code of 3 would refer to the Speed operand s value You would then have to check your value with the accepted range of values for the instruction For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 72 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets Dcolumn of the Axis Grid to determine which axis ha
190. Scaling operand s value You would then have to check your value with the accepted range of values for the instruction For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 7 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value MAPC Changes to Status Bits If the Execution Schedule is set to Immediate execution of the MAPC instruction simply sets both the Position Cam Status and the Position Cam Lock Status bits to True Bit Name State Meaning Position Cam TRUE Status Position Cam TRUE Slave Axis is Locked to the Master Axis Lock Status according to the Cam Profile Position Cam FALSE Pending Status Position Camming is Enabled No pending Position Cam If the Execution Schedule is set to Forward or Reverse execution of the MAPC instruction initially sets the Position Cam Status bit to True
191. Set Attribute List service which is internal to the firmware or an SSV in the user program When such an update is initiated the ControlLogix processor sets this bit This bit will remain set until the Set Attribute List reply comes back from the servo module indicating that the data update process was successful Thus the Configuration Update Status Bits attribute provides a method of waiting until the servo configuration data update to the connected motion module is complete before starting a dependent operation PhysicalAxisFault DINT Set when one or more fault conditions have been reported by the physical axis The specific fault conditions can then be determined through access to the fault attributes of the associated physical axis A PhysicalAxisFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ModuleFault DINT Set when a serious fault has occurred with the motion module associated with the selected axis Usually a module fault affects all axes associated with the motion module A module fault generally results in the shutdown of all associated axes Reconfiguration of the motion module is required to recover from a module fault condition A ModuleFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box Publication 1756 RMO007G EN P May 2005 Structur
192. Status StoppingStatus 06 DINT Stopping Status HomedStatus 07 DINT Homed Status PositionCamStatus 08 DINT Position Cam Status TimeCamStatus 09 DINT Time Cam Status PositionCamPendingStatus 10 DINT Position Cam Pending Status TimeCamPendingStatus 11 DINT Time Cam Pending Status GearingLockStatus 12 DINT Gearing Lock Status PositionCamLockStatus 13 DINT Position Cam Lock Status TimeCamLockStatus 14 DINT Time Cam Lock Status MasterOffsetMoveStatus 15 DINT Master Offset Move Status CoordinatedMotionStatus 16 DINT Coordinated Motion Status Reserved 17 31 AxisStatus DINT The status bits for your axis Bit Number Data Type Description ServoActionStatus 00 DINT Servo Action Status DriveEnableStatus 01 DINT Drive Enable Status ShutdownStatus 02 DINT Axis Shutdown Status ConfigUpdatelnProcess 03 DINT Configuration Update in Process Reserved 04 31 AxisFault DINT The axis faults for your axis Bit Number Data Type Description PhysicalAxisFault 00 DINT Physical Axis Fault ModuleFault 01 DINT Module Fault ConfigFault 02 DINT Configuration Fault Reserved 03 31 AxisEvent DINT The event status for your axis Bit Number Data Type Description WatchEventArmedStatus 00 DINT Watch Event Armed Status WatchEventStatus 01 DINT Watch Event Status RegEvent1 ArmedStatus 02 DINT Registration Event 1 Armed Status RegEvent Status 03 DINT Registration Event 1 Status RegEvent2ArmedStatus 04 DINT Registration Event 2 Armed Status RegEvent2Status 05 DINT Registrat
193. TA element number SINT array element number element _number element number 1 String tag LEN element number If element number SINT array size then exit end_if end_while Structured Text Programming B 25 REPEAT UNTIL Use the REPEAT UNTIL loop to keep doing something until conditions are true Operands Structured Text REPEAT Operand Type Format Enter lt statement gt UNTIL bool expression bool_ l BOOL tag BOOL tag or expression that evaluates to ee hee expression expression a BOOL value BOOL expression IMPORTANT Make sure that you do not iterate within the loop too many times in a single scan e The controller does not execute any other statements in the routine until it completes the loop e If the time that it takes to complete the loop is greater than the watchdog timer for the task a major fault occurs e Consider using a different construct such as IF THEN Description The syntax is REPEAT lt statement gt lt q Statements to execute while bool_expression is false IF bool _expression2 THEN EXIT lt q If there are conditions when you want to optional x exit the loop early use other statements END_IF such as an IF THEN construct to condition an EXIT statement UNTIL bool expressionl END_REPEAT Publication 1756 RM007G EN P May 2005 B 26 Structured Text Programming
194. TRUCTION Structure Mnemonic Description EN Enable Bit 31 The enable bit indicates when the instruction is enabled lt remains set until servo messaging completes and the rung condition in goes false DN Done Bit 29 The done bit indicates when the instruction completes an apply axis tuning process ER Error Bit 28 The error bit indicates when the instruction detects an error such as if the axis is not configured The Motion Apply Axis Tuning MAAT instruction is used to execute a series of computations resulting in values for gain and dynamic configuration parameters on the specified axis As part of the work performed by MAAT these resultant configuration parameters are applied so that the axis is ready for full servo operation This instruction is designed to follow execution of the MRAT instruction which generates axis input configuration values for the MAAT instruction See the MRAT instruction description for more information MAAT requires no explicit input parameters simply enter or select the desired physical axis If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis The MAAT instruction uses axis configuration parameters as input and output The input configuration parameters that MRAT uses are shown Motion Configuration Instructions 6 3 in the table below Refer to the Moti
195. TUAL f Axis a i gt Motion Control cid abs ne AXIS_GENERIC AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text MASD Axis MotionControl The operands are the same as those for the relay ladder MASD instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis have been successfully set to Shutdown state ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis Description The Motion Axis Shutdown MASD instruction directly and immediately disables drive output disables the servo loop and opens any associated OK contacts This action places the axis into the Shutdown state Another action initiated by the MASD instruction is the clearing of all motion processes in progress and the clearing of all the motion status bits Associated with this action the command also clears all motion instruction IP bits that are currently set for the targeted axis The MASD instruction forces the targeted axis into the Shutdown state One of the unique characteristics of the Shutdown state is that when available the OK solid state r
196. The following diagrams show how a REPEAT UNTIL loop executes and how an EXIT statement leaves the loop early statement 1 statement 2 statement 3 statement 4 true rest of the routine BOOL expression false While the bool_expression is false the controller executes only the statements within the REPEAT UNTIL loop Example 1 If you want this The REPEAT UNTIL loop executes the statements in the construct and then determines if the conditions are true before executing the statements again This differs from the WHILE DO loop because the WHILE DO The WHILE DO loop evaluates its conditions first If the conditions are true the controller then executes the statements within the loop The statements in a REPEAT UNTIL loop are always executed at least once The statements in a WHILE DO loop might never be executed Publication 1756 RMO007G EN P May 2005 lad statement 1 statement 2 statement 3 statement 4 yes Exit no v BOOL expression trug ae false rest of the routine To stop the loop before the conditions are false use an EXIT statement Enter this structured text pos 1 REPEAT pos pos 2 UNTIL pos 101 OR structarray pos valu targetvalue end repeat Example 2 If you want this Move ASCII characters from a SINT array into a string tag In a SINT array each element holds one character Stop when you r
197. The specified distance is interpreted by the interpolator and can be positive or negative Negative position values instruct the interpolator to move the rotary axis in a negative direction while positive values indicate positive motion is desired to reach the target position Position The Position operand is a one dimensional array whose dimension is at least equivalent to the number of axes specified in the coordinate system It is the position array that defines the new absolute or incremental position Publication 1756 RM007G EN P May 2005 7 42 Multi Axis Coordinated Motion Instructions Circle Type The Circle Type operand specifies how the array labeled via center radius is interpreted The options are Via Circle Radius Center Incremental Via Via indicates that the via center radius array members specify a via point between the start and end points Center Center indicates that the via center radius array members contain the circle center Radius Radius indicates that the first via center radius array member contains the radius Other members are ignored Center Incremental Center Incremental indicates that the via center radius array members define a position that always incrementally defines the center of the circle regardless of Move Type operand Sign of the incremental value is measured from the start point to the center Two Dimensional Arc Examples The following examples show the use of Absolut
198. Units Boolean Units in which the Drive Output value is interpreted Structured Text The operands are the same as those for the relay ladder MDO instruction Description Motion State Instructions 2 17 For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number DriveUnits volts 0 percent 1 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis drive enable bit is activated and the specified analog output is successfully applied ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you entered a Drive Output value that was too large For motion module s with an external servo drive interface like the 1756 M02AE or 1784 PMO2AE the Motion Direct Drive On MDO instruction can be used to directly enable the Drive Enable output of the axis and set the analog output to a specified level determined by the Drive Output parameter The Drive Output parameter can be expressed as a voltage or as a percent of the maximum configured output voltage value given by the Output Limit attribute The MDO instruction can only be used on a
199. Yes The deceleration of the coordinated motion is changed by the value defined in the Decel Rate and Decel Units operands Publication 1756 RM007G EN P May 2005 7 92 Multi Axis Coordinated Motion Instructions Decel Rate The Decel Rate operand defines the maximum deceleration along the path of the coordinated move Decel Units The Decel Units operand defines the units applied to the Decel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Arithmetic Status Flags not affected Fault Conditions none Error Codes MCS Error Codes ERR Publication 1756 RMO007G EN P May 2005 Error Message Code Description Servo Off State 5 The servo loop of at least one axis is not closed See the Extended Error section for more information about this error Shutdown State 7 At least one axis is ina shutdown state See the Extended Error section for more information about this error Illegal Axis Type 8 At least one axis is not configured as either servo or virtual See the Extended Error section for more information about this error Axis Not 11 At least one axis is not configured to a physical motion Configured module or has not been assigned to a Motion Group See the Extended Error section for more information about this error Parameter Out of 13 At least one of the parameters is outsid
200. a genes E E 5 9 Description AI A 5 11 Rearming an MAR Instruction 5 13 Arithmetic Status Flags eee E Ae 5 14 Fault Conditions podia Eds Be P98 Gennes home deg 5 14 Errr CODES y ta ui Aud Alo wh cas Gedo Ga A es 5 14 Extended FiO COGS rd ii ai Bie ARS 5 14 SASS ahd SARS OSS PAG EEE ERS POT ESS 5 15 Example nee Sasi no ak Eee A Eee nd Ses 5 15 Motion Disarm Registration MDR 5 16 QOREIINOS 7 4 Simin A ee ae een ARAE am 5 16 Pi AA A a ee eh 5 16 Arithmetic Status Flags aa A Sk tt lh Seah 5 17 Fault CONdUONS E REA Oe 5 17 Erroi COJE ans e pipin etapi E ALE EE Se hese 5 17 Extended Error Codes bi desenes ood Ph eetset 5 18 A E EEE EEE 5 18 Status Bitsy pedro a ri os is 5 18 EXAMPIE A ds eR ar OE eS a 5 18 Motion Arm Output Cam MAOC 0 5 19 Pads Na A ais 5 20 DESCHPUONE ae ia ORES OM Gunde ha eS 5 24 Arithmetic Status Flags pao d ake eee RAG we 5 34 Fault GONAIO S iena n ae Me ate ad he ds 5 34 Error Godes s 34 44 ana ooo hha 8 SEUNG TEE PETES 5 35 Extended Error Codes nnna 4d os oy RG Ore oR ei 5 36 Status Bliss dr dana rta iii 5 36 Scheduled Output Module vox pd esa ad 5 37 Operations nyre aoea a Ge Bara ei ae EE a Gi A oe pir 5 38 Remote Operatidt siem et ceded dt as 5 39 Usage with MAOC Instructi0N o o 5 39 VO SUDSYStEM sos a oy e a is 5 42 Output Data Structure ES ais 5 43 Array of 16 Schedule Structures 5 43 Schedul
201. action is taken the MAFR instruction can be used to clear all active fault status bits Publication 1756 RM007G EN P May 2005 2 24 Motion State Instructions To successfully execute a MAFR instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwise the instruction errors IMPORTANT The MAFR instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit is not set until after this message has been successfully transmitted There is no guarantee that all faults are cleared by this instruction as one or more faults may be the result of a persistent condition This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MAFR Error Codes ERR Publication 1756 RMO007G EN P May 2005 Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Axis Not Configured 11 Passed a
202. al Hertz Maximum Position Servo Loop Bandwidth Bandwidth The axis configuration parameters that MAAT generates as output depend on the External Drive configuration If the External Vel Servo Drive configuration bit parameter is TRUE indicating interface to an Publication 1756 RM007G EN P May 2005 6 4 Motion Configuration Instructions external velocity servo drive the following output parameters are generated Axis Parameter Data Type Units Meaning Pos Proportional Real 1 msec Position Servo Loop Proportional Gain Gain Pos Integral Gain Real 1 msec Position Servo Loop Integral Gain Setto Zero Velocity Real Position Servo Loop Proportional Gain Feedforward Acceleration Real Velocity Command Feedforward Set Feedforward to Zero Max Speed Real pos units sec Maximum Speed for Motion Profiles Set to Tuning Velocity Max Acceleration Real pos units sec Maximum Acceleration for Motion Profiles Max Deceleration Real pos units sec Maximum Acceleration for Motion Profiles Output Filter Real Hertz Bandwidth of Low Pass Servo Output Bandwidth Filter Output Scaling Real mV KCPS Scale Factor applied to output of the Position Servo Loop to the DAC Position Error Real pos units Maximum Servo Loop Position Error Tolerance allowed without Fault Publication 1756 RMO007G EN P May 2005 If the External Vel Servo Drive configuration bit
203. and guarantees an exact correction independent of axis speed or position Relative Mode When Relative is selected or entered as the MRP Type the New Position value is used to offset the current position of the axis No motion occurs the current axis position actual or command is simply redefined to be the current position plus the specified new position In relative mode axis position is redefined in such a way that no position errors are introduced if the axis is moving It is particularly useful for unwinding axis position under program control rather than using the built in rotary axis feature Absolute and relative mode MRP instructions have the same effect when the axis is not moving When the axis is moving however absolute mode introduces a position error equal to the motion of the axis during the time it takes to execute the MRP instruction and assign the new position Relative mode does not introduce this error and guarantees an exact correction independent of axis speed or position Actual Position When Actual is selected or entered as the MRP Position Selection the New Position is directly applied to the actual position of the physical axis The command position of the axis is also adjusted along with the new actual position to preserve any position error which exists This ensures that there is no unexpected motion of the axis when the positions are redefined See the Motion Axis Object Specification for more discussi
204. and S Curve controlled jerk velocity profiles A guide to the effects of these motion profiles on various application requirements is given below Velocity Profile Effects Profile ACC DEC Motor Priority of Control Type Time Stress Highest to Lowest Trapezoidal Fastest Worst Acc Dec Velocity Position S Curve 2X Slower Best Jerk Acc Dec Velocity Position Trapezoidal Publication 1756 RMO007G EN P May 2005 The trapezoidal velocity profile is the most commonly used profile since it provides the most flexibility in programming subsequent motion and the fastest acceleration and deceleration times The maximum change in velocity is specified by acceleration and deceleration Since jerk is not a factor for trapezoidal profiles it is considered infinite and is shown as series of vertical lines in the following graph gt o a gt Figure 7 9 Trapezoidal Accel Decel Time Multi Axis Coordinated Motion Instructions 7 25 S Curve S Curve velocity profiles are most often used when the stress on the mechanical system and load needs to be minimized The S Curve profile however sacrifices acceleration and deceleration time compared to the trapezoidal The maximum rate at which velocity can accelerate or decelerate is further limited by jerk The Jerk rate is calculated as follows Accel Jerk Max Accel Max Velocity Decel Jerk Max Decel Max Velocity Coordinate motion accele
205. and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 55 Changing Move Dynamics When a Motion type of Move is entered or chosen the speed acceleration and or deceleration of a Move in progress may be changed to the specified value The speed change occurs at the specified acceleration rate if the new speed is higher than the current speed or at the specified deceleration rate if the new speed is lower than the current speed Pausing Moves The MCD instruction may be used to temporarily pause a move in progress by changing its speed to zero Use another MCD instruction with a non zero speed value to complete the move as originally specified Changing Jog Dynamics When a Motion type of Jog is entered or chosen the speed acceleration and or deceleration of a Jog in progress may be changed to the specified value The speed change occurs at the specified acceleration rate if the new speed is higher than the current speed or at the specified deceleration rate if the new speed is lower than the current speed Impact of Changes to Acceleration and Deceleration Values
206. and then applies the equivalent of a Motion Axis Shutdown MASD instruction to the axis This action turns the appropriate axis driver output OFF disables the servo loop opens any associated motion module s OK contacts and places the axis into the Shutdown state Hard Shutdown For an axis configured for a Hard Shutdown the MGS instruction initiates the equivalent of an Motion Axis Shutdown MASD instruction to the axis This action turns the appropriate axis drive output OFF disables the servo loop opens any associated motion module OK contacts and places the axis into the Shutdown state Depending on the drive configuration this may result in the axis coasting to a stop but offers the quickest disconnect of Drive power via the OK contacts Motion Group Instructions 4 5 To successfully execute a MGS instruction the targeted group must be configured IMPORTANT The MGS instruction execution may take multiple scans to complete because the messages may require one or more axis motion modules in the group Thus the Done DN bit may not be set immediately However the In Process IP bit is set and the Process Complete PC bit is cleared immediately The In Process IP bit remains set until the initiated Programmed Stop process is completed for all axes in the specified group or the stop instructions superseded by another MGS instruction or terminated by a Servo Fault Action The Process Complete PC bit is only set if th
207. ant velocity or acceleration phase or when coordinated motion concludes Multi Axis Coordinated Motion Instructions 1 17 Move Type The Move Type operand specifies the method used to indicate the coordinated move path The Move Type can be either Absolute or Incremental Absolute When the Move Type is Absolute the axes move via a linear path to the position defined by the position array at the Speed Accel Rate and Decel Rate as specified by the operands When the axis is configured for rotary operation an Absolute Move type behaves in the same manner as for a linear axis When the axis position exceeds the Unwind Parameter it is unwound In this way axis position is never greater than the Unwind value nor less than zero The sign of the specified position is interpreted by the interpolator and can be either positive or negative Negative position values instruct the interpolator to move the rotary axis in a negative direction to obtain the desired absolute position while positive values indicate that positive motion is desired to reach the target position When the position value is greater than the unwind value an error is generated The axis never moves through more than one unwind cycle before stopping at an absolute position Incremental When the Move Type is Incremental the coordinate system moves the distance as defined by the position array at the specified Speed using the Accel and Decel rates determined by
208. array tag must be created using the RSLogix Tag Editor or the Cam Profile Editor The figure below illustrates how the Cam array tags are established and used as input to the MCCP instruction The Cam array elements consist of slave yp and master xp point pairs as well as an interpolation type Since there is no association with a specific axis position or time the x and y point values are unitless The interpolation type may be specified for each point as either linear or cubic Specifying the Cam Profile Tag To execute a MAPC instruction a Cam Profile array tag must also be created Cam Profile array tags may be created by the RSLogix 5000 tag editor or the MAPC MATC instructions using the built in Cam Profile Editor The data within the Cam Profile array can be modified at compile time using the Cam Profile Editor or at run time with the Motion Calculate Cam Profile MCCP instruction In the case of run time changes a Cam array must be created in order to use the MCCP instruction The status parameter is used to indicate that the Cam Profile array element has been calculated If execution of a camming instruction is attempted using any uncalculated elements in a cam profile the MAPC or MATC instructions error The type parameter determines the type of interpolation applied between this cam array element and the next cam element Cam Profile Array Status Member The Status member of the first element in the cam profi
209. as Rotary Motion Move Instructions 3 31 For example assume a rotary axis with position units of degrees is to be moved to a position of 225 As shown in the Figure below with the standard absolute MAM instruction the direction of travel depends on the current position of the axis and is not necessarily the shortest path to the endpoint Starting positions less than the endpoint result in motion in the positive direction while starting positions greater than the endpoint result in motion in the negative direction Standard Absolute Move Rotary Shortest Path Move Figure 3 9 Rotary Shortest Path Moves With the rotary shortest path move however the axis moves to the specified endpoint through 0 if necessary in the direction which results in the shortest move regardless of the current axis position The rotary shortest path move may be used while the axis is moving or standing still Rotary Positive Moves The rotary positive move moves a rotary axis to the desired absolute position in the positive direction It is a special type of absolute move available only for rotary axes Refer to the Motion Axis Object Specification for more information on Unwind and Rotary Axis configuration When Rotary Positive is selected or entered as the Move Type the axis moves to the specified Position at the specified Speed using the specified Accel and Decel in the positive direction regardless of the current position of the axis The
210. assignment is reset to zero each time the controller e enters the RUN mode e leaves the step of an SFC if you configure the SFC for Automatic reset This applies only if you embed the assignment in the action of the step or use the action to call a structured text routine via a JSR instruction A non retentive assignment has this syntax tag expression where Component Description tag represents the tag that is getting the new value the tag must be a BOOL SINT INT DINT or REAL is the non retentive assignment symbol expression represents the new value to assign to the tag If tag is this data type Use this type of expression BOOL BOOL expression SINT numeric expression INT DINT REAL ends the assignment Publication 1756 RM007G EN P May 2005 B 4 Structured Text Programming Assign an ASCII character to a string Use the assignment operator to assign an ASCH character to an element of the DATA member of a string tag To assign a character specify the value of the character or specify the tag name DATA member and element of the character For example This is OK This is not OK stringl DATA 0 65 stringl DATA O A stringl DATA 0 string2 DATA 0 stringl string2 To add or insert a string of characters to a string tag use either of these ASCIT string instructions To Use this instruction add characters to the end of a string CONCAT insert characters into a string
211. associated with the specified axis are automatically cleared If as a result of this instruction all axes of the associated motion module are no longer in the Shutdown condition the OK relay contacts for the module close Publication 1756 RM007G EN P May 2005 2 14 Motion State Instructions Operands Relay Ladder Operand Type Format Description MASR Axis AXIS_FEEDBACK tag Name of the axis to perform Motion Axis Shutdown Reset ND operation on Axis ND AXIS_VIRTUAL Motion Control R gt AXIS_GENERIC AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text MASR Axis MotionControb The operands are the same as those for the relay ladder MASR instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis is successfully reset from Shutdown state ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis Description The Motion Axis Shutdown Reset MASR instruction clears all axis faults and takes the specified axis out of the Shutdown state If the motion module supports an OK contact and no o
212. aster offset move the specified axis defines the slave axis deceleration rate and units represent master axis user units and maximum refers to the master axis maximum Motion Move Instructions 3 5 Stop Specific Motion This is used to stop a specified type of motion on an axis while leaving other motion unaffected in this case the axis may still be moving after the MAS process is complete ATTENTION A If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 The following graph shows what could happen when a Motion Axis Jog is initiated during a Motion Axis Stop The deceleration rate of the Jog is significantly smaller than the current
213. aster value As an extension to the position and time camming functionality it supplies the values essential for the recovery from faults during camming operations Motion Move Instructions 3 109 Motion Control The following control bits are affected by the MCSV instruction Mnemonic Description EN Enable Bit 31 The Enable Bit sets when the rung transitions from false to true lt resets when the rung goes from true to false DN Done Bit 29 The Done Bit sets when the slave values have been calculated successfully lt resets when the rung transitions from false to true ER Error Bit 28 The Error Bit sets when the slave values have not been calculated successfully It resets when the rung transitions from false to true This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MCSV Error Codes ERR Error Message Code Description Parameter Out of Range 13 Attempted execution with an input parameter that was out of range See Extended Error section for more information on the cause of the error Cam Profile Being Calculated 30 Attempted execution with an cam profile array that is currently b
214. ate 100 Decel Units of Maximum Profile S Curve Termination Type Merge Disabled Merge Speed Programmed Figure 7 5 MCLM Ladder Instruction with Move Type of Absolute Multi Axis Coordinated Motion Instructions 7 21 The resultant plot of the move s path is shown in the following illustration trend Motion Hon j Stop Pena Log koro PendcSm Tahae 100632 AM 10 15324M Maion Monday Map 05 2009 Figure 7 6 Plot of MCLM with One Rotary Axis and Move Type of Absolute The endpoint was a negative value therefore the axis travelled in a negative direction moving from 4 to 2 It did not travel through the unwind For this move the endpoint is required to fit within the absolute position defined by the rotary unwind of the axis Therefore an unwind value of 6 or 6 would not be valid MCLM with Two Rotary Axes and Move Type of Incremental The second MCLM example with rotary axes has two rotary axes and a Move Type of Incremental The plot of the path has the following assumptions e 2 axis Coordinate System named Coordinated_sys e Axis0 is Rotary with an unwind of 1 revs e Axisl is Rotary with an unwind of 2 revs e Start position is 0 0 e Increment to end position is 5 5 Publication 1756 RM007G EN P May 2005 7 22 Multi Axis Coordinated Motion Instructions CLM Motion Coordinated Linear Move Coordinate System Coordinated_sys E Motion Control MCLM 3 Move Type is Move Type
215. ate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 59 MCD Changes to Status Bits Example Motion Redefine Position MRP Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value None When the input conditions are true the controller changes the speed acceleration or deceleration rate of a move profile or jog profile in progress for axisl Relay Ladder MCD Motion Change Dynamics Axis Motion Control Motion Type Change Speed Speed Change Accel Accel Rate Change Decel Decel Rate of Maximum of Maximum of Maximum Speed Units Accel Units Decel Units lt lt Less Figure 3 19 MCD Ladder Example Structured Text MCD Axis1 MCD_1 Move Yes 75 Yes 50 No 0 ofmaximum ofmaximum ofmaximum Use the MRP instruction to change the command or actual position of an axis The value specified by Position is used to update the Actual or Command position of Axis The position redefinition can be calculated on
216. ather than having a standard enumeration the number that appears for the Extended Error code refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MDR instruction an extended error code of 2 would refer to the Input Number operand s value You would then have to check your value with the accepted range of values for the instruction MDR Changes to Status Bits Bit Name State Meaning RegEventArmedStatus FALSE The axis is not looking for a registration event RegEventStatus FALSE The previous registration event is cleared When the input conditions are true the controller disarms registration event checking for axis_0 Motion Event Instructions 5 19 Motion Arm Output Cam MAOC Relay Ladder MDR Motion Disarm Registration N gt Axis Axis2 E gt Motion Control MDF_1 R gt Input Number 2 Figure 5 9 MDR Ladder Example Structured Text MRD Axis2 MDR_1 2 The Motion Planner Output Cam functionality provides setting and resetting of output bits based on an axis position Output Bit Axis Position Figure 5 10 Motion Planner Functionality Internally Output Cam objects handle the Motion Planner Output Cam functionality Each Output Cam object is responsible for one output which consists of 32 output bits Each single output bit can be programmed separately with an Output Cam pro
217. atus DINT Set if the axis is currently being commanded to accelerate DecelStatus DINT Setif the axis is currently being commanded to decelerate MoveStatus DINT Setif a Move motion profile is currently in progress Cleared when the Move is complete or is superseded by some other motion operation JogStatus DINT Setif a Jog motion profile is currently in progress Cleared when the Jog is complete or is superseded by some other motion operation Publication 1756 RMO007G EN P May 2005 Structures A 25 Mnemonic Data Type Description GearingStatus DINT Set if the axis is a slave that is currently Gearing to another axis Cleared when the gearing operation is stopped or is superseded by some other motion operation HomingStatus DINT Set if a Home motion profile is currently in progress Cleared when the homing operation is stopped or is superseded by some other motion operation StoppingStatus DINT Set if there is a stopping process currently in progress Cleared when the stopping process is complete Note The stopping process is used to stop an axis initiated by an MAS MGS Stop Motion fault action or mode change HomedStatus DINT Cleared at power up or reconnection Set by the MAH instruction upon successful completion of the configured homing sequence and later cleared when the axis enters the shutdown state PositionCamStatus DINT Set if a Position
218. ave a conversion constant of 2 097 152 counts inch In that case e Maximum positive position 2 147 483 647 2 097 152 counts inch 1023 inches e Maximum negative position 2 147 483 648 2 097 152 counts inch 1023 inches To prevent this error e Set up soft travel limits that keep the axis within the position range e One way to get more travel is to use the max negative or max positive position as your home position Example Max 0 Max If you set the home 0 is in the middle of the position here travel This gives you twice the travel that homing to 0 would give you Publication 1756 RM007G EN P May 2005 3 92 Motion Move Instructions Status Bits Publication 1756 RMO007G EN P May 2005 Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error Codes for Axis Not Configured 11 error code are as follows e Extended Error Code 1 signifies that the Slave Axis is not configured e Extended Error Code 2 signifies that the Master Axis is not configured Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAPC instruction an extended error code of 5 would refer to the Slave
219. axes accelerate to the speed that you want You must calculate to 0 without overshooting the target position The shorter the move the starting speed for each move in the deceleration half of the the lower the maximum speed profile Publication 1756 RM007G EN P May 2005 7 12 Multi Axis Coordinated Motion Instructions Blending Moves at a E MCLM and es o where the aa of the second instruction is different from the vector speed of the first Different Speeds ae Ifthe next move is And the termination type of the first Then move is slower 2 Command Tolerance 3 No Decel ector spee 4 Contour Velocity Constrained 5 Contour Velocity Unconstrained l Target position of first move faster 2 Command Tolerance 3 No Decel Target position of first move 4 Contour Velocity Constrained z 5 Contour Velocity Unconstrained Target position of first move Vector speed Publication 1756 RM007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 13 Motion Coordinated Linear Move MCLM MCLM Motion Coordinated Linear Move Coordinate System Motion Control Move Type Position Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed Use the MCLM instruction to start a single or multi dimensional linear coordinated move for the specified axes within a Cartesian coordinate
220. axes that define the dimensions of a Cartesian coordinate system For this release the coordinate system supports up to three 3 primary axes Motion Control The following control bits are affected by the MCS instruction Mnemonic Description EN Enable Bit 31 The Enable Bit sets when the rung transitions from false to true It resets when rung transitions from true to false DN Done Bit 29 The Done Bit is reset when the rung transitions from false to true lt is set when the coordinated move has been successfully initiated ER Error Bit 28 The Error Bit resets when the rung condition transitions from false to true It sets when the coordinated stop does not initiate successfully IP The In Process Bit sets when coordinated stop has initiated successfully It is reset when the stop has completed PC The Process Complete Bit resets when the rung condition transitions from false to true It sets when the coordinated stop has successfully terminated the motion profile Stop Type The Stop Type operand specifies which motion profiles are to be stopped Currently the only option is Coordinated Move Coordinated Move All coordinated move profiles of the specified coordinate system are stopped Change Decel The Change Decel operand determines whether or not to change the deceleration of the coordinated motion profile No No change is made to the deceleration of the coordinated motion
221. axis accelerates or decelerates to the speed that it would be moving if it were currently geared to the selected master axis at the specified gear ratio and direction using a trapezoidal velocity profile linear acceleration or deceleration Once the slave axis has reached the gearing speed electronic gearing is automatically activated according to the other selections Enter the desired Accel Rate as a percentage of the current configured maximum acceleration value or directly in the configured user units for acceleration Publication 1756 RM007G EN P May 2005 3 46 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 This clutch function works much like the clutch in a car allowing the slave axis to be smoothly engaged to the master axis as shown below Master Velocity Time Slave Welooity Time Jog_status Gearing_status Ramped Gearing Jog Stopped Initiated Gearing Turned on Figure 3 15 Clutch Function Using the clutch feature avoids the uncontrolled acceleration or deceleration that results when electronic gearing is enabled while the master axis is moving The clutch feature can also be used to merge gear ratio changes on the fly even changes in direction The motion controller automatically ramps the slave axis to the speed implied by the master axis at the new ratio and or direction The operation of the clutch ramp generator has no affect on jog or move processes that mi
222. axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Publication 1756 RM007G EN P May 2005 7 16 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 Coordinate System The Coordinate System operand specifies the set of motion axes that define the dimensions of a Cartesian coordinate system For this release the coordinate system supports up to three 3 primary axes Only those axes configured as primary axes are included in the coordinate velocity calculations Motion Control The following control bits are affected by the MCLM instruction Mnemonic Description EN Enable Bit 31 The Enable Bit is set when the rung transitions from false to true and resets when the rung goes from true to false DN Done Bit 29 The Done Bit sets when the coordinated instruction has been verified and queued successfully Because it is set at the time it is queued it may appear as set when a runtime error is encountered during the verify operation after it comes out of the queue It resets when the rung transitions from false to true ER Error Bit 28 The Error Bit is reset when the rung transitions from false to true It is set when the coordinated move has not successfully initiated It is also set with the Done Bit when a queued instruction encounters a runtime error IP In Process Bit 26 The
223. ay of 1 to 32 OUTPUT_COMPENSATION elements The array indices correspond to the output bit numbers The minimum size of an array is determined by the highest compensated output bit Execution Mode UINT32 immediate There are three 3 possible execution modes The behavior is determined by the mode selected The options are 0 Once Output Cam is disarmed and the Process Complete Bit of the Motion Instruction is set when the cam position moves beyond the cam start or the cam end position 1 Continuous Output Cam continues on the opposite side of the Output Cam range when the cam position moves beyond the cam start or the cam end position 2 Persistent Output Cam disarms when the cam position moves beyond the cam start or the cam end position The Output Cam is rearmed when the cam position moves back into the Output Cam range Publication 1756 RM007G EN P May 2005 5 22 Motion Event Instructions Operand Type Format Description Execution Schedule UINT32 immediate Selects when to arm the Output Cam Options are 0 Immediate Output Cam is armed at once 1 Pending Output cam is armed when the cam position of a currently executing Output Cam moves beyond its cam start or cam end position When Pending is selected the following parameters are ignored Output Input Axis Arm Position and Reference 2 Forward only Output Cam is arme
224. ber that appears for the Extended Error code refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAR instruction an extended error code of 4 would refer to the Min Position value You would then have to check your value with the accepted range of values for the instruction MAR Changes to Status Bits Bit Name State Meaning RegEventArmedStatus True The axis is looking for a registration event RegEventStatus False The previous registration event is cleared When the input conditions are true the controller arms servo module registration event checking for axis_0 Relay Ladder MAR Motion Arm Registration M Axis Axis2 L W Motion Control MAR_2 R gt Trigger Condition Positive_Edge P gt Windowed Registration Enabled Cc Min Position minmarpos_1 2 Max Position maxmarpos_1 27 Input Number 1 Figure 5 8 MAR Ladder Example Publication 1756 RM007G EN P May 2005 5 16 Motion Event Instructions Motion Disarm Registration MDR Operands MDA Motion Disarm Registration Axis Motion Control Input Number YY MDR Axis MotionControl InputNumber Description Publication 1756 RMO007G EN P May 2005 Structured Text MAR Axis2 MAR 2 positive edge enabled minmarpos 1 maxmarpos 1 1 Use the MDR instruction to disarm the specified motion module reg
225. bled DriveEnableStatus DINT Set when the Drive Enable output of the associated physical axis is currently enabled Cleared when physical servo axis Drive Enable output is currently disabled ShutdownStatus DINT Set when the associated axis is currently in the Shutdown state Cleared when the axis is transitioned from the Shutdown state to another state Publication 1756 RM007G EN P May 2005 A 10 Structures Mnemonic Data Type Description ConfigUpdatelnProcess DINT The Configuration Update Status Bits attribute provides a method for monitoring the progress of one or more specific module configuration attribute updates initiated by either a Set Attribute List service which is internal to the firmware or an SSV in the user program When such an update is initiated the ControlLogix processor sets this bit This bit will remain set until the Set Attribute List reply comes back from the servo module indicating that the data update process was successful Thus the Configuration Update Status Bits attribute provides a method of waiting until the servo configuration data update to the connected motion module is complete before starting a dependent operation InhibitStatus BOOL Use the InhibitStatus bit of an axis to see if the axis is inhibited or uninhibited If the bit is e ON The axis is inhibited e OFF The axis is uninhibited The controller changes the InhibitStatus bit on
226. by some other motion operation GearingLockStatus DINT Set whenever the slave axis is locked to the master axis in a gearing relationship according to the specified gear ratio The clutch function of the gearing planner is used to ramp an axis up or down to speed in a gearing process MAG with Clutch selected This bit is cleared during the intervals where the axis is clutching PositionCamLockStatus DINT Set whenever the master axis satisfies the starting condition of a currently active Position Cam motion profile The starting condition is established by the Start Control and Start Position parameters of the MAPC instruction This bit is bit is cleared when the current position cam profile completes or is superseded by some other motion operation In uni directional master direction mode the Position Cam Lock Status bit is cleared when moving in the wrong direction and sets when moving in the correct direction MasterOffsetMoveStatus DINT Set if a Master Offset Move motion profile is currently in progress This bit is cleared when the Master Offset Move is complete or is superseded by some other motion operation CoordinatedMotionStatus DINT Set if any coordinated motion profile is currently active upon the axis It is cleared as soon as Coordinated Motion is complete or stopped ServoActionStatus DINT Set when the associated axis is under servo control Cleared when servo action is disa
227. c number of times Example 1 If you want this Clear bits 0 31 in an array of BOOLs 1 Initialize the subscript tag to 0 2 Clear array subscript For example when subscript 5 clear array 5 3 Add 1 to subscript 4 If subscript is to 31 repeat 2 and 3 Otherwise stop Publication 1756 RMO007G EN P May 2005 Done x number yes dd of times no statement 1 statement 2 statement 3 statement 4 yes Exit _ _ 2g aa v rest of the routine To stop the loop before the count reaches the last value use an EXIT statement Enter this structured text For subscript 0 to 31 by 1 do array subscript 0 End for Example 2 If you want this A user defined data type structure stores the following information about an item in your inventory e Barcode ID of the item string data type e Quantity in stock of the item DINT data type An array of the above structure contains an element for each different item in your inventory You want to search the array for a specific product use its bar code and determine the quantity that is in stock 1 Get the size number of items of the nventory array and store the result in nventory_ tems DINT tag 2 Initialize the position tag to 0 3 If Barcode matches the ID of an item in the array then a Set the Quantity tag Inventory position Qty This produces the quantity in stock of the item b Stop Ba
228. cam This method addresses cases where immediate cams would finish before the pending cam could be reliably loaded After a Pending position cam has been configured the Position Cam Pending Status bit of the Motion Status word for the specified slave axis is set to 1 true When the pending new profile is initiated and becomes the current profile Position Cam Pending Status bit is immediately cleared as shown below Current New Profile Profile Slave Position Master Position Position Cam Pending Status Pending New Position Cam Configured Figure 3 30 Pending Position Cam Master Reference The Master Reference parameter determines the master position source to link to the cam generator This source can be actual position or command position of the master axis Smoother motion is derived from command position but in some cases e g when a physical axis Publication 1756 RM007G EN P May 2005 3 86 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 is not controlled by a ControlLogix motion module actual position is the only practical option Slaving to the Actual Position When Actual Position is entered or selected as the Master Reference source the slave axis motion is generated from the actual position of the master axis as shown below Position Cam Profile Slave Axis Command Position Master Position Figure 3 31 Slaving to the Actual Position Actual position is the
229. ccurred Cleared when another MAH Motion Axis Home instruction is executed OutputCamStatus DINT A set of bits that are set when the Output Cam has been initiated OutputCamPendingStatus DINT A set of bits that are set when an Output Cam is waiting for an armed Output Cam to move beyond its cam start cam end position OutputCamLockStatus DINT A set of bits that are set when an Output Cam is locked to the Master Axis OutputCamTransitionStatus DINT A set of bits that are set when the transition from the current armed Output Cam to the pending Output Cam is in process The bit number corresponds with the execution target number One bit per execution target Publication 1756 RM007G EN P May 2005 A 6 Structures AXIS_SERVO Structure A servo object represents an axis with full motion planner functionality and integrated configuration support It is associated with modules that close a servo loop and send an analog command to an external drive such as a 1756 M02AE module The AXIS_SERVO structure contains and following status attributes Mnemonic Data Description Type MotionStatus DINT The motion status bits for your axis Bit Number Data Type Description AccelStatus 00 DINT Acceleration Status DecelStatus 01 DINT Deceleration Status MoveStatus 02 DINT Move Status JogStatus 03 DINT Jog Status GearingStatus 04 DINT Gearing Status HomingStatus 05 DINT Homing
230. ce from any of three intersecting coordinate planes This software uses the right hand rule 1 Axis Cartesian System 2 Axis Cartesian System 3 Axis Cartesian System Y Z a X Figure 7 1 Cartesian System Representations Publication 1756 RM007G EN P May 2005 1 2 Multi Axis Coordinated Motion Instructions If you want to Use this instruction Available in these languages Initiate a single or multi dimensional linear MCLM Relay ladder coordinated move for the specified axes within Structured text a Cartesian coordinate system Initiate a two or three dimensional circular MCCM Relay ladder coordinated move for the specified axes within Structured text a Cartesian coordinate system Initiate a change in path dynamics for MCCD Relay ladder coordinate motion active on the specified Structured text coordinate system Initiate a controlled stop of the specified MCS Relay ladder coordinate motion profile taking place on the Structured text designated coordinate system Initiate a controlled shutdown of all of the axes MCSD Relay ladder of the specified coordinate system Structured text Initiate a reset of all of the axes of the specified MCSR Relay ladder coordinate system from the shutdown state to Structured text the axis ready state and clear the axis faults Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 3 Using Different Termination s blend
231. cel Select other options as desired Current Speed If At Current Speed is selected or entered as the Merge Type the speed of the jog is automatically set to the current actual speed of the axis In this case any specified speed value or tag variable associated with the MAJ instruction is ignored Programmed Speed Motion Move Instructions 3 21 If At Programmed Speed is selected or chosen as the Merge Type the speed of the jog is set to the entered speed value or tag variable If this speed is different from the current speed of the axis the axis is accelerated or decelerated as specified to the new speed To successfully execute a Motion Axis Jog instruction the targeted axis must be configured as a Servo Axis and the axis must be in the Servo On state If any of these conditions are not met than the instruction errs IMPORTANT The MAJ instruction execution completes in a single scan thus the Done DN bit and the In Process CIP bit are set immediately The In Process CIP bit remains set until the initiated Jog process is either superseded by another MAJ instruction or terminated by a Motion Axis Stop command Merge operation or Servo Fault Action This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Ari
232. celerate DecelStatus DINT Set if the axis is currently being commanded to decelerate MoveStatus DINT Set if a Move motion profile is currently in progress Cleared when the Move is complete or is superseded by some other motion operation JogStatus DINT Set if a Jog motion profile is currently in progress Cleared when the Jog is complete or is superseded by some other motion operation GearingStatus DINT Set if the axis is a slave that is currently Gearing to another axis Cleared when the gearing operation is stopped or is superseded by some other motion operation HomingStatus DINT Set if a Home motion profile is currently in progress Cleared when the homing operation is stopped or is superseded by some other motion operation StoppingStatus DINT Set if there is a stopping process currently in progress Cleared when the stopping process is complete Note The stopping process is used to stop an axis initiated by an MAS MGS Stop Motion fault action or mode change HomedStatus DINT Cleared at power up or reconnection Set by the MAH instruction upon successful completion of the configured homing sequence and later cleared when the axis enters the shutdown state PositionCamStatus DINT Set if a Position Cam motion profile is currently in progress Cleared when the Position Cam is complete or is superseded by some other motion operation TimeCamStatus DINT
233. cheduled timestamp the output value is then applied to the corresponding output bit Timer hardware in the ASIC is used to optimize the scheduling algorithm This hardware also reduces the latency and jitter performance Status of each schedule is reported in the output echo connection and reflected in the input image for the module The scheduled output functionality relies on CST Coordinated System Time timestamp At least one controller in the chassis must be a CST time master Unused outputs may be used as normal outputs and are applied immediately rather than waiting for the CST timestamp to expire A mask is sent to the module to indicate which outputs are to function as normal outputs The scheduled output module supports up to 8 outputs that can be individually scheduled The scheduled outputs must be between output points 0 and 7 The 1756 OB16IS supports up to 16 schedules with two schedules per output Outputs that are not scheduled are used as normal output points A mask is used to indicate which points are scheduled and which points are unscheduled Jitter and latency performance is less than 100 microseconds All of the scheduling configuration is done through the MAOC instruction If a new schedule as indicated by a change in the sequence count is received by the I O module before the current schedule has expired the current schedule is overwritten This mechanism can be used to cancel currently active schedule Status
234. ck Tolerance value for the associated physical axis PosSoftOvertravelFault DINT Set when the axis has traveled or attempted to travel beyond the current configured value for Maximum Positive Travel Cleared when the axis is moved back within this travel limit NegSoftOvertravelFault DINT Set when the axis has traveled or attempted to travel beyond the current configured value for Maximum Negative Travel Cleared when the axis is moved back within this travel limit PosHardOvertravelFault DINT Set when the axis has traveled beyond the current positive direction position limits as established by hardware limit switches mounted on the machine To recover the axis must be moved back with normal operation limits of the machine and the limit switch reset This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear NegHardOvertravelFault DINT Set when the axis has traveled beyond the current negative direction position limits as established by hardware limit switches mounted on the machine To recover the axis must be moved back with normal operation limits of the machine and the limit switch reset This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear MotFeedbackFault DINT Set for a specific feedback
235. clear the next coordinated motion instruction can be executed i e setup in the queue MovePendingQueueFullStatus DINT The move pending queue full bit is set there is no room in the instruction queue for the next coordinated move instruction Once there is room in the queue the bit is cleared TransformSourceStatus DINT The transform source status bit is set when the coordinate system is used in an MCT instruction as the source system When the coordinate system is no longer used as a source system the bit will be cleared TransformTargetStatus DINT The transform target status bit is set when the coordinate system is used in an MCT instruction as the target system When the coordinate system is no longer used as a target system the bit will be cleared AxisFault PhysicalAxisFaulted DINT DINT Bit coded word indicating which axes associated to this motion coordinate system have an axis fault Where bit 0 is a fault with the first configured axis bit 1 is a fault with the second configured axis etc Bit coded word indicating which axes associated to this motion coordinate system have a servo axis fault Where bit 0 is a fault with the first configured servo axis bit 1 is a fault with the second configured servo axis etc Publication 1756 RMO007G EN P May 2005 A 32 Structures Mnemonic Data Description Type ModulesFaulted DINT Bit coded word indicating whic
236. column heading indicates which is displayed Actual Position This column contains the current actual position of the axes in the coordinate system These values update dynamically when on line and the Coordinate System Auto Tag Update is enabled Via Position Via Increment Depending on the Circle Type selected this column Center Position Center contains the Via point position or increment the Center Increment Radius Position or increment Set Targets Actuals This button is enabled when the Move Type is Absolute and is used to copy the value from the Actual Position fields to the Target Position fields Set Vias Actuals This button is only active if the Move Type is Absolute It is used to copy the values from the Actual Position fields to the Vias Fields Publication 1756 RM007G EN P May 2005 1 68 Multi Axis Coordinated Motion Instructions The Move Type and Circle Type selected govern the appearance of this dialog box The following table illustrates how the screen is affected by the combinations of Move Type and Circle Type selected Move Type Absolute Circle Type Via Behavior Target column is entitled Target Position Via column is entitled Via Position Set Targets Actuals button is active Set Vias Actuals button is active Incremental Via Target column is entitled Target Increment Via Column is entitled Via Increment Set Targets Actuals button is inactive Grayed O
237. coordinate system supports up to three 3 primary axes Only the axes configured as primary axes up to 3 are included in the coordinate velocity calculations Motion Control The following control bits are affected by the MCSR instruction Mnemonic Description EN Enable Bit 31 The Enable Bit sets when the rung transitions from false to true It resets when the rung goes from true to false DN Done Bit 29 The Done Bit sets when the coordinated shutdown reset is successfully initiated It resets when the rung transitions from true to false ER Error Bit 28 The Error Bit sets when the reset of the coordinated shutdown fails to initiate It resets when the rung transitions from false to true This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Multi Axis Coordinated Motion Instructions 7 99 Arithmetic Status Flags not affected Fault Conditions none Error Codes MCSR Error Codes ERR Error Message Code Description Execution Collision 3 The Instruction tried to execute while another instance of the instruction was executing Axis Not Configured 11 At least one axis is not configured to a physical motion module or has not been assigned to a Motion Group Servo Module Failure
238. cription EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when axis stop has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as If you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared after the Motion Axis Stop is complete or terminated by a shutdown command or a servo fault PC Process It is set after the stop operation has successfully completed Complete Bit 27 The Motion Axis Stop MAS instruction stops any motion on the specified physical axis without disabling the servo loop if active It is useful when a decelerated stop is desired for any controlled motion in progress Motion initiated by jog move gear home time cam position cam or master offset move instructions can be individually or collectively stopped using the MAS instruction The MAS instruction can also be used to abort a test or tune process initiated by an MRHD or MRAT instruction When stopping a gearing or position camming process select the slave axis to turn off the specific process and stop the axis If the master axis is a servo axis the master axis may be stopped which in turn stops the slave without disabling the gearing or position camming When stopping a m
239. ct or enter the desired axis to strobe If the targeted group does not appear in the list of available groups the group has not been configured for operation Use the Tag Editor to create and configure a new groups The MGSP instruction may be used at any time to capture a complete set of command and actual position information for all axes in the specified group This operation is often required as a precursor to computations involving position values of different axes within the group To successfully execute a MGSP instruction the targeted group must be configured IMPORTANT The MGSP instruction execution completes in a single scan setting the Done DN bit immediately This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C not affected none MGSP Error Codes ERR Error Message Code Definition Axis Group Not 19 Attempted execution on an axis group that is not Synchronized currently synchronized MGSP Changes to Status Bits None When the input conditions are true the controller latches the current command and the actual position of all axes in group Publication 1756 RM007G EN P May 2005 4 14 Motion Group Instructions Publication 1756 RM007G EN P May 2005 Relay Ladder MGS Mo
240. cted Fault Conditions none Error Codes MGSR Error Codes ERR Error Message Code Definition Execution Collision Axis Group Not 3 The instruction tried to execute while another instance of this instruction was executing This can occur when the controller executes a messaging instruction without checking the DN bit of the preceding instruction 19 The motion group is not in the synchronized state This Synchronized could be caused by a missing servo module or a misconfiguration Status Bits MGSR Changes to Status Bits Bit Name State Definition ServoActionStatus FALSE Axis is in Axis Ready state with the servo loop inactive DriveEnableStatus FALSE Axis Drive Enable output is inactive ShutdownStatus FALSE Axis is NOT in Shutdown state Example When the input conditions are true the controller transitions all axes in group from the shutdown operating state to the axis ready operating state Publication 1756 RM007G EN P May 2005 4 12 Motion Group Instructions Motion Group Strobe Position MGSP Operands MGS Motion Group Strobe Position Group Motion Control VY MGSP Group MotionControl Description Publication 1756 RMO007G EN P May 2005 Relay Ladder MGSR Motion Group Shutdown Reset Group Motion Motion Control MGSR_3 Figure 4 3 MGSR Ladder Example Structured Text MGSR Motion MGSR_3 Use t
241. ction of the master axis When Reverse Only is selected the slave axis tracks the master axis in the reverse direction of the master axis If the master axis changes direction the slave axis does not reverse direction but stays where it was when the master reversed This Uni directional feature of position cams is used to provide an electronic slip clutch which prevents the cam motion generator from moving backward through the cam profile if the master reverses direction When the master axis again reverses resuming motion in the desired direction the slave axis picks up again when the master reaches the position where it initially reversed In this way the slave axis maintains synchronization with the master while motion in the wrong direction is inhibited This is especially useful where motion in a certain direction can cause physical damage to the machine or to the product Moving While Camming Motion Axis Moves may be performed while camming to provide sophisticated phase and offset control while the slave axis is running Incremental Moves An Incremental Motion Axis Move MAM instruction may be used on the slave axis or master axis if configured for Servo operation while the position cam is operating This is particularly useful to accomplish phase advance retard control The incremental move distance can be used to eliminate any phase error between the master and the slave or to create an exact phase relationship
242. cts for the motion modules within the group This action places all axes within the motion group in the Axis Ready state Just as MGSD instruction forces all the axes in the targeted group into the Shutdown state The MGSR instruction takes all the axis in the specified group out of the Shutdown state and into the Axis Ready state One of the unique characteristics of the Shutdown state is that if supported the OK solid state relay contact for each of the group s motion modules is Open Hence the result of an MGSR instruction applied to a group of motion modules is that all motion module OK relay contacts close This feature can be used to close the E Stop strings that control main power to the various drive systems and permits the customer to reapply power to the drives Motion Group Instructions 4 11 To successfully execute a MGSR instruction the targeted group must be configured IMPORTANT The MGSR instruction execution may take multiple scans to execute because it requires transmission of a message to one or more motion modules The Done DN bit is not set immediately but only after this message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affe
243. ctualPosition REAL Actual Position in Position Units StrobeActualPosition REAL Strobe Actual Position in Position Units StartActualPosition REAL Start Actual Position in Position Units AverageVelocity REAL Average Velocity in Position Units Sec ActualVelocity REAL Actual Velocity in Position Units Sec ActualAcceleration REAL Actual Acceleration in Position Units Sec2 WatchPosition REAL Watch Position in Position Units Registration Position REAL Registration 1 Position in Position Units Registration2Position REAL Registration 2 Position in Position Units Registration Time DINT Lower 32 bits of CST time Registration2Time DINT Lower 32 bits of CST time InterpolationTime DINT CST time to interpolate to InterpolatedActualPosition REAL Interpolated Actual Position in Position Units MasterOffset REAL Master Offset in Master Position Units StrobeMasterOffset REAL Strobe Master Offset in Master Position Units StartMasterOffset REAL Start Master Offset in Master Position Units CommandPosition REAL Command Position in Position Units StrobeCommandPosition REAL Strobe Command Position in Position Units StartCommandPosition REAL Start Command Position in Position Units CommandVelocity REAL Command Velocity in Position Units Sec CommandAcceleration REAL Command Acceleration in Position Units Sec2 InterpolatedCommandPosition REAL Interpolated Command Position in Position Units ServoModuleFault DI
244. d 11 there is an additional value of 1 which indicates that Coordinate System was unable to setup the axis for coordinate motion For the MCCM instruction Error Code 13 Parameter Out of Range Extended Errors return a number that indicates the offending parameter as listed on the faceplate in numerical order from top to bottom beginning with zero For example 2 indicates the parameter value for Move Type is in error Error Code and Number Extended Error Instruction Description Numeric Parameter Indicator Parameter Out Of Range 13 0 Coordinate System Number of primary axes is not 2 or 3 Parameter Out Of Range 13 2 Move Type Move Type is either less than 0 or greater than 1 Parameter Out Of Range 13 3 Position The position array is not large enough to provide positions for all the axes in the coordinate system Parameter Out Of Range 13 4 Circle Type Circle Type is either less than 0 or greater than 4 Parameter Out Of Range 13 5 Via Center Radius The size of the Via Center array is not large enough to provide positions for all of the axes in the defining via center point Parameter Out Of Range 13 6 Direction Direction is either less than 0 or greater than 3 Parameter Out Of Range 13 7 Speed Speed is less than 0 Parameter Out Of Range 13 9 Accel Rate Accel Rate is less than or equal to 0 Parameter Out Of Range 13 11 Decel Rate Decel Rate is less than
245. d Unchanged Ratio Enter the desired ratio signed real value of the gear ratio of slave units per master units The default is 1 0 Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 25 Feature Description Slave Counts Enter the desired the slave encoder counts for an integer fraction in the edit box The default is 1 0 Master Counts Enter the desired the master encoder counts for an integer fraction in the edit box The default is 1 0 Master Reference Select the desired master reference master position source from the combo box This list contains Actual and Command default Ratio Format Select the desired ratio format of the ratio between the slave and the master axis from the combo box This list contains Real default and Fraction_slave_master_counts If Real is selected then the Slave and Master count edit fields are disabled If Fraction_slave_master_counts is selected then the Ratio edit field is disabled Clutch Select the desired clutch whether or not to ramp the slave axis to gearing speed using the acceleration value from the combo box This list contains Disabled default and Enabled If Disabled is selected then the accel rate and the accel units fields are disabled Accel Rate Enter the desired acceleration rate in the edit box The default is 100 Accel Units Select the desired acceleration units from the combo box
246. d Slope The default values for Start Slope and End Slope are 0 to facilitate a smooth start and end to the cam profile from rest However if the axis is already camming an appropriate non zero Start Slope can be specified to match the End Slope of the currently executing cam to seamlessly blend the two cam profiles together The Start Slope and End Slope values are not applicable when starting or ending the cam profile with linear interpolation IMPORTANT The MCCP instruction execution completes in a single scan This instructions should therefore be placed in a separate task to avoid impacting user program scan time This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Publication 1756 RM007G EN P May 2005 3 70 Motion Move Instructions Data Modification Tag Editor X 4 4 rf 5 i 4 MccP Cam Motion oF Planner Cam Tag Creation Profile Figure 3 23 Cam Operation Diagram Error Codes MCCP Error Codes ERR Error Message Code Description Illegal Cam Length 26 Attempted execution with an illegal length of cam array See Extended Error section for more information on the cause of the error Illegal Cam Profile 27 Attempted execution with an illegal length of Length cam p
247. d a pending MAOC instruction does not exist when the Output Cam is armed and the axis moves The following side affects may occur of the MAOC instruction is configured with an Execution Mode of Once Only and a pending MAOC exists when the Output Cam is armed and the axis moves e One or more outputs may never change state e The MAOC instruction may complete immediately One possible side affect of a pending MAOC instruction existing when the Output Cam is armed and the axis moves is that one or more Publication 1756 RM007G EN P May 2005 5 24 Motion Event Instructions outputs could begin executing based on the configuration of the pending MAOC instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the rung goes false DN Done Bit 29 It is set when Output Cam has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set when the Output Cam has been initiated successfully and cleared if either superseded by another Motion Arm Output Cam command terminated by a Motion Disarm Output Cam command or cam position moves beyond defined Output Cam range while execution mode is set to once PC Process It is cleared on positive rung transition and set in once
248. d from the combo box This list contains Programmed default and Current If Merge Speed is set to At Current Speed then Speed and Speed Units fields are disabled Publication 1756 RM007G EN P May 2005 8 24 Motion Direct Commands Motion Axis Gear If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Gear MAG command K Motion Direct Commands my _virtual_axis 4 Disabled Figure 8 20 Motion Axis Gear Operands Feature Description Slave Axis Selecta slave axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected Slave Axis ellipsis If a slave axis alias is NOT selected then the ellipsis button is disabled If enabled then select the ellipsis button to display the Axis Properties dialog Master Axis Select a master axis from the look ahead edit combo box This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected Master Axis ellipsis If a master axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e lipsis button to display the Axis Properties dialog Direction Select the desired direction of the slave axis relative to the master axis from the combo box This list contains Units per Same default Opposite Reverse an
249. d or Reverse event condition After the arming is complete the Actual Position for the Axis is monitored against the Watch Position and when the specified watch event condition is met the Event PC bit is set and the Watch Event Status bit in the Axis data structure is set Publication 1756 RM007G EN P May 2005 Motion Arm Watch Axis Motion Control Trigger Condition Position 5 2 Motion Event Instructions Operands Relay Ladder MAW A MAW Axis MotionControl TriggerCondition Position Publication 1756 RM007G EN P May 2005 Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis to perform operation AXIS_GENERIC on AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access instruction control INSTRUCTION status parameters Trigger BOOLEAN immediate Select the watch event trigger condition condition 0 forward the servo module looks for the actual position to change from less than the watch position to greater than the watch position 1 reverse the servo module looks for the actual position to change from greater than the watch position to less than the watch position Position REAL immediate The new value for the watch position or tag Structured Text The operands are the same as those for the relay ladder MAW instruction For the operands that require you to select from available options enter your selection as
250. d to push a carton off a conveyor at a certain axis position Select or enter the desired physical axis the desired Trigger Condition and enter a value or tag variable for the desired Watch Position If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis When an Arm Watch Position instruction is executed the WatchEventStatus bit is set to 0 FALSE and the actual position of a physical axis is monitored at the servo loop update rate until it Publication 1756 RM007G EN P May 2005 5 4 Motion Event Instructions reaches the specified Watch Position After the watch position event occurs the WatchEventStatus bit for the axis is set to 1 TRUE Multiple watch position events may be active at a given time however only one may be active at a time for any given physical axis Each event is monitored independently and may be checked using the appropriate WatchEventStatus bit aaa In large I O connections force values can slow down the rate at which the controller processes repetitive watch positions To successfully execute a MAW instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwise the instruction errs Maa The MAW instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bi
251. d when the axis approaches or passes through the specified axis arm position in the forward direction 3 Reverse only Output Cam is armed when the axis approaches or passes through the specified axis arm position in the reverse direction 4 Bi directional Output Cam is armed when the axis approaches or passes through the specified axis arm position in either direction Axis Arm Position SINT INT DINT or REAL immediate or tag This defines the axis position where the Output Cam is armed when the Execution Schedule is set to Forward Only Reverse Only or Bi Directional and the axis moves in the specified direction If Pending is selected as the Execution Schedule then Axis Arm Position is ignored Cam Arm Position SINT INT DINT or REAL immediate or tag This defines the cam position associated with the axis arm position when the Output Cam is armed Reference UINT32 immediate Sets whether the Output Cam is connected to either Command position or Actual position of the axis If Pending is selected as the Execution Schedule then Reference is ignored 0 Actual the current position of the axis as measured by its encoder or other feedback device 1 Command the desired or commanded position of the master axis Publication 1756 RMO007G EN P May 2005 MAOC Axis ExecutionTarget MotionControl Output Input OutputCam CamStartPosition CamEndPo
252. de then the position is validated against the following e f absolute then limit to positive value less than unwind e f relative then limit absolute value of position to less than unwind unwind gt MRP position lt unwind See Extended Error section for more information on the cause of the error Home In Process Error 16 The instruction tried to execute with homing in process Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Group Not 19 Synchronized The motion group is not in the synchronized state This could be caused by a missing servo module or a misconfiguration Illegal Axis Data Type 38 The axis data type is illegal The axis data type is incorrect for the operation Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MRP instruction receives a Servo Message Failure 12 error message Associated Error Code decimal SERVO_MESSAGE_FAILURE 12 Publication 1756 RMO007G EN P May 2005 Extended Error Code decimal Device in wrong state 16 Redefine Position Home and Registration 2 are mutually exclusive SERCOS Motion Move Instructions 3 65 MRP Changes to Status Bits Example Motion Calcu
253. ded Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error Codes for Axis Not Configured 11 error code are as follows e Extended Error Code 1 signifies that the Slave Axis is not configured e Extended Error Code 2 signifies that the Master Axis is not configured Publication 1756 RMO007G EN P May 2005 Status Bits Example Motion Move Instructions 3 49 Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAG instruction an extended error code of 4 would refer to the Ratio operand s value You would then have to check your value with the accepted range of values for the instruction For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 7 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this m
254. dinate system Illegal Controller 24 The current operating mode of the controller does Mode not support the instruction Illegal Axis Data type 38 At least one axis is not configured as an axis data type that can accept a command See the Extended Error section for more information about this error Coordinate System 50 The coordinate system is not associated with the Not In Group Motion Group Maximum 54 The Decel Rate of either the Coordinate System or Deceleration Value is the Axis is set to zero This is an illegal value for Zero Decel Rate which inhibits start motion See the Extended Error section for more information about this error Extended Error Codes Extended Error codes help to further define the error message given for this particular instruction Their behavior is dependent upon the Error Code with which they are associated The Extended Error Codes for Servo Off State 5 Shutdown State 7 Axis Type Not Servo 8 Axis Not Configured 11 Homing In Process Error 16 and Illegal Axis Data type 38 errors all function in the same fashion A number between 0 and 7 is displayed for the Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 87 Extended Error Code This number is the index to the Coordinate System indicating the axis that is in the error condition For the MCCD instruction Error Code 13 Parameter Out of Range Extended Errors retu
255. ding 1 forwardonly 2 reverseonly 3 bidirectional 4 MasterReference actual 0 command 1 MasterDirection bidirectional 0 forwardonly 1 reverseonly 2 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the rung goes false DN Done Bit 29 It is set when axis position cam has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared if either superseded by another Motion Axis Position Cam command or terminated by a stop command merge shutdown or servo fault PC Process It is cleared on positive rung transition and set in once Complete Bit 27 Execution Mode when the position of the master axis leaves the master position range defined by the currently active cam profile Description The Motion Axis Position Cam MAPC instruction executes a position cam profile set up by a previous Motion Calculate Cam Profile MCCP instruction or alternatively by the RSLogix 5000 Cam Profile Editor Position cams in effect provide the capability of implementing non linear electronic gearing relationships between two axes No maximum velocity acceleration or deceleration limits are used The speed acceleration and deceleration of the slave axis are c
256. duced by other motion instructions in progress such that the axis continues moving at the specified speed The effect of this operation is to turn all motion in progress on the specified axis into a pure move profile To initiate a Merged Move check the Merge checkbox and define the type of merge note that the direction is automatically determined Enter values or tag variables for the desired Speed Accel and Decel Select other options as desired For a Master Offset Move the new move is merged to an active Master Offset Move Therefore merging a Master Offset Move does not affect the other motion planner objects Current Speed If At Current Speed is selected or entered as the Merge Type the speed of the move is automatically set to the current actual speed of the axis In this case any specified speed value or tag variable associated with the MAM instruction is ignored Programmed Speed If At Programmed Speed is selected or entered as the Merge Type the speed of the move is set to the entered speed value or tag variable If this speed is different from the current speed of the axis the axis is accelerated or decelerated as specified to the new speed To successfully execute a Motion Axis Move instruction the targeted axis must be configured as a Servo Axis Type and the axis must be in Motion Move Instructions 3 35 the Servo On state If any of these conditions are not met then the instruction errs Maa The MAM
257. e Effect CoordinatedMoveStatus Cleared Coordinate System Status Bits Bit Name Effect ShutdownStatus Sets when MCSD is executed and all associated axes are shutdown ReadyStatus Cleared after MCSD executes Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 97 Example Motion Coordinated Shutdown Reset MCSR Operands Coordinate Motion Status Bits Effect Cleared after MCSD executes Bit Name AccelStatus DecelStatus Cleared after MCSD executes ActualPosToleranceStatus Cleared after MCSD executes CommandPosToleranceStatus Cleared after MCSD executes StoppingStatus Cleared after MCSD executes MoveStatus Cleared after MCSD executes MoveTransitionStatus Cleared after MCSD executes MovePendingStatus Cleared after MCSD executes MovePendingQueueFullStatus Cleared after MCSD executes Relay Ladder ESA Motion Coordinated Shutdown Coordinate System Coordinated_sys E N Motion Control MCSD 2 Figure 7 57 MCSD Ladder Instruction Structured Text MCSD Coordinated sys MCSD 2 Use the Motion Coordinated Shutdown Reset MCSR instruction to reset all axes in a coordinate system The MCSR instruction resets the axes from a shutdown state to an axis ready state The MCSR s operands are the place to enter the values that govern how this instruction performs its function To d
258. e Thus the Done DN bit is not set until after the message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MASR Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Publication 1756 RM007G EN P May 2005 2 16 Motion State Instructions S
259. e performing the move to correct it Electronic gearing is not normally used with absolute moves since the ultimate endpoint is not predictable To successfully execute a Motion Axis Gear instruction the targeted axis must be configured as a Servo Axis Type and the axis must be in the Servo On state If any of these conditions are not met than the instruction errs aaa The MAG instruction execution completes in a single scan thus the Done DN bit and the In Process CIP bit are set and the Process Complete PC bit is cleared immediately The In Process IP bit remains set until the initiated Gear process is superseded by another MAG instruction or terminated by a Motion Axis Stop command Merge operation or Servo Fault Action This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 3 48 Motion Move Instructions Error Codes MAG Error Codes ERR Error Message Code Description Servo Off State Error 5 Attempted execution on an axis that does not have the servo loop closed Shutdown State Error 7 Attempted execution with the axis in the Shutdown state Illegal Axis Type 8 Attem
260. e the instruction errs aa The MAR instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit is not set immediately but only after this message has been successfully transmitted This is a transitional instruction Publication 1756 RM007G EN P May 2005 5 14 Motion Event Instructions e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MAR Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed See Failure Extended Error section for more information on the cause of the error Parameter Out of 13 At least one parameter s value is outside the Range accepted range See Extended Error section for more information on the cause of th
261. e Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value Status Bits MAH Changes to Status Bits Bit Name State Meaning Homingstatus TRUE Axis is Homing JogStatus FALSE Axis is no longer Jogging MoveStatus FALSE Axis is no longer Moving GearingStatus FALSE Axis is no longer Gearing StoppingStatus FALSE Axis is no longer Stopping Note During portions of the active homing sequence these bits may be set and cleared The MAH instruction uses the Move and Jog motion profile generators to move the axis during the homing sequence This also means that any disruption in the Move or Jog motion profiles due to other motion instructions can affect the successful completion of the MAH initiated homing sequence If in Passive homing mode the MAH instruction simply sets the Homing Status bit Publication 1756 RM007G EN P May 2005 3 14 Motion Move Instructions Example Relay Ladder Motion Axis Jog MAJ Publication 1756 RM007G EN P May 2005 MAH Motion Axis Home Axis AxisO E Motion Control MAH_1 YYY Figure 3 3 MAH Ladder Example Structured Text MAH Axis0 MAH_1 Use the MAJ instruction to initiate a jog motion profi
262. e Processing oonan CI A te 5 43 M Example A IS EE 5 44 Motion Disarm Output Cam MDOC 5 44 Operands aas sai NES WIRE Uh eas 5 45 D sciption eri Ye Gas eck hq Bg did eet Be Pls anaes ty eae 5 46 Arithmetic Status Flags o oo ia 5 46 Fault Conditions ida a 5 46 Or COMES AI hee PACE E 5 46 Extended Error Codes etica e Gta eRe bei 5 46 SAUS Bits ao added o i be Geek do 5 47 EXAMPLE ESA RK ELIO ES 5 47 Motion Configuration Instructions Multi Axis Coordinated Motion Instructions Table of Contents 1 Chapter 6 o A A ek ae he Oe ae eats Beene ok 6 1 Motion Apply Axis Tuning MAAT 005 6 1 AR oO ee 6 2 D s rip on o sek Sala oy g een hy wae ete ach O 6 2 Arithmetic Status PARA AA 6 5 Fault Conditions dara one Fae eka 6 5 Error Codes nao aaa E re ei ed a BS 6 6 Extended Error COS e a BR GS ae 6 6 Status BUS baaa ros ei AA 6 6 Example dond e co aa amp Beteta o 6 7 Motion Run Axis Tuning MRAT 00050 6 7 Operands 2 dida ares End Gok Hine ed 6 7 DescipuoNi co tee dae osha a an a EE e E a es 6 8 Arithmetic Status Blass mita dades bad Sake 6 12 Fault Conditions a ATENAS 6 12 Exortodes rutas e as dra e 6 12 Extended Error Codes ula ara ios 6 13 Status Bills a A A AA a a ade 6 13 EXP a A A a 6 13 Motion Apply Hookup Diagnostics MAHD 6 14 Operando dat tah toe hide As 6 14 a sepre aad elt ed bere 6 15 Arithmetic Status Flags oir eh Gate Me eee es 6 16 Faul
263. e and Incremental Publication 1756 RMO007G EN P May 2005 Move Types with the various Circle Types MCCM Using Center Circle Type The following examples show the use of the MCCM with a Circle Type of Center and a Move Type of Absolute first example and Incremental second example to arrive at the same result The basic assumptions are e The 2 axes Axis0 and Axis1 are both members of the coordinate system Coordinated_sys e Axis0 and Axis1 are orthogonal to each other e Coordinated_sys is initially at 10 4 1 3 units Move Coordinated_sys along an arc to 11 2 6 6 units with a center of 3 7 6 4 units at the vector speed of 10 0 units per second with the acceleration and deceleration values of 5 0 units per second The Multi Axis Coordinated Motion Instructions 7 43 following graph shows the path generated by the preceding information wi 12 wS ra 112 66 End 4 7 104 13 Sarff 4 4 37 64 Contr 12 nv MESES DEA paa ES Figure 7 17 Plot of MCCM Instruction with Circle Type of Center The vector speed of the selected axes is equal to the specified speed in the units per second or percent of the maximum speed of the coordinate system Likewise the vector acceleration and deceleration is equal to the specified acceleration deceleration in the units per second or percent of maximum acceleration of the coordinate system This path can be achieved by using an MCCM instruction in
264. e circular move is specified as either absolute or incremental and done at a desired speed The actual speed of the MCCM is a function of the mode of the move commanded speed or percent of maximum speed The speed of the move is based on the time it takes to complete the circular move using the programmed axes Each axis is commanded to move at a speed that allows for all axes to reach the endpoint target position at the same time ATTENTION A If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Coordinate System The Coordinate System operand specifies the system of motion axes that define the dimensions of a Cartesian coordinate system
265. e error Home in Process 16 Attempted to execute with homing in process Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group Is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem Publication 1756 RMO007G EN P May 2005 Status Bits Example Motion Event Instructions 5 15 when the MAR instruction receives a Servo Message Failure 12 error message Associated Error Code Extended Error Meaning decimal Code decimal SERVO_MESSAGE_FAILURE No Resource 2 Not enough memory 12 resources to complete request SERCOS SERVO_MESSAGE_FAILURE Invalid value 3 Registration input provided 12 is out of range SERVO_MESSAGE_FAILURE Device in wrong state Redefine Position Home 12 16 and Registration 2 are mutually exclusive SERCOS Extended Error codes for the Parameter Out of Range 13 error code work a little differently Rather than having a standard enumeration the num
266. e following buttons Motion Group Shutdown Execute Close and Help Motion Group Shutdown Button The Motion Group Shutdown button is located to the left of the screen to avoid accidental invoking of this command when you really want Motion Direct Commands 8 11 Motion Direct Commands to execute the command accessed from the Command tree Clicking on this button causes the Motion Group Shutdown instruction to execute If you click on the Motion Group Shutdown button and it is successfully executed a Result message is displayed in the results window below the dialog Since the use of this button is an abrupt means of stopping motion an additional message is displayed in the error text field The message MOTION GROUP SHUTDOWN executed is displayed with the intention of giving greater awareness of the execution of this command If the command fails then an error is indicated as per normal operation See Error Conditions later in this chapter There is space above the Motion Group Shutdown button and below the line where status text is displayed when a command is executed Execute Button Clicking the Execute button verifies the operands and initiates the current Motion Direct Command Verification and error messages display as the Close Button To end a Motion Direct Command session click on the Close button The data is not saved and the command is not executed It acts the same as a Cancel button Help Button Click on
267. e initiated deceleration profile for each of the group s axes has completed prior to any other of the above events terminating the stop process and clearing the In Process IP bit This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MGS Error Codes ERR Error Message Code Definition Execution Collision 3 Attempted execution on a group of axes that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Axis Group Not Synchronized co Attempted execution on an axis group that is not currently synchronized Shutdown Status Time 42 Out The MGS instruction failed to detect the assertion of the Shutdown Status Bit within the established fixed delay time period Publication 1756 RM007G EN P May 2005 4 6 Motion Group Instructions Status Bits MGS Changes to Status Bits Bit Name State Definition StoppingStatus TRUE Axis is Stopping Depending on the Programmed Stop Mode for the axis JogStatus FALSE Axis is no longer Jogging MoveStatus FALSE Axis is n
268. e location 10 10 Because the startpoint and the Multi Axis Coordinated Motion Instructions 1 13 via point are the same no circular centerpoint can be found for this circle MCC ee tg mei Conos o i sys bul Target Position Entry Coordinated_sys MCCM_Move_position 0 IA 0 x Motion Cartiol MCCM O N Move Type Position Tag R gt Position MCCM_Move_posiior 0 CI Axis0 00 P gt Axist 00 Circle Type 0 o VievCenter Radius VIA O o Direction 0 Speed 20 Speed Units Unils pet sec Accel Rate 50 Accel Units of M imum Decel Rale 50 paca Unts Suain Set Targets Actuals Set Vias Actuals Temmetion Type 1 Merge Disabled OK Cancel Apply Help Merge Speed Progammed Figure 7 45 Ladder Program and Target Entry Screen that Generate Error 45 CIRCULAR_R1_R2_MISMATCH_ERROR 46 Example The following example for error 46 shows a situation where the difference in radial start end lengths exceeds 15 of the radial start length The program is trying to generate a two dimensional arc from 0 0 current position to 21 51 0 using a centerpoint at 10 10 Because the difference of the radial start end lengths is 21 51 10 1 51 it exceeds 15 of the radial start length 15 10 1 5 Had the endpoint been 21 5 this example would have worked and the centerpoint would have been recomputed to lie exactly halfway between start and end points Publication 1756 RM007G EN P May 2005 7 74
269. e of 1 16 e The Point ID is not in the range of 0 7 e The Sequence Number has not changed If the schedule is to be considered it is marked active Publication 1756 RM007G EN P May 2005 5 44 Motion Event Instructions All active schedules are examined every 200 micro seconds The schedule Time Stamp is compared to the current CST If the current CST is greater than or equal to the scheduled Time Stamp the Point Value in the schedule is moved to the module output data store for the specified output bit M Example Relay Ladder A0C Motion Arm Output Cam NC Axis Axis3 E Execution Target exec_tratl N Tr Motion Control MADC_3 F Output outputl 2 IP Input inputl 2 Dutput Cam outputcam 1 E Cam Start Position cam_strt 2 Cam End Position cam_end1 2 Output Compensation output_comp1 1 Execution Mode Continuous Execution Schedule Immediate Axis Arm Position arm_posl Tr Cam Arm Position cam_arm_pos1 2 Position Reference Actual Figure 5 21 MAOC Ladder Example Structured Text MAOC Axis3 exec _trgt1 MAOC 3 outputl inputl outputcami 1 cam_strt1 cam endl output compl1 1 continuous immediate arm posl cam arm posl actual Motion Disarm Output Cam The Motion Disarm Output Cam MDOC instruction initiates the MD 0C disarming of one or more Output Cams connected to the specified axis Based on the disarm type the MDOC disarms either all Output Cams or only a specific Output Cam
270. e scaled profile approximately equal to those of the unscaled profile the Time Scaling and Distance Scaling values should be equal For example if Motion Move Instructions 3 101 the Distance Scaling value of a profile is 2 the Time Scaling value should also be 2 to maintain approximately equal velocities and accelerations during execution of the scaled time cam ATTENTION Decreasing the Time Scaling value or increasing the Distance Scaling of a time cam increases the required velocities and accelerations of the profile This can cause a motion fault if the capabilities of the drive system are exceeded Cam Profile Execution Modes Execution Modes of Once or Continuous can be selected to determine how the cam motion behaves when the time moves beyond the end point of the profile defined by the original cam table If Once is selected default the cam profile motion of the axis starts immediately When the time cam execution time exceeds the time range defined by the cam profile the MATC instruction completes axis motion stops and the Time Cam Status bit in the slave axis Motion Status word is cleared When Continuous mode is selected the specified cam profile starts immediately and is executed indefinitely With continuous operation time is unwound to the beginning of the cam profile when it moves beyond the end of the cam profile causing the cam profile to repeat indefinitely This feature is particularly
271. e the legal range Range See the Extended Error section for information on which parameter is in an error state Motion Group Not 19 The Motion Group associated with the axes is not Synchronized synchronized Illegal Controller 24 The current operating mode of the controller does not Mode support the instruction Illegal Axis Data 38 At least one axis is not configured as an axis data type Type that can accept a command See the Extended Error section for more information about this error Coordinate System 50 The coordinate system is not associated with the Motion Not In Group Group Multi Axis Coordinated Motion Instructions 7 93 Extended Error Codes Extended Error codes help to further define the error message given for this particular instruction Their behavior is dependent upon the Error Code with which they are associated The Extended Error Codes for Servo Off State 5 Shutdown State 7 Axis Type Not Servo 8 Axis Not Configured 11 and Illegal Axis Data type 38 errors all function in the same fashion A number between 0 and n is displayed for the Extended Error Code This number is the index to the Coordinate System indicating the axis that is in the error condition For the MCLM instruction Error Code 13 Parameter Out of Range Extended Errors return a number that indicates the offending parameter as listed on the faceplate in numerical order from top to bottom beginning with zero For example
272. each the carriage return 1 2 Initialize Element_number to 0 Count the number of elements in SINT_array array that contains the ASCII characters and store the result in SINT_array_size DINT tag Set String_taglelement_number the character at SINT_array element_number Add 1 to element_number This lets the controller check the next character in S NT_array Set the Length member of String_tag element_number This records the number of characters in String_tag so far If element_number SINT_array_size then stop You are at the end of the array and it does not contain a carriage return If the character at SINT_array element_number 13 decimal value of the carriage return then stop Otherwise go to 3 Enter this structured text element_number SIZE SINT_ array Repeat 0 Structured Text Programming B 27 0 SINT array size String tag DATA element number SINT array element number element number String tag L EN F E If element_n exit end _if umber element_number 1 element_number SINT array size then Until SINT_array element_number 13 end repeat Publication 1756 RM007G EN P May 2005 B 28 Structured Text Programming Comments Format comment To make your structured text easier to interpret add comments to it e Comments let you use plain language to describe how your structured text wo
273. eans the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value MAG Changes to Status Bits If the Clutch check box is NOT checked execution of the MAG instruction simply sets the Gear Status bit to True Bit Name State Meaning GearingStatus TRUE Axis is Gearing If the Clutch check box is checked execution of the MAG instruction sets the Gearing Lock Status bit to True when the clutching process completes Bit Name State Meaning Gearing Lock Status TRUE Axis has finished Clutch and locked in GearingStatus TRUE Axis is Gearing When the input conditions are true the controller provides electronic gearing between axis2 and axis1 Publication 1756 RM007G EN P May 2005 3 50 Motion Move Instructions Publication 1756 RM007G EN P May 2005 Relay Ladder MAG Motion Axis Gear N gt Slave Axis AxisO E Master Axis Axis E h gt Motion Control MAG_3 Direction 3 Ro Ratio IPO Slave Counts Master Counts Master Reference Ratio Format Clutch Accel Rate Accel Units Units per sec2 Figure 3 16 MAG Ladder Example Structured Text MAG Axis0 Axis1 MAG_3 3 Ratio_3 0 100 100 Actual Real Enabled 50 Unitspersec2 Motion Move Instructions 3 51 Motion Change Dynamics MCD MCD Motion Change Dynamics Axis Motion Control Motion Type Change Speed Speed
274. eation Profile Editor Data Modification Figure 3 36 MATC Process Motion Move Instructions 3 99 The data within the Cam Profile array can be modified at compile time using the Cam Profile Editor or at run time with the Motion Calculate Cam Profile MCCP instruction In the case of run time changes a Cam array must be created in order to use the MCCP instruction Refer to the MCCP instruction specification for more detail on converting Cam arrays All but the status and type elements of the Cam Profile array element structure are hidden from the RSLogix 5000 tag editor These hidden elements are of no value The status parameter is used to indicate that the Cam Profile array element has been calculated If execution of a camming instruction is attempted with any uncalculated elements in a cam profile the instruction errors The type parameter determines the type of interpolation applied between this cam array element and the next cam element Cam Profile Array Checks The Status member of the first element in the cam profile array is special and used for data integrity checks For this reason the MATC must always specify the cam profile with the starting index set to 0 This first cam profile element Status member can have the following values Status Value Description 0 Cam profile element has not been calculated 1 Cam profile element is being calculated 2 Cam profile element has been calculated
275. ecking associated with the specified registration input is disabled If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis To successfully execute a MDR instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwise the instruction errs aa The MDR instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit is not set immediately but only after this message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MDR Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Axis Not 11 Passed axis value references an unconfigured axis Configured meaning the axis has not been assigned to a physical motion module channel Servo Mes
276. ed Text 3 75 Pending Cam Execution 3 84 Preserving the Current Camming Di rection 3 77 Reversing the Current Camming Di rection 3 77 Scaling Position Cams 3 79 Slaving to the Actual Position 3 86 Slaving to the Command Position 3 86 Specifying the Cam Profile 3 77 Stopping a Cam 3 88 Motion Axis Stop MAS 3 2 Description 3 4 Stop All Motion 3 6 Stop Specific Motion 3 5 Error Codes 3 7 Extended Error Codes 3 7 MOTION_INSTRUCTION structure 3 4 Operands 3 2 Relay Ladder 3 2 Structured Text 3 3 Motion Axis Time Cam MATC 3 94 Cam Profile Array Checks 3 99 Cam Profile Execution Modes 3 101 Camming Direction 3 97 Camming in the Opposite Direction 3 98 Camming in the Same Direction 3 97 Changing the Cam Profile 3 98 Changing the Camming Direction 3 98 Description 3 97 Error Codes 3 105 Execution Schedule 3 101 Extended Error Codes 3 106 3 109 Immediate Execution 3 101 Linear and Cubic Interpolation 3 99 Merging from a Cam 3 104 MOTION_INSTRUCTION structure 3 97 Operands 3 95 Relay Ladder 3 95 Structured Text 3 96 Pending Cam Execution 3 102 Scaling Time Cams 3 100 Specifying the Cam Profile 3 98 Stopping a Cam 3 104 Motion Calculate Cam Profile MCCP 3 65 Calculating the Cam Profile 3 68 Cam Profile Array Status Member 3 67 Description 3 66 Error Codes 3 70 Extended Error Codes 3 70 Linear and Cubic Spline Interpolation 3 68 MOTION_INSTRUCTION structure 3 66 Operands 3 66 Relay Ladder 3 66 Structured
277. ed in a gearing process MAG with Clutch selected This bit is cleared during the intervals where the axis is clutching PositionCamLockStatus DINT Set whenever the master axis satisfies the starting condition of a currently active Position Cam motion profile The starting condition is established by the Start Control and Start Position parameters of the MAPC instruction This bit is bit is cleared when the current position cam profile completes or is superseded by some other motion operation In uni directional master direction mode the Position Cam Lock Status bit is cleared when moving in the wrong direction and sets when moving in the correct direction MasterOffsetMoveStatus DINT Set if a Master Offset Move motion profile is currently in progress This bit is cleared when the Master Offset Move is complete or is superseded by some other motion operation CoordinatedMotionStatus DINT Set if any coordinated motion profile is currently active upon the axis It is cleared as soon as Coordinated Motion is complete or stopped ServoActStatus DINT Set when the associated axis is under servo control Cleared when servo action is disabled DriveEnableStatus DINT Set when the Drive Enable output of the associated physical axis is currently enabled Cleared when physical servo axis Drive Enable output is currently disabled ShutdownStatus DINT Set when the associated axis is curren
278. ed in linear space but the position of the axes is limited by the rotary configuration The endpoint was 0 5 0 5 for the circle calculations but the actual endpoint for the move was 0 5 1 5 The instruction specified and we obtained a clockwise move even though one axis had a negative incremental target position The endpoint is not required to fit within the absolute position defined by the rotary unwind of the axes For Coordinate Systems that have three primary axes associated to them it is possible to create three dimensional arcs Multi Axis Coordinated Motion Instructions 7 59 3D Arc Using MCCM with Circle Type Via The following example shows the use of the MCCM with a Circle Type of Via and a Move Type of Absolute to create a three dimensional arc The basic assumptions are e The 3 axes Axis0 and Axis1 Axis2 are all members of the coordinate system Coordinated_sys1 e Coordinated_sys1 is a three dimensional coordinate system e Axis0 Axisl and Axis2 are orthogonal to each other e Coordinated_sys1 is initially at 0 0 0 0 0 0 units Move Coordinated_sys1 along an arc to 2 0 2 0 0 0 units passing through 1 0 1 0 1 414 units at the vector speed of 10 0 units per second with the acceleration and deceleration values of 5 0 units per second The following graph shows the 3D arc generated by the preceding information ponpas oo anes A 44 f 1 Ne Ta Y yi Asees as 4 0 47 s
279. ed is selected or entered as the Direction other position cam parameters may be changed while preserving the current or previous camming direction same or opposite This is useful when the current direction is not known or not important For first time execution of a cam with Unchanged selected the control defaults the direction to Same Reversing the Current Camming Direction When Reverse is selected the current or previous direction of the position cam is changed from Same to Opposite or from Opposite to Same For first time execution of a cam with Reverse selected the control defaults the direction to Opposite Specifying the Cam Profile To execute a MAPC instruction a calculated Cam Profile data array tag must be specified Cam Profile array tags may be created by the RSLogix 5000 tag editor or the MAPC instruction using the built in Cam Profile Editor or by executing an Motion Calculate Cam Profile MCCP instruction on an existing Cam array Publication 1756 RM007G EN P May 2005 3 78 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 The data within the Cam Profile array can be modified at compile time using the Cam Profile Editor or at run time with the Motion Calculate Cam Profile MCCP instruction In the case of run time changes a Cam array must be created in order to use the MCCP instruction Refer to the MCCP instruction specification for more detail on converting Cam arrays All but the sta
280. eful in rotary applications where it is necessary that the position cam run continuously in a rotary or reciprocating fashion To generate smooth continuous motion using this technique however care must be taken in designing the cam points of the cam table to ensure that there are no position velocity or acceleration discontinuities between the start and end points of the calculated cam profile Execution Schedule Control over the MAPC instruction s execution is via the Execution Schedule parameter Motion Move Instructions 3 81 Immediate Execution By default the MAPC instruction is scheduled to execute Immediately In this case there is no delay to the enabling of the position camming process and the Master Lock Position parameter is irrelevant The slave axis is immediately locked to the master axis beginning at the Cam Lock Position of the specific cam profile As illustrated in the diagram below when the MAPC instruction is executed the camming process is initiated on the specified slave axis and the Position Cam Status bit in the slave axis Motion Status word is set If the Execution Schedule parameter is set to Immediate the slave axis is immediately locked to the master according to the specified Cam Profile This is indicated by the fact that the Position Cam Lock Status bit for the specified slave axis is also set Cam Start Position Cam Profile Slave Axis Position Master Axis Position
281. egative direction regardless of the current axis position imPorTAnT The rotary positive move should only be used while the axis is not moving to ensure motion in the proper direction Absolute and Incremental Master Offset Move For Master Offset Moves the specified axis defines the slave axis Position speed accel rate and decel rate values represent master axis units Speed units accel units and decel units represent master axis user units Maximum refers to the master axis maximum In the case of an absolute Master Offset Move the specified position value is used as position offset target For incremental Master Offset Move the specified position value is added to the current position offset target Thereafter the current position offset is moved to the position offset target according to the specified speed Accel rate and Decel rate Move Profile Type The Profile selection of the MAM instruction sets the type of motion profile used for the move Publication 1756 RM007G EN P May 2005 3 34 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 The ControlLogix motion controller provides trapezoidal linear acceleration and deceleration and S Curve controlled jerk velocity profiles See the Profile section of the MAJ instruction earlier in this chapter for more information about Trapezoidal and S Curve profiles Merged Moves The MAM instruction can also be used to terminate the motion pro
282. eing calculated Cam Profile Not Calculated 32 Attempted execution of cam profile segment that has not been calculated Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MCSV instruction an extended error code of 2 would refer to the Master Value operand s value You Publication 1756 RM007G EN P May 2005 3 110 Motion Move Instructions MCSV Changes to Status Bits Example Publication 1756 RM007G EN P May 2005 would then have to check your value with the accepted range of values for the instruction None Relay Ladder MCSV Motion Calculate Slave Values EN Motion Control Mtn_Ctrl Cam Profile Peam_Profile 0 C oe Master Value Themstrval ER 25 Slave Value Theslveval 37 oe Slope Value Theslopeval 05 Slope Derivative Theslopederiv 16 Figure 3 43 MCSV Ladder Instruction Structured Text MCSV Mtn_Ctrl Pcam_Profilel0 Thestrval Theslveval Theslopeval Theslopederiv Chapter 4 Introduction Motion Group Instructions MGS MGSD MGSR MGSP Tags used for the motion control attribute of instructions should only be used once
283. el Rate Decel Units Units per sec2 Profile Trapezoidal Termination Type Merge Disabled Merge Speed Current Figure 7 39 MCCM Ladder Instruction for 3D Arc Using Circle Type of Center Publication 1756 RM007G EN P May 2005 7 62 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 Note For full circles set Position operand to any point except the start point and use one of the Full Direction types The endpoint is assumed to be the start point This is because in the three dimensional space you need three points to specify a plane for the circle By changing the Direction operand to Shortest in the preceding MCCM instruction the following path is generated The Shortest option of the Direction operand takes the shortest route from the start point to the point defined by the Position operand of the MCCM instruction Figure 7 40 3D Path Using Shortest for Direction Operand Change the Direction operand to Longest in the preceding MCCM instruction and the path followed is the longest from the start point to the point defined by the Position operand in the MCCM instruction See the following diagram for an example of the longest path s y en Move Type Multi Axis Coordinated Motion Instructions 7 63 Figure 7 41 3D Path Using Longest for Direction Operand Via Center Radius Depending on the selected Move Type and Circle Type the via center radius position paramete
284. elay contact for the motion module or Publication 1756 RMO007G EN P May 2005 Motion State Instructions 2 11 drive is Open This feature can be used to open up the E Stop string that controls main power to the drive system Note that there is typically only one OK contact per motion module which means that execution of an MASD instruction for either axis associated with a given module opens the OK contact Another characteristic of the Shutdown state is that any instruction that initiates axis motion is blocked from execution Attempts to do so result in an execution error Only by executing one of the Shutdown Reset instructions can motion be successfully initiated To successfully execute a MASD instruction the targeted axis must be configured as either a Servo or Feedback Only axis If not the instruction errs The axis remains in the shutdown state until either a Motion Axis Shutdown Reset MASR instruction or a Motion Group Shutdown Reset MGSR instruction executes aa The MASD instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module Thus the Done DN bit is not set until after this message is successfully transmitted and the axis is in the Shutdown state This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instr
285. elected axis Usually a module fault affects all axes associated with the motion module A module fault generally results in the shutdown of all associated axes Reconfiguration of the motion module is required to recover from a module fault condition A ModuleFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box Set when an update operation targeting an axis configuration attribute of an associated motion module has failed Specific information concerning the Configuration Fault may be found in the Attribute Error Code and Attribute Error ID attributes associated with the motion module A ConfigFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box WatchEventArmedStatus DINT Set when a watch event has been armed through execution of the MAW Motion Arm Watch instruction Cleared when either a watch event occurs or a MDW Motion Disarm Watch instruction is executed WatchEventStatus DINT Set when a watch event has occurred Cleared when either another MAW Motion Arm Watch instruction or a MDW Motion Disarm Watch instruction is executed RegEventl Armedstatus DINT Set when a registration checking has been armed for registration input 1 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR
286. en the axis approaches or passes through the specified axis arm position in the forward or reverse direction Axis Arm and Cam Arm Positions The axis arm position defines the axis position where the Output Cam is armed if the execution schedule is set to either forward only reverse only or bi directional and the axis moves in the specified direction The cam arm position defines the cam position that is associated with the axis arm position when the Output Cam is armed Changes to the axis arm or cam arm position only take effect after the execution of an MAOC instruction Axis Arm Position Axis Position es i Cam Position Cam Am Position Cam Start Position Cam End Position Figure 5 18 Axis Arm and Cam Arm Positions Reference Depending on the selected reference the Output Cam is connected to either the actual or command position of the axis IMPORTANT The MAOC instruction execution completes ina single scan thus the Done DN bit and the In Process IP bit are set immediately The In Process IP bit remains set until the cam position moves beyond the cam start or cam end position in Once execution mode is superseded by another MAOC instruction or is disarmed by the MDOC instruction The Process Complete bit is cleared immediately when the MAOC executes and set when the cam position moves beyond the cam start or cam end position in Once execution mode This is a transitional instructi
287. encoder diagnostic initiates motion on the axis This action consists of a short move of a user Motor Encoder Test Increment The move is initiated by roughly 1 Volt per second ramping level of the servo s drive output The result of executing the MRHD instruction is that the parameters Test Status and Test Direction Forward are updated Motion Configuration Instructions 6 19 Operands RHD Motion Run Hookup Diagnostics Axis Motion Control T Diagnostic Test MRHD Axis MotionControl DiagnosticTest Description Relay Ladder Operand Type Format Description Axis AXIS_SERVO tag Name of the axis to perform AXIS_SERVO_DRIVE operation on Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Diagnostic DINT immediate Selects the specific test for the test motion module to run 0 motor encoder hookup test 1 encoder hookup test 2 encoder marker hookup test 3 Watchdog OK test Structured Text The operands are the same as those for the relay ladder MRHD instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number DiagnosticTest motor_encoder 0 encoder 1 marker 2 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung ma
288. ental Moves on Rotary Axes When an axis is configured for rotary operation incremental moves are handled in the same way as with linear axes except that when the axis position exceeds the Unwind parameter it is unwound In this way axis command position is never greater than the Unwind value nor ever less than zero Refer to the Motion Axis Object Specification for more information on Unwind and Rotary Axis configuration The specified distance is interpreted trigonometrically and may be positive or negative and may also be greater than the Unwind value When the distance is greater than the Unwind value the axis moves through more than one revolution before stopping Rotary Shortest Path Moves The rotary shortest path move moves a rotary axis to the desired absolute position via the shortest path It is a special type of absolute move available only for rotary axes When Rotary Shortest Path is selected or entered the Move Type the axis moves to the specified Position at the specified Speed using the specified Accel and Decel in the direction which results in the shortest move regardless of the current position of the axis The position must be a positive value less than the Unwind value entered in the motion controller s machine setup menu and therefore moves of more than one revolution cannot be performed with a single rotary shortest path MAM instruction IMPORTANT Use rotary shortest path moves only on axes configured
289. enter your selection as This operand enter as text Has these options which you or enter as a number Disarm Type all specific 0 1 Publication 1756 RM007G EN P May 2005 5 46 Motion Event Instructions MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the rung goes false DN Done Bit 29 It is set when the Output Cam s have been successfully disarmed ER Error Bit 28 It is set to indicate that the instruction detected an error Description The Motion Disarm Output Cam MDOC instruction disarms a specific or all output cams for a specified axis depending on the selected disarm type The axis provides the position input to the Output Cam The execution target defines a specific Output Cam from the set that is connected to the specified axis This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MDOC Error Codes ERR Error Message Error Code Description Axis Not Configured 1 Passed axis value references an unconfigured axis meaning the axis ha
290. epeated execution of individual pieces of your logic e A more simple screen display e Time to design and debug your program is reduced e Troubleshooting is faster and easier e Direct access to the point in the logic where the machine faulted e Fasier to enhance and update For more detailed information about how to program and use SFC see Logix5000 Controllers Common Procedures Manual publication 1756 PM001 Publication 1756 RM007G EN P May 2005 Preface 4 Conventions and Related Terms Publication 1756 RMO007G EN P May 2005 Set and clear This manual uses set and clear to define the status of bits booleans and values non booleans This term Means set the bit is set to 1 ON a value is set to any non zero number clear the bit is cleared to 0 OFF all the bits in a value are cleared to 0 An instruction executes faster and requires less memory if all the operands of the instruction use the same optimal data type typically DINT or REAL Rung condition The controller evaluates ladder instructions based on the rung condition preceding the instruction rung condition in Based on the rung condition in and the instruction the controller sets the rung condition following the instruction rung condition out which in turn affects any subsequent instruction input instruction output instruction rung in rung out condition condition If the rung in condition to an input in
291. er sets the DN bit instruction executes Detects an error when the instruction The controller sets the ER bit and executes stores an error code in the control structure 3 The next time the rung becomes false after either the DN or ER bit sets the controller clears the EN bit 4 Motion Concepts 1 3 The controller can execute the instruction again when the rung becomes true Scan Scan Scan Scan rung rung rung rung true true false true Figure 1 1 Immediate Type Instructions Rung Conditions Message Type Instructions Message type motion instructions send one or more messages to the servo module Examples of message type instructions include the e Motion Direct Drive On MDO instruction e Motion Redefine Position CMRP instruction Message type instructions work as follows 1 When the rung that contains the motion instruction becomes true the controller e Sets the enable CEN bit e Clears the done DN bit e Clears the error ER bit The controller begins to execute the instruction by setting up a message request to the servo module The remainder of the instruction executes in parallel to the program scan The controller checks if the servo module is ready to receive a new message The controller places the results of the check in the message status word of the control structure When the module is ready the controller constructs and transmits the message to the modu
292. er the defined operation has completed It differs from the DN bit which sets after a specific instruction has completed The PC bit sets when the initiated process has completed The In Process bit is set when EN is set Once set it is cleared for Process type instructions when any of the following conditions exist commanded process completes successfully controller is unable to complete process process has been superseded by another instruction of the same kind the commanded process is merged into a different process the process is terminated by an MAS or MGS instruction the process is aborted by a MASD or MGSD instruction or the motion process is aborted by a fault The Error bit is cleared when EN sets and is set when an error is detected during the execution of a motion instruction The Done bit is cleared when EN sets and sets when the instruction has successfully executed The Enable bit sets when the rung condition transitions from false to true and stays set while the instruction is executing Publication 1756 RMO007G EN P May 2005 Structures A 29 Mnemonic Data Type Description ERR INT The error value contains the error code associated with a motion instruction Value Description 3 The instruction tried to execute while another instance of this instruction was executing This occurs when the controller executes a messaging instruction without checking the DN bit of the preceding instruct
293. ero R arate S 4 11 SAWS BiS i ce Fo A A POR i 4 11 EXIMples Vig Soe Sans a hence eh Rote gece hase fe o Mh asis 4 11 Motion Group Strobe Position MGSP 4 12 Ss A te Bh oe eda 4 12 Description aise x 4c ke alee a ease wea 4 12 Arithmetic Status Places AA te 4 13 Fault Conditions oaoa iba dra Va ees es 4 13 no joie eat sute ud pig ae Meee Se ketene oa 4 13 SAI DiS rice ce ies oe as CI ee 4 13 EXP ear peg ica 4 13 Chapter 5 Motion Event Instructions Introduction A a coal G dhs tid 3 aoe corinne aya etal Meee 5 1 Motion Arm Watch MAW 0 0 0 0 00 ce ee 5 1 Operands A AS A EE ONE BU AR Aor 5 2 TIESEH POM e de Sedo OE dr Gomes id 5 3 Arithmetic Status Flags di de Olay Wk ee eo RAL Be ug 5 4 Fault CONCISA e Ra eet CAOS 5 4 Eror COLES AA hE GASES G EEE AES BOY 5 5 Extended Bror Codes 4 4 pies il a E 5 5 ee ee ere ee ee ee ee ee eee oe rere 5 5 Status Bliss Soy wuss ado eG Bae ee Pea eke gees 5 5 Aa th Grand Ge Buel dios Se es nee ooh ee eS 5 5 Motion Disarm Watch MDW 0 0 000000 eae 5 6 Sa aa Veet ie eee tae aka ee Rowe 5 6 DesctiptoN a ie Hage 9k oie PH OMe es ae 5 7 Arithmetic Status Flags to Py aK SERS ais 5 7 Fault Conditions ia aaua 5 7 Eror Codes said OD ae e 5 8 A A AA PE EN 5 8 13 0701 0 or ES ee PE eR SR ee ea ar 5 8 Motion Arm Registration MAR asasan aasa aa 5 9 Publication 1756 RM007G EN P May 2005 Table of Contents 6 Publication 1756 RMO007G EN P May 2005 RC ee ao
294. es A 5 Mnemonic Data Type Description ConfigFault DINT Set when an update operation targeting an axis configuration attribute of an associated motion module has failed Specific information concerning the Configuration Fault may be found in the Attribute Error Code and Attribute Error ID attributes associated with the motion module A ConfigFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ControlSyncFault DINT Set when the Logix controller detects that several position update messages in a row from the motion module have been missed due to a failure of the synchronous communications connection This condition results in the automatic shutdown of the associated servo module The Logix controller is designed to ride through a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress Missing more than four position updates in a row constitutes a problematic condition that warrants shutdown of the servo module This fault bit is cleared when the connection is reestablished WatchEventArmedStatus DINT Set when a watch event has been armed through execution of the MAW Motion Arm Watch instruction Cleared when either a watch event occurs or a MDW Motion Disarm Watch instruction is executed WatchEventStatus DINT Set when a watch event has occurred Cleared w
295. es specified in the coordinate system The Position array defines either the new absolute or incremental position Speed The Speed operand defines the maximum vector speed along the path of the coordinated move Speed Units The Speed Units operand defines the units applied to the Speed operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Accel Rate The Accel Rate operand defines the maximum acceleration along the path of the coordinated move Accel Units The Accel Units operand defines the units applied to the Accel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Decel Rate The Decel Rate operand defines the maximum deceleration along the path of the coordinated move Decel Units The Decel Units operand defines the units applied to the Decel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Publication 1756 RM007G EN P May 2005 7 24 Multi Axis Coordinated Motion Instructions Profile The Profile operand determines whether the coordinated move uses a trapezoidal or S Curve velocity profile The ControlLogix motion controller provides trapezoidal linear acceleration and deceleration
296. eserved 08 31 ActualPosition REAL Actual Position in Position Units StrobeActualPosition REAL Strobe Actual Position in Position Units StartActualPosition REAL Start Actual Position in Position Units AverageVelocity REAL Average Velocity in Position Units Sec ActualVelocity REAL Actual Velocity in Position Units Sec ActualAcceleration REAL Actual Acceleration in Position Units Sec2 WatchPosition REAL Watch Position in Position Units Registration Position REAL Registration 1 Position in Position Units Registration2Position REAL Registration 2 Position in Position Units Registration Time DINT Lower 32 bits of CST time Registration2ZTime DINT Lower 32 bits of CST time InterpolationTime DINT CST time to interpolate to InterpolatedActualPosition REAL Interpolated Actual Position in Position Units MasterOffset REAL Master Offset in Master Position Units StrobeMasterOffset REAL Strobe Master Offset in Master Position Units StartMasterOffset REAL Start Master Offset in Master Position Units CommandPosition REAL Command Position in Position Units StrobeCommandPosition REAL Strobe Command Position in Position Units StartCommandPosition REAL Start Command Position in Position Units CommandVelocity REAL Command Velocity in Position Units Sec CommandAcceleration REAL Command Acceleration in Position Units Sec2 InterpolatedCommandPosition REAL Interpolated Command Position in Position Units AccelSt
297. exity of the MCCM instruction and the error codes it can generate the following simple examples are given to aide in the understanding of the MCCM instruction CIRCULAR_COLLINEARITY_ERROR 44 Example The following example for error 44 shows a situation where the startpoint via point and endpoint all lie on a straight line The program is trying to generate a two dimensional arc going from 0 0 current position to 20 0 through the location 10 0 Because these points all lie on a straight line no circular centerpoint can be computed for the circle This error would also be generated if the program was for a three dimensional center type circle using a startpoint centerpoint and endpoint all lying on a straight line Here an infinite number of circles could be fit through the programmed points in an infinite number of planes o Target Position Entry Coordinated_sys MCCM_Move_position 0 YIA O x La Position Teg o ip Axis Nene Target Postion Actual Postion Via Position gt Axs0 20 0 00 100 Axis 10 0 00 0 0 Set Targets Actuals Set Vias Actuals DK Cancel Apply Hep Figure 7 44 Ladder Program and Target Entry Screen that Generate Error 44 CIRCULAR_START_END_ERROR 45 Example The following example for error 45 depicts a situation where the startpoint and via point are the same The program is trying to generate a two dimensional full circle from 0 0 current position back to 0 0 through th
298. exorassuomZ THEN optional lt statement gt lt q statements to execute when bool_expression2 is true l ELSE optional ESTENCOMENRNT Y statements to execute when both expressions are false END IF To use ELSIF or ELSE follow these guidelines 1 To select from several possible groups of statements add one or more ELSIF statements e Each ELSIF represents an alternative path e Specify as many ELSIF paths as you need e The controller executes the first true IF or ELSIF and skips the rest of the ELSIFs and the ELSE 2 To do something when all of the IF or ELSIF conditions are false add an ELSE statement Publication 1756 RM007G EN P May 2005 B 14 Structured Text Programming The following table summarizes different combinations of IF THEN ELSIF and ELSE If you want to And Then use this construct do something if or when conditions do nothing if conditions are false IF THEN are rue do something else if conditions are false IF THEN ELSE choose from alternative statements do nothing if conditions are false IF THEN ELSIF tor groupe of statemenisi tema IF THEN ELSIF ELSE input conditions Example 1 IF THEN If you want this IF rejects gt 3 then conveyor off 0 alarm on 1 Example 2 IF THEN If you want this If conveyor direction contact forward 1 then light off Otherwise light on conditions are false Enter this st
299. f photoeye is a BOOL tag and your specification IF NOT photoeye THEN says If photoeye is off then expressionl amp expression2 If photoeye is a BOOL tag temp is a DINT tag IF photoeye amp and your specification says If photoeye is on THEN and temp is less than 100 then temp lt 100 expressionl OR expression2 If photoeye is a BOOL tag tempis a DINTtag IF photoeye OR temp lt 100 and your specification says If photoeye is on THEN or temp is less than 100 then expressionl XOR expression2 If photoeye and photoeye2 are BOOL tags and your specification says If e photoeye is on while photoeye2 is off IF photoeyel XOR photoeye2 THEN BOOLtag expressionl amp expression2 or e photoeye is off while photoeye2 is on then If photoeye1 and photoeye2 are BOOL tags open photoeyel openis a BOOL tag and your specification says photoeye2 If photoeyel and photoeye2 are both on set opento true Publication 1756 RM007G EN P May 2005 B 10 Structured Text Programming Use bitwise operators Bitwise operators manipulate the bits within a value based on two values For Usethis operator Optimal Data Type __ bitwise AND 8 AND DINT bitwise OR OR DINT bitwise exclusive OR XOR DINT bitwise complement NOT DINT For example Use this format Example For this situation You d write
300. fication Servo On State Error 4 Attempted execution with the axis in Servo On state meaning that the targeted axis servo loop is currently closed Shutdown State Error 7 Publication 1756 RMO007G EN P May 2005 Attempted execution with the axis in the Shutdown state Extended Error Codes Status Bits Example Motion State Instructions 2 19 Error Message Code Description Illegal Axis Type 8 Attempted execution with the axis not configured as Servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed See Failure Extended Error section for more information on the cause of the error Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Group in Faulted State 21 Attempted execution on an axis which is in a group which is in the Faulted state Illegal Controller 24 Attempted execution when the processor is in test Mode Operation mode Illegal Axis Data Type 38 Attempted execution on an axis whose Axis Data Type is not supported by this instruction Extended Error Codes provide additional instruction specific information for the Error
301. fications or when the coordinated move is superseded by another MCCM or MCLM instruction with a Merge Type of Coordinated Move or when terminated by an MCS or an MCSD instruction AC Active Bit 23 When you have a coordinated move instruction queued the Active Bit lets you know which instruction is controlling the motion It sets when the coordinated move becomes active It is reset when the Process Complete bit is set or when the instruction is stopped PC Process Complete Bit 27 The Process Complete Bit resets when the rung transitions from false to true It sets when there is no succeeding move and the coordinated move reaches the new position or when there is a succeeding move and the coordinated move reaches the Termination Type specification ACCEL Acceleration Bit 01 The Acceleration Bit sets while the coordinated move is in acceleration phase It resets while the coordinated move is in the constant velocity or deceleration phase or when coordinated motion concludes DECEL Deceleration Bit 02 The Deceleration Bit sets while the coordinated move is in deceleration phase It resets while the coordinated move is in the constant velocity or acceleration phase or when coordinated motion concludes Move Type The Move Type operand determines the method used by the position array to indicate the path of the coordinated move and the method the Publication 1756 RMO007G EN P May 2005 Multi
302. file Master REAL immediate Scales the total distance covered by Scaling or tag the master axis through the cam profile Execution UINT32 immediate Determines if the cam profile is Mode executed only one time or repeatedly 0 Once cam motion of slave axis starts only when the master axis moves into the range defined by the start and end points of the cam profile When the master axis moves beyond the defined range cam motion on the slave axis stops and the Process Complete bit is set Slave motion does not resume if the master axis moves back into the cam profile range 1 Continuous Once started the cam profile is executed indefinitely This feature is useful in rotary applications where it is necessary that the cam position run continuously in a rotary or reciprocating fashion 2 Persistent When the Master Axis moves beyond the defined range cam motion on the Slave Axis stops and the PositionCamLockStatus bit is cleared Slave motion does resume if the Master Axis moves back into the cam profile range and the PositionCamLockStatus bit is set Publication 1756 RM007G EN P May 2005 3 74 Motion Move Instructions Operand Type Format Description Execution Schedule UINT32 immediate Selects the method used to execute the cam profile Options are 0 Immediate The slave axis is immediately locked to the master axis and the position camming process begins
303. file and compensated for position offset and time delay The Motion Arm Output Cam MAOC instruction initiates the arming of a specific Output Cam between the designated axis and output When executed the specified output cam bits are synchronized to the designated axis using an Output Cam Profile established by the RSLogix 5000 Output Cam Editor This relationship can be viewed as a master slave relationship with the axis representing the master and the output bit representing the slave Hence the Output Cam functionality is related to the position cam functionality which provides a relationship between a master axis and a slave axis To accurately synchronize the output cams to the designated axis an execution schedule and associated axis and cam arm positions are specified When the axis travels past the axis arm position in the direction specified by the Execution Schedule parameter the cam position becomes locked to the axis position starting at the specified Cam Arm Position parameter At this time the output cam is armed and the Output Cam Armed status is set The output cam can also be configured via the Execution Schedule parameter to execute Immediately or Pending completion of a currently executing output cam The output cam can also be executed Once Continuously or Persistently by specifying the desired Execution Mode Persistent Publication 1756 RM007G EN P May 2005 5 20 Motion Event Instructions MAOC Motion Arm
304. for the Position operand that contains enough elements to accommodate the number of axes selected a valid Move Type and a valid Circle Type If these criteria have not been satisfied an error message is displayed on the status bar Valid Coordinate MCCM Motion Coordinated Circular Move System Coordinate System Coordinated_sys Motion Control MCCM O Valid Move Type Move Type 0 Position MCCM_Move_position Press on ellipsis button to AxisO 0 0 access the MCCM Target Axis 5 0 Position Entry Box Circle Type 0 Via Center F adius VIA Valid Circle Type Direction 0 Figure 7 42 MCCM Ladder Valid Values for Accessing Target Position Entry Box Press the ellipsis and the following dialog box displays Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 67 Target Position Entry Coordinated_sys MCCM_Move_position 0 IA 0 Position Tag Axis Name Target Position Actual Position Via Position Set Targets Actuals Set Vias Actuals Figure 7 43 MCCM Instruction Target Position Entry Dialog Box Position Tab Feature Description Axis Name This column has the names of each axis in the coordinate system named in the ladder faceplate These names are not editable Target Position Target The values in this column are numeric They show the Increment endpoint or incremental departure of the move depending on the active Move Type The
305. formation a a S 112 6 End f 104 13 Sart 2 37 04 Contr V A Hit RAS A A Figure 7 27 Plot of Path with Circle Type of Center Incremental This path can be achieved by using an MCCM instruction in the Clockwise direction with a Move Type Absolute or with a Move Type Incremental When a Circle Type of Center Incremental is chosen the Via Center Radius position defines the center of the arc MCCM Motion Coordinated Circular Move D Coordinate System Coordinated_sys Motion Control MCCM 5 N Move Type 0 Move Type is Absolute Position MCCM_Move_position 10 Position defined in AxisO T2 absolute units Axis 6 6 Circle Type is Center Circle Type 3 C gt Incremental oe a U Center defined as an incremental distance of Speed 10 14 1 5 1 from start point of 10 4 1 3 Speed Units Units per sec of ie Accel Rate 5 Direction is Clockwise Accel Units Units per sec2 Decel Rate 5 Decel Units Units per sec2 Profile Trapezoidal Termination Type Merge Disabled Merge Speed Current Figure 7 28 MCCM Instruction Move Type Absolute Circle Type Center Incremental Publication 1756 RM007G EN P May 2005 7 52 Multi Axis Coordinated Motion Instructions Two Dimensional Full Circle Example Publication 1756 RMO007G EN P May 2005 The MCCM Instruction with Move Type of Incremental and Center Type of Center Incremental is the same as an MCCM instruction with
306. functionality applied to a gearing process IMPORTANT The MATC instruction execution completes in a single scan thus the Done DN bit and the In Process IP bit are set immediately The In Process CIP bit remains set until the initiated Time Camming process is superseded by another MATC instruction or terminated by a Motion Axis Stop command Merge operation or Servo Fault Action This is a transitional instruction Motion Move Instructions 3 105 e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MATC Error Codes ERR Error Message Code Description Servo Off State Error 5 Attempted execution on an axis that does not have the servo loop closed Shutdown State Error 7 Attempted execution with the axis in the Shutdown State Illegal Axis Type 8 Attempted execution with the axis not configured as servo Overtravel Error 9 Attempted execution in a direction that aggravates current overtravel condition Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Parameter Out of 13 Attempted execution with an input parameter that
307. functions and bitwise operators For example tag1 5 e Often you nest a numeric expression within a bool expression For example tag1 5 gt 65 Use the following table to choose operators for your expressions If you want to Then Calculate an arithmetic value Use arithmetic operators and functions on page B 6 Compare two values or strings Use relational operators on page B 7 Check if conditions are true or false Use logical operators on page B 9 Compare the bits within values Use bitwise operators on page B 10 Publication 1756 RM007G EN P May 2005 B 6 Structured Text Programming Publication 1756 RMO007G EN P May 2005 Use arithmetic operators and functions You can combine multiple operators and functions in arithmetic expressions Arithmetic operators calculate new values To Use this operator Optimal data type add DINT REAL subtract negate DINT REAL multiply DINT REAL exponent x to the power of y I DINT REAL divide DINT REAL modulo divide MOD DINT REAL Arithmetic functions perform math operations Specify a constant a non boolean tag or an expression for the function For Use this function Optimal data type absolute value ABS numeric expression DINT REAL arc cosine ACOS numeric expression REAL arc sine ASIN numeric expression REAL arc tangent ATAN numeric expression REAL cosine C
308. g Type Select the motion redefine position type to change from the combo box This list contains Absolute default and Relative Position Select Select whether the actual or command position is to be changed from the combo box This list contains Actual default and Command Position Enter the desired position in the edit box The default is 0 Motion Group Commands Motion Group Stop If online from the Motion Direct Command dialog the user is able to execute a Motion Group Stop MGS command op Fast Stop Figure 8 23 Motion Group Stop Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 29 Operands Feature Description Group Select a Motion Group from the tag browser This list contains existing or motion groups and their aliases or Notification messages are processed i e Motion Group Name changed is reflected ellipsis If an Motion Group alias is NOT selected then the ellipsis button is disabled If enabled then select the ellipsis button to display the Motion Group Properties dialog Stop Mode Select the desired Stop Mode from the combo box This list contains Programmed Fast Stop default and Fast Disable Motion Group Shutdown If online from the Motion Direct Command dialog the user is able to execute a Motion Group Shutdown MGSD command El Motion Direct Commands group 4 Figure 8 24 Motion Group Shutdown
309. g 8 stop time camming 9 stop a Master Offset Move Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 3 Operand Type Format Description Change Boolean immediate Set to enable use of the Decel instruction s Decel value rather then the current configured Max Deceleration rate Select either 0 no 1 yes Decel rate REAL immediate Deceleration rate of the axis in or tag or Deceleration Units The axis could overshoot its target position if you reduce the deceleration while a move is in process Decel units Boolean immediate Engineering units in which the Decel value is displayed Select either 0 units per sec 1 of maximum Structured Text MAS Axis MotionControl StopType ChangeDecel DecelRate DecelUnits The operands are the same as those for the relay ladder MAS instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number StopType all Jog move gear home tune test timecam positioncam masteroffsetmove ChangeDecel no yes O 00 Y O00JN 0N oO DecelUnits unitspersec2 ofmaximum 0 Publication 1756 RM007G EN P May 2005 3 4 Motion Move Instructions Description Publication 1756 RMO007G EN P May 2005 MOTION_INSTRUCTION Structure Mnemonic Des
310. g picked up by the feedback device wiring both of which may be able to be seen on an oscilloscope This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear PosErrorFault DINT Set when the servo has detected that the axis position error has exceeded the current configured value for Position Error Tolerance This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear DriveFault DINT Set when the external servo drive has detected a fault and has communicated the existence of this fault to the servo module via the Drive Fault input This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear ControlSyncFault DINT Set when the Logix controller detects that several position update messages in a row from the motion module have been missed due to a failure of the synchronous communications connection This condition results in the automatic shutdown of the associated servo module The Logix controller is designed to ride through a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress Missing more than four position updates in a row constitutes a problematic condition that warran
311. g information Latch Event Mask When a latch event is detected the time slot in which it belongs is calculated and the bit in the Latch Event Mask corresponding to the output bit of the latch is set Unlatch Event Mask When an unlatch event is detected the time slot in which it belongs is calculated and the bit in the Unlatch Event Mask corresponding to the output bit of the unlatch is set Interval The time in micro seconds from the start of the coarse update in which the Latch or Unlatch event occurs Pulse On Mask For pulsed outputs the time slot in which a pulse on event is calculated and the bit in the Pulse On Mask corresponding to the output bit of the pulse event is set Pulse Off Mask For pulsed outputs the time slot in which a pulse off event is calculated and the bit in the Pulse Off Mask corresponding to the output bit of the pulse event is set Output On Mask For normal outputs the bit corresponding to the output bit of the Latch or Pulse On event is set indicating that the output is to be turned on for these events Publication 1756 RM007G EN P May 2005 5 42 Motion Event Instructions 1 0 Subsystem Publication 1756 RMO007G EN P May 2005 For inverted outputs the bit corresponding to the output bit of the Unlatch or Pulse Off event is set indicating that the output is to be turned on for these events Output Off Mask For normal outputs the bit corresponding to the output bit
312. gal value for Decel Rate Zero which inhibits start motion See the Extended Error section for more information about this error 65 The selected axis exceeded the The axis moved too far and the controller can t store the position The range for maximum system travel limits position depends on the conversion constant of the axis position overflowed Axis Properties My_Axis_X Homing Hookup Tune Dynamics Gains Output Limits Offset Fault Actions Taa General Motion Planner Units Drive Motor Motor Feedback Aux Feedback Conversion Positioning Mode Linear v l Drive Counts 1 0 inches Conversion Constant 20371520 ased on 2097152 Counts Motor Rev Maximum positive position 2 147 483 647 conversion constant of the axis Maximum negative position 2 147 483 648 conversion constant of the axis Suppose you have a conversion constant of 2 097 152 counts inch In that case e Maximum positive position 2 147 483 647 2 097 152 counts inch 1023 inches e Maximum negative position 2 147 483 648 2 097 152 counts inch 1023 inches To prevent this error e Set up soft travel limits that keep the axis within the position range e One way to get more travel is to use the max negative or max positive position as your home position Example Max 0 Max If you set the home 0 is in the middle of the position here travel This gives you twice the travel t
313. geted axis must be configured as a Servo axis If this condition is not met the instruction errors a The MSO instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module and time for the drive output to stabilize and the servo loop to activate The Done DN bit is not set immediately but only after the axis is in the Servo Control state This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MSO Error Codes ERR Publication 1756 RMO007G EN P May 2005 Error Message Execution Collision Code 3 Description Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Shutdown State Error Attempted execution with the axis in the Shutdown state Illegal Axis Type Attempted execution with the axis not configured as servo Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been assigned to either a physical motion module channel or to a motion gr
314. ght be in progress on the slave axis Changing Master Axes The master axis for electronic gearing can be changed at any time even while gearing is currently enabled However since it is possible to have electronic gearing enabled on more than one axis at a time if a Servo master axis and slave axis are reversed the axes become cross coupled and unexpected motion may result For example if you are gearing Axis 0 to Axis 1 defined as a Servo axis and then want to change to gearing Axis 1 to Axis 0 you must first disable gearing on Axis 0 see Disable Gearing later in this section This is because specifying Axis 1 as the slave axis with Axis 0 Motion Move Instructions 3 47 as the master axis does no automatically disable Axis 0 from being a slave axis with Axis 1 as the master axis Moving While Gearing An incremental MAM instruction may be used for the slave axis or master axis if the Axis Type is configured as Servo while the electronic gearing is enabled This is particularly useful to accomplish phase advance retard control The incremental move distance can be used to eliminate any phase error between the master and the slave or to create an exact non zero phase relationship Incremental MAM instruction may also be used in conjunction with electronic gearing to compensate for material slip Normally a gear ratio of 1 is used with phase adjustment A 1 1 ratio ensures that the computed phase error does not change befor
315. h axes associated to this motion coordinate system have a module fault AxisConfigurationFaulted DINT Bit coded word indicating which axes associated to this motion coordinate system have an axis configuration fault AxesShutdownStatus DINT Bit coded word indicating which axes associated to this motion coordinate system are in the shutdown state AxesServoOnStatus DINT Bit coded word indicating which axes associated to this motion coordinate system are on via MSO ActualPosition DINT Array of actual position of each axis associated to this motion coordinate system in Coordinate Units CAM Structure The Cam data type consists of slave and master point pairs as well as an interpolation type Since there is no association with a specific axis position or time the point values are unit less The interpolation type can be specified for each segment as either linear or cubic The format of the cam array element is shown in the following table CAM_PROFILE Structure Mnemonic Data Type Description MASTER REAL The x value of the point SLAVE REAL The y value of the point Segment DINT The type of interpolation Type Value Description 0 linear 1 cubic The CAM_PROFILE data type is an array of coefficients representing a calculated cam profile that can be used as input to a time cam or position cam instruction The only element available to the user is Status which is defined in the following tab
316. has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value Status Bits provide a means for monitoring the progress of the motion instruction There are three types of Status Bits that provide pertinent information They are Axis Status Bits Coordinate System Status Bits and Coordinate Motion Status Bits When the MCLM instruction initiates the status bits undergo the following changes Publication 1756 RM007G EN P May 2005 7 34 Multi Axis Coordinated Motion Instructions Axis Status Bits Bit Name CoordinatedMotionStatus Sets when the instruction starts Clears when the instruction ends Coordinate System Status Bits Bit Name MotionStatus Sets when the MCLM instruction is active and the Coordinate System is connected to its associated axes Coordinate Motion Status Bits Bit Name AccelStatus Sets when vector is accelerating Clears when a blend is in process or when vector move is decelerating DecelStatus Sets when vector is decelerating Clears when a blend is in process or when vector move is accelerating
317. hat homing to 0 would give you Publication 1756 RMO007G EN P May 2005 3 38 Motion Move Instructions Extended Error Codes MAM Changes to Status Bits Publication 1756 RMO007G EN P May 2005 Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MAM instruction an extended error code of 4 would refer to the Speed operand s value You would then have to check your value with the accepted range of values for the instruction For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 7 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to c
318. he MGSP instruction to latch the current Command and Actual Position of all axes in the specified group at a single point in time The latched positions are available in the StrobeActualPosition and StrobeCommandPosition parameters in the Motion Axis Object for each axis configured in the group Relay Ladder Operand Type Format Description Group MOTION_ tag Name of the group of axes to perform GROUP operation on Motion MOTION_ tag Structure used to access instruction control INSTRUCTION status parameters Structured Text The operands are the same as those for the relay ladder MGSP instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the group of axes have been successfully set to Shutdown state ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured group The Motion Group Strobe Position MGSP instruction synchronously latches all command and actual position values of all axes in the Arithmetic Status Flags Fault Conditions Error Codes Status Bits Example Motion Group Instructions 4 13 specified group at the time of execution The MGSP instruction takes only one parameter simply sele
319. he controller initiates the motion process 3 If Then the controller The controller does not detect an error Sets the DN bit when the instruction executes Sets the in process IP bit Sets the ER bit Stores an error code in the control structure The controller detects another Clears the IP bit for that instance instance of the motion instruction The controller detects an error when the instruction executes The motion process reaches the point Sets the DN bit where the instruction can be executed again For some process type instructions like MAM this occurs on the first scan For others like MAH the DN bit is not set until the entire homing process is complete One of the following occurs during the Clears the IP bit motion process e The motion process completes e Another instance of the instruction executes e Another instruction stops the motion process e A motion fault stops the motion process 4 After the initiation of the motion process the program scan can cont nue The remainder of the instruction and the control process continue in parallel with the program scan 5 The next time the rung becomes false after either the DN bit or the ER bit sets the controller clears the EN bit Publication 1756 RM007G EN P May 2005 1 6 Motion Concepts 6 When the rung becomes true the instruction can execute again EN Scan Scan Execution
320. he operands are the same as those for the relay ladder MGSD instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 The enable bit indicates when the instruction is enabled It remains set until servo messaging completes and the rung condition in goes false DN Done Bit 29 The done bit indicates when the instruction sets the group of axes to the shutdown operating state ER Error Bit 28 The error bit indicates when the instruction detects an error such as if messaging to the servo module failed The Motion Group Shutdown MGSD instruction turns drive output off disables the servo loops of all axes in the specified group and opens any associated OK contacts for all applicable motion modules in the group This action places all group axes into the Shutdown state The MGSD instruction takes only one parameter simply select or enter the desired group to shutdown Another action initiated by the MGSD instruction is the clearing of all motion processes in progress and a clearing of all the motion status bits Associated with this action the command also clears all motion instruction IP bits that may currently be set for each axis in the group The MGSD instruction forces the targeted group of axes into the Shutdown state One of the unique characteristics of the Shutdown state is that the OK solid state relay contact for all of the group s motion modules Open This feature can be used to open u
321. he target and actual positions is less than or equal to the Actual Position Tolerance of the coordinate system Then use this termination type 0 Actual Tolerance command position equals the target position 1 No Settle keep the speed constant except between moves command position gets within the Command Position Tolerance of the coordinate system axes get to the point at which they must decelerate 2 Command Tolerance 3 No Decel y 1 2 at the deceleration rate A t transition into or out of a circle without gt gt gt 4 Follow Contour Velocity stopping Constrained V A A A j t accelerate or decelerate across multiple gt gt gt 5 Follow Contour Velocity moves Unconstrained Publication 1756 RM007G EN P May 2005 7 10 Multi Axis Coordinated Motion Instructions 2 Make sure this is the right choice for you Termination type Example path 0 Actual Tolerance 6 00 Description The instruction stays active until both of these happen e Command position equals target position e The vector distance between the target and actual positions is less than or equal to the Actual Position Tolerance of the coordinate system At that point the instruction is complete and a queued MCLM or MCCM instruction can start Important Make sure that you set the actual tolerance to a value that your axes can reach Otherwise the instruction
322. hen all coordinated motion has stopped MoveStatus DINT The move bit is set when coordinated motion is generating motion for any associated axes Once coordinated motion is no longer being commanded the move bit is cleared MoveTransitionStatus DINT The move transition bit is set once the blend point between two successive coordinated moves has been reach The bit remains set while the blend of the two moves into one is in process Once the blend is complete the move transition bit is cleared MovePendingStatus DINT The move pending bit is set once a coordinated motion instruction is queued Once the instruction has begun executing the bit will be cleared provided no subsequent coordinated motion instructions have been queued in the mean time In the case of a single coordinated motion instruction the status bit may not be detected by the user in RSLogix5000 since the transition from queued to executing is faster than the coarse update The real value of the bit comes in the case of multiple instructions As long as an instruction is in the instruction queue the pending bit will be set This provides the RSLogix5000 programmer a means of stream lining the execution of multiple coordinated motion instructions Ladder logic containing coordinated motion instructions can be made to execute faster when the programmer allows instructions to be queued while a preceding instruction is executing When the MovePendingStatus bit is
323. hen an Output Cam is waiting for an armed Output Cam to move beyond its cam start cam end position OutputCamLockStatus DINT A set of bits that are set when an Output Cam is locked to the Master Axis Publication 1756 RMO007G EN P May 2005 Structures A 23 Mnemonic Data Description Type OutputCamTransitionStatus DINT A set of bits that are set when the transition from the current armed Output Cam to the pending Output Cam is in process The bit number corresponds with the execution target number One bit per execution target AXIS_VIRTUAL Structure A virtual axis object is an axis with full motion planner operation but is not associated with any physical device The AXIS_VIRTUAL structure contains the following status attributes Mnemonic Data Description Type MotionStatus DINT The motion status bits for your axis Bit Number Data Type Description AccelStatus 00 DINT Acceleration Status DecelStatus 01 DINT Deceleration Status MoveStatus 02 DINT Move Status JogStatus 03 DINT Jog Status GearingStatus 04 DINT Gearing Status Homingstatus 05 DINT Homing Status StoppingStatus 06 DINT Stopping Status HomedStatus 07 DINT Homed Status PositionCamStatus 08 DINT Position Cam Status TimeCamStatus 09 DINT Time Cam Status PositionCamPendingStatus 10 DINT Position Cam Pending Status TimeCamPendingStatus 11 DINT Time Cam Pending Status GearingLockStatus 12 DINT Gearing Lock S
324. hen either another MAW Motion Arm Watch instruction or a MDW Motion Disarm Watch instruction is executed RegEventl Armedstatus DINT Set when a registration checking has been armed for registration input 1 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEventl Status DINT Set when a registration event has occurred on registration input 1 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEvent2Armedstatus DINT Set when a registration checking has been armed for registration input 2 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 2 RegEvent2Status DINT Set when a registration event has occurred on registration input 2 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 2 HomeEventArmedStatus DINT Set when a home event has been armed through execution of the MAH Motion Axis Home instruction Cleared when a home event occurs HomeEventStatus DINT Set when a home event has o
325. i Axis Coordinated Motion Instructions 7 35 Bit Name Meaning MovePendingQueueFullStatus Sets when the instruction queue is full It clears when the queue has room for a new coordinated motion instruction Note Currently Coordinated Motion only supports the queueing of one coordinated motion instruction Therefore the MovePendingStatus bit and the MovePendingQueueFullStatus bit are always the same Example Relay Ladder CLM Motion Coordinated Linear Move Coordinate System Coordinated_sys Motion Control MCLHM 3 Move Type 0 Position move_position 6 AxisO 5 0 Axis 0 0 Speed 20 POF SFY Speed Units of Maximum Accel Rate 30 Accel Units of Maximum Decel Rate 30 Decel Units of Maximum Profile S Curve Termination Type 0 Merge Disabled Merge Speed Programmed Figure 7 16 MCLM Ladder Instruction Structured Text MCLM Coordinated_sys MCLM 3 0 move position 6 5 0 0 0 20 Sofmaximum 30 sofmaximum 30 Sofmaximum scurve 0O disabled programmed Publication 1756 RM007G EN P May 2005 7 36 Multi Axis Coordinated Motion Instructions Motion Coordinated Use the MCCM instruction to initiate a two or three dimensional circular coordinated move for the specified axes within the Cartesian Circular Move MCCM coordinate system New position is defined as either an absolute or incremental position Note The dimension of the circle is defined by the number of axes contai
326. ialog Move Type Select the type of move operation This list contains Absolute Move default Incremental Move Rotary Shortest Path Move Rotary Positive Move Rotary Negative Move Absolute Master Offset and Incremental Master Offset Position Speed Enter the desired absolute command position to move to or for incremental movement the value of the distance to move from the current command position The default is 0 Enter the desired speed in the edit box The default is 0 Speed Units Select the desired speed units from the combo box This list contains Units per sec default and of Maximum Accel Rate Enter the desired acceleration rate in the edit box The default is 100 Accel Units Select the desired acceleration units from the combo box This list contains Units per sec2 default and of Maximum Decel Rate Enter the desired deceleration rate in the edit box The default is 100 Decel Units Select the desired deceleration units from the combo box This list contains Units per sec2 default and of Maximum Profile Select the desired profile from the combo box This list contains Trapezoidal default and S Curve Merge Enable merge from Cam or gear by selecting Enabled from the combo box This list contains Disabled default and Enabled If Disabled is selected then Merge Speed field is disabled Merge Speed Select the desired merge spee
327. ialog Off line The reason it is available when off line is so that you can familiarize yourself with the operation and operand values required to run the command You also have Help available Motion Direct Command Dialog On line In order to execute a Motion Direct Command you must be on line The on line dialog has the Motion Group Shutdown and Execute buttons active If you click on either of these action is taken immediately Publication 1756 RM007G EN P May 2005 8 10 Motion Direct Commands Instance Designation Active Command Axis or Group Designation Motion Direct Commands my _virtual_axis 4 lel ES Command Tree Status Text Display Area Publication 1756 RM007G EN P May 2005 orward rapezoidal isabled Figure 8 8 Motion Direct Command Dialog on line When the Motion Direct Command dialog is opened focus is given to the Command Tree In the Command list you can either type the mnemonic and the list advances to the closest match or you can scroll down the list to select a command Click on the desired command and its dialog displays At the top of the dialog in the title bar there is a number at the end of the axis or group that the command is being applied upon This is the Instance reference number This number increases by one every time a command is accessed for that axis or group The number is cleared when you execute RSLogix Located at the bottom of the dialog are th
328. iated This allows pending cam profiles to be preloaded prior to executing the initial cam This method addresses cases where immediate cams would finish before the pending cam could be reliably loaded After a Pending time cam has been configured the Time Cam Pending Status bit of the Motion Status word for the specified axis is set to 1 true When the pending new profile is initiated and becomes the Publication 1756 RM007G EN P May 2005 3 104 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 current profile Time Cam Pending Status bit is immediately cleared as shown below Current New Profile Profile Axis Position Time Cam ON Pending Status OFF Pending New Time Cam Configured Figure 3 40 Time Cam Pending Stopping a Cam Like other motion generators jog move gear etc active cams must be stopped by the various stop instructions MAS or MGS Cam motion must also stop when the ControlLogix processor changes OS modes The MAS instruction in particular must be able to specifically stop the camming process This behavior should be identical to the MAS functionality that specifically stops a gearing process Merging from a Cam Like other motion generators jog move gear etc active cams must also be compliant with motion merge functionality Moves and Jogs in particular must be able to merge from active camming This behavior should be identical to the merge
329. ical signals for one or more of the feedback channels e g A and A B and B or Z and Z are at the same level both high or both low Under normal operation the differential signals are always at opposite levels The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive e Loss of feedback power or feedback common electrical connection between the servo module or drive and the feedback device This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear DriveHardFault DINT Set when the drive detects a serious hardware fault OverspeedFault DINT Setwhen the speed of the axis as determined from the feedback has exceeded the overspeed limit which is typically set to 150 of configured velocity limit for the motor OverloadFault DINT Set when the load limit of the motor drive has been exceeded and persists This attribute is often tied into the IT limit of the drive DriveOvertempFault DINT Set when the drive s temperature exceeds the drive shutdown temperature MotorOvertempFault DINT Set when the motor s temperature exceeds the motor shutdown temperature DriveCoolingFault DINT Set when the ambient temperature surrounding the drive s control circuitry temperature exceeds the drive ambient shut down temperature DriveControlVoltageFault DINT Set when the powe
330. ied to execute a cam profile while it is being calculated 31 Cam Profile Being Used The cam profile array you tried to execute is in use 32 Cam Profile Not Calculated The cam profile array you tried to execute has not been calculated 33 Position Cam Not Enabled It attempted to execute an MAH instruction without a position cam in process 34 Registration in Progress A MAH instruction is trying to start while a registration is already running 35 Illegal Execution Target Either the Logix controller or the Output Cam module does not support the specified Output Cam axis input or output 36 Illegal Output Cam Either the size of the Output Cam array is not supported or the value of one of its members is out of range 37 Illegal Output Compensation Either the size of the Output Compensation array is not supported or the value of one of its members is out of range 38 Illegal Axis Data Type The axis data type is illegal It is incorrect for the operation 39 Process Conflict You have a conflict in your process Test and Tune cannot be run at the same time 40 Drive Locally Disabled You are trying to run a MSO or MAH instruction when the drive is locally disabled 41 Illegal Homing Config The Homing configuration is illegal You have an absolute homing instruction when the Homing sequence is not immediate 42 Shutdown Status Timeout The MASD or MGSD instruction has timed out because it did not receive the shutdown status bit Usually a programmatic p
331. in seconds If mode is Pulsed or Inverted and Pulsed and CycleTime is less than or equal to 0 an Illegal Output Compensation error results DutyCycle REAL The percent of CycleTime in which the pulse is to be turned on on duty A value of 50 represents 50 on duty A value of less than 0 or greater than 100 returns an Illegal Output Compensation error Publication 1756 RMO007G EN P May 2005 Appendix B Structured Text Programming Introduction This appendix describes issues that are unique with structured text programming Review the information in this appendix to make sure you understand how your structured text programming will execute For information about See page Structured Text Syntax B 1 Assignments B 2 Expressions B 4 Instructions B 11 Constructs B 12 Comments B 28 Structured Text Syntax Structured text is a textual programming language that uses statements to define what to execute Structured text is not case sensitive Structured text can contain these components Term Definition Examples assignment Use an assignment statement to assign values to tags tag expression see page B 2 The operator is the assignment operator Terminate the assignment with a semi colon expression see page B 4 An expression is part of a complete assignment or construct statement An expression evaluates to a number numerical expression or to a true or false state BOOL expression
332. ing instruction when the Homing sequence is not immediate 42 The MASD or MGSD instruction has timed out because it did not receive the shutdown status bit Usually a programmatic problem caused when either MASD or MGSD is followed by a reset instruction which is initiated before the shutdown bit has been received by the shutdown instruction 43 You have tried to activate more motion instructions than the instruction queue can hold 44 You have drawn a line with three 3 points and no centerpoint viapoint or plane centerpoint can be determined 45 You have specified one 1 point radius or drawn a line centerpoint viapoint and no centerpoint radius or plane centerpoint viapoint can be determined 46 The programmed centerpoint is not equidistant from start and end point 47 Call Rockwell Automation Technical Support 48 Call Rockwell Automation Technical Support 49 R lt 0 01 R is basically too small to be used in computations 50 The coordinate system tag is not associated with a motion group 51 You have set your Termination Type to Actual Position with a value of 0 This value is not supported 52 At least one axis is currently undergoing coordinated motion in another coordinated system 54 You have set the Decel Rate to zero This is an illegal value for Decel Rate which inhibits start motion STATE SINT The execution state is always set to 0 when the controller sets the EN bit for a motion instruction
333. instruction executes a time cam profile set up by a previous Motion Calculate Cam Profile MCCP instruction or alternatively by the RSLogix 5000 Cam Profile Editor Time cams provide the capability of implementing complex motion profiles other than the built in trapezoidal and S Curve motion profiles provided No maximum velocity acceleration or deceleration limits are used in this instruction The speed acceleration and deceleration of the slave axis are completely determined by the designated cam profile derived from the associated cam table ATTENTION The maximum velocity acceleration or deceleration limits established during axis configuration do not apply to electronic camming Camming Direction Cams can be configured to add or subtract their incremental contribution to the axis command position Control over this behavior is via the Direction parameter Camming in the Same Direction When Same is selected or entered as the Direction for the MATC instruction the axis position values computed from the cam profile are added to the command position of the axis This is the most common operation as the profile position values are used just as entered in the original cam table That is consecutive increasing profile values result in axis motion in the positive direction and vice versa Publication 1756 RM007G EN P May 2005 3 98 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 Camming in the
334. instruction status parameters Structured Text The operands are the same as those for the relay ladder MSO instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis servo action has been successfully enabled and the drive enable and servo active status bits have been set ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis The Motion Servo On MSO instruction directly activates the drive and enables the configured servo loops associated with a physical servo axis It can be used anywhere in a program but should not be used while the axis is moving If this is attempted the MSO instruction generates an Axis in Motion error The MSO instruction automatically enables the specified axis by activating the drive and by activating the associated servo loop The resulting state of the axis is referred to the Servo Control state The most common use of this instruction is to activate the servo loop for the specified axis in its current position in preparation for commanding motion Publication 1756 RM007G EN P May 2005 2 4 Motion State Instructions To successfully execute a MSO instruction the tar
335. int it is difficult to program a bad arc While it is still certainly possible to program an arc which is not the intended one a Circular Programming Error runtime fault occurs with an arc if the three points are co linear all three on the same line or not unique two or more points are the same In addition the via point implies that the direction of the arc and thus it is not necessary and is ignored to specify the direction MCCM Using Radius Circle Type The following examples show the use of the MCCM with a Circle Type of Radius and a Move Type of Absolute first example and Incremental second example to arrive at the same result The basic assumptions are e The 2 axes Axis0 and Axis1 are both members of the coordinate system Coordinated_sys e Axis0 and Axis1 are orthogonal to each other e Coordinated_sys is initially at 10 4 1 3 units Move Coordinated_sys along an arc to 11 2 6 6 units with a radius of 15 units at the vector speed of 10 0 units per second with the acceleration and deceleration values of 5 0 units per second The following graph shows the paths generated by the preceding information using a Radius value of 15 units and 15 units x PI RNAS NE NEE RRR NR NR a aAA 2 j sa J e al g AS X a 112 6 End N l NG x A 104 13 Sart 2 101 12 4 4 12 x Figure 7 24 Plot of Path with Circle Type of Radius This path can be achieved by using an MC
336. ion 4 The instruction tried to execute on an axis whose servo loop is closed 5 The instruction tried to execute on an axis whose servo loop is not closed 6 The axis drive is enabled 7 The axis is in the shutdown state 8 The axis is not configured as a servo position only or virtual axis type 9 The instruction tried to execute in a direction that aggravates the current overtravel condition 10 The master axis reference is the same as the slave axis reference 11 The axis is not configured 12 Messaging to the servo module failed 13 The instruction tried to use a parameter that is outside the range limit 14 The instruction can not apply the tuning parameters because of an error in the run tuning instruction 15 The instruction can not apply the diagnostic parameters because of an error in the run diagnostic test instruction 16 The instruction tried to execute with homing in process 17 The instruction tried to execute a rotary move on an axis that is not configured for rotary operation 18 The axis type is configured as unused 19 The motion group is not in the synchronized state This could be caused by a missing servo module or a misconfiguration 20 The axis is in the faulted state 21 The group is in the faulted state 22 An MSO Motion Servo On or MAH Motion Axis Home instruction was attempted while the axis was in motion 23 An instruction attempted an illegal change of dynamics 24 The controller tried
337. ion Position Output Bit Inactive Position es Position o E _ Position Enable Position ES Position Position and Enable Position Position Output bit initially set Output bit initially not set Figure 5 12 Latched Position Unlatch Type Depending on the selected UnlatchType the corresponding output bit is reset according to the following table Unlatch Type Behavior Inactive The output bit is not changed Position The output bit is reset when the axis leaves the compensated cam range Duration The output bit is reset when the duration expires Enable The output bit is reset when the enable bit becomes inactive Position and Enable The output bit is reset when the axis leaves the compensated cam range or the enable bit becomes inactive Duration and Enable The output bit is reset when the duration expires or the enable bit becomes inactive Publication 1756 RMO007G EN P May 2005 Compensated Cam Enable Bit Output Bit Inactive Position Enable Position and Enable Compensated Cam Enable Bit Output Bit Duration Duration and Enable Motion Event Instructions 5 27 The following diagram shows the effect of the selected unlatch type on the output bit for different compensated cam and enable bit combinations as function of position E Position piihi Position Position E Position Position Position Position A Pos
338. ion Event 2 Status HomeEventArmedStatus 06 DINT Home Event Armed Status HomeEventStatus 07 DINT Home Event Status Reserved 08 31 ActualPosition REAL Actual Position in Position Units Publication 1756 RMO007G EN P May 2005 Structures A 7 Mnemonic Data Description Type StrobeActualPosition REAL Strobe Actual Position in Position Units StartActualPosition REAL Start Actual Position in Position Units AverageVelocity REAL Average Velocity in Position Units Sec ActualVelocity REAL Actual Velocity in Position Units Sec ActualAcceleration REAL Actual Acceleration in Position Units Sec2 WatchPosition REAL Watch Position in Position Units RegistrationPosition REAL Registration 1 Position in Position Units Registration2Position REAL Registration 2 Position in Position Units Registration Time DINT Lower 32 bits of CST time RegistrationZTime DINT Lower 32 bits of CST time InterpolationTime DINT CST time to interpolate to InterpolatedActualPosition REAL Interpolated Actual Position in Position Units MasterOffset REAL Master Offset in Master Position Units StrobeMasterOffset REAL Strobe Master Offset in Master Position Units StartMasterOffset REAL Start Master Offset in Master Position Units CommandPosition REAL Command Position in Position Units StrobeCommandPosition REAL Strobe Command Position in Position Units StartCommand
339. ion status parameters Structured Text The operands are the same as those for the relay ladder MSF instruction Description Motion State Instructions 2 7 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis servo action been successfully disabled and the drive enable and servo active status bits have both been cleared ER Done Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis The Motion Servo Off MSF instruction directly and immediately turns off drive output and disables the servo loop on any physical servo axis This places the axis in the Axis Ready state The MSF instruction also disables any motion planners that may be active at the time of execution The MSF instruction requires no parameters simply enter or select the desired axis If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis You can use the MSF instruction to turn servo action OFF when you must move the axis by hand Since the position continues to be tracked even with servo action OFF When the servo loop is turned ON again by
340. iption Speed units BOOLEAN immediate Units used to display the Speed value Select either 0 units per sec 1 of maximum speed Accel units BOOLEAN immediate Units used to display the Acceleration value Select either 0 units per sec 1 of maximum acceleration Decel units BOOLEAN immediate Units used to display the Deceleration value Select either 0 units per sec 1 of maximum deceleration Structured Text The operands are the same as those for the relay ladder MCD instruction For the operands that require you to select from available options enter your selection as f This operand Has these options which you MCD Axis MotionControl MotionType ChangeSpeed enter as text or enter as a number Speed ChangeAccel AccelRate C MotionType jog 0 hangeDecel DecelRate move 1 SpeedUnits AccelUnits ChangeSpeed no 0 DecelUnits yes 1 ChangeAccel no 0 yes 1 ChangeDecel no 0 yes 1 SpeedUnits unitspersec 0 ofmaximum 1 AccelUnits unitspersec2 0 ofmaximum 1 DecelUnits unitspersec2 0 ofmaximum 1 Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 53 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 I
341. irection This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Publication 1756 RMO007G EN P May 2005 Jog Profile Type The Profile selection of the MAJ instruction sets the type of motion profile used for the jog The ControlLogix motion controller provides trapezoidal linear acceleration and deceleration and S Curve controlled jerk velocity profiles A guide to the effects of these motion profiles on various application requirements is given below Motion Move Instructions 3 19 Velocity Profile Effects Profile ACC DEC Motor Priority of Control Type Time Stress Highest to Lowest Trapezoidal Fastest Worst Acc Dec Velocity Position S Curve 2X Slower Best Jerk Acc Dec Velocity Position Trapezoidal The trapezoidal velocity profile is the most commonly used profile since it provides the most flexibility in programming subsequent motion and the fastest acceleration and deceleration times The maximum change in velocity is specified by acceleration and deceleration Since jerk is not a factor for trapezoidal profiles it is considered infin
342. is NULL If the Output parameter references an output module the IO_MAP parameter points to the map structure for the module The MAOC instruction can then determine if the Output parameter is associated with a 1756 OB16IS module by checking the module type stored in the driver table Field Size Description Value 4 bytes Data values for un scheduled output bits 0 Off 1 On Mask A bytes Selects which output bits are to be scheduled Only the first eight bits 0 7 can be scheduled 0 Not scheduled 1 Scheduled Field Size Description Schedule ID 1 byte Valid ID s are 1 16 Any other value indicates that the schedule is not to be considered Sequence Number 1 byte The OB16IS will maintain a copy of the schedule A change in sequence number will tell the OB16IS to process the data in this schedule Point ID 1 byte Indicates the output bit associated with this schedule Entered as a value 00 07 Point Value 1 byte Next state of output bit specified in Point ID 0 Off 1 On Time Stamp A bytes The lower 32 bits of CST Indicates when to change the state of the specified output bit The Value and Mask fields are processed and all unscheduled data bits are moved to the module output data store This data is written to the output terminals after all schedules have been processed Each schedule is processed The schedule is not considered if e The Schedule ID is not in the rang
343. isplay a reminder of the type of value a specific operand requires place the cursor on the operand in question and a tool tip is displayed for that operand in the status bar e CO I JN MCCM_Move AMCLM_Move Enter operand of type MOTION_INSTRUCTION Figure 7 58 Status Bar for the Motion Control Operand of the MCSR Instruction Publication 1756 RM007G EN P May 2005 7 98 Multi Axis Coordinated Motion Instructions MCSR Motion Coordinated Shutdown Reset N Coordinate System i N Motion Control A gt MCSR CoordinateSystem MotionControl Description Publication 1756 RMO007G EN P May 2005 Relay Ladder Operand Type Format Description Coordinate COORDINATE_SYSTEM tag Name of the axis which provides System the position input to the Output Cam Ellipsis launches Axis Properties dialog Motion MOTION_INSTRUCTION tag Structure used to access instruction Control status parameters Structured Text The operands are the same as those for the relay ladder MCSR instruction The Motion Coordinated Shutdown Reset MCSR instruction initiates a reset of all axes within a specified coordinate system from a shutdown state to an axis ready state MCSR also clears any axis faults Coordinate System The Coordinate System operand specifies the set of motion axes that define the dimensions of a Cartesian coordinate system For this release the
344. istration input event checking for the specified axis This instruction has the affect of clearing both the RegEventStatus and the RegArmedEventStatus bits The In Process bit of the controlling Motion Arm Registration instruction if any is cleared as a result of executing the MDR instruction Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis to perform AXIS_GENERIC operation on AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access instruction control INSTRUCTION status parameters Input UINT32 1or2 Specifies the Registration Input to Number select 1 Registration 1 Position 2 Registration 2 Position Structured Text The operands are the same as those for the relay ladder MDR instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when axis watch event checking has been successfully disarmed ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis The Motion Disarm Registration MDR instruction cancels registration event checking established by a previous Motion Arm Registration Motion Event Instructions 5 17 instruction Only the registration ch
345. ite and is shown as a vertical line in the following graph Figure 3 5 Trapezoidal Accel Decel Time S Curve S Curve velocity profiles are most often used when the stress on the mechanical system and load needs to be minimized The S Curve profile however sacrifices acceleration and deceleration time compared to the trapezoidal The maximum rate at which velocity can accelerate or decelerate is further limited by jerk Publication 1756 RM007G EN P May 2005 3 20 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 The Jerk rate is calculated as follows Accel Jerk Max Accel Max Velocity Decel Jerk Max Decel Max Velocity Axis acceleration and deceleration rate calculations are performed when an Axis Move Jog Change Dynamics or Stop of type Move or Jog is initiated The calculated Jerk Rate produces triangular acceleration and deceleration profiles as shown in the following diagram Velocity Figure 3 6 S Curve Accel Decel Time Merged Jogs Jogs can also be used to terminate the motion produced by other motion instructions in progress such that the axis continues moving at the specified speed The effect of this operation is to turn all motion in progress on the specified axis into a pure jog To initiate a Merged Jog set Merge to Enabled and define the type of merge note that the direction is automatically determined Enter values or tag variables for the desired Speed Accel and De
346. ition i Position mm f i Mina ma mm te eee Position Position Position Output bit initially set Figure 5 13 Unlatch as Function of Position and as function of time Time Time Output bit initially not set Time Time Output bit initially set Figure 5 14 Unlatch as a Function of Time Left and Right Cam Positions Output bit initially not set The Left and Right cam positions define the range of an Output Cam element If the latch or unlatch type is set to Position or Position Publication 1756 RM007G EN P May 2005 5 28 Motion Event Instructions Publication 1756 RMO007G EN P May 2005 and Enable with the enable bit active the left and right cam positions specify the latch or unlatch position of the output bit Duration If the unlatch type is set to Duration or Duration and Enable with the enable bit active the cam duration specifies the time between the latching and the unlatching of the output bit Enable Type Depending on the selected enable type the enable bit is an element of either the input inverted input output or inverted output Output Cam Array Checks If you select an output bit less than 0 or greater than 31 the Output Cam element is not considered and the user is warned with an instruction error Illegal Output Cam If you select a latch type less than 0 or greater than 3 a value of Inactive is u
347. ition 4 _ 11 2 6 6 0 vIA 0 0 10 Units per sec 5 Units per sec2 5 Units per sec2 Trapezoidal Disabled Current Move Type is Absolute Position defined in absolute units Circle Type is Via Via position defined in absolute units as 3 7 8 6 Direction is Clockwise Figure 7 22 MCCM Ladder Instruction with Operand Values of Via and Absolute MCCM Instruction Move Type Incremental MCCM Motion Coordinated Circular Move Coordinate System Motion Control Move Type Position AxisO Axis Circle Type Via Center Radius Direction Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed Coordinated_sys E MCCM 2 1 MCCM_Move_position 5 21 6 ie 0 VIAN 0 10 Units per sec Units per sec2 Units per sec2 Trapezoidal 0 Disabled Current Move Type is Incremental D Position defined as an R gt incremental distance from start point of 10 4 1 3 Circle Type is Via Via position is defined as an incremental distance of 14 1 9 9 from start point of 10 4 1 3 Direction is Clockwise Publication 1756 RM007G EN P May 2005 7 48 Multi Axis Coordinated Motion Instructions Figure 7 23 MCCM Ladder Instruction with Operand Values of Via and Incremental Note Since there are three points the current position of the axes the specified end point and the specified via po
348. itions are true use an EXIT statement v rest of the routine Enter this structured text pos 0 While pos lt 100 lt gt targetvalue do amp structarray pos value pos pos 2 String tag DATA pos SINT array pos end while Publication 1756 RM007G EN P May 2005 B 24 Structured Text Programming Example 2 If you want this Move ASCII characters from a SINT array into a string tag In a SINT array each element holds one character Stop when you reach the carriage return 1 Initialize Element_number to 0 2 Count the number of elements in SINT_array array that contains the ASCII characters and store the result in SINT_array_size DINT tag 3 If the character at SINT_array element_number 13 decimal value of the carriage return then stop 4 Set String_taglelement_number the character at SINT_array element_number 5 Add 1 to element_number This lets the controller check the next character in SINT_array 6 Set the Length member of String_tag element_number This records the number of characters in String_tag so far 7 If element_number SINT_array_size then stop You are at the end of the array and it does not contain a carriage return 8 Go to 3 Publication 1756 RMO007G EN P May 2005 Enter this structured text element number 0 SIZE SINT array 0 SINT array size While SINT array element number lt gt 13 do String tag DA
349. its Units per sec Accel Rate 50 Accel Units Units per sec2 Decel Rate 50 Decel Units Units per sec2 Profile S Curve Merge Enabled Merge Speed Current Figure 3 12 MAM Ladder Example Structured Text MAM Axis1 MAM_1 0 100 100 Unitspersec 50 Unitspersec2 50 Unitspersec2 Scurve Enabled Current Publication 1756 RM007G EN P May 2005 3 40 Motion Move Instructions Motion Axis Gear MAG MAG Motion Axis Gear Slave Axis Master Axis Motion Control Direction Ratio Slave Counts Master Counts Master Reference Ratio Format Clutch Accel Rate Accel Units Publication 1756 RM007G EN P J J J J J FTT Operands May 2005 The Motion Axis Gear MAG instruction provides electronic gearing between any two axes in a specified direction and at a specified ratio When called the specified Slave Axis is geared to the Master Axis at the specified Ratio e g 1 345 or Slave Counts to Master Counts e g 1 3 The MAG instruction supports specification of the gear ratio in one of two different formats Real or Fractional as determined by the Ratio Format input selection The direction of Slave Axis motion relative to the Master Axis is defined by a very flexible Direction input parameter The gearing direction may be explicitly set as the Same or Opposite or set relative to the current gearing direction as Reverse or Unchanged Note also that the value for Ratio is sign sensitive The Mas
350. kes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set after the hookup test process has been successfully executed ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared after the diagnostic test process is complete or terminated by a stop command shutdown or a servo fault PC Process Complete Bit 27 It is set after the diagnostic test process has been successfully completed The Motion Run Hookup Diagnostics MRHD instruction is used to execute various test diagnostics on the specified axis to test the integrity and in some cases the polarity of servo field connections There are currently test diagnostics supporting drive hookup encoder Publication 1756 RMO007G EN P May 2005 6 20 Motion Configuration Instructions Publication 1756 RMO007G EN P May 2005 hookup marker hookup and motion module OK contact hookup During some of these test processes the motion module generates output to the external drive to produce a small amount of motion Measurements made during some of these hookup diagnostic tests are saved as output configuration parameters that also serve as input data for a subsequent MAHD Motion Apply Hookup Diagnostic instruction MRHD require
351. l You have set the Decel Rate to zero This is an illegal value for Decel Rate which inhibits start motion 65 The selected axis exceeded the The axis moved too far and the controller can t store the position The range for position maximum system travel limits depends on the conversion constant of the axis position overflowed Axis Properties My_Axis_X Homing Hookup Tune Dynamics Gains Output Limits Offset Fault Actions Taa General Motion Planner Units Drive Motor Motor Feedback Aux Feedback Conversion Positioning Mode Linear v P Drive Counts 1 0 inches Conversion Constant 2097152 0 ased on 2097152 Counts Motor Rev Maximum positive position 2 147 483 647 conversion constant of the axis Maximum negative position 2 147 483 648 conversion constant of the axis Suppose you have a conversion constant of 2 097 152 counts inch In that case e Maximum positive position 2 147 483 647 2 097 152 counts inch 1023 inches e Maximum negative position 2 147 483 648 2 097 152 counts inch 1023 inches To prevent this error e Set up soft travel limits that keep the axis within the position range e One way to get more travel is to use the max negative or max positive position as your home position Example Max 0 Max If you set the home 0 is in the middle of the position here travel This gives you twice the travel that homing to 0 wo
352. l an external drive In this state e the servo module drive enable output is active e position servo action is disabled Servo control This operating state allows the servo module to perform closed loop motion In this state e the servo module drive enable output is active e servo action is enabled e the axis is forced to maintain the commanded servo position Axis faulted In this operating state a servo fault is present and the status of the drive enable output the action of the servo and the condition of the OK contact depend on the faults and fault actions that are present Shutdown This operating state allows the OK relay contacts to open a set of contacts in the E stop string of the drive power supply In this state e the servo module drive enable output is inactive e servo action is disabled e the OK contact is open Motion Servo On MSO Use the MSO instruction to activate the drive amplifier for the specified axis and to activate the axis servo control loop Publication 1756 RMO007G EN P May 2005 Motion State Instructions 2 3 Operands MSO Motion Servo On Axis il Motion Control YYY MSO Axis MotionControl Description Relay Ladder Operand Type Format Description Axis AXIS_GENERIC tag Name of the axis to perform operation on AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION
353. l faults associated with the axes in the group are cleared and any OK relay contacts of motion modules associated with the specified group are closed Publication 1756 RM007G EN P May 2005 4 10 Motion Group Instructions Operands MGSR Motion Group Shutdown Reset Group Motion Control N gt KD R gt MGSR Group MotionControl Description Publication 1756 RM007G EN P May 2005 Relay Ladder Operand Type Format Description Group MOTION_ tag Name of the group of axes to perform GROUP operation on Motion MOTION_ tag Structure used to access instruction control INSTRUCTION status parameters Structured Text The operands are the same as those for the relay ladder MGSR instruction MOTION_INSTRUCTION Structure Mnemonic EN Enable Bit 31 Description The enable bit indicates when the instruction is enabled It remains set until servo messaging completes and the rung condition in goes false DN Done Bit 29 The done bit indicates when the instruction resets the group of axes from the shutdown operating state ER Error Bit 28 The error bit indicates when the instruction detects an error such as if messaging to the servo module failed The Motion Group Shutdown Reset MGSR instruction takes all the axes in the specified group out of the Shutdown state by clearing all axis faults and closing any associated OK solid state relay conta
354. late Cam Profile MCCP Extended Error codes for the Parameter Out of Range 13 error code work a little differently Rather than having a standard enumeration the number that appears for the Extended Error code refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MRP instruction an extended error code of 4 would refer to the Position operand s value You would then have to check your value with the accepted range of values for the instruction None When the input conditions are true the controller changes the position of axis1 Relay Ladder MA Motion Redefine Position Axis Motion Control Type Absolute Actual Position Select Position 75 Figure 3 21 MRP Ladder Example Structured Text MRP Axis1 MRP_1 Absolute Actual 75 The Motion Calculate Cam Profile MCCP instruction calculates a cam profile based on an array of cam points An array of cam points may be established programmatically or by use of the RSLogix 5000 Cam Profile Editor Each cam point in the cam array consists of a slave position value a master position position cam or time time cam value and an interpolation type linear or cubic The resulting cam profile may be used by an Motion Axis Position Cam MAPC or Motion Axis Time Cam MATC instruction to govern the motion of a slave axis according to master position or time Publication 1756
355. le Mnemonic Data Type Description Status DINT The status parameter is used to indicate that the Cam Profile array element has been calculated If execution of a camming instruction is attempted using an uncalculated element in a Cam Profile the instruction produces an error Value Description 0 Cam profile element has not been calculated 1 Cam profile element is being calculated 2 Cam profile element has been calculated n Cam profile element has been calculated and is currently being used by n 2 MAPC and MATC instructions Publication 1756 RMO007G EN P May 2005 Structures A 33 OUTPUT_CAM Structure The OUTPUT_CAM data type is an array that defines the specifics for each Output Cam element The OUTPUT_CAM contains the following members Mnemonic Data Type Description OutputBit DINT You must select an output bit within the range of 0 to 31 A selection of less than 0 or greater than 31 results in an Illegal Output Cam error and the cam element is not considered LatchType DINT The Latch Type determines how the corresponding output bit is set A value of less than 0 or greater than 3 results in an Illegal Output Cam error and a latch type of Inactive is used Value Description 0 Inactive The output bit is not changed 1 Position The output bit is set when the axis enters the compensated cam range 2 Enable The output bit is set when the enable bit bec
356. le Publication 1756 RM007G EN P May 2005 1 4 Motion Concepts This process may repeat several times if the instruction requires multiple messages 6 If the controller Then Does not detect an error when the The controller sets the DN bit if all instruction executes messaging to the module is completed Detects an error when the instruction The controller sets the ER bit and executes stores an error code in the control structure 7 The next time the rung becomes false after either the DN or ER bit sets the controller clears the EN bit 8 When the rung becomes true the controller can execute the instruction again EN Scan Scan Execution Scan Sean rung rung complete rung rung true false false true Figure 1 2 Message Type Instructions Rung Conditions Process Type Instructions Process type motion instructions initiate motion processes that can take an indefinite amount of time to complete Examples of process type instructions include the e Motion Arm Watch Position MAW instruction e Motion Axis Move MAM instruction Process type instructions work as follows 1 When the rung that contains the motion instruction becomes true the controller e Sets the enable EN bit e Clears the done DN bit e Clears the error ER bit e Clears the process complete PC bit Publication 1756 RMO007G EN P May 2005 Motion Concepts 1 5 e Sets the in process IP bit 2 T
357. le array is special and used for data integrity checks For this reason the MCCP must always specify the cam profile with the starting index set to 0 Publication 1756 RM007G EN P May 2005 3 68 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 This first cam profile element Status member can have the following values Status Variables Description 0 Cam profile element has not been calculated 1 Cam profile element is being calculated 2 Cam profile element has been calculated n Cam profile element has been calculated and is currently being used by 7 2 MAPC or MATC instructions Linear and Cubic Spline Interpolation The resultant calculated cam profiles are fully interpolated This means that if the current master position or time does not correspond exactly with a point in the cam array used to generate the cam profile the slave axis position is determined by linear or cubic interpolation between adjacent points In this way the smoothest possible slave motion is provided The MCCP instruction accomplishes this by calculating coefficients to a polynomial equation that determines slave position as a function of master position or time Calculating the Cam Profile Before calculating a cam profile on a specified axis the MCCP instructions first checks if the cam profile array has been calculated by checking the value of the first cam profile element s Status member If the Status va
358. le for the specified axis The Axis jogs at the Forward or Reverse direction at the steady state speed specified by the parameter Speed The motion control s jog profile generator handles acceleration or deceleration of the axis to the steady state jog speed using the specified Accel and Decel values and the profile type given by the Profile Parameter The values for Speed Acceleration and Deceleration may be specified in user defined units Speed Units Accel Units Decel Units or in of maximum values Max Speed Max Accel Max Decel determined during configuration The MAJ instruction may also be used to convert any current axis motion into a pure jog motion profile by specifying the Merge option If merging is enabled the Merge Speed option may be used to specify the speed of the Jog to be either the programmed Speed value or the Current speed of the axis An axis jog can be stopped by using the Motion Axis Stop MAS instruction or by specifying a speed of zero with the MAJ instruction Motion Move Instructions 3 15 Motion Axis Jog Axis Motion Control Direction Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Merge Merge Speed lt lt Less MAJ E E PT PEPA PA PO N i R gt Operands Relay Ladder Operand Type Format Description Axis AXIS_VIRTUAL tag Name of the axis to perform AXIS_GENERIC operation on AXIS_SERVO AXIS_SERVO_
359. line and Coordinate System Auto Tag Update is enabled Set Targets Actuals This button automatically copies the actual position Button values to the Target Position Column The selected Move type governs the appearance and the availability of the Set Targets Actuals button When the Move Type is Absolute the target column is entitled Target Position and when the Move Type is Incremental the target column is entitled Target Increment and the Set Targets Actuals button is disabled Grayed out Publication 1756 RM007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 31 MCLM is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MCLM Error Codes ERR Code Error Message Description 3 Execution Collision Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification 5 Servo Off State The servo loop of at least one axis is not closed See the Extended Error section for more information about this error 7 Shutdown State At least one axis i
360. lly stops a gearing process Merging from a Cam Like other motion generators jog move gear etc active cams must also be compliant with motion merge functionality Moves and Jogs in particular must be able to merge from active camming This behavior should be identical to the merge functionality applied to a gearing process Fault Recovery Sometimes it is necessary to respond to an axis fault condition without loosing synchronization between a master and slave axis that are locked in a cam relationship With an active cam there are a couple ways to handle axis faults Motion Move Instructions 3 89 Create a virtual axis and cam everything to it and if necessary gear this virtual master axis to actual master axis of the machine Set the various fault actions for all axes to Status Only When an axis fault occurs e g a drive fault an application program monitoring the axes fault status detects the fault and does a controlled stop of all active axes by stopping the virtual master axis At the profiler level everything is still fully synchronized Use the following error on faulted axis to determine how far it is out of position Reset the fault on the faulted axis bring into position at a controlled speed using the MAM instruction and the computed following error Finally start moving virtual master axis Same configuration as above but in this case when the slave axis faults the axis fault action disables the drive This
361. locity Time Figure 6 2 Tuning Velocity Profile when True If the External Vel Servo Drive configuration bit parameter is FALSE indicating interface to an external torque servo drive only one pulse is applied to the axis The tuning velocity profile is shown below Tune Velocity Time Figure 6 3 Tuning Velocity Profile when False The axis configuration parameters that MRAT generates as output depend on the External Drive configuration If the External Vel Servo Drive configuration bit parameter is TRUE indicating interface to an Publication 1756 RM007G EN P May 2005 6 10 Motion Configuration Instructions external velocity servo drive the following output parameters are generated Axis Parameter Data Type Units Meaning Tune Status Real Status Report of the Tuning Process Tune Accel Time Real seconds Measured Acceleration Time of Tuning Profile Tune Decel Time Real seconds Measured Deceleration Time of Tuning Profile Tune Accel Real pos units sec Calculated Acceleration Time of Tuning Profile Tune Decel Real pos units sec Calculated Deceleration Time of Tuning Profile Tune Velocity Real mV KCPS Measured Velocity Scaling factor of Scaling axis Drive Motor Encoder system Tune Rise Time Real mV KCPS Measured Rise Time of Tuning Step Response Profile Tune Velocity Real Hertz Computed Bandwidth of External Bandwidth Velocity Servo Drive If the External Vel Servo
362. lue is either 0 or 2 the MCCP proceeds with the calculation of the cam profile When the cam profile array has been completely calculated the MCCP instruction sets the first cam profile element s Status value to being calculated or 1 and then sets the Status value of all other cam profile elements to being calculated As the calculation proceeds individual cam profile members Status values are set to calculated or 2 When all elements in the cam profile array have been calculated the first cam profile element s Status value is also set to calculated However if an MCCP instruction is executed with an initial cam profile Status value of 1 then the cam profile is currently being calculated by another MCCP instruction and the MCCP instruction errors If the Status value is gt 2 then the cam profile is being actively used by an MAPC or MATC instruction process and the MCCP instruction errs Start Slope and End Slope To facilitate a smooth entry into and exit from a cubic cam profile slope control is provided The Start Slope and End Slope parameters determine the initial rate of change of the slave relative to the master Motion Move Instructions 3 69 These values are used in the cubic spline calculations performed on the cam array The diagram below the master slave slope relationship Cam Profile Slave Axis Position 4 Master Axis Start Slope End Slope postion Figure 3 22 Start and En
363. lues of 5 0 units per second Publication 1756 RMO007G EN P May 2005 7 46 Multi Axis Coordinated Motion Instructions Publication 1756 RM007G EN P May 2005 The following graph shows the path generated by the preceding information 3 3 3 0 Via Nay A 112 j End J f f 104 4 3 Sart EUA NA ss SS Figure 7 21 Plot of Path of MCCM with Operands of Via and Absolute The vector speed of the selected axes is equal to the specified speed in the units per second or percent of the maximum speed of the coordinate system Likewise the vector acceleration and deceleration is equal to the specified acceleration deceleration in the units per second or percent of maximum acceleration of the coordinate system This path can be achieved by using an MCCM instruction in the Clockwise direction with a Move Type Absolute or with a Move Type Incremental When a Circle Type of Via is chosen the Via Center Radius position defines a point through which the arc must pass Multi Axis Coordinated Motion Instructions 1 47 MCCM Instruction Move Type Absolute Circle Type Via MCCM Motion Coordinated Circular Move Coordinate System Motion Control Move Type Position AxisO0 Axis Circle Type Via Center Radius Direction Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed Coordinated_sys L MCCM 2 0 MCCM_Move_pos
364. ly after all of these have happened e The axis has changed to inhibited or uninhibited e All uninhibited axes are ready e The connections to the motion module are running again PhysicalAxisFault DINT Set when one or more fault conditions have been reported by the physical axis The specific fault conditions can then be determined through access to the fault attributes of the associated physical axis A PhysicalAxisFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ModuleFault DINT Set when a serious fault has occurred with the motion module associated with the selected axis Usually a module fault affects all axes associated with the motion module A module fault generally results in the shutdown of all associated axes Reconfiguration of the motion module is required to recover from a module fault condition A ModuleFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ConfigFault DINT Set when an update operation targeting an axis configuration attribute of an associated motion module has failed Specific information concerning the Configuration Fault may be found in the Attribute Error Code and Attribute Error ID attributes associated with the motion module A ConfigFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the
365. m cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 69 Error Codes MCCM Error Codes ERR Code Error Message Description 3 Execution Collision Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification 5 Servo Off State The servo loop of at least one axis is not closed See the Extended Error section for more information about this error 7 Shutdown State At least on axis is in the shutdown state See the Extended Error section for more information about this error 8 Axis Type Not Servo At least one axis is not configured as a servo axis type See the Extended Error section for more information about this error 9 Overtravel Condition At least one axis is trying to move in a direction that violates the current overtravel condition 11 Axis Not Configured At least one axis is not configured to a physical motion module or has not been assigned to a Motion Group See the Extended Error section for more information about this error 13 Parameter Out
366. m the actual position of the master axis as shown below Slave Axis Command Position Electronic Gearing Master Axis Actual Position Master Slave Gear Ration Figure 3 13 Slaving to Actual Position Actual position is the current position of a physical axis as measured by the axis encoder This is the only valid selection when the master axis Axis Type is configured as Feedback Only Slaving to the Command Position When Command Position is entered or selected as the Master Reference source the slave axis motion is generated from the command position of the master axis as shown below Electronic Gearing Slave Axis Command Position Master Axis Command Position Master Slave Gear Ratio Publication 1756 RM007G EN P May 2005 3 44 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 Figure 3 14 Slaving to Command Position Command position only valid when the master axis Axis Type is configured as Servo is the current desired or commanded position for the master axis Since the command position does not incorporate any associated following error external position disturbances or quantization noise itis a more accurate and stable reference for gearing When gearing to the command position of the master the master axis must be commanded to move to cause any motion on the slave axis Refer to the Motion Axis Object Specification for more information on Command Position and
367. ment is not considered Publication 1756 RM007G EN P May 2005 A 34 Structures OUTPUT_COMPENSATION The OUTPUT_COMPENSATION data type defines the details for each Structure output bit by setting the characteristics of each actuator OUTPUT_COMPENSATION contains the following members Mnemonic Data Type Description Offset REAL Offset provides position compensation for both the latch and unlatch operations LatchDelay REAL Latch delay programmed in seconds provides time compensation for the latch operation UnlatchDelay REAL Unlatch delay programmed in seconds provides time compensation for the unlatch operation Mode DINT The Mode determines the behavior of the output bit The following four mode options are available A value of less than 0 or greater than 3 results in an Illegal Output Compensation error Value Description 0 Normal The output bit is set for the latch operation and is reset for the unlatch operation 1 Inverted The output bit is reset for the latch operation and is set for the unlatch the operation 2 Pulsed The output bit is set for the latch operation and for the on duty state of pulse and is reset for the unlatch operation and for the off duty state of the pulse 3 Inverted and Pulsed The output bit is reset for the latch operation and for the on duty state of the pulse and is set for the unlatch operation and for the off duty state of the pulse CycleTime REAL Pulse time
368. messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Stop Type Select the desired stop type from the combo box This list contains All default Jog Move Gear Home Tune Test Time Cam Position Cam and Master Offset Move Publication 1756 RM007G EN P May 2005 8 20 Motion Direct Commands Feature Description Change Decel Select the desired change decel from the combo box This list contains No default and Yes If No is selected then the Decel Rate and Decel Units are disabled Decel Rate Enter the desired deceleration rate in the edit box The default is 100 Decel Units Select the desired deceleration units from the combo box This list contains Units per sec2 default and of Maximum Motion Axis Home If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Home MAH command Figure 8 17 Motion Axis Home Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the e lipsis button to displa
369. mi colon FOR DO WHILE DO REPEAT UNTIL EXIT comment Text that explains or clarifies what a section of structured text does comment see page B 28 e Use comments to make it easier to interpret the structured text e Comments do not affect the execution of the structured text start of comment e Comments can appear anywhere in structured text end of comment start of comment end of comment Assignments Use an assignment to change the value stored within a tag An assignment has this syntax tag expression where Component Description tag represents the tag that is getting the new value the tag must be a BOOL SINT INT DINT or REAL is the assignment symbol expression represents the new value to assign to the tag If tag is this data type Use this type of expression BOOL BOOL expression SINT numeric expression INT DINT REAL ends the assignment Publication 1756 RMO007G EN P May 2005 Structured Text Programming B 3 The tag retains the assigned value until another assignment changes the value The expression can be simple such as an immediate value or another tag name or the expression can be complex and include several operators and or functions See the next section Expressions on page B 4 for details Specify a non retentive assignment The non retentive assignment is different from the regular assignment described above in that the tag in a non retentive
370. most often caused by loss of quadrature in the feedback device itself or radiated common mode noise signals being picked up by the feedback device wiring both of which may be able to be seen on an oscilloscope This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear AuxFeedbackFault DINT Set for an auxiliary feedback source when one of the following conditions occurs e The differential electrical signals for one or more of the feedback channels e g A and A B and B or Z and Z are at the same level both high or both low Under normal operation the differential signals are always at opposite levels The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive e Loss of feedback power or feedback common electrical connection between the servo module or drive and the feedback device This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear AuxFeedbackNoiseFault DINT Set for an auxiliary feedback source when the servo module has detected simultaneous transitions of the feedback A and B channels called feedback noise Feedback noise is most often caused by loss of quadrature in the feedback device itself or radiated common mode noise signals bein
371. n 1756 RMO007G EN P May 2005 Motion Direct Commands 8 27 Feature Description Change Decel Select whether or not to change the decel from the combo box This list contains No default and Yes If No is selected then the Decel Rate and Decel Units fields are disabled Decel Rate Enter the desired deceleration rate in the edit box The default is 100 0 Speed Units Select the desired speed units from the combo box This list contains Units per sec default and of Maximum Accel Units Select the desired acceleration units from the combo box This list contains Units per sec2 default and of Maximum Decel Units Select the desired deceleration units from the combo box This list contains Units per sec2 default and of Maximum Motion Redefine Position If online from the Motion Direct Command dialog the user is able to execute a Motion Redefine Position MRP command E Motion Move Absolute Figure 8 22 Motion Redefine Position Publication 1756 RM007G EN P May 2005 8 28 Motion Direct Commands Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialo
372. n configured for operation Use the Tag Editor to create and configure a new axis To successfully execute a MDW instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwise the instruction errs aa The MDW instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit is not set immediately but only after this message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 5 8 Motion Event Instructions Error Codes MDW Error Codes ERR Error Code Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Axis Type Unused 18 At
373. n operating state Once the axis is in the shutdown operating state the controller blocks any instructions that initiate axis motion MASR Change an axis from an existing shutdown operating state to an axis ready operating state If all of the axes of a servo module are removed from the shutdown state as a result of this instruction the OK relay contacts for the module close Publication 1756 RM007G EN P May 2005 8 2 Motion Direct Commands Command Description MDO Enable the servo drive and setthe servo output voltage of an axis MDF Disable the servo drive and set the servo output voltage to the output offset voltage MAFR Clear all motion faults for an axis Motion Move Command Description Initiate a controlled stop of any motion process on an axis Home an axis Initiate a jog motion profile for an axis Initiate a move profile for an axis Provide electronic gearing between any two axes Change the speed acceleration rate or deceleration rate of a move profile or a jog profile in progress Change the command or actual position of an axis Motion Group Command Description MGS Initiate a stop of motion on a group of axes MGSD Force all axes in a group into the shutdown operating state MGSR Transition a group of axes from the shutdown operating state to the axis ready operating state
374. n the Registration 1 input is inactive Reg2InputStatus DINT Set when the current state of the dedicated Registration 1 input is active Clear when the Registration 1 input is inactive PosOvertravellnputStatus DINT Set when the current state of the dedicated Positive Overtravel input is active Clear when the Positive Overtravel input is inactive NegOvertravellnputStatus DINT Set when the current state of the dedicated Negative Overtravel input is active Clear when the Negative Overtravel input is inactive POtraviFault DINT Set when the axis has traveled or attempted to travel beyond the current configured value for Maximum Positive Travel Cleared when the axis is moved back within this travel limit NOtraviFault DINT Set when the axis has traveled or attempted to travel beyond the current configured value for Maximum Negative Travel Cleared when the axis is moved back within this travel limit PosHardOvertravelFault DINT Set when the axis has traveled beyond the current positive direction position limits as established by hardware limit switches mounted on the machine To recover the axis must be moved back with normal operation limits of the machine and the limit switch reset This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear NegHardOvertravelFault DINT Set when the axis has traveled beyond the cur
375. n the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis The MRAT instruction uses axis configuration parameters as input and output The input configuration parameters that MRAT uses are shown in the table below Axis Parameter Data Type Units Meaning Tuning Direction Boolean Direction of Tuning Motion 0 Fwd 1 Rev Tuning Travel Limit Real pos units Maximum allowed excursion of Axis Tuning Velocity Real pos units sec Top Speed of Tuning Profile Damping Factor Real Damping Factor used to calculate the maximum Position Servo Bandwidth Publication 1756 RMO007G EN P May 2005 Based on the above configuration parameters MRAT execution generates a motion event on the specified axis that consists of a single triangular velocity profile or a series of three such profiles Tune Velocity must be within the maximum speed capability of the drive and motor The configured value for Tune Velocity should be set to the desired maximum operating speed of the axis so that the resulting tuning parameters are based on the dynamics of the system at that speed Motion Configuration Instructions 6 9 If the External Vel Servo Drive configuration bit parameter is TRUE indicating interface to an external velocity servo drive three pulses are applied to the axis The tuning velocity profile for this case is shown in the diagram below Tune Ve
376. nal_ SINT tag specifies final value for count which value INT expression determines when to exit the loop DINT immediate increment SINT tag optional amount to increment count INT expression each time through the loop DINT immediate If you don t specify an increment the count increments by 1 IMPORTANT Make sure that you do not iterate within the loop too many times in a single scan e The controller does not execute any other statements in the routine until it completes the loop e If the time that it takes to complete the loop is greater than the watchdog timer for the task a major fault occurs e Consider using a different construct such as IF THEN Description The syntax is FOR count initial value TO final value optional BY increment If you don t specify an increment the loop increments by 1 DO lt statement gt IF bool expression THEN EXIT lt q If there are conditions when you want to optional K exit the loop early use other statements END_IF such as an IF THEN construct to condition an EXIT statement END_FOR Publication 1756 RM007G EN P May 2005 B 20 Structured Text Programming The following diagrams show how a FOR DO loop executes and how an EXIT statement leaves the loop early Done x number yes rag of times no statement 1 statement 2 statement 3 statement 4 UE rest of the routine The FOR DO loop executes a specifi
377. nds group 14 Figure 8 26 Motion Group Strobe Position Operands Feature Description Group Select a Motion Group from the tag browser This list contains default existing motion groups and their aliases Notification messages are processed i e Motion Group Name changed is reflected ellipsis If an Motion Group alias is NOT selected then the ellipsis button is disabled If enabled then select the ellipsis button to display the Motion Group Properties dialog Publication 1756 RM007G EN P May 2005 8 32 Motion Direct Commands Motion Event Commands Motion Arm Watch If online from the Motion Direct Command dialog the user is able to execute a Motion Arm Watch MAW command Motion Direct Commands my _virtual_axis 4 my vital as E Figure 8 27 Motion Arm Watch Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Trigger Condition Select the desired trigger condition from the combo box This list contains Forward default and Reverse Position Enter the desired position the axis must go through to Arm the Watch The
378. ned in the specified coordinate system will not be affected by the activation of this instruction and will result in superimposed motion on the affected axes All Motion Any currently executing single axis motion instructions involving any axes defined in the specified coordinate system and any currently executing coordinated motion instructions are terminated The prior motion is merged into the current move at the speed defined in Merge Speed parameter Any pending coordinated move instructions are cancelled Merge Speed The Merge Speed operand is always set to Programmed in current version Programmed speed is used as the maximum speed along the path of the coordinated move Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 27 Merge Example The MCLM ladder diagram uses Coordinate System cs2 to merge an mclm10 instruction with a target absolute position of 5 0 into an mclm11 instruction with the target position of 10 5 AS1_MRP DM AS2 MAP DN MCL MCLMIOP TON Telar DN Motion Cocednaled Leow Nove ENa Ed Tiar Dn Delay EN E Coordinate Span el i Tiret TDekey TOA Motion Control MCLM10 Cs Prom 1000 e Y Hove Type 0 Accum De EF i Porter Porfa oat ae cr a2 00 Spased Spd HO 20 Speed Units Units per sec TP Arc Rate AccDec 50 Azon Unis Unite per sec2 Doca Raie ArcDec 50 Decal Urds Units per vec Profle Trsperoda Temination Type Tem ype 1 Verge Dirabled
379. ned within the coordinate system For example if you have a coordinate system that contained three axes with an MCCM instruction that has motion in only two dimensions the resultant move is still considered a three dimensional arc or circle Operands Relay Ladder Operand Type Format Description MCDM Coordinate COORDINATE_SYSTEM tag Coordinate group of axes a Coordinated Circula Move 5 Nn System ol a gt N Motion MOTION _ tag Structure used to access Move Type D Control INSTRUCTION instruction status parameters Position Move Type SINT INT or DINT immediate 0 Absolute Circle Type IP gt or tag 1 Incremental aa Position REAL array tag coordination units Speed Circle Type SINT INT or DINT immediate 0 Via 27 or tag 1 Center Speed Units 2 2 Radius 3 Center Incremental cr m Via Center REAL array tagl coordination units Radius via center Pera Units Immediate Y Termination Type or tag radius Merge i Merge Speed Direction SINT INT or DINT immediate 2D 3D e lt Less or tag 0 CW Shortest 1 CCW Longest 2 CW Full Shortest Full 3 CCW Full Longest Full Speed SINT INT DINT or REAL immediate coordination units or tag Speed Units SINT INT or DINT mmediate 0 Units per Sec 1 of Maximum Accel Rate SINT INT DINT or REAL immediate coordination units or tag mmediate Q Units per Sec 1 of Maximum
380. ng ServoActStatus FALSE e The axis is in the axis ready state e The servo loop is inactive DriveEnableStatus FALSE The drive enable output is inactive ShutdownStatus TRUE The axis is in the shutdown state Motion Status Bits Bit Name State Meaning AccelStatus FALSE Axis is not Accelerating DecelStatus FALSE Axis is not Decelerating MoveStatus FALSE Axis is not Moving JogStatus FALSE Axis is not Jogging GearingStatus FALSE Axis is not Gearing Homingstatus FALSE Axis is not Homing StoppingStatus FALSE Axis is not Stopping PositionCamStatus FALSE Axis is not Position Camming TimeCamStatus FALSE Axis is not Time Camming Motion State Instructions 2 13 Bit Name State Meaning PositionCamPendingstatus FALSE Axis does not have a Position Cam Pending TimeCamPendingStatus FALSE Axis does not have a Time Cam Pending GearingLockStatus FALSE Axis is not ina Gear Locked condition PositionCamLockStatus FALSE Axis is not in a Cam Locked condition Example When the input conditions are true the controller forces axis into the Motion Axis Shutdown Reset MASR shutdown operating state Relay Ladder MASD Motion Axis Shutdown Axis AxisO E N gt Motion Control MASD_2 Figure 2 3 MASD Ladder Example Structured Text MASD AxisO MASD_1 Use the MASR instruction to transition an axis from an existing Shutdown state to an Axis Ready state All faults
381. ng Code decimal SERVO_MESSAGE_FAILURE No Resource 2 Not enough memory resources 12 to complete request SERCOS SERVO_MESSAGE_FAILURE Object Mode conflict Axis is in shutdown 12 12 SERVO_MESSAGE_FAILURE Permission denied 15 Enable input switch error 12 SERCOS SERVO_MESSAGE_FAILURE Device in wrong state Redefine Position Home and 12 16 Registration 2 are mutually exclusive SERCOS device state not correct for action SERCOS Publication 1756 RM007G EN P May 2005 6 18 Motion Configuration Instructions Status Bits Example Motion Run Hookup Diagnostics MRHD Publication 1756 RM007G EN P May 2005 MAHD Changes to Status Bits None When the input conditions are true the controller applies the results of a previously executed Motion Run Hookup Diagnostics MRHD instruction to axisl Relay Ladder MAHD Motion Apply Hookup Diagnostics N gt Axis Axis tD Motion Control MAHD_1 R gt Diagnostic Test Marker Observed Direction Forward Figure 6 5 MAHD Ladder Example Structured Text MAHD axis1 axis1 MAHD marker forward Use the MRHD instruction to command the motion module to run any one of three different diagnostics on the specified axis as selected by the Test ID Currently diagnostics are available to test the motor encoder hookup for a servo axis the encoder hookup only and the encoder marker hookup Only the motor
382. ng are executed without Done DN bit 29 run qualification Axis Group Not 19 Attempted execution on an axis group that is not Synchronized currently synchronized Shutdown Status Time 42 The MGSD instruction failed to detect the assertion Out of the Shutdown Status Bit within the established fixed delay time period Motion Group Instructions 4 9 Status Bits MGSD Changes to Status Bits Bit Name State Definition ServoActionStatus FALSE Axis is in Axis Ready state with the servo loop inactive DriveEnableStatus FALSE Axis Drive Enable output is inactive ShutdownStatus TRUE Axis is in Shutdown state AccelStatus FALSE Axis is not Accelerating DecelStatus FALSE Axis is not Decelerating GearingLockStatus FALSE Axis is not locked JogStatus FALSE Axis is not Jogging MoveStatus FALSE Axis is not Moving GearingStatus FALSE Axis is not Gearing Homingstatus FALSE Axis is not Homing Example When the input conditions are true the controller forces all axes in Motion Group Shutdown Reset MGSR group into a shutdown operating state Relay Ladder MGSD Motion Group Shutdown Group Motion Motion Control MGSD_2 M R gt Figure 4 2 MGSD Ladder Example Structured Text MGSD Motion MGSD 2 Use the MGSR instruction to transition a group of axes from the shutdown operating state to the axis ready operating state As a result of this command al
383. ng value should also be 2 to maintain approximately equal velocities and accelerations during execution of the scaled position cam ATTENTION Decreasing the Master Scaling value or increasing the Slave Scaling value of a position cam increases the required velocities and accelerations of the profile This can cause a motion fault if the capabilities of the drive system are exceeded Cam Profile Execution Modes Execution Modes of Once or Continuous can be selected to determine how the cam motion behaves when the master position moves beyond the start and end points of the profile defined by the original cam table If Once is selected default the cam motion of the slave axis starts only when the master axis moves into the range defined by the start and end points of the cam profile When the master axis moves outside the range of the profile cam motion on the slave axis stops and the Process Complete bit of the MAPC instruction is set Note that contrary to the current S Class practice slave motion does not resume when and if the master moves back into the profile range specified by the start and end points When Continuous mode is selected the specified cam profile once started is executed indefinitely With continuous operation the profile s master and slave positions are unwound when the position of the master axis moves outside the profile range causing the cam profile to repeat This feature is particularly us
384. ns it is too slow for many high speed applications typically found in converting and packaging segments Publication 1756 RM007G EN P May 2005 5 38 Motion Event Instructions Operation Publication 1756 RMO007G EN P May 2005 The 1756 OB16IS module improves performance by supporting the ability to schedule the output turn on turn off time of 8 of its 16 outputs outputs 0 7 in 100us increments Outputs are scheduled by entering data into one or more of the 16 schedules provided by the output connection data store Scheduled Outputs as defined here should not be confused with the earlier implementation of scheduled outputs The previous implementation schedules outputs on a per module basis and all output points are controlled by a single timestamp This implementation schedules outputs on a per point basis and each individual output point is controlled by its own timestamp Individual schedules are created in the controller stored in the output image table for the module and sent over the backplane to the Scheduled Output module The schedule specifies a sequence count the output point to be associated with the schedule the time at which an output value should be applied to the physical output point and the value to be applied at the scheduled time The I O module receives and stores the schedule The CST timestamp of each schedule is monitored by the module When a schedule has expired that is the current time matches the s
385. nstruction For the array operands you do not have to include CamProfile the array index If you do not include the index the instruction starts with the first element in the array 0 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 The enable bit is set when the rung transitions from false to true and stays set until the done bit is set and the rung goes false DN Done Bit 29 The done bit is set when the calculate cam instruction has been successfully executed and the Cam Profile array calculated ER Error Bit 28 The error bit indicates when the instruction detects an error such as if the cam array is of an illegal length Description The Motion Calculate Cam Profile MCCP instruction computes a cam profile based on a given set of points in a specified cam array The Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 67 resultant cam profiles generated by this instruction may be used by subsequent MAPC or MATC camming instructions to provide complex motion of a slave axis with respect to either a master axis position or with respect to time Since cam profiles can be directly calculated by the RSLogix 5000 Cam Profile Editor the main purpose of the MCCP instruction is to provide a method for calculating cam profiles in real time based on programmatic changes to the corresponding cam arrays Specifying a Cam Array In order to execute an MCCP instruction a Cam
386. nstructions If you want to Use this instruction Available in these languages Initiate a position cam profile MAPC relay ladder structured text Initiate a time cam profile MATC relay ladder structured text Calculate the slave value slope value MCSV relay ladder derivative of the slope for a given cam profile and master value structured text Use the MAS instruction to initiate a controlled stop of any motion process on the designated axis Axis motion is specified via the Motion Type parameter as a specific motion process such as jogging moving or gearing etc or all motion processes currently in effect This command defaults to stop at the Maximum Deceleration rate established when the axis is configured MAS Change Decel parameter can be used to specify a deceleration rate different from the currently configured Maximum Decel value Operands Relay Ladder Operand Type Format Description Axis AXIS_VIRTUAL tag Name of the axis to perform AXIS_GENERIC operation on a AXIS_SERVO BO AXIS_SERVO_DRIVE IP gt Motion MOTION_ tag Structure used to access gt control INSTRUCTION instruction status parameters Stop type UINT32 immediate Determines what motion process on the specified axis to stop Options are 0 stop all motion 1 stop jogging 2 stop moving 3 stop gearing 4 stop homing 5 stop tuning 6 stop test 7 stop position cammin
387. o the output module to turn the output on off at the appropriate time within the next coarse update period The Output Cam instruction divides the coarse update period into sixteen time slots Each cam on off event is assigned to a time slot The accuracy of the scheduled time for the output therefore is 1 16 the coarse update period A coarse update period of 1 millisecond yields a schedule accuracy of 62 5 microseconds MTG The 1756 OB16IS Scheduled Output Module can be associated with one 1 MAOC axis execution target only The MAOC detects latch and unlatch events one coarse update ahead and schedules the event to occur within the next coarse update This is accomplished by applying a one coarse update internal delay to each scheduled output latch and unlatch position When the latch or unlatch event is detected the delta time from the start of the coarse Publication 1756 RM007G EN P May 2005 5 40 Motion Event Instructions Publication 1756 RMO007G EN P May 2005 update to the event is calculated and the output is scheduled to occur at the Coordinated System Time CST corresponding to the next coarse update period To facilitate this Output Cam functionality has access to the CST captured when the current coarse update period occurred The MAOC is able to process both scheduled and unscheduled output bits for the 1756 OB16IS The MAOC allocates all eight scheduled outputs for exclusive use by the motion planner Outpu
388. o access instruction status parameters Structured Text The operands are the same as those for the relay ladder MCSD instruction The Motion Coordinated Shutdown MCSD instruction shuts down all of the axes in the associated coordinate system Coordinate System The Coordinate System operand specifies the set of motion axes that define the dimensions of a Cartesian coordinate system For this release the coordinate system supports up to three 3 primary axes Only the axes configured as primary axes up to 3 are included in the coordinate velocity calculations Motion Control The following control bits are affected by the MCSD instruction Mnemonic Description EN Enable Bit 31 The Enable Bit sets when the rung transitions from false to true It resets when the rung goes from true to false DN Done Bit 29 The Done Bit sets when the coordinated shutdown is successfully initiated It resets when the rung transitions from false to true ER Error Bit 28 The Error Bit sets when the coordinated shutdown fails to initiate successfully It resets when the rung transitions from false to true MCSD is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Publication 1
389. o longer Moving GearingStatus FALSE Axis is no longer Gearing Homingstatus FALSE Axis is no longer Homing Example When the input conditions are true the controller stops motion on all Motion Group Shutdown MGSD Publication 1756 RMO007G EN P May 2005 axes in group1 After the controller stops all motion the axes are inhibited Relay Ladder MGS Motion Group Stop N gt Group Motion _ M Motion Control MGS_1 R gt Stop Mode Programmed IP gt Figure 4 1 MGS Ladder Example Structured Text MGS Motion MSG_ 1 Programmed Use the MGSD instruction to force all axes in the designated group into a Shutdown state The Shutdown state of an axis is Servo Off drive output is deactivated and the motion module s OK solid state relay contacts if applicable are opened The group of axes remains in the Shutdown state until either Group Shutdown Reset is executed or each axis is individually reset via the Motion Axis Shutdown MASD instruction Motion Group Instructions 4 7 Operands MGS Motion Group Stop N gt Group Motion KD Motion Control MGS_1 R gt Stop Mode Programmed MGSD Group MotionControl Description Relay Ladder Operand Type Format Description Group MOTION_ tag Name of the group of axes to perform GROUP operation on Motion MOTION_ tag Structure used to access instruction control INSTRUCTION status parameters Structured Text T
390. o the new endpoint without stopping at the old endpoint including any required change of direction The move speed of a trapezoidal absolute move in progress may also be changed along with the endpoint by specifying a new speed in addition to the new position If new acceleration and deceleration values are specified they take effect when and only if the axis reverses direction Absolute Moves on Rotary Axes When an axis is configured for rotary operation absolute moves are handled in the same way as with linear axes except that when the axis position exceeds the Unwind parameter it is unwound In this way axis position is never greater than the Unwind value nor ever less than zero Refer to the Motion Axis Object Specification for more information on Unwind and Rotary Axis configuration The specified position is interpreted trigonometrically and may be positive or negative and may also be greater than the unwind value Negative position values are equivalent to their corresponding positive values i e 90 is the same as 270 etc and are useful when rotating the axis through zero When the position is greater than the unwind value the axis moves through more than one revolution before stopping at an absolute position Incremental Moves When Incremental is selected or entered as the Move Type the axis moves the specified Distance at the specified Speed using the specified Accel and Decel Changing the Move Distance
391. o wk ans a 3 59 Motion Redefine Position MRP o o o o ooo oo 3 59 Operands samayka ia BOYES So BEE se Sa 3 60 Description o occo croacia neetna teea ia 3 61 Arithmetic Status Blossom da esd a da 3 63 Fault Conditions OE a Phen COR OAS 3 63 Error GOGESSS dara darias a 3 64 Extended Error Codes at EE oa 3 64 Publication 1756 RM007G EN P May 2005 Table of Contents 4 Motion Group Instructions Publication 1756 RMO007G EN P May 2005 MRP Changes to Status Bits xo iaa 3 65 a A ete Dhl he See tea ie ote fe 3 65 Motion Calculate Cam Profile MCCP 3 65 Operids eaa ati es Bal aus Cate Sra we 3 66 DESCOPUON er ii PERE de ito dee io 3 66 Error COGS ta AO ai hep ld eh hag AID eve hee aya 3 70 Extended Error Codes 4 Gy 0 ihe las AN eke ees as 3 70 MCCP Changes to Status Bits ui viper 3 71 EXIME TERR a o EGE Ra 3 71 Motion Axis Position Cam MAPO o o oo oo oo ooo 3 71 Operan en dul ee az Seas ze 3 72 Peron AAN 3 76 Arithmetic Status Flags es la a te tds 3 90 Faul COMCIIONSS sirar AA A ARE 3 90 Erot CodeS s pto ee se dt AE Bibles ade heres 3 90 Extended Error Codes 4 matar adi 3 92 Status Bits ir As 3 92 E A Heine es eta tae 3 93 Motion Axis Time Cam MATO 0000005 3 94 Operands la a da bd ea ao ea 3 95 DESCUPUION da A hee og A EES State 3 97 Arithmetic Status Flags 0 0 0 0 00000 cee 3 105 Fault Conditions ea ba Pah cee de 3 105 EMOCIONA HERS 3 105 Extended Error Code
392. occurs HomeEventStatus DINT Set when a home event has occurred Cleared when another MAH Motion Axis Home instruction is executed ControlSyncFault DINT Set when the Logix controller detects that several position update messages in a row from the motion module have been missed due to a failure of the synchronous communications connection This condition results in the automatic shutdown of the associated servo module The Logix controller is designed to ride through a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress Missing more than four position updates in a row constitutes a problematic condition that warrants shutdown of the servo module This fault bit is cleared when the connection is reestablished ModuleSyncFault DINT Set when the motion module detects that several position update messages in a row from the ControlLogix processor module have been missed due to a failure of the synchronous communications connection This condition results in the automatic shutdown of the servo module The servo module is designed to ride through a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress Missing more than four position updates in a row constitutes a problematic condition that warrants shutdown of the servo module This fault bit is cleared when the connection is reestablished TimerEventFault
393. ocess Complete PC bit is set at the same time that the Done DN bit is set This is a transitional instruction Publication 1756 RM007G EN P May 2005 6 12 Motion Configuration Instructions e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MRAT Error Codes ERR Publication 1756 RMO007G EN P May 2005 Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Servo On State Error 4 Attempted execution on an axis that has its servo loop closed Drive On State Error 6 Attempted execution on an axis that currently has the drive enabled Shutdown State Error 7 Attempted execution with the axis in the Shutdown State Illegal Axis Type 8 Attempted execution with the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed See
394. odule channel Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 Attempted execution on an axis whose Axis Data Type is not supported by this instruction MDF Changes to Status Bits Axis Status Bits Bit Name State Meaning DriveEnableStatus FALSE Axis is in Axis Ready state with the Drive Enable output now active Example When the input conditions are true the controller deactivates the Motion Axis Fault Reset MAFR Publication 1756 RMO007G EN P May 2005 servo drive for axis and sets the servo output voltage of axis_ to the output offset value Relay Ladder MDF Motion Direct Drive Off N gt Axis AxisO E iD Motion Control MDF_1 R gt Figure 2 6 MDF Ladder Example Structured Text MDF Axis0 MDF_1 Use the MAFR instruction to clear all motion faults for an axis This is the only method for clearing axis motion faults IMPORTANT The MAFR instruction removes the fault status but does not perform any other recovery such as enabling servo action In addition when the controller removes the fault status the condition that generated the fault s may still exist If the condition is not corrected before using the MAFR instruction the axis immediately faults again Motion State Instructions 2 23 Operands MAFR Motion Axis Fault Reset Axis Motion Control
395. of Range The value of at least one parameter is out of range See the Extended Error section for information on which parameter is in an error state 16 Homing in Process Error At least one axis is executing a homing sequence See the Extended Error section for more information about this error 19 Motion Group Not Synchronized The associated Motion Group is not synchronized 20 Axis In Faulted State At least one axis Is in a faulted state 24 Illegal Controller Mode The current operating mode of the controller does not support the instruction 25 Illegal Instruction The Circle Type is Radius and the number of primary axes is not two 38 Illegal Axis Data Type At least one axis is not configured as an axis data type that can accept a command See the Extended Error section for more information about this error 43 Coordinate System Queue Full More motion instructions have been activated than the instruction queue can hold 44 Circular Collinearity Error The programmed data points define a line instead of an arc Center point and or plane cannot be determined 45 Circular Start End Error Endpoint and start point are equal Center point and or plane cannot be determined 46 Circular R1 R2 Mismatch Error The programmed centerpoint is not equidistant from start and end point 47 Circular Infinite Solution Error Contact Rockwell Automation Technical Support 48 Circular No Solutions error Contact Rockwell Automation Technical Support 49 Circular Small
396. ofile Editor Once a pending position cam instruction has been executed the new cam profile takes effect automatically and becomes the current profile when the master axis passes through either the start or end point of the current profile If the current cam is configured to execute once the new profile is initiated at the completion of the pass through the current cam profile and the PC bit of the currently active MAPC instruction is set If the current cam is configured to execute continuously the new profile is initiated at the completion of the current pass through the current cam profile and the IP bit of the Motion Move Instructions 3 85 currently active MAPC instruction is cleared The motion controller keeps track of the master axis and slave axis positions relative to the first profile at the time of the change and uses this information to maintain synchronization between the profiles If the Execution Schedule of an MAPC instruction is set to Immediate and a position cam profile is currently in process the MAPC instruction errs This is true even when the axis is waiting to lock onto the master axis If an Execution Schedule of Pending is selected without a corresponding position cam profile in progress the MAPC instruction executes but no camming motion occurs until another MAPC instruction with a non pending Execution Schedule is initiated This allows pending cam profiles to be preloaded prior to executing the initial
397. oint along the circle except the endpoint Center The sum of the via center radius position array and the old position defines the center of the circle For a non full circle case the sum of the Position parameter array and the old position defines the endpoint of the arc For a full circle case the sum of the Position parameter array and the old position defines any second point along the circle except the endpoint Publication 1756 RM007G EN P May 2005 7 64 Multi Axis Coordinated Motion Instructions Move Type Circle Type Behavior Absolute or Incremental Radius The via center radius position single value defines the arc radius The sign of the value is used to determine the center point to distinguish between the two possible arcs A positive value indicates a center point that generates an arc less than 180 degrees A negative value indicates a center point that generates an arc greater than 180 degrees This Circle Type is only valid for two dimensional circles The position parameter array follows the Move Type to define the endpoint of the arc Absolute Center Incremental The sum of the via center radius position array and the old position defines the center position of the circle For a non full circle case the Position parameter array defines the endpoint of the arc For a full circle case the Position parameter array defines any second point along the circle except the endpoint Incremen
398. oller e 9 31 Reserved for future use Motion Control MOTION_ tag Structure used to access INSTRUCTION instruction status parameters Output DINT tag A set of 32 output bits that are set or reset based on the specified Output Cam It can be either a memory location or a physical output If Pending is selected as the Execution Schedule then Output is ignored Input DINT tag A set of 32 input bits that can be Publication 1756 RMO007G EN P May 2005 used as enable bits depending on the specified Output Cam It can be either a memory location or a physical input If Pending is selected as the Execution Schedule then Input is ignored Motion Event Instructions 5 21 Operand Type Format Description Dutput Cam OUTPUT_CAM array tag An array of OUTPUT_CAM elements The elements do not need to be ordered and the array size is determined by the number of cam elements specified The array size is limited by the available memory of the Logix controller Cam Start Position SINT INT DINT or REAL immediate or tag Cam Start Position with the Cam End Position define the left and right boundaries of the Output Cam range Cam End Position SINT INT DINT or REAL immediate or tag Cam End Position with the Cam Start Position define the left and right boundaries of the Output Cam range Output Compensation OUTPUT_ COMPENSATION array tag Is an arr
399. omes active 3 Position and Enable The output bit is set when the axis enters the compensated cam range and the enable bit becomes active UnlatchType DINT The Unlatch Type determines how the output bit is reset Selecting a value less than 0 or greater than 5 results in an Illegal Output Cam error and an unlatch type of Inactive is used Value Description 0 Inactive The output bit is not changed 1 Position The output bit is reset when the axis leaves the compensated cam range 2 Duration The output bit is reset when the duration expires 3 Enable The output bit is reset when the enable bit becomes inactive 4 Position and Enable The output bit is reset when the axis leaves the compensated cam range or the enable bit becomes inactive 5 Duration and Enable The output bit is reset when the duration expires or the enable bit becomes inactive Left REAL The left cam position along with the right cam position define the cam range of the Output Cam element The left and right cam positions specify the latch or unlatch positions of the output bit when the latch or unlatch type is set to Position or Position and Enable with the enable bit active If the left position is less than the Cam Start position or greater than the Cam End position an Illegal Output Cam error is returned and the cam element is not considered Right REAL The right cam position along with the left cam position define the cam range of the Output Cam element The
400. ompletely determined by the motion of the master axis and the designated cam profile derived from the associated cam table ATTENTION The maximum velocity acceleration or deceleration limits established during axis configuration do not apply to electronic camming Publication 1756 RMO007G EN P May 2005 Motion Move Instructions 3 77 Camming Direction Cams can be configured to add or subtract their incremental contribution to the slave axis command position Control over this behavior is via the Direction parameter Camming in the Same Direction When Same is selected or entered as the Direction for the MAPC instruction the slave axis position values computed from the cam profile are added to the command position of the slave axis This is the most common operation as the profile position values are used just as entered in the original cam table That is consecutive increasing profile values result in axis motion in the positive direction and vice versa Camming in the Opposite Direction When Opposite is selected or entered as the Direction the slave axis position values computed from the cam profile are subtracted from the command position of the slave axis Thus axis motion is in the opposite direction from that implied by the original cam table That is consecutive increasing profile values result in axis motion in the negative direction and vice versa Preserving the Current Camming Direction When Unchang
401. on Publication 1756 RM007G EN P May 2005 5 34 Motion Event Instructions e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RMO007G EN P May 2005 Error Codes MAOC Error Codes ERR Motion Event Instructions 5 35 Error Message Code Description Execution Collision 3 Attempted execution with another Output Cam currently in process Shutdown State Error 7 Attempted execution with the axis in the Shutdown state Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Value Out of Range 13 Attempted execution with an input parameter that was out of range 1 Cam start position gt cam end position 2 Cam arm position outside of Output Cam range See Extended Error section for more information on the cause of the error Homing in Process 16 Attempted execution with a homing process in Error progress Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Group in Faulted State 21 Attem
402. on Type OutputCamPendingStatus DINT A set of bits that are set when an Output Cam is waiting for an armed Output Cam to move beyond its cam start cam end position OutputCamLockStatus DINT A set of bits that are set when an Output Cam is locked to the Master Axis DutputCamTransitionStatus DINT A setof bits that are set when the transition from the current armed Output Cam to the pending Output Cam is in process The bit number corresponds with the execution target number One bit per execution target Publication 1756 RM007G EN P May 2005 A 14 Structures AXIS_SERVO_DRIVE Structure Use this data type for an axis that is on the SERCOS ring of one of these motion modules e 1756 M03SE e 1756 MO8SE e 1756 M16SE e 1756 L60M03SE Mnemonic Data Description Type MotionStatus DINT The motion status bits for your axis Bit Number Data Type Description AccelStatus 00 DINT Acceleration Status DecelStatus 01 DINT Deceleration Status MoveStatus 02 DINT Move Status JogStatus 03 DINT Jog Status GearingStatus 04 DINT Gearing Status Homingstatus 05 DINT Homing Status StoppingStatus 06 DINT Stopping Status HomedStatus 07 DINT Homed Status PositionCamStatus 08 DINT Position Cam Status TimeCamStatus 09 DINT Time Cam Status PositionCamPendingStatus 10 DINT Position Cam Pending Status TimeCamPendingStatus 11 DINT Time Cam Pending Status GearingLockStatus 12 DINT Gearing Lock Status PositionCamLockStatus 13
403. on Axis Object specification for a detailed description of these parameters The axis configuration parameters that MAAT uses as input depends on the External Drive configuration If the External Vel Servo Drive configuration bit parameter is TRUE indicating interface to an external velocity servo drive the following input parameters are required Axis Parameter Data Type Units Meaning Tuning Velocity Real pos units sec Top Speed of Tuning Profile Tune Accel Real pos units sec Calculated Acceleration Time of Tuning Profile Tune Decel Real pos units sec Calculated Deceleration Time of Tuning Profile Tune Velocity Real mV KCPS Measured Velocity Scaling factor of Scaling axis Drive Motor Encoder system Tune Velocity Real Hertz Bandwidth of External Velocity Servo Bandwidth Drive If the External Vel Servo Drive configuration bit parameter is FALSE indicating interface to an external torque servo drive the following input parameters are required Axis Parameter Data Type Units Meaning Damping Factor Real Damping Factor used to calculate the the gains Tuning Velocity Real pos units sec Top Speed of Tuning Profile Tune Accel Real pos units sec Calculated Acceleration Time of Tuning Profile Tune Decel Real pos units sec Calculated Deceleration Time of Tuning Profile Effective Inertia Real mV KCPS2 Computed Effective Inertia of Drive Motor system Position Servo Re
404. on Direct Commands 14 MAJ 16 0000 No Error Motion Direct Commands 14 Execution Error MAM 16 000d Failed to execute command Errors Transition States Publication 1756 RMO007G EN P May 2005 Figure 8 33 Command Error The message Execution Error is cleared on subsequent command execution or if a new command is selected from the command list The information pumped to the Error result window after an execution is not cleared This allows for a history of what has been executed from a given instance of the Motion Direct Command dialog If RSLogix5000 transitions to offline Hard Program mode PROG or Hard Run mode RUN then any executing Direct Command instruction continues execution and the Execute button is disabled Whenever the Execute button is enabled and commands can be executed from a workstation the group is locked This means that another workstation cannot execute commands while this lock is in place The lock stays in place until the workstation executing commands relinquishes the lock Appendix A Introduction AXIS Structures AXIS_ CONSUMED Structure Structures This appendix lists the predefined motion structures and the mnemonics for the members you can address within instructions Some of the more complex structures have attributes in addition to those described in this appendix The additional attributes are accessible only from the configuration tabs for that structure There are
405. on errs aaa The MRP instruction execution may take multiple scans to execute due to the fact that it requires transmission of multiple messages to the motion module Thus the Done CDN bit is not set immediately but only after these messages have been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 3 64 Extended Error Codes Motion Move Instructions Error Codes MRP Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure See Extended Error section for more information on the cause of the error Parameter Out Of 13 Error is applied to checks on the position input Range parameter If axis is in rotary mo
406. on of command position actual position and position error Command Position When Command is selected or entered as the MRP Position Selection the New Position is directly applied to the command position of the servo or imaginary axis Since Feedback Only axes do not have a command position always choose Actual from the Position menu for Master Only axes The actual position of servo axes is also adjusted along with the new command position to preserve any position error which exists This ensures that there is no unexpected motion of the axis when the positions are redefined Command position is the desired or commanded position of a servo as generated by any previous motion instructions Actual position is the current position of a physical or virtual axis as measured by the encoder or other feedback device Position error is the difference Motion Move Instructions 3 63 between these two and is used to drive the motor to make the actual position equal to the command position The Figure below shows the relationship of these three positions Position Error Command Position Actual Position Figure 3 20 Position Relationship See the Motion Axis Object specification for a more detailed overview of the Nested Digital Servo Loop used by the ControlLogix motion controllers To successfully execute a MRP instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwise the instructi
407. on or a MDW Motion Disarm Watch instruction is executed RegEventl Armedstatus DINT Set when a registration checking has been armed for registration input 1 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEventl Status DINT Set when a registration event has occurred on registration input 1 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 1 RegEvent2Armedstatus DINT Set when a registration checking has been armed for registration input 2 through execution of the MAR Motion Arm Registration instruction Cleared when either a registration event occurs or a MDR Motion Disarm Registration instruction is executed for registration input 2 Publication 1756 RM007G EN P May 2005 A 20 Structures Mnemonic Data Type Description RegEvent2Status HomeEventArmedStatus DINT DINT Set when a registration event has occurred on registration input 2 Cleared when either another MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 2 Set when a home event has been armed through execution of the MAH Motion Axis Home instruction Cleared when a home event
408. oncepts Instruction Timing Immediate Type Instructions Publication 1756 RMO007G EN P May 2005 For more information about the SSV instruction see the Logix5000 Controller Instruction Set Reference Manual publication 1756 RM003 For more information about motion instructions and creating application programs see the ControlLogix Motion Module Setup and Configuration Manual publication 1756 UM006 Motion instructions use three types of timing sequences Timing type Description Immediate The instruction completes in one scan Message The instruction completes over several scans because the instruction sends messages to the servo module Process The instruction could take an indefinite amount of time to complete Immediate type motion instructions execute to completion in one scan If the controller detects an error during the execution of these instructions the error status bit sets and the operation ends Examples of immediate type instructions include the e Motion Change Dynamics MCD instruction e Motion Group Strobe Position MGSP instruction Immediate instructions work as follows 1 When the rung that contains the motion instruction becomes true the controller e Sets the enable CEN bit e Clears the done DN bit e Clears the error ER bit The controller executes the instruction completely If the controller Then Does not detect an error when the The controll
409. onditions era a dais 7 31 Error Godes o porie ia cda 7 31 Extended Error Codes aa a 7 32 MCLM Changes to Status Bits o o 7 33 Examples rr diia le dl toda 7 35 Motion Coordinated Circular Move MCCM 7 36 Ds A hares e pI a BEL AIGA He BoE 7 36 DESCAPUION 3 25 ode aed Gch ais 7 39 Two Dimensional Arc Examples 7 42 Two Dimensional Full Circle Example 7 52 MCCM with Rotary Axes Examples 7 54 Three Dimensional Arcs ii ate 7 58 MCCM Target Position Entry Dialog BOX 7 66 Arithmetic Status Flags o oo ooooo 7 68 Fault Conditions ios od bee eh ate a eds 7 68 EOP CODES ARES BRE MEA aie 7 69 Extended Error Codes seas tos tios rasa 7 70 Circular Error Examples ske 654444404 dbo eee ess 7 72 MCCM Changes to Status BitS o o 7 75 Examples a Ras E E qe 7 77 Circular Programming Reference Guide 7 77 Motion Coordinated Change Dynamics MCCD 7 79 Operands A hee a RE O ees 7 79 DESCrPHON gt ra ad a as e a 7 81 Arithmetic Status Flags A ARA Pag 7 85 Fault Conditions AS AA A 7 85 Biror CO dE tes os 7 86 Extended Error Codes gt 544 545 265 sw oe POSSR RS 7 86 MCCD Changes to Status Bits vico ce ete aus 7 87 a bisa hea Ree ee ne Ce Many cats 7 88 Motion Coordinated Stop MCS oaoa anaa aaa 7 89 Operador E a ake Gk ee aa E 7 89 DeSCriptiOn 1 od didas 7 90 Arithmetic Status Flags 6 FSG
410. oned from the Shutdown state to another state ConfigUpdatelnProcess DINT The Configuration Update Status Bits attribute provides a method for monitoring the progress of one or more specific module configuration attribute updates initiated by either a Set Attribute List service which is internal to the firmware or an SSV in the user program When such an update is initiated the ControlLogix processor sets this bit This bit will remain set until the Set Attribute List reply comes back from the servo module indicating that the data update process was successful Thus the Configuration Update Status Bits attribute provides a method of waiting until the servo configuration data update to the connected motion module is complete before starting a dependent operation InhibitStatus BOOL Use the InhibitStatus bit of an axis to see if the axis is inhibited or uninhibited If the bit is e ON The axis is inhibited e OFF The axis is uninhibited The controller changes the InhibitStatus bit only after all of these have happened e The axis has changed to inhibited or uninhibited e All uninhibited axes are ready e The connections to the motion module are running again e The SERCOS ring has phased up again PhysicalAxisFault DINT Set when one or more fault conditions have been reported by the physical axis The specific fault conditions can then be determined through access to the fault attributes of the associated physical
411. ons none Error Codes MSF Error Codes ERR Error Message Code Execution Collision 3 Description Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Illegal Axis Type 8 Attempted execution with the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 Attempted execution on an axis with an Axis Data Type that is not supported by the instruction Publication 1756 RMO007G EN P May 2005 Motion State Instructions 2 9 MSF Changes to Status Bits Axis Status Bits Bit Name State Meaning ServoActionStatus FALSE Axis is in Servo On state with the servo loop active DecelStatus FALSE Axis Drive Enable output is active Motion Status Bits Bit Name State Meaning AccelStatus FALSE Axis is not Accelerating DecelStatus FALSE Axis is not Decelerating MoveStatus FALSE Axis is not Moving JogStatus FALSE Axis
412. ons 3 25 Operand Type Format Description Speed units BOOLEAN immediate The units used to display the Speed value Select either 0 units per sec 1 of maximum speed Accel rate REAL immediate or tag The acceleration rate of the axis in or Acceleration units Accel units BOOLEAN immediate The units used to display the Accel value Select either 0 units per sec 1 of maximum acceleration Decel rate REAL immediate or tag The Deceleration rate of the axis in or Deceleration units Decel units BOOLEAN immediate The units used to display the Deceleration value Select either 0 units per sec 1 of maximum acceleration Profile UDINT immediate The Velocity Profile to run for the move Select either 0 Trapezoidal 1 S curve Merge Merge speed BOOLEAN DINT immediate immediate If Merge is enabled it instructs the motion control to turn all current axis motion regardless of the motion instructions currently in process into a pure move governed by this instruction Select either 0 disabled 1 enabled When Merge is enabled this selection determines whether the speed of the move profile is going to be the specified Speed value of this instruction or the Current axis speed Select either 0 programmed value in the speed field 1 current axis speed Structured Text
413. ons 7 15 Description The Motion Coordinated Linear Move MCLM instruction performs a linear move using up to three 3 axes statically coupled to the coordinate system as primary axes in a Cartesian coordinate system You specify whether to use absolute or incremental target position and the desired speed The actual speed is a function of both the mode of the move commanded speed or percent of maximum speed and the combination of primary axes that are commanded to move The vector speed of the move is based on the time it takes to complete a vector move using the programmed axes Each axis is commanded to move at a speed that allows all axes to reach the endpoint target position at the same time ATTENTION A If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating
414. or Allen Bradley Products Rockwell Software Products and Global Manufacturing Solutions Americas Rockwell Automation 1201 South Second Street Milwaukee WI 53204 2496 USA Tel 1 414 382 2000 Fax 1 414 382 4444 Europe Middle East Africa Rockwell Automation SA NV Vorstlaan Boulevard du Souverain 36 1170 Brussels Belgium Tel 32 2 663 0600 Fax 32 2 663 0640 Asia Pacific Rockwell Automation Level 14 Core F Cyberport 3 100 Cyberport Road Hong Kong Tel 852 2887 4788 Fax 852 2508 1846 Headquarters for Dodge and Reliance Electric Products Americas Rockwell Automation 6040 Ponders Court Greenville SC 29615 4617 USA Tel 1 864 297 4800 Fax 1 864 281 2433 Europe Middle East Africa Rockwell Automation Herman Heinrich Gossen Strasse 3 50858 K ln Germany Tel 49 0 2234 379410 Fax 49 0 2234 3794164 Asia Pacific Rockwell Automation 55 Newton Road 11 01 02 Revenue House Singapore 307987 Tel 65 6356 9077 Fax 65 6356 9011 Publication 1756 RM007G EN P May 2005 Supersedes Publication 1756 RMO007F EN P March 2004 PN 957955 69 Copyright 2005 Rockwell Automation Inc All rights reserved Printed in the U S A 5 A lle n Bra dle y Logix5000 Controllers Motion Instructions Reference Manual
415. or Feedback Only axis Otherwise the instruction errors IMPORTANT The MDF instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module The Done DN bit is not set until after the message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MDF Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Servo On State Error Attempted execution with the axis in Servo On state meaning that the targeted axis servo loop is currently closed Illegal Axis Type Attempted execution with the axis not configured as servo Publication 1756 RM007G EN P May 2005 2 22 Motion State Instructions Error Message Code Description Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion m
416. or and goes to the END_CASE statement Enter this structured text CASE recipe number OF 1 Ingredient _A Outlet_1 1 Ingredient B Outlet_ 4 1 2 3 Ingredient _A Outlet_4 1 Ingredient B Outlet_2 1 4 7 Ingredient _A Outlet_4 1 Ingredient _B Outlet_2 1 8 11 13 Ingredient _A Outlet_1 1 Ingredient B Outlet_4 1 ELSE Ingredient A Outlet 1 0 Ingredient A Outlet 4 0 Ingredient B Outlet 2 0 Ingredient B Outlet 4 0 END CASE Publication 1756 RM007G EN P May 2005 B 18 Structured Text Programming The tells the controller to also clear the outlet tags whenever the controller e enters the RUN mode e leaves the step of an SFC if you configure the SFC for Automatic reset This applies only if you embed the assignment in the action of the step or use the action to call a structured text routine via a JSR instruction Publication 1756 RMO007G EN P May 2005 Structured Text Programming B 19 FOR DO Use the FOR DO loop to do something a specific number of times before doing anything else Operands Structured Text FOR count initial value TO final value BY increment DO Operand Type Format Description lt statement gt count SINT tag tag to store count position as the END FOR INT FOR DO executes DINT initial_ SINT tag must evaluate to a number value INT expression specifies initial value for count DINT immediate fi
417. or equal to 0 Parameter Out Of Range 13 14 Termination Type Termination Type is less than 0 or greater than 3 For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 7 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Publication 1756 RM007G EN P May 2005 1 72 Multi Axis Coordinated Motion Instructions Circular Error Examples MCCM Moton Coord naled Circular Move Coordinate System Coordinated_sys Motion Control MCCM 0 Move Type 0 Position MCCM_Move_position 0 C AsisO 20 0 Asis Cicle Type Via Certer Radius Direction Speed Speed Units Urits per sec Accel Rate 50 Accel Units of Maximum Decel Rate 50 Decel Unis of Maxmum Profile Trapezadal Teimination Type 1 Merge Disabled Merge Speed Progiammed lt lt Less Publication 1756 RM007G EN P May 2005 Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value Due to the compl
418. orrect the Maximum Deceleration value Motion Status Bits The move instruction affects either the MoveStatus bit or the MasterOffsetMoveStatus bit based on the selected Move Type If Move Type is Incremental Master Offset or Absolute Master Offset the MasterOffsetMoveStatus bit is affected otherwise the MoveStatus bit is affected With the Merge check box NOT checked execution of the MAM instruction sets the Move Status bit to True Bit Name State Meaning MoveStatus or TRUE Axis is Moving MasterOffsetMove Axis is Offset If the Merge check box is checked and Move Type is not Incremental Master Offset or Absolute Master Offset execution of the MAM instruction sets the Move Status bit to True and clears the Jog and Gear Status bits Bit Name State Meaning MoveStatus TRUE Axis is Moving JogStatus FALSE Axis is no longer Jogging GearingStatus FALSE Axis is no longer Gearing Motion Move Instructions 3 39 If the Merge check box is checked and Move Type is Incremental Master Offset or Absolute Master Offset execution of the MAM instruction sets the Master Offset Move Status bit to True Bit Name State Meaning MasterOffsetMoveStatus TRUE Axis is Offset Example When the input conditions are true the controller initiates a move for axis1 Relay Ladder MAM Motion Axis Move Axis Axis E Motion Control MAM_1 Move Type 0 Position 100 ri Speed 100 Speed Un
419. osri_1 InputBit tag xic OSRI osri_1 IF osri 1 OutputBit THEN ABL 0 serial control END IF Constructs can be programmed singly or nested within other constructs If you want to Use this construct Available in these languages See page do something if or when specific IF THEN structured text B 13 conditions occur select what to do based on a numerical value CASE OF structured text B 16 do something a specific number of times before FOR DO structured text B 19 doing anything else keep doing something as long as certain WHILE DO structured text B 22 conditions are true keep doing something until a condition is true REPEAT UNTIL structured text B 25 Publication 1756 RMO007G EN P May 2005 Some key words are reserved for future use These constructs are not available e GOTO e REPEAT RSLogix 5000 software will not let you use them as tag names or constructs Structured Text Programming B 13 IF THEN Use IF THEN to do something if or when specific conditions occur Operands Structured Text IF bool_expression THEN Operand Type Format Enter lt statement gt AA END IF bool_ BOOL tag BOOL tag or expression that evaluates to E expression expression a BOOL value BOOL expression Description The syntax is IF bool _expressionl THEN lt statement gt lt q Statements to execute when bool_expression is true ELOI loool
420. ot affect the current state of the Time Cam Status bits Time Cam Pending Status bit is set to True immediately and transitions to False when the pending cam becomes the active cam Bit Name State Meaning TimeCamStatus N A Time Camming is Enabled TimeCamPendingStatus TRUE Pending Time Cam Motion Move Instructions 3 107 Example Relay Ladder Motion Calculate Slave Values MCSV MATE Motion Axis Time Cam Axis AxisO E Motion Control MATC_1 Direction 1 Cam Profile Cam_pro3 2 Distance Scaling 35 CY ri Time Scaling 2 Execution Mode Continuous Execution Schedule Pending Figure 3 41 MATC Ladder Example Structured Text MATC Axis0 MATC_1 1 Cam_pro3 2 35 2 Continuous Pending Use the Motion Calculate Slave Values MCSV instruction to calculate the slave value the slope value and the derivative of the slope for a given cam profile and master value Operands The MCSV s operands are the place to enter the values that govern how this instruction performs its function To display a reminder of the type of value a specific operand requires place the cursor on the operand in question and a tool tip is displayed for that operand in the status bar Enter operand of type CAM_PROFILE Figure 3 42 Status Bar for the Motion Control Operand of the MCSV Instruction Publication 1756 RM007G EN P May 2005 3 108 MCSV Motion Calculate Slave Values Motion Control Cam Profile
421. otion Coordinated Stop m System rp a gt a Motion MOTION_ tag Structure used to access Stop Type IP gt control INSTRUCTION instruction status parameters Change Decel A oa 3 Decel Rate Stop Type SINT INT or DINT immediate Specifies the motion profile to stop Decel Units 2 Coordinated Move lt lt E Change SINT INT or DINT immediate 0 No Decel 1 Yes Decel Rate SINT INT DINT or REAL immediate Coordination Units or tag The axis could overshoot its target position if you reduce the deceleration while a move is in process Decel Units SINT INT or DINT immediate Q Units per Sec 1 of Maximum Option is numbered 2 in keeping with current convention and to allow for future enhancements to feature Structured Text MCS CoordinateSystem MotionControl StopType ChangeDecel DecelRate DecelUnits The operands are the same as those for the relay ladder MCS instruction Note When entering enumerations for the operand value in Structured Text multiple word enumerations must be entered without spaces For example when entering for Stop Type the value should be entered as coordinatedmove rather than Coordinated Move as displayed in the ladder logic Publication 1756 RM007G EN P May 2005 7 90 Multi Axis Coordinated Motion Instructions Description For the operands that enumerated values enter your selection as This operand Has these options which you enter a
422. otion Direct Commands by right clicking on an Axis in the Controller Organizer This is the recommended way when you want to invoke a Motion Instruction for an axis i Controller mdconline A Controller Tags a Controller Fault Handler ES PowerUp Handler Tasks E E MainT ask E amp MainProgram A Program Tags i HA MainRoutine Unscheduled Programs E S Motion Groups E E Gata Maule fi Trends oS Data Types Eg User Defined a k ao Arana rales El Ea ci fl 1 0 Configuration Figure 8 5 Controller Organizer Axis Motion Direct Commands When the Motion Direct Commands dialog is accessed from an Axis in the Controller Organizer the Axis field defaults to the axis you right clicked on and the MSO command is the default selection Publication 1756 RM007G EN P May 2005 8 8 Motion Direct Commands User Interface Publication 1756 RM007G EN P May 2005 Figure 8 6 Motion Direct Command Dialog from Axis The Motion Direct Command Dialog The Motion Direct Commands dialog is similar in position and behavior to other dialogs in RSLogix5000 The dialog can be accessed when the system is either off line or on line Motion Direct Commands 8 9 Motion Direct Command Dialog Off line When accessed while off line the commands cannot be run and the Motion Group Shutdown and Execute buttons are greyed out mie x Trapezoidal isabled MIG GU SHULa GWT Figure 8 7 Motion Direct Command D
423. otion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text The operands are the same as those for the relay ladder MRAT instruction Publication 1756 RM007G EN P May 2005 6 8 Motion Configuration Instructions MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set after the tuning process has been successfully completed ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared after the tuning process is complete or terminated by a stop command shutdown or a servo fault PC Process It is set after the tuning process has been successfully Complete Bit 27 completed Description The Motion Run Axis Tuning MRAT instruction is used to execute a tuning motion profile on the specified axis During this brief tuning motion profile the motion module makes timing and velocity measurements that serve as input data for a subsequent MAAT Motion Apply Axis Tuning instruction MRAT requires no explicit input parameters simply enter or select the desired physical axis If the targeted axis does not appear i
424. ou attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MAW instruction receives a Servo Message Failure 12 error message Associated Error Code Extended Error Meaning decimal Code decimal SERVO_MESSAGE_FAILURE No Resource 2 Not enough memory 12 resources to complete request SERCOS MAW Changes to Status Bits Bit Name State Meaning WatchEventArmedStatus TRUE The axis is looking for a watch position event WatchEventStatus FALSE The previous watch event is cleared Example When the input conditions are true the controller arms watch position event checking for axis7 Publication 1756 RM007G EN P May 2005 5 6 Motion Event Instructions Motion Disarm Watch MDW Operands E MDW Motion Disarm Watch Axis Motion Control T MDW Axis MotionControl Publication 1756 RMO007G EN P May 2005 Relay Ladder MAW Motion Arm Watch Axis Axis E Motion Control MAW 1 Forward fwdmypos_1 Trigger Condition Position OYE Figure 5 2 MAW Ladder Example Structured Text MAW Axis1 MAW 1 Forward fwdmvpos 1 Use the MDW instruction to disarm watch position event checking fo
425. oup Servo Message Failure Axis Group Not Synchronized Messaging to targeted motion module failed See Extended Error section for more information on the cause of the error Attempted execution on an axis whose associated axis group is not currently synchronized Motion State Instructions 2 5 Error Message Code Description Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Group in Faulted State 21 Attempted execution on an axis which is in a group which is in the Faulted state Axis in Motion 22 Attempted execution on an axis which is in motion Illegal Controller Mode 24 Attempted execution when the processor is in Operation test mode Illegal Axis Data Type 38 Attempted execution on an axis with an axis data type that does not support the instruction Drive Locally Disabled 40 You are trying to run an MSO instruction when the drive is locally disabled Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MSO instruction receives a Servo Message Failure 12 error MSO Changes to Status Bits Example message Extended Error Code decimal Object Mode conflict 12 Permission Denied 15 Associated Error Code decimal SERVO_MESSAGE_F
426. ove2 DN Movez2 P Move2 AC Move2 PC cs1 MoveTransitionStatus cs1 MovePendingStatus cs1 MovePendingQueueFullStatus a Ap my 7m Ay Ay Ti a4 T S S S Oe ee m my my lt a S my omy Y ap a aA mlm om my Y Publication 1756 RM007G EN P May 2005 1 8 Multi Axis Coordinated Motion Instructions Bit States at Transition Points of Blended Move Using Follow Contour Velocity Constrained or Unconstrained linear circular move Y axis X axis The following table shows the bits at the transition points BB m m me Move1 DN T J T Move1 IP T F F Move1 AC T F F Move1 PC F T T Move2 DN T T T Movez IP T T F Move2 AC F T F Move2 PC F F T cs1 MoveTransitionStatus F F F cs1 MovePendingStatus T F F cs1 MovePendingQueueFullStatus T F F Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 9 Choose a termination type If you want the axes to vector speeds stop between moves The termination type determines when the instruction is complete It also determines how the instruction blends its path into the queued MCLM or MCCM instruction if there is one 1 Choose a termination type And you want the instruction to complete when the both of these happen e Command position equals target position e The vector distance between t
427. ox This list contains 1 default and 2 Publication 1756 RM007G EN P May 2005 8 36 Motion Direct Commands Motion Direct Command Error Process Whenever a Motion Direct Command is executed there are two levels of error detection that are presented The first level is verification of the command s operands If a verification error is detected a message Failed to Verify is posted on the dialog and an appropriate message is posted to the error result window The second level is the initial motion direct command s error response return code If an error code is detected a message Execution Error is posted on the dialog hal ES AT 1 ncremental of Maximum of Maximum Curve nabled urrent Complete 0 error s 0 warning s Motion Direct Conmands 14 MAJ 16 0000 No Error Motion Direct Commands 14 Execution Error MAM 16 000d Failed to execute command Errors Publication 1756 RMO007G EN P May 2005 Figure 8 31 MAM Error Message Whether or not an error is detected a detail message is displayed to the Error result window describing the results of the executed command Motion Direct Command Verification When the user selects Execute from a Motion Direct Command dialog the operands are verified If any operand fails verification an error message Failed to Verify is displayed on the dialog and a detailed error message is displayed in the error result window describing
428. p the E Stop string s that control main power to the various drive systems Another characteristic of the Shutdown state is that any instruction that initiates axis motion for an axis within the group is blocked from execution Attempts to do so results in an execution error Only by executing one of the Shutdown Reset instructions can motion then be successfully initiated Publication 1756 RM007G EN P May 2005 4 8 Motion Group Instructions To successfully execute a MGSD instruction the targeted group must be created and configured aa The MGSD instruction execution may take multiple scans to execute due to the fact that it requires transmission of a message to one or more motion modules Thus the Done DN bit is not set immediately but only after this message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MGSD Error Codes ERR Publication 1756 RMO007G EN P May 2005 Error Message Code Definition Execution Collision 3 Attempted execution on a group of axes that already has another instance of this instruction executing This situation is possible when instructions that require messagi
429. physical axis whose Axis Type is configured for Servo The instruction only executes when the axis is in the Axis Ready state i e servo action is OFF The resulting state of the axis is referred to as the Drive Control state The MDO instruction automatically enables the specified axis by activating the appropriate Drive Enable output before setting the servo module s analog output to the specified voltage value There is typically a 500 msec delay between the activation of the drive enable output and the setting of the analog output to the specified level to allow the drive s power structure to stabilize To minimize drift during this drive enabling delay the output voltage to the drive is set to the Output Offset attribute value default is zero Thereafter the output voltage is given by the specified Drive Output value of the MDO instruction and indicated by the Servo Output status attribute value The 16 bit DAC hardware associated with various Logix servo modules limits the effective resolution of the Direct Drive Motion Control to 305 pV or 0 003 In the case of Direct Drive operation the module s servo loop is inactive and bypassed The Motion Direct Publication 1756 RM007G EN P May 2005 2 18 Motion State Instructions Drive On instruction is only affected by the Servo Output Polarity configuration bit the Output Offset and Output Limit attributes for the axis In the case where Output Limit configuration value
430. position must be a positive value less than the Unwind value entered in the motion controller s machine setup menu and therefore moves of more than one revolution cannot be performed with a single rotary positive MAM instruction See the Setup section of the Installation and Setup manual for your motion controller for more information on the unwind parameter For example assume a rotary axis with position units of degrees is to be moved to a position of 225 As shown in the Figure below with the standard absolute MAM instruction the direction of travel depends on the current position of the axis and is not necessarily the shortest Publication 1756 RM007G EN P May 2005 3 32 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 path to the endpoint Starting positions less than the endpoint result in motion in the positive direction while starting positions greater than the endpoint result in motion in the negative direction Standard Absolute Rotary Positive Move Figure 3 10 Rotary Positive Moves With the rotary positive move however the axis moves to the specified endpoint position through 0 if necessary in the positive direction regardless of the current axis position imPorTANT MIS rotary positive move should only be used while the axis is not moving to ensure motion in the proper direction Rotary Negative Moves The rotary negative move moves a rotary axis to the desired absolute posi
431. pted execution on an axis which is in a group which is in the Faulted state Illegal Dynamic 23 Attempted an illegal change of dynamics such as Change merge on an S curve change profile from trap to S curve on the fly change S curve to non zero speed or changing accel of an S curve Illegal Controller 24 Attempted execution when the processor Is in test Mode Operation mode Publication 1756 RM007G EN P May 2005 5 36 Motion Event Instructions Extended Error Codes Status Bits Publication 1756 RMO007G EN P May 2005 Code Illegal Execution 35 Target Illegal Output Cam 36 Error Message Description Attempted execution with a specified Output Cam not supported by the Logix controller Attempted execution with an Output Cam array containing at least one member out of range DutputBit less than 0 or greater than 31 Invalid LatchType value Invalid UnlatchType value Left gt Right while LatchType is set to position or position and enable Left lt Cam Start Position while LatchType is set to position or position and enable Right gt Cam End Position while Unlatch Type is set to position or position and enable Duration lt Q while UnlatchType is set to duration or duration and enable Invalid EnableType value while LatchType or UnlatchType is set to enable or duration and enable Invalid EnableBit value
432. pted execution with the axis not configured as servo Overtravel Error 9 Attempted execution in a direction that aggravates current overtravel condition Master Axis Conflict 10 Axis Not Configured 11 Passed a master axis reference that was the same as the slave axis reference Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel See the Extended Error section for more information about this error Parameter Out of 13 Attempted execution with an input parameter Range that was out of range See Extended Error section for more information on the cause of the error Home in Process 16 Attempted to execute with homing in process Axis Group Not 19 Attempted execution on an axis whose Synchronized associated axis group is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Illegal Controller 24 Mode Operation Attempted execution when the processor is in test mode Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Maximum 54 Deceleration Value is Zero The Decel Rate of the Axis is set to zero This is an illegal value for Decel Rate which inhibits start motion See the Extended Error section for more information about this error Extended Error Codes Exten
433. ption 4 12 Error Codes 4 13 MOTION_INSTRUCTION structure 4 12 Operands 4 12 Relay Ladder 4 12 Structured Text 4 12 Motion Group Shutdown 4 6 Motion Group Shutdown Reset 4 9 motion group shutdown reset 4 9 Motion Group Stop 4 1 Motion Group Strobe Position 4 12 motion move MCD 3 51 Motion Move Instructions 3 1 Introduction 3 1 MCSV 3 107 Motion Axis Gearing MAG 3 40 Changes to Status Bits 3 49 Changing Master Axes 3 46 Changing the Gear Ratio 3 44 Clutch 3 45 Description 3 42 Error Codes 3 48 Extended Error Codes 3 48 Fraction Gear Ratios 3 45 Gearing in the Opposite Direction 3 44 Gearing in the Same Direction 3 44 MOTION_INSTRUCTION structure 3 42 Moving While Gearing 3 47 Operands 3 40 Relay Ladder 3 40 Structured Text 3 41 Real Number Gear Ratios 3 44 Reversing the Gearing Direction 3 44 Slaving to the Actual Position 3 43 Slaving to the Command Position 3 43 Motion Axis Home MAH 3 9 Absolute Homing 3 10 Active Homing 3 10 Changes to Status Bits 3 13 Description 3 9 Error Codes 3 11 Extended Error Codes 3 12 MOTION_INSTRUCTION structure 3 9 Operands 3 9 Relay Ladder 3 9 Structured Text 3 9 Passive Homing 3 10 Motion Axis Jog MAJ 3 14 Current Speed 3 20 Description 3 17 Error Codes 3 21 Extended Error Codes 3 22 Jog Profile Type 3 18 S Curve 3 19 Trapezoidal 3 19 Merged Jogs 3 20 MOTION_INSTRUCTION structure 3 17 Operands 3 15 Relay Ladder 3 15 Structured Text 3 16
434. ptions are e The 3 axes AxisO and Axis1 Axis2 are all members of the coordinate system Coordinated_sys1 e Coordinated_sys1 is a three dimensional coordinate system e Axis0 Axis1 and Axis2 are orthogonal to each other e Coordinated_sys1 is initially set at 0 0 0 0 0 0 units Move Coordinated_sys1 along an arc to 1 0 1 0 1 414 units with center at 1 0 1 0 1 0 units at the vector speed of 10 0 units per second with the acceleration and deceleration values of 5 0 units per Multi Axis Coordinated Motion Instructions 7 61 second The following graph shows the 3D arc generated by the preceding information Zas A A Figure 7 38 3D Path Using Shortest Full for Direction Operand This path is achieved by using an MCCM instruction with a Move Type of Absolute and a Circle Type of Center When Via is selected the Via Center Radius position defines a point through which the arc must pass MCCM Three dimensional Motion Coordinated Circular Move N gt coordinate system Coordinate System Coordinated_sys1 E Motion Control MCCM 10 Nn Move Type 0 pO Position MCCM_Move_position 20 _ AxisO 1 0 IP gt Position defined in Axis Axis absolute units Circle Type f Circle Type is Center Via Center Radius Direction Center position defined in absolute units as Speed 1 0 1 0 0 0 Direction is Shortest Full Speed Units Units per sec Accel Rate 5 Accel Units Units per sec2 Dec
435. quences and MOTION_INSTRUCTION structure and its members The motion instruction set consists of six groups of instructions Group For more information see Motion state instructions Chapter 2 Motion move instructions Chapter 3 Motion group instructions Chapter 4 Motion event instructions Chapter 5 Motion configuration instructions Chapter 6 Coordinated Motion instructions Chapter 7 These instructions operate on one or more axes You must identify and configure axes before you can use them For more information about configuring an axis refer to the ControlLogix Motion Module Setup and Configuration Manual publication 1756 UM006 Motion Status and Configuration Parameters You can read motion status and configuration parameters in your ladder logic program using two methods Method Example For more information Directly accessing the e axis faults See appendix A MOTION_GROUP and AXIS e motion status structures structures e servo status Using the GSV instruction e actual position See Logix5000 e command position Controller Instruction e actual velocity Set Reference Manual Publication 1756 RM003 Modifying Motion Configuration In your ladder logic program you can modify motion configuration Parameters parameters using the SSV instruction For example you can change position loop gain velocity loop gain and current limits Publication 1756 RM007G EN P May 2005 1 2 Motion C
436. r MAR Motion Arm Registration instruction or a MDR Motion Disarm Registration instruction is executed for registration input 2 HomeEventArmedStatus DINT Set when a home event has been armed through execution of the MAH Motion Axis Home instruction Cleared when a home event occurs Publication 1756 RM007G EN P May 2005 Structures A 11 Mnemonic Data Description Type HomeEventStatus DINT Set when a home event has occurred Cleared when another MAH Motion Axis Home instruction is executed ProcessStatus DINT Set when there is an axis tuning operation or an axis hookup diagnostic test operation in progress on the associated physical axis OutputLimitStatus DINT Set when the magnitude of the output of the associated physical servo axis has reached or exceeded the configured Output Limit value PosLockStatus DINT Set when the magnitude of the axis position error has become less than or equal to the configured Position Lock Tolerance value for the associated physical axis HomelnputStatus DINT Set when the current state of the dedicated Home input is active Cleared when the Home input is inactive DriveFaultInputStatus DINT Set when the current state of the Drive Fault input is active Cleared when the Drive Fault input is inactive Reg InputStatus DINT Set when the current state of the dedicated Registration 1 input is active Clear whe
437. r an axis This instruction has the affect of clearing both the Watch Event Status and Watch Armed Status bits in the axis data structure Executing this instruction also clears the In Process bit associated with the controlling Motion Arm Watch MAW instruction Relay Ladder Operand Type Format Description Axis AXIS_FEEDBACK tag Name of the axis to perform AXIS_GENERIC operation on AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text The operands are the same as those for the relay ladder MDW instruction Motion Event Instructions 5 7 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when axis watch event checking has been successfully disarmed ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis Description The Motion Disarm Watch MDW instruction cancels watch position event checking set up by a previous MAW instruction The Disarm Watch Position instruction requires no parameters simply enter or select the desired physical axis If the targeted axis does not appear in the list of available axes the axis has not bee
438. r the profiles must be designed such that no position velocity or acceleration discontinuities exist between the end of the current profile and the start of the new one This is done using the RSLogix 5000 Cam Profile Editor Once a pending time cam instruction has been executed the new cam profile takes effect automatically and becomes the current profile when cam time passes through the end of the current profile If the current cam is configured to execute once the new profile is initiated at the completion of the pass through the current cam profile and the PC bit of the currently active MATC instruction is set If the current cam is configured to execute continuously the new profile is initiated at the completion of the current pass through the current cam profile and the IP bit of the currently active MATC instruction is cleared The motion controller keeps track of time and the axis positions relative to the first profile at the time of the change and uses this information to maintain synchronization between the profiles If the Execution Schedule of an MATC instruction is set to Immediate and a time cam profile is currently in process the MATC instruction generates an Illegal Dynamic Change error If an Execution Schedule of Pending is selected without a corresponding time cam profile in progress the MATC instruction executes but no camming motion occurs until another MATC instruction with a non pending Execution Schedule is init
439. r change requests a cancel of Tune SERVO_MESSAGE_FAILURE Object Mode conflict Axis is in shutdown 12 12 SERVO_MESSAGE_FAILURE Device in wrong state Incorrect Tune Process 12 16 order SERCOS MRAT Changes to Status Bits Bit Name State Meaning DriveEnableStatus TRUE Axis is in Drive Control state with the Drive Enable output active while the Tuning Profile is running TuneStatus TRUE The axis is running a tuning process When the input conditions are true the controller commands the servo module to run a tuning motion profile for axis7 Relay Ladder MRAT Motion Run Axis Tuning Axis Axis1 E M Motion Control Figure 6 4 MRAT Ladder Example Structured Text MAR Axisl MRAT 1 Publication 1756 RM007G EN P May 2005 6 14 Motion Configuration Instructions Motion Apply Hookup The Motion Apply Hookup Diagnostics MAHD instruction is used to apply the results of a previously run Motion Run Hookup Diagnostic Diagnostics MAHD MRHD instruction to generate a new set of encoder and servo polarities based on the Observed Direction of motion during the test As part of the application process the instruction updates the motion module with these new polarity settings After execution of the MAHD instruction and assuming that a stable set of gains has been established the corresponding axis should be ready for servo activation Operands Relay Ladder
440. r defines the absolute or incremental value of a position along the circle the center of the circle or the radius of the circle as defined in the following table If the Circle Type is via or center the via center radius position parameter is a one dimensional array whose dimension is defined to be at least the equivalent of the number of axes specified in the coordinate system If the Circle Type is radius the via center radius position parameter is a single value Circle Type Behavior Absolute Via The via center radius position array defines a position along the circle For a non full circle case the Position parameter array defines the endpoint of the arc For a full circle case the Position parameter array defines any second point along the circle except the endpoint Incremental Via The sum of the via center radius position array and the old position defines the position along the circle For a non full circle case the sum of the Position parameter array and the old position defines the endpoint of the arc For a full circle case the sum of the Position parameter array and the old position defines any second point along the circle except the endpoint Absolute Incremental Center The via center radius position array defines the center of the circle For a non full circle case the Position parameter array defines the endpoint of the arc For a full circle case the Position parameter array defines any second p
441. r supply voltages associated with the drive circuitry fall outside of acceptable limits FeedbackFault DINT Set when one of the feedback sources associated with the drive axis has a problem that prevents the drive from receiving accurate or reliable position information from the feedback device CommutationFault DINT Set when the commutation feedback source associated with the drive axis has a problem that prevents the drive from receiving accurate or reliable motor shaft information to perform commutation DriveOvercurrentFault DINT Set when drive output current exceeds the predefined operating limits for the drive DriveOvervoltageFault DINT Set when drive DC bus voltage exceeds the predefined operating limits for the bus DriveUndervoltageFault DINT Set when drive DC bus voltage is below the predefined operating limits for the bus PowerPhaseLossFault DINT Setwhen the drive detects that one or more of the three power line phases is lost from the 3 phase power inputs PosErrorFault DINT Set when the servo has detected that the axis position error has exceeded the current configured value for Position Error Tolerance This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear OutputCamStatus DINT A set of bits that are set when the Output Cam has been initiated OutputCamPendingStatus DINT A set of bits that are set w
442. rands Relay Ladder 7 79 Structured Text 7 79 MCCM Error Codes 7 69 Examples Circular Error 7 72 CIRCULAR_COLLINEARITY_ERR OR 44 7 72 CIRCULAR_R1_R2_MISMATCH _ERROR 46 7 73 CIRCULAR_SMALL_R_ERROR 49 7 74 7 75 CIRCULAR_START_END_ERRO R 45 7 72 Relay Ladder 7 77 Rotary Axes 7 54 Move Type of Absolute 7 54 Move Type of Incremental 7 56 Structured Text 7 77 Three Dimensional Arcs 7 58 Circle Type Center 7 60 Circle Type Via 7 59 Two Dimensional Arc 7 42 Using Center Circle Type 7 42 Using Center Incremental Circle Type 7 50 Using Radius Circle Type 7 48 Using Via Circle Type 7 45 Two Dimensional Full Circle 7 52 MCCP 3 65 MCD instruction 3 51 MCLM Examples Additional Note On Merging Instruc tions 7 28 Blending Different Speeds 7 12 Publication 1756 RM007G EN P May 2005 Termination Types 7 3 Merge 7 27 Move Type 7 17 Relay Ladder 7 35 Rotary Axes 7 20 Move Type of Absolute 7 20 Move Type of Incremental 7 21 Structured Text 7 35 MCS Examples Relay Ladder 7 94 Structured Text 7 94 Operands Relay Ladder 7 89 MCSD Examples Relay Ladder 7 97 Structured Text 7 97 MCSR Examples Relay Ladder 7 100 Structured Text 7 100 MCSV Examples Relay Ladder 3 110 Structured Text 3 110 MDF 2 20 MDO instruction 2 16 MDR 5 16 MDW 5 6 message motion instructions 1 3 MGS 4 1 MGSD 4 6 MGSP 4 12 MGSR instruction 4 9 motion immediate type instructions 1 2 message type instructions 1 3 process type instructions 1
443. ras Cuando en ee ek ee ee ee 2 6 Desciipuon 2 Wiebke So ae Roa Bee eae ea 2 7 Arithmetic Status Flags 0d alan 2 8 Fault Conditions ieli e e R amp Pua eee 2 8 Eror Codes iras a ia 2 8 MSE Changes to Status Blu ee eee we ee ey 2 9 EXIME ira e ake Boke Ake knw a eA gee 2 9 Motion Axis Shutdown MASD 0 0 00 0 oo 2 9 A eee Ae eee eee A ee re 2 10 DESC PU OM cr o aL 2 10 Arithmetic Status Flags aya 2445 ead Bee SYS eS 2 11 Fault Conditions o a aa nen oa bh wey oo pene 2 11 POR Codes prue A Ree Gey BS Poet cae Deion Ee 2 12 MASD Changes to Status BS eet o es Bias 2 12 EXAM DIGI eo ey ee Be GA Phd VA Pee BRS Gai es 2 13 Motion Axis Shutdown Reset MASRB o o o o o 2 13 OPS OE RA A 2 14 DESEOS EA A AA 2 14 Arithmetic Status Flags sei ao Steve ceed oc bdo 2 15 Publication 1756 RM007G EN P May 2005 Table of Contents 2 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 F ult C nditons aos ae e hg Batt 2 15 Error Codes a e a rreran u eraru 2 15 Salas Bits ns once as sido 2 16 EXA E a tada do 2 16 Motion Direct Drive On MDO aoaaa aaan oo 2 16 Dos iassa ca eee She wel oo bl oe ote 2 16 DeSCrPHON atone tae A Aaa 2 17 Arithmetic Status Flags chs Gag Erre 2 18 Fault CONCINGUS Deol a a 2 18 Error Codes da cidos 2 18 Extended Error Codes alos pea ais 2 19 Status BIS o as a Se Belt al Baal wo is be Sst 2 19 o RA AA IN ech ati eek 2 19 Motion Direct Drive Off MDF
444. ration and deceleration jerk rate calculations are performed when an MCLM MCCM MCCD or MCS instruction is started The calculated Jerk Rate produces triangular acceleration and deceleration profiles as shown in the following diagram Velocity Figure 7 10 S Curve Accel Decel Time See the MCCD instruction for more details about the impact changes made by an MCCD instruction Merge The Merge operand determines whether or not to turn the motion of all specified axes into a pure coordinated move The Merge options include Merge Disabled Coordinated Motion or All Motion Merge Disabled Any currently executing single axis motion instructions involving any axes defined in the specified coordinate system are not affected by the activation of this instruction and results in Publication 1756 RMO007G EN P May 2005 7 26 Multi Axis Coordinated Motion Instructions superimposed motion on the affected axes Also any coordinated motion instructions involving the same specified coordinate system runs to completion based on its termination type Coordinated Motion Any currently executing coordinated motion instructions involving the same specified coordinate system are terminated The active motion is blended into the current move at the speed defined in the merge speed parameter Any pending coordinated motion instructions are cancelled Any currently executing system single axis motion instructions involving any axes defi
445. ration as velocity approaches maximum The new acceleration Jerk Rate becomes smaller further limiting the maximum change in acceleration Velocity overshoot occurs due to the additional time required for acceleration to reach zero Another profile is generated to bring velocity back to the programmed maximum Point where acceleration was decreased Velocity Figure 7 51 Effect of Change to Acceleration The following graph illustrates what could happen when an MCCD instruction is used to reduce the deceleration as velocity and position approach their target endpoints The new deceleration Jerk Rate becomes smaller The time required to decelerate to zero causes velocity to undershoot passing through zero and becoming negative Axis motion also reverses direction until velocity returns to zero An Multi Axis Coordinated Motion Instructions 7 85 additional profile is generated to bring position back to the programmed target Point where deceleration was decreased Velocity Position Figure 7 52 Affect of Change to Deceleration Scope The Scope operand lets you determine whether the changes are to affect the current active instruction MCCD is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Statu
446. rcode is a string tag that stores the bar code of the item for which you are searching For example when position 5 compare Barcode to Inventory 5 ID 4 Add 1 to position 5 If position is lt to nventory_Items 1 repeat 3 and 4 Since element numbers start at 0 the last element is 1 less than the number of elements in the array Otherwise stop Structured Text Programming B 21 Enter this structured text SIZE Inventory 0 Inventory Items For position 0 to Inventory Items 1 do If Barcode Inventory position ID then Quantity Inventory position Oty Exit End if End for Publication 1756 RM007G EN P May 2005 B 22 Structured Text Programming WHILE DO Use the WHILE DO loop to keep doing something as long as certain conditions are true Operands Structured Text WHILE bool_expression DO Operand Type Format Enter lt statement gt L END WHILE bool_ l BOOL tag BOOL tag or expression that evaluates to T expression expression a BOOL value IMPORTANT Make sure that you do not iterate within the loop too many times in a single scan e The controller does not execute any other statements in the routine until it completes the loop e If the time that it takes to complete the loop is greater than the watchdog timer for the task a major fault occurs e Consider using a different construct such as IF THEN Description The syntax is
447. rdinate system Decel Rate The Decel Rate operand defines the maximum deceleration along the path of the coordinated move Decel Units The Decel Units operand defines the units applied to the Decel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coordinate system Profile The Profile operand determines whether the coordinated move uses a trapezoidal or an S Curve velocity profile See the Profile section of the MCLM instruction earlier in this chapter for more information about Trapezoidal and S Curve profiles Merge The merge defines whether or not to turn the motion of all specified axes into a pure coordinated move The options are Merge Disabled Coordinated Motion or All Motion Merge Disabled Any currently executing single axis motion instructions involving any axes defined in the specified coordinate system are not affected by the activation of this instruction and result in superimposed motion on the affected axes An error is flagged if a second instruction is initiated in the same coordinate system or in another coordinate system containing any axes in common with the coordinate system that is active Coordinated Motion Any currently executing coordinated motion instructions involving the same specified coordinate system are terminated and the active motion is blended into the current move at the speed defined in the
448. registration event checking has been successfully armed ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared after the registration event has occurred or has been superseded by another Motion Arm Reg command or terminated by a Motion Disarm Reg command PC Process Complete Bit 27 It is set when a registration event occurs Motion Event Instructions 5 11 Description The Motion Arm Registration MAR instruction sets up a registration event to store the actual positions of the specified physical axis on the specified edge of the selected dedicated high speed Registration input for that axis When an MAR instruction is executed the RegEventStatus bit is set to 0 FALSE and the selected Registration input for the specified axis is monitored by the motion module until a Registration input transition of the selected type the registration event occurs When the registration event occurs the RegEventStatus bit for the axis is set to 1 TRUE and the Actual Position of the axis is stored in the Registration Position variable corresponding to the registration input e g Registration 1 Position 1 or Registration 2 Position Registration Registration_status Input 0 Registration_status 1 Registration Registration Event
449. rence Manual publication 1756 RM084 Logix5550 Controller Converting PLC 5 or SLC 500 Logic to Logix5550 Logic Reference Manual publication 1756 6 8 5 You can use these Logix5000 controllers for motion control e 1756 ControlLogix controllers e 1768 CompactLogix controllers available in the future e 1789 SoftLogix5800 controllers e 20D PoweFlex 700S with DriveLogix controllers If you have a PoweFlex 700S with DriveLogix controller You can t use these instructions with a DriveLogix controller e Motion Direct Drive On MDO e Motion Direct Drive Off MDF e Motion Apply Axis Tuning MAAT e Motion Run Axis Tuning MRAT e Motion Apply Hookup Diagnostics MAHD e Motion Run Hookup Diagnostics MRHD Publication 1756 RM007G EN P May 2005 Preface 2 Who Should Use This This document provides a programmer with details about the motion Manual instructions that are available for a Logix5000 controller You should already be familiar with how the Logix5000 controller stores and processes data Novice programmers should read all the details about an instruction before using the instruction Experienced programmers can refer to the instruction information to verify details Purpose of This Manual This manual provides information about each motion instruction This section Instruction name Provides this type of information Identifies the instruction Defines whether the instruction i
450. rent negative direction position limits as established by hardware limit switches mounted on the machine To recover the axis must be moved back with normal operation limits of the machine and the limit switch reset This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear FeedbackFault DINT Set for a specific feedback source when one of the following conditions occurs e The differential electrical signals for one or more of the feedback channels e g A and A B and B or Z and Z are at the same level both high or both low Under normal operation the differential signals are always at opposite levels The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive e Loss of feedback power or feedback common electrical connection between the servo module or drive and the feedback device This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear Publication 1756 RM007G EN P May 2005 A 12 Structures Mnemonic Data Type Description FeedbackNoiseFault DINT Set for a specific feedback source when the servo module has detected simultaneous transitions of the feedback A and B channels called feedback noise Feedback noise is
451. results in a tuning fault reported by the Tune Status parameter Possible values for Tuning Status are shown in the table below Status Code Code Meaning Tune Success 0 Tune process has been successful Tune In Process 1 Tuning is in progress Tune Aborted 2 Tuning Process was aborted by user Tune Time out 3 Tuning Process has timed out Tune Servo Fault 4 Tuning Process Failed due to Servo Fault Tune Travel Fault 5 Axis reached Tuning Travel Limit Tune Polarity Fault 6 Axis motion heading in wrong direction due to incorrect motor encoder polarity configuration Tune Speed Fault 7 Axis tuning speed too low to achieve minimum measurement accuracy IMPORTANT The Tune Status Parameter is not to be mistaken for the STATUS sub tag of the MRAT instruction To successfully execute a MRAT instruction on an axis the targeted axis must be configured as a Servo Axis Type and the axis must be in the Axis Ready state If any of these conditions are not met than the instruction errs Maa When the MRAT instruction is initially executed the In Process IP bit is set and the Process Complete PC bit is cleared The MRAT instruction execution can take multiple scans to execute because it requires transmission of multiple messages to the motion module The Done CDN bit is not set immediately but only after these messages are successfully transmitted The In Process IP bit is cleared and the Pr
452. right and left cam positions specify the latch or unlatch positions of the output bit when the latch or unlatch type is set to Position or Position and Enable with the enable bit active If the right position is less than the Cam Start position or greater than the Cam End position an Illegal Output Cam error is returned and the cam element is not considered Duration REAL Duration specifies the time in seconds between latching and unlatching when the Unlatch Type is Duration or Duration and Enable with the enable bit active A value less than or equal to 0 results in an Illegal Output Cam error and the cam element is not considered EnableType DINT This defines the source and polarity of the specified EnableBit when LatchType or UnlatchType is Enable Position and Enable or Duration and Enable A value of less than 0 or greater than 31 results in an Illegal Output Cam error and the cam element is not considered Value Description 0 Input The enable bit is in the Input parameter 1 Inverted Input The enable bit is in the input parameter and is active low 2 Output The enable bit is in the Output parameter 3 Inverted Output The enable bit is in the Output parameter and is active low EnableBit DINT The value of the Enable Bit selected must be between 0 and 31 when LatchType or UnlatchType is Enable Position and Enable or Duration and Enable A value of less than 0 or greater than 31 results in an Illegal Output Cam error and the cam ele
453. rks e Comments do not affect the execution of the structured text To add comments to your structured text To add a comment Use one of these formats on a single line comment at the end of a line of structured text comment comment within a line of structured text comment comment that spans more than one line start of comment end of comment start of comment end of comment For example Example At the beginning of a line Check conveyor belt direction IF conveyor direction THEN At the end of a line ELSE If conveyor isn t moving set alarm light light 1 END_IF comment Sugar Inlet 1 open the inlet IF Sugar Low low level LS amp Sugar High high level LS THEN Controls the speed of the recirculation pump The speed depends on the temperature in the tank IF tank temp gt 200 THEN comment Publication 1756 RMO007G EN P May 2005 Sugar Inlet 0 close the inlet IF bar code 65 A THEN Gets the number of elements in the Inventory array and stores the value in the Inventory Items tag SIZE Inventory 0 Inventory Items Numerics 1756 OB16IS 5 37 A arithmetic operators structured text B 6 ASCII structured text assignment B 4 assignment ASCII character B 4 non retentive B 3 retentive B 2 AXIS Structures A 1 AXIS_ CONSUMED A 1 AXIS_SERV
454. rmation circuits equipment or software described in this manual Throughout this manual when necessary we use notes to make you aware of safety considerations Identifies information about practices or circumstances that can cause an explosion in a hazardous environment which may lead to personal injury or death property damage or economic loss IMPORTANT Identifies information that is critical for successful application and understanding of the product ATTENTION Identifies information about practices or circumstances that can lead to personal injury or death property damage or economic loss Attentions help you e identify a hazard e avoid a hazard e recognize the consequence MIE Labels may be located on or inside the equipment e g drive or motor to alert people that dangerous voltage may be present E BURN HAZARD Labels may be located on or inside the equipment e g drive or motor to alert people that surfaces may be dangerous temperatures Introduction Updated Information Summary of Changes This release of this document contains new and updated information To find new and updated information look for change bars as shown next to this paragraph This document contains the following changes Change Page Error code 65 The position of the axis overflowed before you started 1 10 3 37 3 91 7 32 this move 7 70 Using Different Termination Types When
455. rn a number that indicates the offending parameter as listed on the faceplate in numerical order from top to bottom beginning with zero For example 2 indicates the parameter value for Move Type is in error Referenced Error Code and Extended Error Instruction Description Number Numeric Parameter Indicator Parameter Out Of Range 13 2 Move Type Move Type is either less than 0 or greater than 1 Parameter Out Of Range 13 4 Speed Speed is less than 0 Parameter Out Of Range 13 7 Accel Rate Accel Rate is less than or equal to 0 Parameter Out Of Range 13 10 Decel Rate Decel Rate is less than or equal to 0 For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 72 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis has a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value MCCD Changes to Status Bits No effect Publication 1756 RM007G EN P May 2005 7 88 Multi
456. roblem caused when either MASD or MGSD is followed by a reset instruction which is initiated before the shutdown bit has been received by the shutdown instruction 43 Coordinate System Queue Full You have tried to activate more motion instructions than the instruction queue can hold 44 Circular Collinearity Error You have drawn a line with three 3 points and no centerpoint viapoint or plane centerpoint can be determined 45 Circular Start End Error You have specified one 1 point radius or drawn a line centerpoint viapoint and no centerpoint radius or plane centerpoint viapoint can be determined 46 Circular R1 R2 Mismatch Error The programmed centerpoint is not equidistant from start and end point 47 Circular Infinite Solution Error Call Rockwell Automation Technical Support 48 Circular No Solutions Error Call Rockwell Automation Technical Support 49 Circular Small R Error R lt 0 01 R is basically too small to be used in computations 50 Coordinate System Not in Group The coordinate system tag is not associated with a motion group 51 Invalid Actual Tolerance You have set your Termination Type to Actual Position with a value of 0 This value is not supported Publication 1756 RM007G EN P May 2005 1 10 Motion Concepts Error Code Error Message Description 52 Coordination Motion In Process At least one axis is currently undergoing coordinated motion in another coordinated Error system 54 Zero Max Dece
457. rofile array See Extended Error section for more information on the cause of the error Illegal Cam Type 28 Attempted execution with an illegal segment type in cam element Illegal Cam Order 29 Attempted execution with an illegal order of cam elements Cam Profile Being 30 Attempted execution with an cam profile array Calculated that is currently being calculated Cam Profile Being 31 Attempted execution with an cam profile array Used is currently being used Extended Error Codes Extended Error Codes provide additional instruction specific Publication 1756 RMO007G EN P May 2005 information for the Error Codes that are not specific enough to help pinpoint the problem When the MCCP instruction receives an Illegal Cam Length 26 error message to let it know that the length input parameter does not correspond to what the instruction expects the corresponding Extended Error code provides the number of cams in the Cam Tag provided to the instruction When the MCCP instruction Motion Move Instructions 3 71 receives an Illegal Cam Profile Length 27 error message to let it know that the length input parameter does not correspond to what the instruction expects the corresponding Extended Error code provides the number of cam points the instruction is attempting to generate MCCP Changes to Status Bits None Example Relay Ladder MCC Motion Calculate Cam Profile Motion Control MCCP_1 Cam Cam_1 0 J Lenath 30
458. rovides time delay compensation for the latch and unlatch operation The following diagram shows the effect of the compensation values on an Output Cam element Cam Position Latch Offset y Unlatch Offset _ e Compensated Cam Position Publication 1756 RM007G EN P May 2005 5 30 Motion Event Instructions Figure 5 16 Offset and Delay Compensation The cam range is defined by the left and right cam positions of the Output Cam element The compensated cam range is defined by the cam range offset and latch and unlatch offsets The latch and unlatch offsets are defined by the current speed v Latch Offset Unlatch Offset v Latch Delay v Unlatch Delay The resulting compensation offset can actually be larger than the difference between cam start and cam end position The following equation illustrates the effect of the compensation values on the duration of an Output Cam element Compensated Duration Duration Latch Delay Unlatch Delay Mode Compensation Depending on the selected mode the compensated output bit is set according to the following table Mode Behavior Normal The output bit is set when the output of the latch and unlatch operation becomes active The output bit is reset when the output of the latch and unlatch operation becomes inactive Inverted The output bit is set when the output of the latch and unlatch operation becomes inactive The outpu
459. rtravel Fault NegHardOvertravelFault 03 DINT Negative Hardware Overtravel Fault MotFeedbackFault 04 DINT Feedback Fault MotFeedbackNoiseFault 05 DINT Feedback Noise Fault AuxFeedbackFault 06 DINT Auxiliary Feedback Fault AuxFeedbackNoiseFault 07 DINT Auxiliary Feedback Noise Fault Reserved 08 DriveEnablelnputFault 09 DINT Drive Enable Input Fault Reserved 10 12 GroundShortFault 13 DINT Ground Short Fault DriveHardFault 14 DINT Drive Hard Fault OverSpeedFault 15 DINT Overspeed Fault OverloadFault 16 DINT Overload Fault DriveOvertempFault 17 DINT Drive Overtemperature Fault MotorOvertempFault 18 DINT Motor Overtemperature Fault DriveCoolingFault 19 DINT Drive Cooling Fault DriveControlVoltageFault 20 DINT Drive Control Voltage Fault FeedbackFault 21 DINT Feedback Fault CommutationFault 22 DINT Commutation Fault DriveOvercurrentFault 23 DINT Drive Overcurrent Fault DriveOvervoltageFault 24 DINT Drive Overvoltage Fault DriveUndervoltageFault 25 DINT Drive Undervoltage Fault PowerPhaseLossFault 26 DINT Power Phase Loss Fault PositionErrorFault 27 DINT Position Error Fault SERCOSFault 28 DINT SERCOS Fault no tag 29 DINT Overtravel Fault Reserved 30 31 SERCOSErrorCode INT Error code returned by SERCOS module indicating source of drive parameter update failure Publication 1756 RM007G EN P May 2005 A 18 Structures Mnemonic Data Type Description AccelStatus DINT Set if the axis is currently being commanded to ac
460. ructured Text The MAHD instruction generates a new set of encoder and servo polarities based on the observed direction of motion during the MRHD instruction Command the servo module to run one of three MRHD Relay Ladder diagnostic tests on an axis Structured Text Motion Apply Axis Tuning The Motion Apply Axis Tuning MAAT instruction is used compute a M AAT complete set of servo gains and dynamic limits based on the results of a previously run Motion Run Axis Tuning MRAT instruction and Publication 1756 RM007G EN P May 2005 6 2 Motion Configuration Instructions Operands MAAT Motion Apply Axis Tuning Axis Bl Motion Control PP MAAT Axis MotionControl Description Publication 1756 RMO007G EN P May 2005 update the motion module with these new gain parameters While this instruction takes no explicit parameters input is derived from the Axis Tuning Configuration parameters as described in the Motion Axis Object specification After execution of the MAAT instruction the corresponding axis should be ready for servo activation Relay Ladder Operand Type Format Description Axis AXIS_SERVO tag Name of the axis to perform AXIS_SERVO_DRIVE operation on Motion MOTION_ tag Structure used to access control INSTRUCTION instruction status parameters Structured Text The operands are the same as those for the relay ladder MAAT instruction MOTION_INS
461. ructured text IF rejects gt 3 THEN conveyor 0 alarm 1 END IF ELSE Enter this structured text IF conveyor direction THEN light 0 ELSE light 1 END IF The tells the controller to clear ight whenever the controller e enters the RUN mode e leaves the step of an SFC if you configure the SFC for Automatic reset This applies only if you embed the assignment in the action of the step or use the action to call a structured text routine via a JSR instruction Publication 1756 RMO007G EN P May 2005 Structured Text Programming B 15 Example 3 IF THEN ELSIF If you want this Enter this structured text If sugar low limit switch low on and sugar high limit IF Sugar Low amp Sugar High THEN switch not high on then inlet valve open on Sugar Inlet 1 Until sugar high limit switch high off ELSIF NOT Sugar High THEN Sugar Inlet 0 END_IF The tells the controller to clear Sugar Inlet whenever the controller e enters the RUN mode e leaves the step of an SFC if you configure the SFC for Automatic reset This applies only if you embed the assignment in the action of the step or use the action to call a structured text routine via a JSR instruction Example 4 IF THEN ELSIF ELSE If you want this Enter this structured text If tank temperature gt 100 IF tank
462. s Maximum negative position 2 147 483 648 conversion constant of the axis Suppose you have a conversion constant of 2 097 152 counts inch In that case e Maximum positive position 2 147 483 647 2 097 152 counts inch 1023 inches e Maximum negative position 2 147 483 648 2 097 152 counts inch 1023 inches To prevent this error e Set up soft travel limits that keep the axis within the position range e One way to get more travel is to use the max negative or max positive position as your home position Example Max 0 Max If you set the home 0 is in the middle of the position here travel This gives you twice the travel that homing to 0 would give you Extended Error Codes Extended Error codes help to further define the error message given for this particular instruction Their behavior is dependent upon the Error Code with which they are associated Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 71 The Extended Error Codes for Servo Off State 5 Shutdown State 7 Axis Type Not Servo 8 Axis Not Configured 11 Homing In Process Error 16 and Illegal Axis Data type 38 errors all function in the same fashion A number between 0 and n is displayed for the Extended Error Code This number is the index to the Coordinate System indicating the axis that is in the error condition For Error Code Axis Not Configure
463. s asociarse tata a ex 3 106 MATC Changes to Status Bits o o o 3 106 Example ir rra is hdd oia 3 107 Motion Calculate Slave Values MCSV 3 107 A O A O AE 3 107 Descriptil n ss rats EA Su 3 108 Arithmetic Status Flags ar ai RS 3 109 F ult Conditions eson pig a ESE 3 109 Error COLS REA Eo 3 109 Extended Error Codes da a AA eS 3 109 A A A Lace MS a 3 110 MCSV Changes to Status Bits 3 110 Empleada lato a ed dios 3 110 Chapter 4 OOO SIRVA RED ATA 4 1 Motion Group Stop MGS ois see amen rbd 4 1 ODES S rtorras PGs OEE Or HES oa 4 2 DESC PUNE wok eS ake Hoe Ge ai 4 3 Arithmetic Status Flags e s terca ias 2h 4 5 Fault Conditions elsa bhi eo AS oe ee 4 5 FOr Codes ii 4 5 Status Bishi wes dto A a 4 6 Table of Contents 5 EXP 1 RAN S S 4 6 Motion Group Shutdown MGSD o oo anaa aaaea annaa 4 6 OPEL a AE Geek tot yah Rada veh eho buna 4 7 DESErPUNONS o E saat OOo 8 A SRE EEE EERE Be 4 7 Arithmetic Status Flags 0 2 0 0 0 eee es 4 8 Fault Condos toa we wee fede als 4 8 Error Codes as cc SEAS A oe NE e 4 8 Statis A pack Steg CEANA CESSES 2 PH 4 9 Example dace ni Sore Ca Gin dk aE a atk Sukie eed Ea 4 9 Motion Group Shutdown Reset MGSR 4 9 Operands a cis Poe Ke us oa De See Van a 4 10 Description neo ve ere at Ao a Oe dente a 4 10 Arithmetic Status Flags plat hoo Oe ee We aid ade 4 11 Fault Conditions wane ye ata ea OER ORE 4 11 a o A A a eb Hoa E
464. s currently in process into a pure jog governed by this instruction Select either 0 disabled 1 enabled Merge UDINT immediate With Merge enabled this speed determines whether the speed is the specified Speed value of this instruction or the Current axis speed Select either 0 programmed value in the speed field 1 current axis speed Structured Text The operands are the same as those for the relay ladder MAJ instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number SpeedUnits unitspersec 0 ofmaximum 1 AccelUnits unitspersec2 0 ofmaximum 1 DecelUnits unitspersec2 0 ofmaximum 1 Profile trapezoidal 0 scurve 1 Merge disabled 0 enabled 1 MergeSpeed programmed 0 current 1 Motion Move Instructions 3 17 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when axis jog has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as If you specified an unconfigured axis IP In Process Bit 26 It is set on positive rung transition and cleared when the Jog
465. s 15 Speed 10 units Speed Units Units per sec Accel Rate 5 Accel Units Units per sec2 Dec Fide Direction is Clockwise Decel Units Units per sec2 Profile Trapezoidal Termination Type 0 Merge Disabled Merge Speed Current Figure 7 26 MCCM Instruction Move Type Incremental Circle Type Radius Note The Move Type has no effect on the Radius value specification A Positive radius always creates a shorter lt 180 arc and a negative radius creates a longer gt 180 arc see path graph If it is 180 the sign of the radius is irrelevant A Circle Type of Radius is valid in two dimensional coordinate systems only MCCM Using Center Incremental Circle Type The following examples show the use of the MCCM with a Circle Type of Center Incremental and a Move Type of Absolute first example and Incremental second example to arrive at the same result The basic assumptions are e The 2 axes Axis0 and Axis1 are both members of the coordinate system Coordinated_sys e Axis0 and Axis1 are orthogonal to each other e Coordinated_sys is initially at 10 4 1 3 units Move Coordinated_sys along an arc to 11 2 6 6 units with a center at an increment of 14 1 5 1 units from the start point at the vector speed of 10 0 units per second with the acceleration and deceleration Multi Axis Coordinated Motion Instructions 1 51 values of 5 0 units per second The following graph shows the path generated by the preceding in
466. s ChangeDecel DecelRate DecelUnits Scope Use the MCCD instruction to initiate a change in the path dynamics for the motion active on the specified coordinate system The MCCD s operands are the place to enter the values that govern how this instruction performs its function To display a reminder of the type of value a specific operand requires place the cursor on the operand in question and a tool tip is displayed for that operand in the status bar zl Il A AMCLM_Move Enter Yes or No to change deceleration Figure 7 50 Status Bar for the Change Decel Operand of the MCCD Instruction Relay Ladder Operand Type Format Description Coordinate COORDINATE_SYSTEM tag Coordinated group of axes System Motion MOTION_ tag Structure used to access Control INSTRUCTION instruction status parameters Motion Type SINT INT or DINT immediate 1 Coordinated Move Change SINT INT or DINT immediate 0 No Speed 1 Yes Speed SINT INT DINT or REAL immediate Coordination Units or tag Speed Units SINT INT or DINT immediate 0 Units per Sec 1 of Maximum Change SINT INT or DINT immediate 0 No Accel 1 Yes Accel Rate SINT INT DINT or REAL immediate Coordination Units or tag Accel Units SINT INT or DINT immediate 9 Units per Sec 1 of Maximum Change SINT INT or DINT immediate 0 No Decel 1 Yes Decel Rate SINT INT DINT
467. s Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 7 86 Multi Axis Coordinated Motion Instructions Error Codes MCCD Error Codes ERR Error Message Code Description Servo Off State 5 Servo loop of at least one axis is not closed See the Extended Error section for more information about this error Shutdown State 7 At least one axis is in a shutdown state See the Extended Error section for more information about this error Illegal Axis Type 8 At least one axis is not configured as a servo or virtual axis See the Extended Error section for more information about this error Axis Not Configured 11 At least one axis is not configured to a physical motion module or has not been assigned to a Motion Group See the Extended Error section for more information about this error The value of at least one parameter is outside the legal range limit See the Extended Error section for information on which parameter is in an error state At least one axis is executing a homing sequence See the Extended Error section for more information about this error Parameter Out of 13 Range Homing In Process 16 Error Motion Group Not 19 Synchronized The Motion Group associated with the axes is not synchronized Illegal Dynamic 23 There is no active coordinated motion or at least one Change axis is currently undergoing a coordinated move through another coor
468. s a Logix controller state change This Programmed Stop Mode attribute currently provides five different methods of stopping an axis Fast Stop Fast Disable Hard Disable Fast Shutdown and Hard Shutdown Alternatively an explicit Stop Mode may be selected by using the MGS instruction If a Stop Mode of Fast Disable is selected all axes in the group stop with Fast Disable behavior When the motion of all the axes in the group has Publication 1756 RM007G EN P May 2005 4 2 Motion Group Instructions been brought to a stop the Process Complete PC bit is set in the control structure Operands Relay Ladder Operand Type Format Description MGS Group MOTION_ tag Name of the group of axes to perform ation Gout Stop Ne GROUP operation on Group M tD Motion MOTION_ tag Structure used to access instruction Motion Control FO control INSTRUCTION status parameters Stop Mode P gt Cc Stop Mode UDINT immediate Controls how the axes in the group are stopped Select one of the following methods 0 Programmed each axis is stopped according to how the individual axis has been configured 1 Fast Stop each axis in the group is decelerated at the Maximum Deceleration rate and the stopped axis is left in the Servo Active state 2 Fast Disable each axis in the group is decelerated at the Maximum Deceleration rate and the stopped axis is placed in the Axis Ready state Struct
469. s a Maximum Deceleration value of 0 Click on the ellipsis button next to the offending axis to access the Axis Properties screen Go to the Dynamics tab and make the appropriate change to the Maximum Deceleration Value If the Extended Error number is 1 this means the Coordinate System has a Maximum Deceleration Value of 0 Go to the Coordinate System Properties Dynamics Tab to correct the Maximum Deceleration value Motion Move Instructions 3 23 MAJ Changes to Status Bits Motion Status Bits With Merge set to Disabled execution of the MAJ instruction sets the Jog Status bit to True Bit Name State JogStatus TRUE Axis is Jogging If the Merge is Enabled execution of the MAJ instruction sets the Jog Status bit to True and clears the Move and Gear Status bits Bit Name State Meaning JogStatus TRUE The axis is Jogging MoveStatus FALSE The axis is no longer Moving GearingStatus FALSE The axis is no longer Gearing Example When the input conditions are true the controller initiates a jog Motion Axis Move MAM motion for Axis1 Relay Ladder Motion Axis Jog Axis Motion Control Direction Speed Speed Units Units per sec 50 Accel Rate Accel Units Units per sec2 Decel Rate 50 Decel Units Units per sec2 Trapezoidal Enabled Merge Speed Programmed Profile Merge MAJ Axis L MAJ_1 100 Figure 3 7 MAJ Ladder Instruction Structured Text
470. s an input or an output instruction Operands Lists all the operands of the instruction Structured Text Describes the use of operands in Structured Text format Motion Instruction structure Lists control status bits and values if any of the instruction Description Describes the instruction s use Defines any differences when the instruction is enabled and disabled if appropriate Arithmetic status flags Defines whether or not the instruction affects arithmetic status flags Fault conditions Defines whether or not the instruction generates minor or major faults if so defines the fault type and code Error Codes Lists and defines the applicable error codes Status Bits Lists affected status bits their states and definitions Example Provides at least one programming example Includes a description explaining each example Publication 1756 RMO007G EN P May 2005 Preface 3 Sequential Function Chart Sequential Function Chart is a flowchart that controls your machine SFC or process SFC uses steps and transitions to perform specific operations or actions You can use SFC to e Organize the functional specification of your system e Program and control your system as a series of steps and transitions You gain the following advantages by using Sequential Function Chart SFC e Graphical division of processes into major logic pieces e Faster r
471. s in a group which State is in the Faulted state Axis in Motion 22 Attempted execution on an axis which is in motion Illegal Controller 24 Attempted execution when the processor Is in test mode Mode Operation Registration in 34 Attempted execution while a registration is in process Progress Illegal Axis Data 38 You attempted to execute an instruction on an Axis Data Type Type that is not supported by the instruction Drive Locally 40 You are trying to run an MAH instruction when the drive is Disabled locally disabled Illegal Homing 41 The homing configuration is illegal See Extended Error Configuration section for more information on the cause of the error Maximum 54 The Decel Rate of the Axis is set to zero This is an illegal Deceleration Value value for Decel Rate which inhibits start motion See the is Zero Extended Error section for more information about this error Extended Error Codes Extended Error Codes provide additional instruction specific Publication 1756 RMO007G EN P May 2005 information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MAH instruction receives a Servo Message Failure 12 error message or Illegal Homing Configuration 41 Associated Error Code Extended Error Meaning decimal Code decimal SERVO_MESSAGE_FAILURE Process terminated on Home execution followed by an 12 request 1 instruction
472. s in the shutdown state See the Extended Error section for more information about this error 8 Axis Type Not Servo At least one axis is not configured as a servo axis type See the Extended Error section for more information about this error 9 Overtravel Condition At least one axis is trying to move in a direction that violates the current overtravel condition 11 Axis Not Configured At least one axis is not configured to a physical motion module or has not been assigned to a Motion Group See the Extended Error section for more information about this error 13 Parameter Out of Range The value of at least one parameter is out of range See the Extended Error section for information on which parameter is in an error state 16 Homing in Process Error At least one axis is executing a homing sequence See the Extended Error section for more information about this error 19 Motion Group Not Synchronized The associated Motion Group is not synchronized 20 Axis in Faulted State Attempted execution on an axis which is in the Faulted state 23 Illegal Dynamic Change At least one axis is currently undergoing a coordinated move via another coordinate system 24 Illegal Controller Mode The current operating mode of the controller does not support the instruction 38 Illegal Axis Data Type At least one axis is not configured as an axis data type that can accept a command See the Extended Error section for more information about this error 43 Coordinate
473. s not been assigned to a physical motion module channel Parameter Out of Range gt ow At least one parameter s value is outside the accepted range See Extended Error section for more information on the cause of the error Group Not Synchronized co Attempted execution on an axis whose associated axis group is not currently synchronized Illegal Execution Target Attempted execution with a specified Output Cam not supported by the Logix controller Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Publication 1756 RMO007G EN P May 2005 Status Bits Example Motion Event Instructions 5 47 Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MDOC instruction an extended error code of 4 would refer to the Disarm Type operand s value You would then have to check your value with the accepted range of values for the instruction MDOC Changes to Status Bits None Relay Ladder MDOC Motion Disarm Output Cam N gt Axis Axis3 E i gt Execution Target exec_trgt2 R gt Motion Control MDOC_2 Disarm Type All Figure 5 22 MDOC Ladder Example Structured Text MDOC Axis3
474. s only one explicit input parameter Diagnostic Test Enter or select the Diagnostic Test to run and the axis to test If the targeted axis does not appear in the list of available axes the axis has not been configured for operation Use the Tag Editor to create and configure a new axis The MRHD instruction uses axis configuration parameters as input and output The input configuration parameters that MRHD uses are shown in the table below Axis Parameter Data Type Units Definition Motor Encoder Test Real Distance that the Axis must travel to Increment satisfy the Hookup Diagnostic Test The axis configuration parameters that MRHD generates as output depend on the specified Hookup Diagnostic Motor Encoder Hookup Test If the Motor Encoder Test is selected the motion module enables the external drive and generates a 1 Volt per second output ramp to the drive while monitoring the encoder feedback When the axis has moved a distance greater than or equal to the configured Motor Encoder Test Increment the test voltage is set back to zero and the drive disabled The motion module than reports the direction of travel which is stored as one of the following output parameters Axis Parameter Data Type Units Definition Test Status Integer Status Report of the Hookup Diagnostic Test Process Test Direction Boolean Direction of axis travel during hookup Forward test as seen by the motion module
475. s per second The speed of each axis is proportional to the distance traveled by the axis divided by the square root of the sum of the squares of the distance moved by all axes The actual speed of Axis0 is the following percent of the vector speed of the move AxisO Speed DaxisO TotalDist 5 15 811388 3162 31 62 Axis1 Speed Daxis1 TotalDist 15 15 811388 9487 94 87 For the example Axis0 Speed 3162 10 0 3 162 units sec Multi Axis Coordinated Motion Instructions 7 19 Axis1 Speed 9487 10 0 9 487 units sec The acceleration and deceleration for each axis is the same percentage as speed The following ladder instructions show the ladder logic necessary to achieve this path using Move Type Absolute and Move Type Incremental respectively CLM Motion Coordinated Linear Move Coordinate System Motion Control Move Type MCLM O 0 Position AxisO Axis 10 0 Speed 10 Speed Units Accel Rate Units per sec Accel Units Units per sec2 Decel Rate Units per sec2 Trapezoidal 0 Decel Units Profile Termination Type Disabled Current Merge Merge Speed Coordinated_sys _ move_position 0 L 10 0 Ny Np Move Type is Absolute IPO Position defined in o absolute units D Figure 7 3 MCLM Ladder Instruction with Move Type of Absolute CLM Motion Coordinated Linear Move Coordinate System Motion Control MCLM 1
476. s text or enter as a number Stoptype Coordinatedmove 2 ChangeDecel No 0 Yes 1 ofmaximum 1 Option is numbered 2 in keeping with current convention and to allow for future enhancements to feature The Motion Coordinated Stop MCS instruction initiates a controlled stop of coordinated motion Use the Stop Type operand to stop a coordinated move profile Any pending motion profiles are cancelled ATTENTION A If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Publication 1756 RMO007G EN P May 2005 Multi Axis Coordinated Motion Instructions 7 91 Coordinate System The Coordinate System operand specifies the set of motion
477. s to achieve a seamless transition Structured Text The operands are the same as those for the relay ladder MATC instruction For the array operands you do not have to include the array index If you do not include the index the instruction starts with the first element in the array 0 For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number ExecutionMode once 0 continuous 1 ExecutionSchedule immediate 0 pending 1 Motion Move Instructions 3 97 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 The enable bit is set when the rung transitions from false to true and stays set until the rung goes false DN Done Bit 29 The done bit is set when the axis time cam instruction is successfully initiated ER Error Bit 28 The error bit indicates when the instruction detects an error such as if the axis is not configured IP In Process Bit 26 The in process bit is set on positive rung transition and cleared when terminated by a stop command merge shutdown or servo fault PC Process The Process Complete bit is cleared on positive rung transition Complete Bit 27 and set in Once Execution Mode when the time leaves the time range defined by the currently active cam profile Description The Motion Axis Time Cam MATC
478. s waiting for an armed Output Cam to move beyond its cam start cam end position A set of bits that are set when an Output Cam is locked to the Master Axis Structures A 27 Mnemonic Data Description Type OutputCamTransitionStatus DINT A set of bits that are set when the transition from the current armed Output Cam to the pending Output Cam is in process The bit number corresponds with the execution target number One bit per execution target MOTION GROUP Structure There is one MOTION_GROUP structure per controller This structure 7 contains status and configuration information about the motion group Mnemonic Data Type Description GroupStatus DINT The status bits for the group Bit Number Data Type Description InhibStatus 00 DINT inhibit status GroupSynced 01 DINT synchronization status no tag 02 DINT Timer Event started Reserved 03 31 MotionFault DINT The motion fault bits for the group Bit Number Data Type Description ACAsyncConnFault 00 DINT asynchronous connection fault ACSyncConnFault 01 DINT synchronous connection fault Reserved 02 31 ServoFault DINT The servo module fault bits for the group Bit Number Data Type Description POtrvlFault 00 DINT positive overtravel fault NOtrvlFault 01 DINT negative overtravel fault PosErrorFault 02 DINT position error fault EncCHALossFault 03 DINT encoder channel A loss fault EncCHBLossFault 04 DINT encoder channel B loss fault EncCHZ
479. sage 12 Messaging to targeted motion module failed See Failure Extended Error section for more information on the cause of the error Parameter Out of 13 At least one parameter s value is outside the accepted Range range See Extended Error section for more information on the cause of the error Publication 1756 RM007G EN P May 2005 5 18 Motion Event Instructions Extended Error Codes Status Bits Example Publication 1756 RMO007G EN P May 2005 Error Message Code Description Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated axis Synchronized group is not currently synchronized Illegal Axis Data 38 You attempted to execute an instruction on an Axis Data Type Type that is not supported by the instruction Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MDR instruction receives a Servo Message Failure 12 error message Associated Error Code Extended Error Meaning decimal Code decimal SERVO_MESSAGE_FAILURE Invalid value 3 Registration input provided 12 is out of range Extended Error codes for the Parameter Out of Range 13 error code work a little differently R
480. sation If you select a duty cycle less than 0 or greater than 100 and the mode is set to Pulsed or Inverted and Pulsed a 0 or 100 duty cycle is considered and the user is warned with an instruction error Illegal Output Compensation If you select a cycle time less than or equal to 0 and the mode is set to Pulsed or Inverted and Pulsed the output bit is not pulsed and the user is warned with an instruction error Illegal Output Compensation Output The output is the set of 32 output bits that can be set and reset depending on the specified Output Cam The output can be either a memory location or a physical output e g Local 0 O Data Publication 1756 RMO007G EN P May 2005 5 32 Motion Event Instructions Input The input is the set of 32 input bits that are can be used as enable bits depending on the specified Output Cam The input can be either a memory location or a physical input e g Local 0 I Data Cam Start and Cam End Positions The cam start and cam end positions define the left and right boundary of the Output Cam range When the cam position moves beyond the cam start or cam end position the behavior of the Output Cam is defined by the execution mode and execution schedule Changes to the cam start or cam end position don t take effect until the execution of a current MAOC instruction completes Execution Mode Depending on the selected execution mode the Outp
481. sed and the user is warned with an instruction error Ilegal Output Cam If you select an unlatch type less than 0 or greater than 5 a value of Inactive is used and the user is warned with an instruction error Ilegal Output Cam If you select a left cam position greater than or equal to the right cam position and the latch or unlatch type is set to Position or Position and Enable the Output Cam element is not considered and the user is warned with an instruction error Illegal Output Cam If you select a left cam position less than the cam start position and the latch type is set to Position or Position and Enable the cam start position is used and the user is warned with an instruction error Ilegal Output Cam If you select a right cam position greater than the cam end position and the unlatch type is set to Position or Position and Enable the cam end position is used and the user is warned with an instruction error Illegal Output Cam If you select a duration less than or equal to 0 and the unlatch type is set to Duration or Duration and Enable the Output Cam element is not considered and the user is warned with an instruction error Ilegal Output Cam If you select an enable type less than 0 or greater than 3 and the latch or unlatch type is set to Enable Position and Enable or Duration Motion Event Instructions 5 29
482. ses for the slave axis This allows electronic camming motions to be superimposed with jog or move profiles to create complex motion and synchronization Scaling Time Cams A time cam profile can be scaled in both time and distance when it is executed This scaling is useful to allow the stored profile to be used only for the form of the motion with the scaling used to define the time or distance over which the profile is executed as shown below Profile Scaled with Slave Axis Distance Scaling Profile Scaled in Time Position and Distance Scaling Profile Scaled with Time Scaling Master Time Profile Stored in Cam Profile Array Figure 3 37 Scaling Time Cams When a cam profile array is specified by an MATC instruction the master coordinate values defined by the cam profile array take on the time units seconds and the slave values take on the units of the slave axis By contrast the Time and Distance Scaling parameters are unitless values that are simply used as multipliers to the cam profile By default both the Time and Distance Scaling parameters are set to 1 To scale a time cam profile enter a Time Scaling or Distance Scaling value other than 1 Increasing the Time Scaling value of a cam profile decreases the velocities and accelerations of the profile while increasing the Distance Scaling value increases the velocities and accelerations of the profile To maintain the velocities and accelerations of th
483. sition OutputCompensation ExecutionMode ExecutionSchedule AxisArmPosition CamArmPosition Reference Motion Event Instructions 5 23 Structured Text The operands are the same as those for the relay ladder MAOC instruction For the array operands you do not have to include the array index If you do not include the index the instruction starts with the first element in the array O For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number ExecutionMode once continuous persistent ExecutionSchedule immediate pending forwardonly reverseonly bidirectional Reference actual command oO BwoN co NO MAOC Instruction A valid Cam Arm position is any position between and including the Cam Start and Cam End positions If the Cam Arm position is set to a value equal to or very close to the Cam Start or Cam End position compensation may put a cam position out of range of the Cam Start and Cam End position Compensation is affected by Output Compensation values specified for Position Offset Latch Delay and Unlatch Delay as well as internal compensation values applied based on the Reference and Output parameters of the MAOC instruction No side affects occur if the MAOC instruction is configured with an Execution mode of Continuous or Persistent an
484. sitionStatus The bit is cleared when the MCS instruction executes MovePendingStatus The bit is cleared when the MCS instruction executes Relay Ladder cs Motion Coordinated Stop Coordinate System Coordinated_sys Motion Control MCS 4 Stop Type Coordinated Move Change Decel Yes Decel Rate 25 A Decel Units Units per sec2 Figure 7 55 MCS Ladder Instruction Structured Text MCS Coordinated_sys MCS 4 CoordinatedMove Yes 2 Unitspersec Use the Motion Coordinated Shutdown MCSD instruction to perform a controlled shutdown of all the axes in the named coordinate system The MCSD s operands are the place to enter the values that govern how this instruction performs its function To display a reminder of the type of value a specific operand requires place the cursor on the operand in question and a tool tip is displayed for that operand in the status bar IS ass Il PA a AMCLM_Move f Enter COORDINATE SYSTEM structure operand Figure 7 56 Status Bar for the Coordinate System Operand of the MCSD Instruction Multi Axis Coordinated Motion Instructions 7 95 MCS Motion Coordinated Shutdown Coordinate System Motion Control YY MCSD CoordinateSystem MotionControl Description Relay Ladder Operand Type Format Description Coordinate COORDINATE_SYSTEM tag Coordinated group of axes System Motion Control MOTION _INSTRUCTION ag Structure used t
485. source when one of the following conditions occurs e The differential electrical signals for one or more of the feedback channels e g A and A B and B or Z and Z are at the same level both high or both low Under normal operation the differential signals are always at opposite levels The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive Loss of feedback power or feedback common electrical connection between the servo module or drive and the feedback device This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear MotFeedbackNoiseFault DINT Set for a specific feedback source when the servo module has detected simultaneous transitions of the feedback A and B channels called feedback noise Feedback noise is most often caused by loss of quadrature in the feedback device itself or radiated common mode noise signals being picked up by the feedback device wiring both of which may be able to be seen on an oscilloscope This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear AuxFeedbackFault DINT Set for an auxiliary feedback source when one of the following conditions occurs e The differential electrical signals for one or more of
486. specified Cam Lock Position of the cam profile From this point on only the incremental change in the master axis position is used to determine the corresponding slave axis position from the defined cam profile This is important for applications where the master axis is a rotary axis since the position cam is then unaffected by the position unwind process When the master axis moves out of the range defined by the cam profile assuming Execution Mode configured for Once both the Position Cam Lock Status and the Position Cam Status bits of the Motion Status word are cleared This Motion Status bit condition indicates that the cam process has completed This fact is also reflected in the bit leg behavior of the associated MAPC instruction PC bit set and IP bit clear After position cam motion is started when the master axis passes the specified Master Lock Position in either the Forward Only or Reverse Only direction the master axis can change direction and the slave axis reverses accordingly Note that if an MAPC instruction is executed on a slave axis that is already actively position camming an Illegal Dynamic Change error is generated error code 23 The only exception for this is if the Execution Schedule is specified as pending Publication 1756 RM007G EN P May 2005 3 84 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 Slave Axis Position Pending Cam Execution Alternatively the MAPC instruc
487. st the targeted axis must be configured as a Servo Axis Type and the axis must be in the Axis Ready state For other tests this instruction executes properly on either a Servo or Feedback Only axis type If any of these conditions are not met than the instruction errs rite ia Vhen the MRHD instruction is initially executed the In process IP bit is set and the Process Complete PC bit is cleared The MRHD instruction execution can take multiple scans to execute because it requires transmission of multiple messages to the motion module The Done CDN bit is not set immediately but after these messages are successfully transmitted The In process IP bit is cleared and the Process Complete PC bit is set at the same time that the Done DN bit is set Motion Configuration Instructions 6 23 This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Error Codes MRHD Error Codes ERR Error Message Code Definition Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done
488. struction is true the controller evaluates the instruction and sets the rung out condition based on the results of the instruction If the instruction evaluates to true the rung out condition is true if the instruction evaluates to false the rung out condition is false Motion Concepts Motion State Instructions Table of Contents Chapter 1 o A A hee a ee ooh 1 1 Using Motion Parameters 0 0000000008 1 1 Modifying Motion Configuration Parameters 1 1 TASPUCUION TIMING VIANA ee Go eta Sop Berea ed che 1 2 Immediate Type Instructions 0 1 2 Message Type Instructions Ha oa 1 3 Process Type Instructions Vta Pee ae eas 1 4 Using the Motion Instruction Structure 1 7 Motion Instruction Structure oaa aaa 1 7 Error codes QERR cresta a he a id 1 8 Message Status ESTATUS ox sp ERA 1 11 Execution Status STATE atar ae daa tea 1 11 Profile Segment LSEGMENT S 64 4 a6 Sule dc 49 1 11 Chapter 2 l troducHo Nrs io Kates AA AS eae A 2 1 Motion Servo On MSO ranita tb 22823 2 2 Operands 8 rat A Saath amp oA 2 3 DESCTIPUONS sven ead Goce ech hot aa ahs Benois des 2 3 Arithmetic Status Flags Lor ER Da ee hee Soe 2 4 Fault COMGIIONS Ts i632 26 h deta rss 2 4 Error Codes stean du Tic sate bo diag bade bab da 2 4 Extended Error COLES ins A AREA 2 5 MSO Changes to Status Bits 24 ta band 2 5 NA ite A E ia eGR ito tected 2 5 Motion Servo Off MSE adc 2 es ee Bea Ah ey 2 6 Operado
489. structure 5 3 Operands 5 2 Relay Ladder 5 2 Structured Text 5 2 Motion Disarm Output Cam MDOC 5 44 Description 5 46 Error Codes 5 46 Extended Error Codes 5 46 MOTION_INSTRUCTION structure 5 46 Operands 5 45 Relay Ladder 5 45 Structured Text 5 45 Motion Disarm Output Cam MDOC Status Bits 5 47 Motion Disarm Registration MDR 5 16 Changes to Status Bits 5 18 Description 5 16 Error Codes 5 17 Extended Error Codes 5 18 MOTION_INSTRUCTION structure 5 16 Operands 5 16 Relay Ladder 5 16 Structured Text 5 16 Motion Disarm Watch MDW 5 6 Changes to Status Bits 5 8 Description 5 7 Error Codes 5 8 MOTION_INSTRUCTION structure 5 7 Operands 5 6 Relay Ladder 5 6 Structured Text 5 6 motion group MGSR 4 9 Motion Group Instructions 4 1 Introduction 4 1 Motion Group Shutdown MGSD 4 6 Changes to Status Bits 4 9 Description 4 7 Error Codes 4 8 MOTION_INSTRUCTION structure 4 7 Operands 4 7 Relay Ladder 4 7 Structured Text 4 7 Motion Group Shutdown Reset MGSR 4 9 Changes to Status Bits 4 11 Description 4 10 Error Codes 4 11 MOTION_INSTRUCTION structure 4 10 Operands 4 10 Relay Ladder 4 10 Structured Text 4 10 Motion Group Stop MGS 4 1 Changes to Status Bits 4 6 Description 4 3 Error Codes 4 5 Fast Disable 4 4 Fast Shutdown 4 4 Fast Stop 4 3 Hard Disable 4 4 Hard Shutdown 4 4 MOTION_INSTRUCTION structure 4 2 Operands 4 2 Relay Ladder 4 2 Structured Text 4 2 Motion Group Strobe Position MGSP 4 12 Descri
490. system You can define the new position as either absolute or incremental Operands Relay Ladder TETTI Operand Type Format Description Coordinate COORDINATE_SYSTEM tag Coordinated group of axes System Motion MOTION_ tag Structure used to access Control INSTRUCTION instruction status parameters Move Type SINT INT or DINT immediate Select the Move Type or tag 0 Absolute 1 Incremental Position REAL array tag coordination units Speed SINT INT DINT or immediate coordination units REAL or tag Speed Units SINT INT or DINT immediate 0 Units per Sec 1 of Maximum Accel Rate SINT INT DINT or immediate coordination units REAL or tag Accel Units SINT INT or DINT immediate Q Units per Sec 1 of Maximum Decel Rate SINT INT DINT or immediate coordination units REAL or tag Decel Units SINT INT or DINT immediate Units per Sec 1 of Maximum Profile SINT INT or DINT immediate 0 Trapezoidal 1 S Curve Termination SINT INT or DINT immediate 0 Actual Tolerance Type or tag 1 No Settle 2 Command Tolerance 3 No Decel 4 Follow Contour Velocity Constrained 5 Follow Contour Velocity Unconstrained See Choose a termination type on page 7 9 Merge SINT INT or DINT immediate 0 Disabled 1 Coordinated Motion 2 All Motion Merge SINT INT or DINT immediate 0 Programmed Speed 1 Current
491. t is not set immediately but only after this message has been successfully transmitted This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 Error Codes Extended Error Codes Status Bits Motion Event Instructions 5 5 MAW Error Codes ERR Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN Bit 29 run qualification Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed See Failure Extended Error section for more information on the cause of the error Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group Is not currently synchronized Illegal Axis Data Type 38 Y
492. t 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Dynamic 23 Attempted an illegal change of dynamics such as Change merge on an S curve change profile from trap to S curve on the fly change S curve to non zero speed or changing accel of an S curve Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Maximum 54 The Decel Rate of the Axis is set to zero This is an Deceleration Value is illegal value for Decel Rate which inhibits start Zero motion See the Extended Error section for more information about this error Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed in the faceplate from top to bottom with the first operand being counted as zero Therefore for the MCD instruction an extended error code of 4 would refer to the Speed operand s value You would then have to check your value with the accepted range of values for the instruction For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 7 it is referring to the offending axis in the coordinate system Go to the Coordin
493. t Cam The MAOC sets the Mask field to Oxff every coarse period in case the user attempts to change it What this implies is that the user cannot directly affect output bits 0 7 but does have the ability to modify output bits 8 15 aras The outputs 0 7 can be forced by forcing the Data Bit to 0 or 1 and its corresponding bit in the ScheduleMask to 0 For outputs 8 15 only the Data Bit needs to be forced Due to the limit of sixteen schedules supported by the 1756 OB16IS some constraints are applied to the number of events that can be processed every coarse update period Only eight schedules are available each coarse update This allows for two consecutive coarse updates in which each update contains eight output events As a group of eight schedules are currently being processed by the 1756 OB16IS a second group of eight schedules can concurrently be set up for the next coarse update Motion Event Instructions 5 41 The following diagram illustrates the relationship between the coarse update period a cam latch event and the time slots E S Delta Position 05 275 Coarse Update Period 10 ms Latch Position 250 Cam Element Time Slot assignment for Interval 5000 uSec Latch Event Coarse Updates are divided into 16 time slots For 10 ms updates each time slot is 625 uSec Figure 5 19 Inter relationship of Coarse Update Period Cam Latch and Time Slots Each Time Slot stores the followin
494. t Conditions area El a Mm ee Gee ee he Bee 6 16 Ertor Cod S otic alas Dh ind eel ie SAA 6 17 Extended Error Codes 444 24 4es2aus Seeks Ses 6 17 Status Bits e orde dee hosed 6 18 A at hate tye Yah acts 6 18 Motion Run Hookup Diagnostics MRHD 6 18 Operands A vt nisin Were H dog bin wa eed heen G 6 19 Descuptonz 22h SR E BSE GT aed 6 19 Arithmetic Status Hagens afaink adds ead ee Bae ees 6 23 Fault Conditions estoy aos Bap rra is 28 6 23 Error Codes acta ee GALS SOLAR RA ee od 6 23 Extended Error Codes i oo 0s ya eee ple ees 6 24 SACU NBG ae ees eta ain Ole wre gry eda oa ata Be 6 24 PAIN PIES o 26S nde as ia 6 24 Chapter 7 roo AN tee sig oie Pe pe ole aah SoS Dab th 7 1 Using Different Termination Types When Blending Instructions 7 3 Choose a termination PS das Ads 7 9 How do I get a triangular velocity profile 7 11 Blending Moves at Different Speeds rprrlas wes 7 12 Motion Coordinated Linear Move MCLM 7 13 Publication 1756 RM007G EN P May 2005 Table of Contents 8 Publication 1756 RMO007G EN P May 2005 Operands A ed bang 2 be ed bea Sete bad 7 13 Description AAA AN 7 15 MCLM Move Type Examples o o oo 7 17 MCLM Instruction With Rotary Axes Examples 7 20 Merge Example ii tt e rd 7 27 Additional Note On Merging Instructions 7 28 MCLM Target Position Entry Dialog Box 7 29 Arithmetic Status Flags TUS 7 31 Fault C
495. t Configured 11 there is an additional value of 1 which indicates that Coordinate System was unable to setup the axis for coordinate motion For the MCLM instruction Error Code 13 Parameter Out of Range Extended Errors return a number that indicates the offending parameter as listed on the faceplate in numerical order from top to bottom beginning with zero For example 2 indicates the parameter value for Move Type is in error Referenced Error Code and Extended Error Instruction Description Number Numeric Parameter Indicator Parameter Out Of Range 13 2 Move Type Move Type is either less than 0 or greater than 1 Parameter Out Of Range 13 3 Position The position array is not large enough to provide positions for all the axes in the coordinate system Parameter Out Of Range 13 4 Speed Speed is less than 0 Parameter Out Of Range 13 6 Accel Rate Accel Rate is less than or equal to 0 Parameter Out Of Range 13 8 Decel Rate Decel Rate is less than or equal to 0 Parameter Out Of Range 13 11 Termination Type Termination Type is less than 0 or greater than 3 MCLM Changes to Status Bits For the Error Code 54 Maximum Deceleration Value is Zero if the Extended Error returns a positive number 0 72 it is referring to the offending axis in the coordinate system Go to the Coordinate System Properties General Tab and look under the Brackets column of the Axis Grid to determine which axis
496. t bit is reset when the output of the latch and unlatch operation becomes active Pulsed The output bit is pulsed when the output of the latch and unlatch operation is active The on duty state of the pulse corresponds to the active state of the output bit The output bit is reset when the output of the latch and unlatch operation becomes inactive Inverted and Pulsed The output bit is pulsed when the output of the latch and unlatch operation is active The on duty state of the pulse corresponds to the inactive state of the output bit The output bit is set when the output of the latch and unlatch operation becomes inactive Publication 1756 RMO007G EN P May 2005 Motion Event Instructions 5 31 The following diagram shows the effect of the mode cycle time and duty cycle on an output bit cua _ FA Compensated Output Bit 1 i i eee Inverted Pulsed Time Inverted and Pulsed Time 1On Duty Time i 1 I i i i Cyde Time i hae m gt On Duty Time Duty Cyde _ Cyde Time Figure 5 17 Mode Compensation Output Compensation Array Checks If you select a latch and unlatch delay combination that results in a compensated cam of less than minimum width the width of the compensated cam is set to the minimum If you select a mode less than 0 or greater than 3 a Normal mode is considered and the user is warned with an instruction error Illegal Output Compen
497. t is set when axis change dynamics has been successfully initiated ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis Publication 1756 RM007G EN P May 2005 3 54 Motion Move Instructions Description The MCD instruction changes the speed of trapezoidal profile moves on the fly and the speed acceleration and deceleration of trapezoidal profile jogs on the fly Choose the desired physical axis and type of motion and enter values or tag variables for the Speed Accel and Decel Speed acceleration and deceleration values can be entered as percentages of the current maximum configured value or directly in the configured speed or acceleration units of the axis If the targeted axis does not appear in the list of available axes the axis has not been configured for servo operation Use the Tag Editor to create and configure a new axis ATTENTION A If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration
498. t only executes on a transition See Appendix C Publication 1756 RMO007G EN P May 2005 Arithmetic Status Flags not affected Fault Conditions none Error Codes MAS Error Codes ERR Motion Move Instructions 3 7 Error Message Code Description Servo Off State Error 5 Attempted execution on an axis that does not have the servo loop closed Shutdown State Error 7 Illegal Axis Type 8 Attempted execution with the axis in the Shutdown state Attempted execution with the axis not configured as virtual or servo a Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Parameter Out of 13 Attempted execution with an input parameter that Range was out of range See Extended Error section for more information on the cause of the error Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions Extended Error codes for the Parameter Out of Range 13 error code lists a number that refers to the number of the operand as they are listed
499. tal Center Incremental The sum of the via center radius position array and the old position defines the center position of the circle For a non full circle case the sum of the Position parameter array and the old position defines the endpoint of the arc For a full circle case the sum of the Position parameter array and the old position defines any second point along the circle except the endpoint Publication 1756 RMO007G EN P May 2005 Direction The Direction operand defines the rotational direction of a 2D circular move as either clockwise or counterclockwise according to the right hand screw rule For a 3D circular move the direction is either Shortest or Longest In both 2D and 3D it can also indicate if the circular move is to be a full circle Speed The Speed operand defines the maximum vector speed along the path of the coordinated move Speed Units The Speed Units operand defines the units applied to the Speed operand either directly in coordination units or as a percentage of the maximum values defined in the coordinate system Accel Rate The Accel Rate operand defines the maximum acceleration along the path of the coordinated move Multi Axis Coordinated Motion Instructions 7 65 Accel Units The Accel Units operand defines the units applied to the Accel Rate operand either directly in coordination units of the specified coordinate system or as a percentage of the maximum values defined in the coo
500. tatus PositionCamLockStatus 13 DINT Position Cam Lock Status TimeCamLockStatus 14 DINT Time Cam Lock Status MasterOffsetMoveStatus 15 DINT Master Offset Move Status CoordinatedMotionStatus 16 DINT Coordinated Motion Status Reserved 17 31 AxisStatus DINT The status bits for your axis Bit Number Data Type Description ServoActStatus 00 DINT Servo Action Status DriveEnableStatus 01 DINT Drive Enable Status ShutdownStatus 02 DINT Axis Shutdown Status ConfigUpdatelnProcess 03 DINT Configuration Update in Process Reserved 04 31 AxisFault DINT The axis faults for your axis Bit Number Data Type Description PhysicalAxisFault 00 DINT Physical Axis Fault ModuleFault 01 DINT Module Fault ConfigFault 02 DINT Configuration Fault Reserved 03 31 Publication 1756 RM007G EN P May 2005 A 24 Structures Mnemonic Data Description Type AxisEvent DINT The event status for your axis Bit Number Data Type Description WatchEventArmedStatus 00 DINT Watch Event Armed Status WatchEventStatus 01 DINT Watch Event Status RegEvent1 ArmedStatus 02 DINT Registration Event 1 Armed Status RegEvent Status 03 DINT Registration Event 1 Status RegEvent2ArmedStatus 04 DINT Registration Event 2 Armed Status RegEvent2Status 05 DINT Registration Event 2 Status HomeEventArmedStatus 06 DINT Home Event Armed Status HomeEventStatus 07 DINT Home Event Status R
501. tatus Bits Example Motion Direct Drive On MDO Operands MDO Motion Direct Drive On Axis gt al Motion Control Drive Output N gt t R gt Drive Units MDO Axis MotionControl DriveOutput DriveUnits Publication 1756 RMO007G EN P May 2005 MASR Changes to Status Bits Bit Name State Meaning ShutdownStatus FALSE The axis is not in the shutdown state When the input conditions are true the controller resets axis from a previous shutdown operating state into an axis ready operating state Relay Ladder MASA Motion Axis Shutdown Reset Axis Axis2 E M Motion Control Figure 2 4 MASR Ladder Example Structured Text MASR AxisO MASR_1 Use the MDO instruction in conjunction with motion modules that support an external analog servo drive interface e g the 1756 M02AE or 1784 PMO02AE servo module This instruction activates the module s Drive Enable enabling the external servo drive and also sets the servo module s output voltage of the drive to the specified voltage level The value for Drive Output may be specified in Volts or of maximum axis Output Limit Relay Ladder Operand Data Type Description Axis Tag Name of the axis to perform operation on Motion MOTION_ Structure used to access instruction status control INSTRUCTION Tag parameters Drive Output REAL Voltage to output in of servo Output Limit or in Volts Drive
502. ted cam Profile profile array Only the zero array element 0 is allowed for the Cam Profile array Ellipsis launches Cam Profile Editor Distance REAL immediate Scales the total distance covered by Scaling or tag the axis through the cam profile Publication 1756 RM007G EN P May 2005 3 96 Motion Move Instructions MATC Axis MotionControl Direction CamProfile DistanceScaling TimeScaling ExecutionMode Publication 1756 RMO007G EN P May 2005 Operand Type Format Description Time REAL immediate Scales the time interval covered by Scaling or tag the cam profile Execution UINT32 immediate Determines how the cam motion Mode behaves when the time moves beyond the end point of the cam profile The options are 0 Once When the time cam execution time exceeds the time range in the cam profile the MATC instruction completes the axis motion stops and the Time Cam Status bit is cleared 1 Continuous The cam profile motion is executed indefinitely Execution UINT32 immediate Selects the method used to execute Schedule the cam profile Options are 0 Immediate instruction is scheduled to execute immediately with no delay enabling the time camming process 1 Pending Defers execution of the time cam until the completion of the currently or next immediate executing time cam This is useful in blending a new time cam profile with an on going proces
503. tem Coordinated_sys Motion Control MCCM N Move Type 0 Move Type is Absolute Position MCCM_Move_position 14 Position defined in AxisO 10 4 absolute units Axis 1 3 Circle T is Cent Giele Tyga 1 rcle Type is Center Via Center Radius Center 8 D y PEO Direction 2 Center position defined in absolute units as Speed 10 3 7 6 4 Speed Units Units per sec Accel Rate 5 Direction is Clockwise Full Accel Units Units per sec2 Decel Rate Decel Units Units per sec2 Profile Trapezoidal Termination Type 0 Merge Disabled Merge Speed Current Figure 7 30 MCCM Instruction Move Type Absolute Circle Type Center Publication 1756 RM007G EN P May 2005 7 54 Multi Axis Coordinated Motion Instructions MCCM Motion Coordinated Circular Move mn Coordinate System Coordinated_sys E Move Type is Incremental Motion Control MCCM 8 ND Move Type 1 R gt Position MCCM_Move_position 16 f Axis 0 0 P gt Circle Type is Center Axis 0 0 Circle Type 1 D Via Center Radius Center 4 co Direction 2 Center defined as an incremental distance of Speed 10 14 1 5 1 from start point Speed Units Units per sec onl Accel Rate 5 Direction is Clockwise Full Accel Units Units per sec2 Decel Rate 5 Decel Units Units per sec2 Profile Trapezoidal Termination Type Merge Disabled Merge Speed Current Figure 7 31 MCCM with Move Type as Incremental and Center Type as Center Note To draw a f
504. temp gt 200 THEN then pump slow pump fast 1 pump slow 0 pump off 0 If tank temperature gt 200 ELSIF tank temp gt 100 THEN then pump fast pump fast 0 pump slow 1 pump off 0 otherwise pump off ELSE pump fast 0 pump slow 0 pump off 1 END IF Publication 1756 RM007G EN P May 2005 B 16 Structured Text Programming CASE OF Use CASE to select what to do based on a numerical value Operands CASE numeric_expression OF selectorl statement selectorN statement ELSE statement END CASE Structured Text Operand Type Format Enter numeric_ SINT tag tag or expression that evaluates to a expression INT expression number numeric expression DINT REAL selector SINT immediate same type as numeric expression INT DINT REAL IMPORTANT If you use REAL values use a range of values for a selector because a REAL value is more likely to be within a range of values than an exact match of one specific value Description The syntax is specify as many alternative selector values paths as you need optional Publication 1756 RMO007G EN P May 2005 CASE numeric expression OF selectorl lt statement gt lt q statements to execute when numeric_expression selector selector2 lt statement gt lt q statements to execute when numeric_expression selectorZ selector3 lt statement gt q statements to
505. tempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Status Bits MDW Changes to Status Bits Bit Name State Meaning WatchEventArmedStatus FALSE The axis is not looking for a watch position event WatchEventStatus FALSE The previous watch event is cleared Example When the input conditions are true the controller disarms Publication 1756 RMO007G EN P May 2005 watch position event checking for axis1 Relay Ladder MDW Motion Disarm Watch Axis Axis E Motion Control MDW_1 Ko R gt Figure 5 3 MDW Ladder Example Structured Text MDW Aaxis1 MDW 1 Motion Event Instructions 5 9 Motion Arm Registration Use the MAR instruction to arm servo module registration event M AR checking for the specified axis When the instruction is called a registration event is armed based on the selected Registration Input and the specified Trigger Condition When the specified Registration Input transition satisfies the Trigger Condition the motion module computes the axis position at the moment the event occurred based on hardware latched encoder count data and stores it
506. ter Reference selection allows gearing input to be derived from either the Actual or Command position of the Master Axis When the instruction s Clutch capability is activated the gearing instruction commands the slave axis to accelerate or decelerate at a controlled rate before Locking on to the master axis using the instructions Acceleration value much like the clutch of a car Relay Ladder Operand Type Format Description Slave axis AXIS_VIRTUAL tag Name of the axis to perform AXIS_GENERIC operation on AXIS_SERVO AXIS_SERVO_DRIVE Master axis AXIS_FEEDBACK tag The axis that the slave axis follows AXIS_CONSUMED AXIS_VIRTUAL AXIS_GENERIC AXIS_SERVO AXIS_SERVO_DRIVE Motion MOTION_ tag Structure used to access instruction control INSTRUCTION status parameters Direction UINT32 immediate The relative direction that the Slave or tag axis tracks the Master Axis Select one of following 0 slave axis moves in the same direction as the master axis 1 slave axis moves in the opposite direction of its current direction 2 Slave axis reverses from current Or previous 3 slave axis to continue its current Or previous direction Ratio REAL immediate Signed Real value establishing the or tag gear ratio in Slave User Units per Master User Unit Slave counts UINT32 immediate Integer value representing slave or tag counts used in specifying a Fractional gear ratio Motion Move Instructions 3 41
507. th the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Tune Process Error 14 Error in previous run tune prevents applying Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MAAT instruction receives a Servo Message Failure 12 error message Associated Error Code Extended Error Meaning decimal Code decimal SERVO_MESSAGE_FAILURE No Resource 2 Not enough memory resources 12 to complete request SERCOS SERVO_MESSAGE_FAILURE Object Mode conflict Axis is in shutdown 12 12 SERVO_MESSAGE_FAILURE Permission denied 15 Enable input switch error 12 SERCOS SERVO_MESSAGE_FAILURE Device in wrong state Redefine Position Home and 12 16 Registration 2 are mutually exclusive SERCOS device state not correct for action SERCO
508. the fault indicating the instance of Motion Direct Command that the results apply to This allows multiple verification errors to be Motion Direct Commands 8 37 displayed and provides navigation to the error source i e double clicking the error in the results window will navigate to the appropriate Motion Direct Command dialog hal ES orward rapezoidal isabled 100 0 Motion Direct Commands 16 Failed to Verify MAJ Speed String invalid Complete 1 error s 0 varning Errors Figure 8 32 Typical Parameter verification If no errors are detected during verification then nothing is displayed The message Failed to Verify is cleared on subsequent command execution or if a new command is selected from the command list When verification fails and is pumped to the error result window the error result window is first cleared Motion Direct Command Execution Error When the user selects Execute from a Motion Direct Command dialog and the operands are verified as valid then the command is executed If the command fails immediately then an error message Execution Error is displayed on the dialog Whether or not an error is detected Publication 1756 RM007G EN P May 2005 8 38 Motion Direct Commands a detailed message is displayed to the Error result window describing the immediate results of the executed command my_virtual_axis Complete 0 error s 0 warning s Moti
509. the Help button to access the on line Help The following pages show the Motion instructions that can be accessed via Motion Direct Commands Their dialogs are shown and as ar brief explanations of their operands For more information or detail about the operands see the appropriate instruction chapter of this manual Publication 1756 RM007G EN P May 2005 8 12 Motion Direct Commands Motion State Commands Motion Servo On If online from the Motion Direct Command dialog the user is able to execute a Motion Servo On MSO command Figure 8 9 Motion Servo On Operands Feature Axis Description Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the e ipsis button is disabled If enabled then select the ellipsis button to display the Axis Properties dialog Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 13 Motion Servo Off If online from the Motion Direct Command dialog the user is able to execute a Motion Servo Off MSF command e Direct Commands my_virtual_axis 4 frv vituaL ans a Figure 8 10 Motion Servo Off Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages
510. the MSO instruction the axis is again under closed loop control at the new position Note The axis stopping behavior varies depending upon the type of drive In some cases the axis coasts to a stop and in other cases the axis decelerates to a stop using the drive s available stopping torque To execute an MSF instruction successfully the targeted axis must be configured as a Servo axis If this condition is not met the instruction errs IF you have an Axis Type of Virtual the instructions errors because with a Virtual Axis the servo action and drive enable status are forced to always be true A Consumed axis data type also errors Publication 1756 RM007G EN P May 2005 2 8 Motion State Instructions because only the producing controller can change the state of a consumed axis aaa The MSF instruction execution may take multiple scans to execute because it requires transmission of a message to the motion module and time for the drive output and servo loop to be fully deactivated The Done DN bit is not set until this message has been successfully transmitted and the axis transitions to the Axis Ready state This is a transitional instruction e In relay ladder toggle the rung condition in from cleared to set each time the instruction should execute e In structured text condition the instruction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditi
511. the axis reaching the configured Motor Encoder Test Increment after moving the axis at least that distance then abort the test using the MAS instruction and check the encoder wiring Marker Hookup Test If the Marker Test is selected the motion module does not generate any axis motion but simply monitors axis encoder feedback The axis can then be moved by hand or by some other independent drive actuator to generate motion When the motion module detects a marker Channel Z pulse the test is then complete The motion module then reports success via the Test Status Axis Parameter Data Type Units Definition Test Status Integer Status Report of the Hookup Diagnostic Test Process Test Direction Boolean Direction of axis travel during hookup Forward test as seen by the motion module If due to improper hookup or some other problem with the system the axis feedback fails to detect that axis reaching the configured Motor Encoder Test Increment after moving the axis at least that distance then abort the test using the MAS instruction and check the encoder wiring Watchdog OK Test If the Watchdog OK Test is selected the motion module does not generate any axis motion but simply simulates a CPU Watchdog failure which opens the OK contacts The OK contacts should remain Publication 1756 RM007G EN P May 2005 6 22 Motion Configuration Instructions Publication 1756 RMO007G EN P May 2005 closed for
512. the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Publication 1756 RMO007G EN P May 2005 Absolute Moves When Absolute is selected or entered the Move Type the axis moves to the specified Position at the specified Speed using the specified Accel and Decel Changing the Endpoint of Absolute Moves The endpoint of an absolute move may be changed while the move is in progress using another MAM instruction with the new desired absolute position The endpoint can be changed when using any of the two velocity profiles although not while the axis is decelerating with S Curve profiles The endpoint of an absolute move may also be changed using an incremental MAM instruction while the absolute move is in progress In this case the Final destination of the axis is the original absolute position Motion Move Instructions 3 29 plus the new incremental distance see Incremental Moves later in this section In all cases the axis moves smoothly t
513. the feedback channels e g A and A B and B or Z and Z are at the same level both high or both low Under normal operation the differential signals are always at opposite levels The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive Loss of feedback power or feedback common electrical connection between the servo module or drive and the feedback device This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear Publication 1756 RM007G EN P May 2005 A 22 Structures Mnemonic Data Description Type AuxFeedbackNoiseFault DINT Set for an auxiliary feedback source when the servo module has detected simultaneous transitions of the feedback A and B channels called feedback noise Feedback noise is most often caused by loss of quadrature in the feedback device itself or radiated common mode noise signals being picked up by the feedback device wiring both of which may be able to be seen on an oscilloscope This fault condition is latched and requires execution of an explicit MAFR Motion Axis Fault Reset or MASR Motion Axis Shutdown Reset instruction to clear GroundShortFault Set for an auxiliary feedback source when one of the following conditions occurs e The differential electr
514. ther module axis is in the Shutdown state the MASR instruction results in closure of the module s OK solid state relay contact Regardless of the OK contact condition execution of the MASR places the axis into the Axis Ready state Just as the MASD instruction forces the targeted axis into the Shutdown state the MASR instruction takes the axis out of the Shutdown state into the Axis Ready state One of the unique characteristics of the Shutdown state is that any associated OK solid state relay contact for the motion module is Open If as a result of an MASR instruction there are no axes associated with a given motion module in the Shutdown state the OK relay contacts close as a result of the MASR This feature can be used to close the E Stop string that controls main power to the drive system and thus permit the customer to reapply power to the drive Note that there is typically Publication 1756 RMO007G EN P May 2005 Motion State Instructions 2 15 only one OK contact per motion module which means that execution of the MASR instruction may be required for all axes associated with a given module for the OK contact to close To successfully execute a MASR instruction the targeted axis must be configured as either a Servo or Feedback Only axis Otherwise the instruction errs IMPORTANT The MASR instruction execution may take multiple scans to execute because it requires transmission of a message to the motion modul
515. thmetic Status Flags not affected Fault Conditions none Error Codes MAJ Error Codes ERR Error Message Code Description Servo Off State Error 5 Attempted execution on an axis that does not have the servo loop closed Shutdown State 7 Attempted execution with the axis in the Shutdown state Error Illegal Axis Type 8 Attempted execution with enumerated Axis Type not configured for Servo or Virtual Overtravel Error 9 Attempted execution in a direction that aggravates current overtravel condition Publication 1756 RM007G EN P May 2005 3 22 Publication 1756 RMO007G EN P May 2005 Motion Move Instructions Error Message Code Description Axis Not Configured Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Se Parameter Out of Attempted to execution with a parameter that was Range outside of its legal range limit See Extended Error section for more information on the cause of the error Home in Process 16 Attempted to execution with homing in process Axis Group Not 19 Synchronized Attempted execution on an axis whose associated axis group is not currently synchronized Axis in Faulted State 20 Attempted execution on an axis which is in the Faulted state Illegal Dynamic 23 Attempted an illegal change of dynamics such as merge Change on an
516. tics Axis Axis Motion Control MRHD_1 Diagnostic Test Marker Figure 6 6 MRHD Ladder Example Structured Text MRHD Axisl MRHD 1 Marker Publication 1756 RM007G EN P May 2005 6 26 Motion Configuration Instructions Notes Publication 1756 RMO007G EN P May 2005 Chapter Introduction Multi Axis Coordinated Motion Instructions MCLM MCCM MCCD MCS MCSD MCSR ATTENTION Tags used for the motion control attribute of instructions should only be used once Re use of the motion control tag in other instructions can cause unintended operation This may result in damage to equipment or personal injury The multi axis coordinated move motion instructions are the vehicle for performing linear and circular moves in single and multi dimensional Cartesian space These instructions use information from the Coordinate System tag The Coordinate System tag contains the number of axes in the Cartesian Coordinate System A Cartesian Coordinate System is used to define exact locations in one two or three dimensional space A Cartesian Coordinate can be a single coordinate that locates a single point on an axis from the origin of an axis A Cartesian Coordinate can be a pair of two coordinates that locate a point on a plane and measure its distance from either of two intersecting straight line axes A Cartesian Coordinate can also be a group of three coordinates that locate a point in space and measure its distan
517. tion Relay Ladder Operand Data Type Description Axis Tag Name of the axis to perform operation on Motion MOTION_ Structure used to access instruction status control INSTRUCTION Tag parameters Structured Text The operands are the same as those for the relay ladder MDF instruction MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the axis drive signals have been successfully disabled and the drive enable status bit is cleared ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis For motion module s with an external servo drive interface e g the 1756 M02AE the Motion Direct Drive Off MDF instruction directly Motion State Instructions 2 21 disables the motion module Drive Enable output of the specified physical axis and also zeroes the modules servo output to the external drive by applying the configured Output Offset value The MDF instruction is used to stop motion initiated by a preceding MDO instruction and transition the axis from the Direct Drive Control state back to the Axis Ready state To successfully execute an MDF instruction the targeted axis must be configured as either a Servo
518. tion This differs from function block instructions that use Enableln to trigger execution Structured text instructions execute as if Enableln is always set This also differs from relay ladder instructions that use rung condition in to trigger execution Some relay ladder instructions only execute when rung condition in toggles from false to true These are transitional relay ladder instructions In structured text instructions will execute each time they are scanned unless you pre condition the execution of the structured text instruction For example the ABL instruction is a transitional instruction in relay ladder In this example the ABL instruction only executes on a scan when tag_xic transitions from cleared to set The ABL instruction does not execute when tag_xic stays set or when tag_xic is cleared ABL ASCII Test For Buffer Line Channel 0 SerialPort Control serial_control Character Count In structured text if you write this example as IF tag _xic THEN ABL 0 serial control END IF the ABL instruction will execute every scan that tag_xic is set not just when fag_xic transitions from cleared to set Publication 1756 RM007G EN P May 2005 B 12 Structured Text Programming Constructs If you want the ABL instruction to execute only when tag_xic transitions from cleared to set you have to condition the structured text instruction Use a one shot to trigger execution
519. tion Feedback in Position Units Sec2 ServoOutputLevel REAL Servo Output Level in Volts MarkerDistance REAL Marker Distance in Position Units VelocityOffset REAL Velocity Offset in Position Units Sec TorqueOffset REAL Torque Offset from 100 to 100 AccelStatus DINT Set if the axis is currently being commanded to accelerate DecelStatus DINT Setif the axis is currently being commanded to decelerate MoveStatus DINT Setif a Move motion profile is currently in progress Cleared when the Move is complete or is superseded by some other motion operation JogStatus DINT Setif a Jog motion profile is currently in progress Cleared when the Jog is complete or is superseded by some other motion operation Publication 1756 RMO007G EN P May 2005 Structures A 9 Mnemonic Data Type Description GearingStatus DINT Set if the axis is a slave that is currently Gearing to another axis Cleared when the gearing operation is stopped or is superseded by some other motion operation HomingStatus DINT Set if a Home motion profile is currently in progress Cleared when the homing operation is stopped or is superseded by some other motion operation StoppingStatus DINT Set if there is a stopping process currently in progress Cleared when the stopping process is complete Note The stopping process is used to stop an axis initiated by an MAS MGS Stop Motion fault action or mode
520. tion Group Strobe Position Group Motion Motion Control MGSP_2 Figure 4 4 MGSP Ladder Example Structured Text MGSP Motion MGSP_2 Chapter 5 Introduction Motion Event Instructions MAW MDW MAR MDR MAOC MDOC ATTENTION Tags used for the motion control attribute of instructions should only be used once Re use of the motion control tag in other instructions can cause unintended operation This may result in damage to equipment or personal injury Motion event instructions control the arming and disarming of special event checking functions such as registration and watch position The motion event instructions are If you want to Use this instruction Available in these languages Arm watch position event checking for an axis MAW relay ladder structured text Disarm watch position event checking for an MDW relay ladder axis structured text Arm servo module registration event checking MAR relay ladder for an axis structured text Disarm servo module registration event MDR relay ladder checking for an axis structured text Arm an Output Cam MAOC relay ladder structured text Disarm an Output Cam MDOC relay ladder structured text Motion Arm Watch MAW Use the MAW instruction to arm motion module watch position event checking for the specified axis When this instruction is called a watch position event is enabled using the watch Position for the Axis and specified Forwar
521. tion in the negative direction It is a special type of absolute move available only for rotary axes Refer to the Motion Axis Object Specification for more information on Unwind and Rotary Axis configuration When Rotary Negative is selected or entered as the Move Type the axis moves to the specified Position at the specified Speed using the specified Accel and Decel in the negative direction regardless of the current position of the axis The position must be a positive value less than the unwind value entered in the motion controller s machine setup menu and therefore moves of more than one revolution cannot be performed with a single rotary negative MAM instruction MTT Use rotary negative moves only on rotary axes For example assume a rotary axis with position units of degrees is to be moved to a position of 225 As shown in the Figure below with Motion Move Instructions 3 33 the standard absolute MAM instruction the direction of travel depends on the current position of the axis and is not necessarily the shortest path to the endpoint Starting positions less than the endpoint result in motion in the positive direction while starting positions greater than the endpoint result in motion in the negative direction Standard Absolute Rotary Negative Move Figure 3 11 Rotary Negative Moves With the rotary negative move however the axis moves to the specified endpoint position through 0 if necessary in the n
522. tion s execution can be deferred pending completion of a currently executing position cam An Execution Schedule selection of Pending can thus be used to seamlessly blend two position cam profiles together without stopping motion The Pending execution feature is particularly useful in applications like high speed packaging when a slave axis must be locked onto a moving master axis and accelerate using a specific profile to the proper speed When this acceleration profile is done it must be smoothly blended into the operating profile which is typically executed continuously To stop the slave axis the operating profile is smoothly blended into a deceleration profile such that the axis stops at a known location as shown below Decel Accel Profile Profile Operating Profile N Sa Master Axis Position Figure 3 29 Pending Cam Execution By executing the position cam profile as a Pending cam profile while the current profile is still executing the appropriate cam profile parameters are set up ahead of time This makes the transition from the current profile to the pending profile seamless synchronization between the master and slave axes is maintained To ensure smooth motion across the transition however the profiles must be designed such that no position velocity or acceleration discontinuities exist between the end of the current profile and the start of the new one This is done using the RSLogix 5000 Cam Pr
523. tion tried to execute with homing in progress 17 Axis Mode Not Rotary The instruction tried to execute a rotary move on an axis that is not configured for rotary operation 18 Axis Type Unused The axis type is configured as unused 19 Group Not Synchronized The motion group is not in the synchronized state This could be caused by a missing servo module or a misconfiguration 20 Axis In Faulted State The axis is in the faulted state 21 Group In Faulted State The group is in the faulted state 22 Axis In Motion An MSO Motion Servo On or MAH Motion Axis Home instruction was attempted while the axis was in motion 23 Illegal Dynamic Change An instruction attempted an illegal change of dynamics Publication 1756 RMO007G EN P May 2005 Motion Concepts 1 9 Error Code Error Message Description 24 Illegal AC Mode Op The controller attempted to execute an MDO MSO MAH MAJ MAM MCD MAPC MATC MAG MRAT or MRHD instruction when the controller was in the test mode 25 Illegal Instruction You attempted to execute an instruction that is not correct 26 Illegal Cam Length The cam array is of an illegal length 21 Illegal Cam Profile Length The cam profile array is of an illegal length 28 Illegal Cam Type You have an illegal segment type in the cam element 29 Illegal Cam Order You have an illegal order of cam elements 30 Cam Profile Being Calculated You tr
524. tional an MAOC instruction can be initiated when either of the following two conditions exist e OutputCamStatus bit FALSE or e OutputCamStatus bit TRUE OutputCamLockStatus bit FALSE OutputCamTransitionStatus bit FALSE If the Execution Schedule is Pending the MAOC instruction is initiated if either of the following two conditions exist e OutputCamStatus bit FALSE or e OutputCamStatus bit TRUE OutputCamTransitionStatus bit FALSE Axis and Module Fault Conditions Disarm Output Cams When the controller detects one of the following faults it disarms output cams e For Axis Servo and Axis _Servo_Drive axis feedback loss fault e For Axis_Servo and Axis _Servo_Drive module fault e For Axis_Consumed physical axis fault Those faults produce unreliable feedback data Also if an axis fault exists when an MAOC instruction is initiated the instruction errs Scheduled Output Module The 1756 OB16IS Scheduled Output module is designed to work in conjunction with the Motion Axis Output Cam MAOC motion instruction to provide position based output control also know as PLS The MAOC instruction by itself allows position based output control using the position of any motion axis in ControlLogix as the position reference and any output or boolean as the output The MAOC updates the outputs based on motion axis position at the motion group coarse update rate typically 2ms 10ms While this is adequate for some applicatio
525. tly in the Shutdown state Cleared when the axis is transitioned from the Shutdown state to another state Publication 1756 RM007G EN P May 2005 A 26 Structures Mnemonic Data Type Description ConfigUpdatelnProcess DINT The Configuration Update Status Bits attribute provides a method for monitoring the progress of one or more specific module configuration attribute updates initiated by either a Set Attribute List service which is internal to the firmware or an SSV in the user program When such an update is initiated the ControlLogix processor sets this bit This bit will remain set until the Set Attribute List reply comes back from the servo module indicating that the data update process was successful Thus the Configuration Update Status Bits attribute provides a method of waiting until the servo configuration data update to the connected motion module is complete before starting a dependent operation PhysicalAxisFault DINT Set when one or more fault conditions have been reported by the physical axis The specific fault conditions can then be determined through access to the fault attributes of the associated physical axis A PhysicalAxisFault can be set as either a Major Fault or a Non Major Fault in the Attribute tab of the associated Motion Group properties dialog box ModuleFault ConfigFault DINT DINT Set when a serious fault has occurred with the motion module associated with the s
526. tructions 3 45 Fraction Gear Ratios When Ratio Format is selected or entered as Fraction the gear ratio is specified as a pair of integer numbers or tag variables representing the ratio between the number of slave axis feedback counts and the number of master axis feedback counts Up to five digits 99999 can be used for the slave counts and up to nine digits 999999999 for the master counts See The Tag variable Builder earlier in this manual for information on tag variables imPorTAnT The Conversion Constant entered as part of the axis configuration procedure is NOT used when the Ratio Format for the MAG instruction is specified as a Fraction If your gear ratio cannot be exactly expressed as a real number with a maximum of five digits to the right of the decimal point use Fraction as the Ratio Format Specifying the gear ratio as a fraction allows the direct implementation of irrational gear ratios such as 1 3 with no accumulated positioning errors or round off Since the master and slave count values do not use the axis conversion constants and because they are integers the actual gear ratio relationship between the slave and master axes exactly match the specified ratio For example the irrational gear ratio of 3 can be equivalently specified as 1 slave count to 3 master counts 10 slave counts to 30 master counts 3 slave counts to 9 master counts etc Clutch When the Clutch check box is checked the slave
527. ts of Blended Move Using No Decel linear gt linear move be nn DT RA ANA ARA E D ll os ws ek SS sr ds oa cd cs Cre ert nd as rei ri re mo E apio ct 10 CATS The following table shows the Bit Status at the various transition points shown in the preceding graph with Termination Type of No Decel For No Decel Termination Type distance to go for transition point TP2 is equal to deceleration distance for the Movel instruction Bt JTP TP TPB TP4 Move1 DN T T T T Move IP T F F F Move1 AC T F F F Move1 PC F T T T Move2 DN T T T T MoveZ IP T T T F Move2 AC F T T F Move2 PC F F F T cs1 MoveTransitionStatus F T F F cs1 MovePendingStatus T F F F cs1 MovePendingQueueFullStatus T F F F Publication 1756 RMO007G EN P May 2005 linear gt linear move Bit States at Transition Points of Blended Move Using Command Tolerance Y axis rra rm o e PRA ER ESTATE O K34 oo Multi Axis Coordinated Motion Instructions m to A A ee EELEE 10 The following table shows the Bit Status at the various transition points shown in the preceding graph with Termination Type of Command Tolerance For Command Tolerance Termination Type 7 7 distance to go for transition point TP2 is equal to command tolerance for the coordinate system cs1 Bit Move1 DN Move1 IP TP1 TP2 TP3 TP4 Move1 AC Move1 PC M
528. ts shutdown of the servo module This fault bit is cleared when the connection is reestablished ModuleSyncFault DINT Set when the motion module detects that several position update messages in a row from the ControlLogix processor module have been missed due to a failure of the synchronous communications connection This condition results in the automatic shutdown of the servo module The servo module is designed to ride through a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress Missing more than four position updates in a row constitutes a problematic condition that warrants shutdown of the servo module This fault bit is cleared when the connection is reestablished TimerEventFault DINT Set when the associated servo module has detected a problem with the module s timer event functionality used to synchronize the motion module s servo loop to the master timebase of the Logix rack i e Coordinated System Time This fault bit can be cleared only by reconfiguration of the motion module ModuleHardwareFault DINT Set when the associated servo module has detected a hardware problem that in general is going to require replacement of the module to correct OutputCamStatus DINT A set of bits that are set when the Output Cam has been initiated Publication 1756 RMO007G EN P May 2005 Structures A 13 Mnemonic Data Descripti
529. tus element of this Cam Profile array structure element are hidden from the RSLogix 5000 tag editor These elements are of no value to the user The Status member is used to indicate that the corresponding Cam Profile array element has been calculated If execution of a camming instruction is attempted with any uncalculated elements in a cam profile the instruction errors The type parameter determines the type of interpolation applied between this cam array element and the next cam element i e linear or cubic Cam Profile Array Checks The Status member of the first element in the cam profile array is special and used for data integrity checks For this reason the MAPC must always specify the cam profile with the starting index set to 0 This first cam profile element Status member can have the following values Status Value Description 0 Cam profile element has not been calculated 1 Cam profile element is being calculated 2 Cam profile element has been calculated n Cam profile element has been calculated and is currently being used by n 2 MAPC or MATC instructions Before starting a cam on a specified axis the MAPC instructions checks if the cam profile array has been calculated by checking the value of the first cam profile elements Status member If Status is 0 or 1 then the cam profile has not been calculated yet and the MAPC instruction errors If the cam profile array has been completely calculated
530. u use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces the deceleration S Curve Velocity the axis overshoots speed and moves in the opposite direction This happens because jerk limits the acceleration and deceleration time of an S Curve profile You reduce jerk when you reduce acceleration reduce deceleration or increase speed The smaller jerk can cause e an accelerating axis to overshoot its speed e a decelerating axis to move in the opposite direction For more information see Logix5000 Motion Modules User Manual publication 1756 UM006 Coordinate System The Coordinate System operand specifies the set of motion axes that define the dimensions of a coordinate system For this release the coordinate system supports up to three 3 primary axes Publication 1756 RM007G EN P May 2005 7 82 Multi Axis Coordinated Motion Instructions Publication 1756 RMO007G EN P May 2005 Motion Control The following control bits are affected by the MCCD instruction Mnemonic Description EN Enable Bit 31 The Enable Bit is set when the rung transitions from false to true It resets when the rung transitions from true to false
531. uction moves a physical axis to a specified absolute position or by a specified incremental distance at a specified speed using a specified acceleration and deceleration In addition to these absolute and incremental moves the MAM instruction can also generate many other special types of moves To move an axis enter or select the desired physical axis and type of move Enter values or tag variables for the desired Position or Distance Speed Accel and Decel Speed acceleration and deceleration values can be entered as percentages of the current configured maximum values or directly in the configured speed and acceleration units of the axis Motion Move Instructions 3 27 If the targeted axis does not appear in the list of available axes the axis has not been configured for servo operation Use the Tag Editor to create and configure a new axis The following Figure shows the general form of a trapezoidal move starting with the axis at standstill Velocity Velocity Position Endpoint E Distance Figure 3 8 Trapezoidal Move Publication 1756 RM007G EN P May 2005 3 28 Motion Move Instructions ATTENTION If you use an S Curve profile Be careful if you change the acceleration deceleration or speed while an axis is accelerating or decelerating along an S Curve profile You can cause an axis to overshoot its speed or move in the opposite direction If you start another instruction here that reduces
532. uction so that it only executes on a transition See Appendix C Arithmetic Status Flags not affected Fault Conditions none Publication 1756 RM007G EN P May 2005 2 12 Motion State Instructions Error Codes MASD Error Codes ERR MASD Changes to Status Bits Axis Status Bits Publication 1756 RMO007G EN P May 2005 Error Message Code Description Execution Collision 3 Attempted execution on an axis that already has another instance of this instruction executing This situation is possible when instructions that require messaging are executed without Done DN bit 29 run qualification Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Shutdown Status Time 42 The MASD instruction failed to detect the assertion Out of the Shutdown Status Bit within the established fixed delay time period Bit Name State Meani
533. uld give you Publication 1756 RMO007G EN P May 2005 Motion Concepts 1 11 Message Status STATUS Message _ Description Status 0x0 The message was successful 0x1 The module is processing another message 0x2 The module is waiting for a response to a previous message 0x3 The response to a message failed 0x4 The module is not ready for messaging Execution Status STATE The execution status is always set to 0 when the controller sets the EN bit for a motion instruction Other execution states depend on the motion instruction Profile Segment SEGMENT A segment is the distance from one point up to but not including the next point A SEGMENT instruction gives the relative position by segment number as the Cam is executing Publication 1756 RM007G EN P May 2005 1 12 Motion Concepts Notes Publication 1756 RMO007G EN P May 2005 Chapter 2 Introduction Motion State Instructions MSO MSF MASD MASR MDO MDF MAFR ATTENTION A Tags used for the motion control attribute of instructions should only be used once Re use of the motion control tag in other instructions can cause unintended operation This may result in damage to equipment or personal injury Motion state control instructions directly control or change the operating states of an axis The motion state instructions are If you want to Use this instruction Available in these
534. ull circle using Radius as the Circle Type e Start point must not equal the end point e Direction must be either Clockwise Full or Counter Clockwise Full e Sign of Radius is irrelevant MCCM with Rotary Axes Examples The following examples show the use of the MCCM instruction with Rotary axes and Move Types of Absolute and Incremental MCCM with Three Axes One Rotary Axis and Move Type of Absolute The first example uses a coordinate system of three axes with one Rotary axis and a Move type of Absolute The plot of the path is based on the following assumptions e 3 axis Coordinate System named coord_syst2 Axis2 the Z axis is ignored in plots to reduce the confusion and to better illustrate the actions of the rotary axis Axis0 e Axis0 is Rotary with an unwind of 5 revs e Start position is 0 0 0 Publication 1756 RMO007G EN P May 2005 e End position is 5 5 5 e Via position is 5 3 5 3 5 MCCM Motion Coordinated Circular Move Coordinate System Motion Control Move Type Position AxisO Axis1 Axis2 Circle Type Via Center Radius Direction Speed Speed Units Accel Rate Accel Units Decel Rate Decel Units Profile Termination Type Merge Merge Speed MCCM_Move_position 14 5 0 Multi Axis Coordinated Motion Instructions VIA 1 1 Units per sec 100 Z of Maximum 100 Z of Maximum Trapezoidal Disabled Programmed Figure 7 32 MCCM Ladder Instruction with Move T
535. ured Text MGS Group MotionControl The operands are the same as those for the relay ladder StopMode MGS instruction For the operands that require you to select from available options enter your selection as This operand Has these options which you enter as text or enter as a number StopMode programmed 0 faststop 1 fastdisable 2 MOTION_INSTRUCTION Structure Mnemonic Description EN Enable Bit 31 It is set when the rung makes a false to true transition and remains set until the servo message transaction is completed and the rung goes false DN Done Bit 29 It is set when the group Programmed Stop has been successfully initiated for all axes in the group Publication 1756 RMO007G EN P May 2005 Motion Group Instructions 4 3 Mnemonic Description ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured group IP In Process Bit 26 It is set on positive rung transition and cleared after the Motion Group Programmed Stop is complete PC Process It is set after all the axes in group have been successfully Complete Bit 27 brought to a stop according to each axis Programmed Stop Mode configuration Description With the Stop Mode parameter set for Programmed the Motion Group Stop MGS instruction brings motion for all of the axes in the specified group to a stop according to the
536. us DINT Set when the current state of the dedicated Enable Input is active Clear when the Enable Input is inactive AccelLimitStatus DINT Set when the magnitude of the commanded acceleration to the velocity servo loop input is greater than the configured Velocity Limit VelocityLockStatus DINT Set when the magnitude of the physical axis Velocity Feedback is within the configured Velocity Window of the current velocity command VelocityStandstillStatus DINT Set when the magnitude of the physical axis Velocity Feedback is within the configured Velocity Standstill Window of zero speed Publication 1756 RMO007G EN P May 2005 Structures A 21 Mnemonic Data Type Description VelocityThresholdStatus DINT Set when the magnitude of the physical axis Velocity Feedback is less than the configured Velocity Threshold TorqueThresholdStatus DINT Set when the magnitude of the physical axis Torque Feedback is less than the configured Torque Threshold TorqueLimitStatus DINT Set when the magnitude of the axis torque command is greater than the configured Torque Limit VelocityLimitStatus DINT Set when the magnitude of the commanded velocity to the velocity servo loop input is greater than the configured Velocity Limit PosLockStatus DINT Set when the magnitude of the axis position error has become less than or equal to the configured Position Lo
537. us Bits 7 33 Axis Status Bits 7 34 Coordinate Motion Status Bits 7 34 Coordinate System Status Bits 7 34 Description 7 15 Error Codes 7 31 Extended Error Codes 7 32 Fault Conditions 7 31 Operands Accel Rate 7 23 Accel Units 7 23 Coordinate System 7 16 Decel Rate 7 23 Decel Units 7 23 Merge 7 25 All Motion 7 26 Coordinated Motion 7 26 Merge Disabled 7 25 Merge Speed 7 26 Motion Control 7 16 Move Type 7 17 Absolute 7 17 Incremental 7 17 Position 7 23 Profile 7 24 S Curve 7 25 Trapezoidal 7 24 Velocity Profile Effects 7 24 Relay Ladder 7 13 Speed 7 23 Speed Units 7 23 Structured Text 7 14 Termination Type 7 3 7 9 Actual Tolerance 7 9 Command Tolerance 7 9 Follow Contour Velocity Constrained 7 9 Follow Contour Velocity Un constrained 7 9 No Decel 7 9 No Settle 7 9 Target Position Entry Dialog 7 29 Motion Coordinated Shutdown 7 94 Motion Coordinated Shutdown MCSD Arithmetic Status Flags 7 95 Changes to Status Bits 7 96 Axis Status Bits 7 96 Coordinate Motion Status Bits 7 97 Coordinate System Status Bits 7 96 Description 7 95 Error Codes 7 96 Fault Conditions 7 96 Operands 7 94 Coordinate System 7 95 Motion Control 7 95 Relay Ladder 7 95 Structured Text 7 95 Motion Coordinated Shutdown Reset 7 97 Motion Coordinated Shutdown Reset MCSR Arithmetic Status Flags 7 99 Changes to Status Bits 7 99 Axis Status Bits 7 99 Coordinate Motion Status Bits 7 99 Coordinate System Status Bits 7 99 Description 3 108
538. use 2 Reserved Error Code 2 Reserved for future use 3 Execution Collision The instruction tried to execute while another instance of this instruction was executing This can occur when the controller executes a messaging instruction without checking the DN bit of the preceding instruction 4 Servo On State Error The instruction tried to execute on an axis with a closed servo loop 5 Servo Off State Error The instruction tried to execute on an axis with a servo loop that is not closed 6 Drive On State Error The axis drive is enabled 7 Shutdown State Error The axis is in the shutdown state 8 Illegal Axis Type The configured axis type is not correct 9 Overtravel Condition The instruction tried to execute in a direction that aggravates the current overtravel condition 10 Master Axis Conflict The master axis reference is the same as the slave axis reference 11 Axis Not Configured At least one axis is not configured to a physical motion module or has not been assigned to a Motion Group 12 Servo Message Failure Messaging to the servo module failed 13 Parameter Out Of Range The instruction tried to use a parameter that is outside the range limit 14 Tune Process Error The instruction cannot apply the tuning parameters because of an error in the run tuning instruction 15 Test Process Error The instruction cannot apply the diagnostic parameters because of an error in the run diagnostic test instruction 16 Home In Process Error The instruc
539. useful in rotary applications where it is necessary that the time cam run continuously in a rotary or reciprocating fashion To generate smooth continuous motion using this technique however care must be taken in designing the cam points of the cam table to ensure that there are no position velocity or acceleration discontinuities between the start and end points of the calculated cam profile Execution Schedule Control over the MATC instruction s execution schedule is via the Execution Schedule parameter Immediate Execution By default the MATC instruction is scheduled to execute immediately by virtue of the fact that the default setting of the Execution Schedule parameter is Immediate In this case there is no delay to the enabling of the time camming process As illustrated in the diagram below when the MATC instruction is executed the camming process is initiated on the specified axis and the Time Cam Status bit in the axis Motion Status word is set If the Publication 1756 RM007G EN P May 2005 3 102 Motion Move Instructions Execution Schedule parameter is set to Immediate the axis is immediately locked to the time master coordinate according to the specified Cam Profile Cam Profile Axis Position Time 1 o Time Gan Status Time Gam Initiated Figure 3 38 Immediate Execution If an MATC instruction is executed on an axis that is already actively time camming an Illegal Dynamic Change error is
540. ut Set Vias Actuals button is inactive Grayed Out Absolute Center Target column is entitled Target Position Center column is entitled Center Position Set Targets Actuals button is active Set Vias Actuals button is active Incremental Center Target column is entitled Target Increment Center Column is entitled Center Increment Set Targets Actuals button is inactive Grayed Out Set Vias Actuals button is inactive Grayed Out Absolute Radius Target column is entitled Target Position Radius column is entitled Radius Set Targets Actuals button is active Set Vias Actuals button is inactive Grayed Out Incremental Radius Target column is entitled Target Increment Radius Column is entitled Radius Set Targets Actuals button is inactive Grayed Out Set Vias Actuals button is inactive Grayed Out Absolute Incremental Center Incremental Center Incremental Target column is entitled Target Position Center Incremental column is entitled Center Incremental Set Targets Actuals button is active Set Vias Actuals button is inactive Grayed Out Target column is entitled Target Increment Center Incremental column is entitled Center Incremental Set Targets Actuals button is inactive Grayed Out Set Vias Actuals button is inactive Grayed Out MCCM is a transitional instruction e In relay ladder toggle the rung condition in fro
541. ut Cam behavior may differ when the cam position moves beyond the cam start or cam end position Execution mode Behavior Once When the cam position moves beyond the cam start or cam end position the Output Cam is disarmed and the Process Complete bit of the Motion Instruction is set Persistent When the cam position moves beyond the cam start or cam end position the Output Cam is disarmed However when the cam position moves back into the Output Cam range the Output Cam is rearmed Continuous When the cam position moves beyond the cam start or cam end position the Output Cam continues on the opposite side of the Output Cam range Execution Schedule Depending on the selected execution schedule the Output Cam is armed according to the following table Execution Schedule Behavior Immediate The Output Cam is armed immediately Pending The Output Cam is armed when the cam position of an armed Output Cam moves beyond its cam start or cam end position Publication 1756 RMO007G EN P May 2005 Motion Event Instructions 5 33 Execution Schedule Behavior Forward Only The Output Cam is armed when the axis approaches or passes through the specified axis arm position in the forward direction Reverse Only The Output Cam is armed when the axis approaches or passes through the specified axis arm position in the reverse direction Bi Directional The Output Cam is armed wh
542. vo message transaction is completed and the rung goes false DN Done Bit 29 Itis set when axis home has been successfully completed or is aborted ER Error Bit 28 It is set to indicate that the instruction detected an error such as if you specified an unconfigured axis IP In Process Bit 27 It is set on positive rung transition and cleared after the Motion Home Axis is complete or terminated by a stop command shutdown or a servo fault PC Process Complete Bit 26 It is set when axis home is successfully completed The Motion Axis Home MAH instruction is used to calibrate the absolute position of the specified axis For axes that are configured as type Servo the axis can be homed using Active Passive or Absolute Homing Mode configuration For Feedback Only axes only Passive and Absolute homing modes are available Absolute Homing Mode requires the axis to be equipped with absolute feedback device Publication 1756 RM007G EN P May 2005 3 10 Motion Move Instructions Publication 1756 RMO007G EN P May 2005 Active Homing When the axis Homing Mode is configured as Active the physical axis is first activated for servo operation As part of this process all other motion in process is canceled and appropriate status bits cleared The axis is then homed using the configured Home Sequence which may be Immediate Switch Marker or Switch Marker The later three Home Sequences result in the
543. xecuted without Done DN Bit 29 run qualification Servo On State Error 4 Attempted execution on an axis that has its servo loop closed Shutdown State Error 7 Attempted execution with the axis in the Shutdown state Illegal Axis Type 8 Attempted execution with the axis not configured as servo Axis Not Configured 11 Passed axis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Test Process Error 15 Error in previous run test prevents applying Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Drive Locally Disabled 40 You are trying to run an MRHD instruction when the drive is locally disabled Extended Error Codes Extended Error Codes provide additional instruction specific information for the Error Codes that are generic to many instructions The following Extended Error codes help to pinpoint the problem when the MAHD instruction receives a Servo Message Failure 12 error message Associated Error Code decimal Extended Error Meani
544. xis value references an unconfigured axis meaning the axis has not been assigned to a physical motion module channel Servo Message 12 Messaging to targeted motion module failed Failure Axis Type Unused 18 Attempted execution on an axis that is not configured for use according the current Axis Type configuration attribute Axis Group Not 19 Attempted execution on an axis whose associated Synchronized axis group is not currently synchronized Illegal Axis Data Type 38 You attempted to execute an instruction on an Axis Data Type that is not supported by the instruction Motion State Instructions 2 25 MAFR Changes to Status Bits None MAFR Example When the input conditions are true the controller clears all motion faults for axis1 Relay Ladder MAFR Motion Axis Fault Reset Axis Axis3 Motion Control MAFR_3 Yo Figure 2 7 MAFR Ladder Example Structured Text MAFR Axis0 MAFR_1 Publication 1756 RM007G EN P May 2005 2 26 Motion State Instructions Notes Publication 1756 RMO007G EN P May 2005 Chapter 3 Introduction Motion Move Instructions MAS MAH MAJ MAM MAG MCD MRP MCCP MAPC MATC MCSV ATTENTION A Tags used for the motion control attribute of instructions should only be used once Re use of the motion control tag in other instructions can cause unintended operation This may result in damage to equipment or personal injury The Move Control
545. xt 6 19 Test Status 6 22 Watchdog OK Test 6 21 Motion Direct Commands Error Process 8 36 Transition States 8 38 motion direct drive on 2 16 Motion Disarm Output Cam 5 44 Motion Disarm Registration 5 16 Motion Disarm Watch 5 6 Motion Event Instructions 5 1 Introduction 5 1 Motion Arm Output Cam MAOC 5 19 Axis 5 24 Axis Arm and Cam Arm Positions 5 33 Cam Start and Cam End Positions 5 32 Description 5 24 Duration 5 28 Effects on Status Bits 5 36 Enable Type 5 28 Error Codes 5 35 Execution Mode 5 32 Execution Schedule 5 32 Execution Target 5 24 Extended Error Codes 5 36 Input 5 32 Latch Type 5 25 Left and Right Cam Positions 5 27 Mode Compensation 5 30 MOTION_INSTRUCTION structure 5 24 Offset and Delay Compensation 5 29 Operands 5 20 Relay Ladder 5 20 Structured Text 5 23 Output 5 31 Output Cam Array Checks 5 28 Output Compensation Array Checks 5 31 Reference 5 33 Specifying Output Compensation 29 Specifying the Output Cam Profile 5 24 Unlatch Type 5 26 Motion Arm Registration MAR 5 9 Changes to Status Bits 5 15 Description 5 11 Error Codes 5 14 Extended Error Codes 5 14 Publication 1756 RM007G EN P May 2005 4 Publication 1756 RM007G EN P May 2005 Index MOTION_INSTRUCTION structure 5 10 Operands 5 9 Relay Ladder 5 9 Structured Text 5 10 Windowed Registration 5 11 Motion Arm Watch MAW 5 1 Changes to Status Bits 5 5 Description 5 3 Error Codes 5 5 Extended Error Codes 5 5 MOTION_INSTRUCTION
546. y Dialog box press the ellipsis after the Position line on the instruction faceplate Valid Coordinate System CLM Motion Coordinated Linear Move Coordinate System Coordinated_sys _ Valid Move Type Motion Control MCLM 6 Move Type 1 Press ellipsis to Position mowe_position El Target cal AxisO 25 cath Axis 25 nitry Box Speed 5 Figure 7 14 MCLM Ladder Valid Values for Accessing Target Position Entry Box Publication 1756 RM007G EN P May 2005 7 30 Multi Axis Coordinated Motion Instructions Pressing the ellipsis button at the Position line of the ladder instruction faceplate calls the following Target Position Entry box for editing the position values Target Position Entry Coordinated_sys move_position 12 Position Tag Axis Name Target Increment Actual Position Figure 7 15 MCLM Instruction Target Position Entry Dialog Box Position Tab The dialog title indicates the Coordinate System and Tag Names for the instruction Feature Description Axis Name These fields list the names of each axis contained in the Coordinate System You cannot alter the axis names in this dialog Target Position Target This field contains the endpoint or increment of the Increment coordinated move as specified in the instruction faceplate It is numeric Actual Position These are the current actual positions of the axes in the coordinate system These positions are updated dynamically when on
547. y the Axis Properties dialog Publication 1756 RMO007G EN P May 2005 Motion Direct Commands 8 21 Motion Axis Jog If online from the Motion Direct Command dialog the user is able to execute a Motion Axis Jog MAJ command Motion Direct Commands my _virtual_axis 4 Al ES fro vital 0202020222 NS Trapezoidal isabled Figure 8 18 Motion Axis Jog Operands Feature Description Axis Select an axis from the tag browser This list contains existing axes and their aliases or Notification messages are processed i e Axis Name changed is reflected ellipsis If an axis alias is NOT selected then the ellipsis button is disabled If enabled then select the e ipsis button to display the Axis Properties dialog Direction Select the desired direction from the combo box This list contains Forward default and Reverse Speed Enter the desired speed in the edit box The default is 0 Speed Units Select the desired speed units from the combo box This list contains Units per sec default and of Maximum Accel Rate Enter the desired acceleration rate in the edit box The default is 100 Accel Units Select the desired acceleration units from the combo box This list contains Units per sec2 default and of Maximum Decel Rate Enter the desired deceleration rate in the edit box The default is 100 Publication 1756 RM007G EN P May 2005 8 22 Motion
548. ype of Absolute 7 55 N coord_syst2 _ MCCM 7 N 0 Move Type is Absolute R gt i IP gt 5 0 5 0 o 0 Circle Type is Via co Direction is Shortest Publication 1756 RM007G EN P May 2005 7 56 Multi Axis Coordinated Motion Instructions Publication 1756 RM007G EN P May 2005 The preceding MCCM instruction produces the following plot na J See fc toe J Figure 7 33 Plot of MCCM with Three Axes One Rotary Axis amp Move Type of Absolute The axis actually travels counter clockwise in an arc from 0 0 0 to 5 5 5 via the 5 3 5 3 5 position The Direction was specified as clockwise but with Via specified for the Circle Type the Direction operand is ignored The move stops after generating a 90 degree arc There was one travel through the unwind for AxisO even though it was in Move Type of Absolute It should be noted that the path of the coordinated motion is determined in linear space but the position of the axes is limited by the rotary configuration The End and Via points are required to fit within the absolute position defined by the rotary unwind of AxisO However the resulting motion from these choices can travel through the unwind of the rotary axis MCCM with Two Rotary Axis and Move Type of Incremental The second example uses a coordinate system of two Rotary axes and a Move type of Incremental The plot of the path is based on the following assumptions e 2 axis Coordinate System named

Download Pdf Manuals

image

Related Search

motion_instr. motion instruments motion instruction manual motion instructions rslogix 5000 motion in straight line motion in straight line class 11 motion in straight line class 11 notes motion in straight line notes motion in straight line questions class 11 motion in straight line class 11 ncert pdf motion in straight line class 11 solutions motion in straight line jee mains pyq motion in straight line ncert pdf motion in straight line jee motion in straight line ncert solutions

Related Contents

Bedienungsanleitung - ROWI Schweißgeräte & Elektrowerkzeuge  CN-2000シリーズ  BladeRunner AIO User Manual CandCNC  CommPad Version UP - Azbil Corporation  Responsabilité sociale et environnementale Enjeux  高齢者にも使いやすくなった「トーキングエイドライト」を発売  grâce au partenariat entre ace 82 et le crédit mutuel  SOLICITUD SERVICIO MANTENIMIENTO DE  Maximatic EWM-9933 User's Manual  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.