IntroductionThis article provides details for the use and application of the Move Sequence function block. Using this function block with the CJ2M-MD21/MD212 provides an easy means of controlling a servo's position in a sequential manner. This function block can be of particular use in PLC-based motion control applications often found in packaging machinery. To download a machine case study of a packaging application that controls servos with the CJ2-Series Pulse Output Unit, visit the packaging solutions area.
|
![]() |
Name | Sequential Positioning: MD_CPU120_MoveSequence |
Basic Function | Performs positioning sequentially. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Symbol | ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Originates from | Tsunagi Lab Europe | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Created by | OEE-HQ HvB (creation and testing) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
File Name | MD_CPU120_MoveSequence_DINT.cxf | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Applicable models | CPU Unit | CJ2M-CPU Unit version 2.0 or higher with max. two CJ2M-MD211 (NPN) or CJ2M-MD212 (PNP) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CX-Programmer | Version 9.1.2 or higher | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Conditions for usage | None. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Function Description | When Start (Execute) turns ON, positioning will be consecutively performed on the output specified with the Axis No. (Axis) using Operation Data (Operation modes, ABS/INC modes, Acceleration rate, Deceleration rate, Target frequency, and Position command in DM Area starting from the First operation data word (DataAreaNo). The number of starting operation data should be selected by specifying Starting operation No. (OperationNo). Sequential positioning will be continued reading Operation Data in DM Area from the number set in First Operation Data word (DataAreaNo) until Operation mode (word n, bit 00 to 03) becomes 0 Hex (Single positioning mode). The Positioning completed (Done) will turn ON when positioning by this FB is completed. It will not turn ON when another instance causes a deceleration stop, or when an error interrupts an operation. The Operation No. in execution (ExecutionNo) reflects the Operation No. currently being executed. When an operation is stopped with a deceleration stop or an emergency stop, Abort (CommandAborted) will turn ON. When an error flag in the unit is detected, the Error flag (Error) will be turned ON if the operation data is invalid due to some errors such as commands out of range. The Error flag (Error) will be turned ON and Error code (ErrorID) will be output when an error related to this FB occurs. They will not be set with an error for other FBs or other instances. These statuses, Positioning completed (Done)/ Abort (CommandAborted)/ Error flag (Error)/ Error code (ErrorID), will be reset when Start (Execute) is turned OFF. If Start (Execute) was turned OFF before positioning is completed, the status will be set for at least one cycle when a corresponding condition occurs.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kind of FB definition | Connect Always ON type Connect the EN input to the Always ON Flag (P_ON). The same instance cannot be used in two or more places. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FB Precautions | • Executing another FB or instance during execution of this FB will cause the multiple start function. In operations using the multiple start function, this FB does not detect interruptions, which may allow this FB’s processing to interrupt processing of another FB or instance. To cancel this FB’s processing, do so by stopping the operation with a deceleration stop and confirming that Abort (CommandAborted) is ON. For details, refer to the manual listed in ‘Related manuals’ in the following page. • To cancel this FB’s processing, use INI(880) instruction or ACC(888) instruction (discrete). Using Deceleration stop FB of FBL (MD_CPU061_Stop_REAL/MD_CPU062_Stop_DINT) may not stop an axis as the deceleration stop command is multiply-started due to this FB. When using ACC(888) instruction (discrete) to stop an axis, execute ACC(888) instruction (discrete) until an axis stops completely. Refer to ‘Application example’. • When using the Pulse output 0&1 or 2&3 simultaneously, use the same Pulse output method for them. • Do not execute the following FB for a same axis while executing this FB. The processing of the following FB does not operate normally as it is multiply-started due to this FB. MD_CPU010_MoveAbsolute_REAL MD_CPU011_MoveAbsolute_DINT MD_CPU020_MoveRelative_REAL MD_CPU021_MoveRelative_DINT MD_CPU110_MoveInterrupt_REAL MD_CPU061_Stop_REAL MD_CPU062_Stop_DINT MD_CPU111_MoveInterrupt_DINT MD_CPU120_MoveSequence MD_CPU130_MoveTimeAbsolute_REAL MD_CPU131_MoveTimeAbsolute_DINT MD_CPU140_MoveTimeRelative_REAL MD_CPU141_MoveTimeRelative_DINT The MD_CPU* function blocks are offered 'as is' and may serve as a basis for development. Users should previously test its adequacy to the final application. Omron can not be held responsible in case of malfunction. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EN input condition | • Connect the EN input to the Always ON Flag (P_ON). • If a different type of bit is connected to EN, the FB outputs will be maintained when the connected bit is turned OFF. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Restrictions other | ■ Operation Data Setting • Set Operation Data in the DM Area. • This FB cannot be executed when an origin is not established. Even when using only Relative Movement, it cannot be executed without establishing an origin. • This FB cannot be started when the pulse output specified in “Axis No.” outputs pulse. • An operation data will cause an error if the target position is out of the following range, -2,147,483,648 to +2,147,483,647. • 7 consecutive words of the DM Area are used as one Operation Data containing Operation modes, ABS/INC modes, Acceleration rate, Deceleration rate, Target frequency, and Position command. • When the Sequential position mode is selected, the following operation data is referred. When Operation modes, ABS/INC modes or Position command causes an error, the operation will stop at one data before the invalid one. When Acceleration rate, Deceleration rate or Target frequency causes an error, the operation will stop at an invalid data. Ex.1: When the setting value in the Operation Data 8 is valid with the Sequential position mode, and the Operation mode in the Operation Data 9 contains an invalid data, an operation will stop at the Operation data 8. Ex.2: When the setting value in the Operation Data 8 is valid with the Sequential position mode, and the Target frequency in the Operation Data 9 contains an invalid data, an operation will stop at the Operation data 9. • If a constant speed cannot be maintained in sequential positioning, an error will occur. • An operation will be stopped with deceleration when an error, such as Limit input, occurs.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Application example | Set the operation data referring to settings of Operation Data in ‘Restrictions Other’. When the Start trigger turns from OFF to ON, the Servomotor connected to the Pulse output 0 on the CJ2M-MD21* Unit will start operating based on the specified Operation Data. When an operation is to be stopped intentionally with an Emergency stop switch, Bit X is turned ON.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related manuals | CJ2M Pulse I/O User Manual (W486) CJ2 Hardware User Manual (W472) |
-
Variable Table
Input Variables
Name | Variable name | Data type | Default | Range | Description |
---|---|---|---|---|---|
EN | EN | BOOL | 1 (ON): Starts FB 0 (OFF): Does not start FB |
||
Axis No. | Axis | INT | &0 | &0 to 3 | &0: Pulse output 0, &1: Pulse output 1 &2: Pulse output 2, &3: Pulse output 3 |
First Operation Data word | DataAreaNo | INT | &0 | &0 to &32767 | Specify the first address of the words in the DM Area containing Operation Data. |
Start | Execute | BOOL | 0 (OFF) | OFF -> ON (rising edge) starts sequential positioning | |
Starting operation No. | OperationNo | INT | &1 | &1 to &64 | Specify the Operation Data No., based on which sequential positioning is started. |
Pulse output method | OutPulseSelect | INT | &0 | &0 to &1 | &0: CW/CCW output &1: Pulse + direction output |
Output Variables
Name | Variable name | Data type | Range | Description |
---|---|---|---|---|
ENO | ENO | BOOL | 1 (ON): FB operating normally 0 (OFF): FB not operating normally |
|
Positioning completed | Done | BOOL | 1 (ON) indicates that sequential positioning is completed | |
Abort | CommandAborted | BOOL | 1 (ON): Aborted | |
Error flag | Error | BOOL | 1 (ON) indicates that an error has occurred in the FB. | |
Error code (May be omitted) | ErrorID | WORD | The error code of the error occurred in the FB will be output. For details of the errors, refer to the sections of the manual listed in the Related manuals above. When the specified Axis No. is out of the range, #0000 will be output. | |
Operation No. in execution | ExecutionNo | INT | &0: Start (Execute) = 0 or Positioning completed (Done) = 1 &1 to &64: Indicates the Operation Data No. currently being executed. |
Revision History
Version | Date | Contents |
---|---|---|
1.00 | 17-Feb-2012 | Based on Function Block: _NCCPU120_MoveSequence |
Note
This article is a reference that explains the function block functions. It does not explain the operational limitations of Units, components, or combinations of Units and components. Always read and understand the Operation Manuals for the system’s Units and other components before using them.