DMD0525

Help File Version: 2.9.4.37

CTPLSEDT - CTRIO2 Edit PLS Entry


Note: The CTPLSEDT instruction can only be used with the CTRIO2 modules.

 

The CTRIO2 Edit PLS Entry (CTPLSEDT) instruction is used to edit an entry in the PLS table that is currently loaded for the specified CTRIO2 Discrete Output. Entries in the PLS table must be sorted into numerical order. At the conclusion of the Edit PLS Entry process, the CTRIO2 will resort the PLS table. This could result in entry Numbers moving within the PLS table.

 

Changes made to CTRIO Preset tables using this instruction do not change any of the Preset tables that were configured in the Module Configuration for the CTRIO. They are temporary and are lost on a power-cycle of the CTRIO or if some other table is loaded in their place. The changes made by this instruction cannot be viewed in the Module Configuration.

 

 


Parameters:

Note: Use the F9 key to open the Default Element Selection Tool (the Element Picker or the Element Browser) or use the Down-Arrow key (Auto-Complete) on any parameter field to see a complete list of the memory locations that are valid for that parameter of the instruction.

 

Discrete Output Device selects which preconfigured CTRIO Discrete Output device to use. Before this instruction can select a Discrete Output device, a CTRIO Device must be configured with at least one of its output channels setup for Discrete output mode.

no devices available indicates that there are no CTRIO Discrete Output devices that have been configured that can perform this instruction.

 

create module will open the Create New Module Configuration dialog where a CTRIO Module can be created and then a CTRIO Discrete Output device can then be configured.

Discrete Output Structure is the name of the Discrete Output structure that will be used by this instruction. This structure was created when the CTRIO module configuration was read during the Module Configuration phase.

 


Entry Numberthe specific entry in the PLS Table that will be changed. A value of zero (0) indicates the first entry; 1 is the second; 2 is the third, etc. This can be any constant value from 0 to 255, or any readable numeric location.

 


Output ON when Greater than or Equal to specifies the beginning pulse count of the next Limit position in the PLS table. The Output will be ON when the count value is greater than or equal to this value. This can be any constant value, or any readable numeric location.

 

AND Less Than specifies the ending pulse count of the next Limit position in the PLS table. The Output will be OFF when the count value is less than this value. This can be any constant value, or any readable numeric location.

 


The On Success and On Error parameters specify what action to perform when this instruction completes. You do not have to use the same type of selection for both On Success and On Error.

 

If the Set Bit selection is used for either On Success or On Error, the specified BIT location will be SET OFF when the instruction is first enabled and will remain OFF until the instruction completes. Once complete, the appropriate Success or Error bit location ON. The specified Bit location is enabled with a SET (Latch) operation meaning that it will remain ON even if the input logic for the instruction goes OFF.

 

If the JMP to Stage selection is used for either On Success or On Error the target Stage must be in the same Program code-block as this instruction, you cannot specify a target Stage that exists in a different Program code-block. When the operation finishes, the target Stage will be enabled the same way as a standalone Jump to Stage (JMP) instruction would do it. The JMP to Stage option will only be available if this instruction is placed in a Program code-block.

 

On Success selects which of the following actions to perform if the operation is successful:

  • Enable SET Bit then specify any writable bit location.
  • Enable JMP to Stage then specify any Stage number from S0 to S127 in the current Program code-block.

 

On Error selects which of the following actions to perform if the operation is unsuccessful:
 

  • Enable SET Bit then specify writable bit location.
  • Enable JMP to Stage then specify any Stage number from S0 to S127 in the current Program code-block.

 

If either the On Success or On Error selections are set to JMP to Stage, Automatically create the SG box for any NEW stage number will be enabled which will automatically create any target stage that does not already exist.

  • Below this rung will create the new target stage on a new rung following this instruction.
  • At end of code-block will create the new target stage as the last rung of this Program.

 

Note: any time the On Error condition occurs, the CTRIO generates an Error Code that can be read in the <Module Name>.ErrorCode (Module Name is the name assigned to the CTRIO in the Module Configuration). The List of Error Code values (in decimal) follows:

 

Error Code

Description

000

No Error

100

Specified command code is unknown or unsupported

101

File number not found in the file system

102

File type is incorrect for specified output function

103

Profile type is unknown

104

Specified input is not configured as a limit on this output

105

Specified limit input edge is out of range

106

Specified input function is unconfigured or invalid

107

Specified input function number is out of range

108

Specified preset function is invalid

109

Preset table is full

110

Specified Table entry is out of range

111

Specified register number is out of range

112

Specified register is an unconfigured input or output

113

Specified output is not configured as a limit on this output

114

Specified preset function invalid in PLS table

115

Specified PLS function invalid in preset table

116

PLS table entries overlap

117

Attempted to use axis function when pulse output is not in Axis Mode

118

Specified output isn't a pulse output

 


Status Display:

The status display of the instruction shows Values: Entry Number, Greater than or equal to, and AND less than, and Highlights: .OutputEnabled bit.

 

The red triangle in the upper left corner of the status display indicates this is a Fully Asynchronous instruction.

 

The gray triangle at the right end of the input leg indicates the input is edge-triggered, meaning this instruction will execute each time the input logic transitions from OFF to ON.

 

 


CTRIO2 Structure Field Care-Abouts:

The following is a list of the"dot" fields of the CTRIO2 structure that are programmatically used with the CTRIO2 Add Entry to PLS (CTPLSADD) instruction. To see a complete listing of all CTRIO structures and members, go to the Project Browser --> Configuration --> Memory --> I/O --> Specialty.

 

COLOR KEY

Blue: CTRIO Input

Maroon: CTRIO Output

Black: CTRIO Module

Silver: Not used for this instruction

 

Note: The red "x" is the digit 0, 1, 2, or 3

 

DESCRIPTION

CTPLSEDT

MEMBER*

R/W

TYPE

DESCRIPTION

_CxFx.AtResetValue

RO

Bit

ON if PLS-associated CxFx count is at reset value

_CxFx.CaptureComplete

 

 

 

_CxFx.CapturedStart

 

 

 

_CxFx.CountCaptured

 

 

 

_CxFx.EnableCapture

 

 

 

_CxFx.fReg1

RO

Dword

If floating-point scaling is configured for CxFx in CTRIO2: Floating-point scaled value; otherwise, number has no meaning

_CxFx.fReg2

 

 

 

_CxFx.iReg1

RO

Dword

If integer or BCD scaling is configured for CxFx in CTRIO2: Signed-integer or BCD scaled value; otherwise, signed-integer raw count

_CxFx.iReg2

RO

Dword

If any scaling is configured for CxFx in CTRIO2: Signed-integer raw count; otherwise, number has no meaning

_CxFx.Output

 

 

 

_CxFx.Reset

R/W

Bit

Set ON to reset PLS-associated CxFx count

_CxFx.Timeout

 

 

 

_Outx.AtPosition

 

 

 

_Outx.AtVelocity

 

 

 

_Outx.Direction

 

 

 

_Outx.EnableOutput

R/W

Bit

Set ON to enable the CTRIO2 Discrete Output that will operate with the PLS table

_Outx.GotoPosition

 

 

 

_Outx.Output

 

 

 

_Outx.OutputActive

 

 

 

_Outx.OutputEnabled

RO

Bit

ON when CTRIO2 output has been enabled

_Outx.OutputPosition

 

 

 

_Outx.OutputStalled

 

 

 

_Outx.OutputSuspended

 

 

 

_Outx.OutputVelocity

 

 

 

_Outx.TableComplete

 

 

 

.ErrorCode

RO

Word

Last CTRIO2 error code

.Mode

RO

Word

Indicates CTRIO2 mode: 2 = RUN; 1 = PROGRAM

.ScanTime

RO

Word

CTRIO2 scan time in microseconds

.MaxScanTime

RO

Word

Maximum CTRIO2 scan time in microseconds

.InputState

RO

Word

Upper byte is not used. Lower byte's nibbles indicate CTRIO2's channel's input's state in order: .ChxD, .ChxC, .ChxB, .ChxA. It is a composite of these members

.OutputState

RO

Word

Each nibble indicates a CTRIO2 output configuration and state: .OutxType, .OutxDiscOn, .OutxDiscEnabled, .OutxPulseActive. It is a composite of these members

.ChxA

RO

Bit

ON when CTRIO2 Channel x Input A is ON

.ChxB

RO

Bit

ON when CTRIO2 Channel x Input B is ON

.ChxC

RO

Bit

ON when CTRIO2 Channel x Input C is ON

.ChxD

RO

Bit

ON when CTRIO2 Channel x Input D is ON

.OutxType

RO

Bit

Configuration: ON if CTRIO2 output x is configured for pulse output

.OutxDiscOn

RO

Bit

Status: ON if CTRIO2 output x logic is ON (if output x is enabled then the physical output will also be ON)

.OutxDiscEnabled

RO

Bit

Configuration: ON if CTRIO2 output x is configured for discrete output

.OutxPulseActive

RO

Bit

Status: ON if CTRIO2 output x is generating pulses

 

NOTES:

(1)This structure member only available for CTRIO2 (not CTRIO). For CTRIO this remains zero.

 


See Also:

CTDYNPOS - CTRIO Run Dynamic Position Mode

 

CTDYNVEL - CTRIO Run Dynamic Velocity Mode

 

CTUPDLVL - CTRIO Update Level

 

CTPLSADD - CTRIO2 Add Entry to PLS

 

CTPLSEDT - CTRIO2 Edit PLS Entry

 

CTREGRD - CTRIO Read Register

 

CTREGWR - CTRIO Write Register

 

CTRUNPOS - CTRIO Run Position Mode

 

CTRUNVEL - CTRIO Run Velocity Mode

 

CTTBLADD - CTRIO Add Entry to Preset Table

 

CTTBLCLR - CTRIO Clear Table

 

CTTBLEDT - CTRIO Edit Preset Table Entry

 

CTTBLLD - CTRIO Load Table

 


Example 1 of 2:

Description of a Typical CTRIO2 Edit PLS Entry (CTPLSEDT) Stage Diagram:

This is a stage diagram of a simple procedure that edits any number of entries of a pre-existing PLS table in the CTRIO2, enables the CTRIO2 output and stops.

 

 

When this Program code block is enabled to run the Load stage is enabled because it is the initial stage. This stage loads the preexisting PLS table for edit. When this is successful, it transitions to the Edit stage.

 

The Edit stage edits an entry of the loaded PLS table. When this is successful, it transitions to the EditFin stage.

 

In the EditFin stage the decision is made whether to edit another entry or indicate the edits are finished. If there is another edit, NextEdit is set ON and transition is made back to the Edit stage. If this was the last edit then FinishedEdit is set ON and transition is made to the Enable stage.

 

The Enable stage enables the CTRIO2 discrete output linked to the PLS table for use. When the CTRIO2 reports back the output is actually enabled the stage transitions to the Stop stage.

 

The Stop stage exits this Program code block.

 


Description of a Typical CTRIO2 Edit PLS Entry (CTPLSEDT) Stage Ladder:

This is the ladder equivalent of the above stage diagram that uses the CTPLSEDT instruction to edit any number of entries of a pre-existing PLS table in the CTRIO2 and then enable the associated CTRIO2 output for use.

 

This example presupposes the existence of the following System Configuration for the CTRIO2 (PLC --> System Configuration --> Module Configuration(s) --> CTRIO_000 -->):

  • Configure I/O -->

    • Channel 1 --> Quad Counter.

    • Outputs --> Out2 --> Discrete on Ch1/Fn1.

  • Discrete Tables --> Add PLS Table (CTRIO2): with the following parameters:

    File Number: 9

    Name: PLS

    Scales: Unscaled

    Default Output State: Off

    Entry: ON when >= 2500 counts and < 7500 counts
    .

    Entry: ON when >= 15000 counts and < 16000 counts.

  • A quadrature encoder is wired to CTRIO2's Channel 1 Input A & B.

  • A discrete device that utilizes the CTRIO2's Output is wired to CTRIO2's Output 2.

 

 

This example will edit any entry indicated by EntryNumber (in this specific case, 0 or 1 because there are only 2 pre-existing entries in this table) in the pre-existing PLS table and change it to::

  • ON when >= LowerLimit counts and < UpperLimit counts

 

Before running the Program code block in this example, values for EntryNumber, LowerLimit and UpperLimit must be set.

 

Load is the initial stage and loads the pre-existing PLS table (9:PLS(Prg Limit Switch Tbl)) for use with CTRIO2 Output 2. (For more information on the CTTBLLD instruction click here.) When this load is complete, the CTTBLLD instruction jumps to Edit stage. If there is an error then transition is immediately made to the ErrorStage where logic (not shown here) should exist to properly handle and report the error code now stored in $CTRIO_000.ErrorCode.

 

The Edit stage executes the CTPLSEDT instruction to edit the entry pointed to by the value stored in EntryNumber. In this example that number must be either a zero (first entry) or a 1 (second entry). This entry will be changed from its current settings (see above) to Output ON when... Greater than or equal to the value stored in LowerLimitAND less than the value stored in UpperLimit.

 

Entries in the PLS table are automatically sorted into numerical order. Thus at the conclusion of this edit, the CTRIO2 may resort the PLS table if necessary. This could result in entries moving within the PLS table depending on the values of LowerLimit and UpperLimit.

 

When this is complete the CTPLSEDT instruction jumps to EditFin stage. If there is an error then transition is immediately made to the ErrorStage.

 

In the EditFin stage the decision is made as to whether another edit is needed or all edits are finished. If it is decided that another entry is required then the EntryNumber, LowerLimit and UpperLimit values should first be prepared and then the NextEdit bit turned ON. If NextEdit bit is turned ON this will reset itself (in preparation for another possible edit) and transition to the Edit stage to do the work. If it did not reset itself then it would be left ON and this would cause the process to oscillate between the Edit and EditFin stages. If this was the last entry to be edited, then the FinishedEdit bit is turned ON. This bit resets itself and transitions to the Enable stage where the CTRIO2's output will be enabled for use with the new PLS table.

 

The Enable stage sets the $CTRIO_000_Out2.EnableOutput bit to request the CTRIO2 enable its output for use with the newly-edited PLS table. When this is complete ($CTRIO_000_Out2.OutputEnabled = ON) then transition is made to the Stop stage.

 

The Stop stage merely exits this Program code block.

Example 2 of 2: