Motion Arm Output Cam (MAOC)

This information applies to the
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
CompactLogix
5480,
ControlLogix
5580, and
GuardLogix
5580 controllers. Controller differences are noted where applicable.
The Motion Arm Output Cam (MAOC) instruction offers the functionality to set and reset output bits based on an axis position.
This is a transitional instruction. Follow these steps when using it:
  • In ladder logic, insert an instruction to toggle the rung-condition-in from false to true each time the instruction should execute.
  • In a Structured Text routine, insert a condition for the instruction to cause it to execute only on a transition.
IMPORTANT:
The Scheduled Output Module can be associated with one (1) MAOC axis/execution target only.
Motion Arm Functionality
Motion Arm Functionality_v31
Internally, Output Cam objects handle the Motion arm 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 profile, and compensated for position offset and time delay.
The 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
Logix Designer
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 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.
IMPORTANT:
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
dialog box.
Architecture and safety support
Architecture
Standard
Safety
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers
Yes
No
Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, and GuardLogix 5580 controllers
Yes
No
Available Languages
Ladder Diagram
MAOC_LD_avail_v31
Function Block
This instruction is not available in function block.
Structured Text
MAOC(Axis, ExecutionTarget, MotionControl, Output, Input, OutputCam, CamStartPosition, CamEndPosition, OutputCompensation, ExecutionMode, ExecutionSchedule, AxisArmPosition, CamArmPosition, Reference);
Operands
There are data conversion rules for mixed data types within an instruction. See
Data Conversion
.
Ladder Diagram and Structured Text
Operand
Type
CompactLogix
5370,
Compact GuardLogix
5370,
Compact GuardLogix
5380,
CompactLogix
5380,
CompactLogix
5480
Type
ControlLogix
5570,
GuardLogix
5570,
ControlLogix
5580, and
GuardLogix
5580 controllers
Format
Description
Axis
AXIS_CIP_DRIVE
AXIS_VIRTUAL
AXIS_CONSUMED
Tip:
AXIS_CONSUMED is supported by
Compact GuardLogix
5580,
CompactLogix
5380, and
CompactLogix
5480 controllers only.
AXIS_CIP_DRIVE
AXIS_VIRTUAL
AXIS_CONSUMED
AXIS_SERVO
AXIS_SERVO_DRIVE
AXIS_GENERIC_DRIVE
AXIS_GENERIC
Tip:
AXIS_GENERIC is supported by the
ControlLogix
5570 and the
GuardLogix
5570 controllers only.
Tag
Name of the axis that provides the position input to the Output Cam. Ellipsis launches Axis Properties dialog. For controllers that support the REF_TO motion data types, the supported axis operand type can be replaced by an equivalent REF_TO type
Execution Target
SINT, INT, or DINT
SINT, INT, or DINT
Immediate or Tag
The execution target defines the specific Output Cam from the set connected to the named axis. Behavior is determined by the following:
0...7 – Output Cams executed in the Logix controller.
8...31 – Reserved for future use.
Motion Control
MOTION_INSTRUCTION
MOTION_INSTRUCTION
Tag
Structure used to access instruction status parameters.
Output
DINT
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
DINT
Tag
A set of 32 input bits that can be 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.
Output Cam
OUTPUT_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
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
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
OUTPUT_COMPENSATION
Array Tag
Is an array 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
SINT, INT, or DINT
SINT, INT, or DINT
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.
Execution Schedule
SINT, INT, or DINT
SINT, INT, or DINT
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 armed 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
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
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
SINT, INT, or DINT
SINT, INT, or DINT
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.
Structured Text
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]). See
Structured Text Syntax
for more information on the syntax of expressions within structured text.
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
0
1
2
ExecutionSchedule
immediate
pending
forwardonly
reverseonly
bidirectional
0
1
2
3
4
Reference
actual
command
0
1
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 effects occur if the MAOC instruction is configured with an Execution mode of Continuous or Persistent, and a pending MAOC instruction does not exist when the Output Cam is armed and the axis moves.
These side effects may occur if 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.
One or more outputs may never change state.
The MAOC instruction may complete immediately.
One possible side effect of a pending MAOC instruction existing when the Output Cam is armed and the axis moves is that one or more 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 to true when the rung makes a false-to-true transition and remains set until the rung goes false.
.DN (Done) Bit 29
It is set to true when Output Cam has been successfully initiated.
.ER (Error) Bit 28
It is set to true to indicate that the instruction detected an error, such as if you specified an unconfigured axis.
.IP (In Process) Bit 26
It is set to true when the Output Cam has been initiated successfully and cleared to false 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 Complete) Bit 27
It is cleared to false on positive rung transition and set in once 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 cam profile set up manually, programmatically, or by the
Logix Designer
Output Cam Editor.  Internally, Output Cam objects handle Motion arm 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 coarse 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
To execute a MAOC instruction, a calculated Output Cam data array tag must be specified. Output Cam array tags may be created by the
Logix Designer
tag editor or the MAOC instruction using the built-in Output Cam Editor.  The data defines the specifics for each Output 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.
RefAn anomaly occurs when the output CAM ON window positions are redefined while the output controlled by the output CAM element is active. In some instances, the Motion Planner may not detect the off-crossing of the window and the output controlled by the output CAM element remains ON.er to the description of the OUTPUT_CAM structure for more information about data types and programming units.
IMPORTANT:
An anomaly occurs when the output CAM ON window positions are redefined while the output controlled by the output CAM element is active. In some instances, the Motion Planner may not detect the off-crossing of the window and the output controlled by the output CAM element remains ON.
This issue applies to any output point or virtual output controlled by an MAOC instruction.
Additionally, we recommend that you only change configuration when the CAM element is not active.
This diagram shows the relationships between the axis, input, and output that are defined by the Output Cam element.
MAOC_Specifying the Output Cam_v31
Latch Type
Depending on the selected LatchType, the corresponding output bit is set according to this 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.
This 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.
MAOC Latch Type_v31
Unlatch Type
This 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.
Latch Type
Behavior
Inactive
The output bit is not changed.
Position
The output bit is reset when the axis enters 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 active.
Position and Enable
The output bit is reset when the axis leaves the compensated cam range or the enable bit becomes active.
Duration and Enable
The output is reset when the duration expires or the enable bit becomes inactive.
This 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.
MAOC Unlatch Type 1_v31
This diagram shows the effect of the selected unlatch type on the output bit for different compensated cam and enable bit combinations as function of time.
MAOC Unlatch Type 2_v31
Left and Right Cam Positions
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 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
These output cam array checks are used with the MAOC instruction:
  • 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 used and the user is warned with an instruction error Illegal 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 Illegal 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 Illegal 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 Illegal 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 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
Logix Designer
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.
This diagram shows the effect of the output compensation on the relationships between the axis, input, and output
MAOC Open Array Checks 1_v31
Offset and Delay Compensation
The offset provides position compensation, while the latch and unlatch delay provides time delay compensation for the latch and unlatch operation. The following diagram shows the effect of the compensation values on an Output Cam element.
Motion Arm Output Cam (MAOC) (41)
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 = v * Latch Delay
Unlatch Offset = v * Unlatch Delay
The resulting compensation offset can actually be larger than the difference between cam start and cam end position.
This 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 output 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.
This diagram shows the effect of the mode, cycle time, and duty cycle on an output bit.
MAOC_Mode Compensation_v31
Output Compensation Array Checks
This output compensation array checks are used with the MAOC instruction.
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 you are warned with an instruction error Illegal Output Compensation.
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 you are 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 you are 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 (for example, Local.0.O.Data).
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 (for example, 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 Output Cam behavior may differ, when the cam position moves beyond the cam start or cam end position.
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.
Mode
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.
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.
Bidirectional
The Output Cam is armed, when 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.
MAOC_Axis Arm_Cam Position_v31
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 in a 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.
In this transitional instruction, the relay ladder, toggle the Rung-condition-in from cleared to set each time the instruction should execute.
Affects Math Status Flags
No
Major/Minor Faults
None specific to this instruction. A major fault can occur if an uninitialized reference or a reference of incorrect type is passed to the Axis OperandSee
Common Attributes
for operand-related faults.
Execution
Ladder Diagram
Condition/State
Action Taken
Prescan
The .EN, .DN, .ER, and .IP bits are cleared to false.
Rung-condition-in is false
The .EN bit is cleared to false if the .DN or .ER bit is set to true. Otherwise, the .EN bit is not affected.
The .DN,.ER ,.IP and .PC bits are not affected.
Rung-condition-in is true
The .EN bit is set to true and the instruction executes.
Postscan
N/A
Structured Text
Condition/State
Action Taken
Prescan
See Prescan in the Ladder Diagram table.
Normal execution
See Rung-condition-in is false, followed by rung is true in the Ladder Diagram table.
Postscan
See Postscan in the Ladder Diagram table.
Error Codes
See
Motion Error Codes (.ERR)
for Motion Instructions.
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 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. See
Motion Error Codes (.ERR)
for Motion Instructions.
Execution
If ERR is
And EXERR is
Then
Corrective Action
Cause
36
Varies
The size of the Output Cam array is not supported or the value of at least one member is out of range:
Output bit less than 0 or greater than 31.
Latch type less than 0 or greater than 3.
Unlatch type less than 0 or greater than 5.
Left or right position is out of cam range and the latch or unlatch type is set to "Position" or "Position and Enable".
Duration less than or equal to 0 and the unlatch type is set to "Duration" or "Duration and Enable".
Enable type less than 0 or greater than 3 and the latch or unlatch type is set to "Enable", "Position and Enable", or "Duration and Enable".
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".
Latch type is set to "Inactive" and unlatch type is set to either "Duration" or "Duration and Enable".
Illegal Output Cam
37
Varies
Either the size of the Output Compensation array is not supported or the value of one of its members is out of range.
Illegal Output Compensation
The array index associated with errors 36 and 37 are stored in .SEGMENT of the Motion Instruction data type. Only the first of multiple errors are stored. The specific error detected is stored in Extended Error Code.
With the ability to dynamically modify the Output Cam table, the Illegal Output Cam error 36 may occur while the MAOC is in-process. In general, the cam elements in which an error was detected will be skipped. The following are exceptions, and will continue to be processed.
Error 2, Latch Type Invalid. Latch Type defaults to Inactive.
Error 3, Unlatch Type Invalid. Unlatch Type defaults to Inactive.
Error 8, with Unlatch Type of Duration and Enable. Will behave as an Enable Unlatch type.
Status Bits
MAOC Effects 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:
  • OutputCamStatus
  • OutputCamPendingStatus
  • OutputCamLockStatus
  • OutputCamTransitionStatus
Each above is a DINT with bits 0 to 7 corresponding to the 8 execution targets. Bit 0 is execution target 0; bit 1 is execution target 1, etc.
If the Execution Schedule is set to Forward Only, Reverse Only or Bi-Directional, an MAOC instruction can be initiated when either of the following two conditions exist:
OutputCamStatus bit corresponding to execution target = FALSE
OutputCamStatus bit corresponding to execution target = TRUE
OutputCamLockStatus bit corresponding to execution target = FALSE
OutputCamTransitionStatus bit corresponding to execution target = FALSE
If the Execution Schedule is Pending, the MAOC instruction is initiated if either of the following two conditions exist:
OutputCamStatus bit corresponding to execution target = FALSE
OutputCamStatus bit corresponding to execution target = TRUE
OutputCamTransitionStatus bit corresponding to execution target = FALSE
Axis and Module Fault Conditions Disarm Output Cams
When the controller detects one of the following faults, it disarms output cams:
  • For Axis_Servo and Axis_Servo_Drive, axis feedback loss fault
  • For Axis_Servo and Axis_Servo_Drive, module fault
  • 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.
Example
Ladder Diagram
MAOC_LD_ex_v31
Structured Text
MAOC(Axis1, ExecutionTarget1, MotionControl1, Output1, Input1, OutputCam1[0], CamStartPosition1, CamEndPosition1, OutputComp1[0], Persistent, Immediate, AxisArmPosition1, CamArmPosition1, actual);
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.