DMD0533

Help File Version: 2.10.0.636

CTTBLEDT - CTRIO Edit Preset Table Entry


The CTRIO Edit Preset Table Entry (CTTBLEDT) instruction is used to edit an entry in the preset table that is currently loaded for the specified CTRIO Discrete Output. The CTTBLEDT instruction can be used with both the CTRIO and CTRIO2 module. This instruction implements the Edit Table Entry and Edit Table Entry and Reload CTRIO functions.

 

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 or click the 'three dot box' at the right edge of the parameter field 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 - displays 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.

 


File Number - specifies which Preset Table to edit. The Preset Table can be specified in one of the following ways:

 

  • Fixed File - displays a list of the Preset Tables that were read from the CTRIO module during the Module Configuration phase. Select the desired profile from the list.
     

  • Variable File Number - specifies a memory location where the Output Preset table number resides. This can be any readable numeric location.
     

Entry Number - the specific entry in the Preset Table that will be changed. This can be any constant value from 0 to 255, or any writable numeric location.

 

Preset - specifies the count at which the desired action will take place. This can be any positive or negative constant value, or any writable numeric location.

 

Entry Type - designates which of the following actions to perform at the specified Preset:

  • 0 - Set Output ON

  • 1 - Set Output OFF

  • 2 - Pulse Output ON

  • 3 - Pulse Output OFF

  • 4 - Toggle Output

  • 5 - Reset Count

 

Pulse Time (ms) - (only valid Entry Type is 2 or 3) - Specifies the duration of the pulse, in milliseconds, when the Entry Type is set to 2 (Pulse Output ON) or 3 (Pulse Output OFF). This can be any constant value from 0 to 65535, or any readable numeric location.

 

Reload - enabling this option implements CTRIO function Edit Table Entry and Reload which causes the CTRIO to reload the Preset Table immediately after it is changed.

 

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, Preset, and Pulse Time (ms), and the Highlight: .OutputEnabled, and .TableComplete bits.

 

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.

 


CTRIO Structure Field Care-Abouts:

The following is a list of the"dot" fields of the CTRIO structure that are programmatically used with the CTRIO Edit Preset Table Entry (CTTBLEDT) 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.

 

CTRIO_000

CTTBLEDT

MEMBER

R/W

TYPE

DESCRIPTION

_CxFx.AtResetValue

RO

Bit

ON if 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 CTRIO: 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 CTRIO: Signed-integer or BCD scaled value; otherwise, signed-integer raw count

_CxFx.iReg2

RO

Dword

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

_CxFx.Output

 

 

 

_CxFx.Reset

R/W

Bit

Set ON to reset CxFx count

_CxFx.Timeout

 

 

 

_Outx.AtPosition

 

 

 

_Outx.AtVelocity

 

 

 

_Outx.Direction

 

 

 

_Outx.EnableOutput

R/W

Bit

Set ON to enable the CTRIO discrete output that will operate with the Preset Table

_Outx.GotoPosition

 

 

 

_Outx.Output

 

 

 

_Outx.OutputActive

 

 

 

_Outx.OutputEnabled

RO

Bit

ON when CTRIO output has been enabled

_Outx.OutputPosition

 

 

 

_Outx.OutputStalled

 

 

 

_Outx.OutputSuspended

 

 

 

_Outx.OutputVelocity

 

 

 

_Outx.TableComplete

RO

Bit

ON when the last entry in the Preset Table has been executed (i.e. the count is higher than the last preset in the table)

.ErrorCode

RO

Word

Last CTRIO error code

.Mode

RO

Word

Indicates CTRIO mode: 2 = RUN; 1 = PROGRAM

.ScanTime

RO

Word

CTRIO scan time in microseconds

.MaxScanTime

RO

Word

Maximum CTRIO scan time in microseconds

.InputState

RO

Word

Upper byte is not used. Lower byte's nibbles indicate CTRIO'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 CTRIO output configuration and state: .OutxType, .OutxDiscOn, .OutxDiscEnabled, .OutxPulseActive. It is a composite of these members

.ChxA

RO

Bit

ON when CTRIO Channel x Input A is ON

.ChxB

RO

Bit

ON when CTRIO Channel x Input B is ON

.ChxC

RO

Bit

ON when CTRIO Channel x Input C is ON

.ChxD

RO

Bit

ON when CTRIO Channel x Input D is ON

.OutxType

RO

Bit

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

.OutxDiscOn

RO

Bit

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

.OutxDiscEnabled

RO

Bit

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

.OutxPulseActive

RO

Bit

Status: ON if CTRIO 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 CTRIO Edit Preset Table Entry (CTTBLEDT) Stage Diagram:

 

This is a stage diagram of a simple sequence control that loads a Preset Table for a CTRIO discrete output, makes a change to it, enables the output and utilizes the edited Preset Table. When the table is complete, the discrete output is then disabled and the Preset table cleared out for this CTRIO discrete output.

 

 

LdPT (Load Preset Table) is the initial stage that loads a particular Preset Table for a CTRIO discrete output. When loaded successfully it transitions to the next stage.

 

EdtPT (Edit Preset Table) stage edits an entry in the just-loaded Preset Table. When successful it transitions to the next stage.

 

EnOut (Enable Output) stage resets a CTRIO input count (mechanically associated with the CTRIO pulse output) to zero and enables the CTRIO discrete output for use with the Preset Table just loaded. When successful it transitions to the next stage.

 

RunPT (Run Preset Table) runs a CTRIO pulse output that is associated with the CTRIO input count in order to make use of the Preset Table. When a certain number of pulses has been reached the process is complete and transition is made to the next stage to clean up.

 

DisOut (Disabe Output) stage disables the CTRIO discrete output and transitions to the next stage.

 

ClrTbl (Clear Table) stage uses the CTTBLCLR instruction to clear the Preset Table from the CTRIO discrete output.

 

Exit stage exits the Program code block.

 


Description of a Typical CTRIO Edit Preset Table Entry (CTTBLEDT) Stage Ladder:

 

This is equivalent ladder for the above stage diagram of a simple sequence control that loads a Preset Table for a CTRIO discrete output, makes a change to it, enables the output and utilizes the edited Preset Table. When the table is complete, the discrete output is then disabled and the Preset table cleared out for this CTRIO discrete output.

 

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

  • Configure I/O -->

    • Channel 1 --> Quad Counter.

    • Outputs -->

      • Out0 --> Pulse (Step/Dir)

      • Out2 --> Discrete on Ch1/Fn1.

  • Discrete Tables --> Add Preset Table: with the following parameters:
    File Number: 1
    Name: MyPT
    Scales: Unscaled
    Entry: SET at 2000
    Entry: RESET at 4000

  • A quadrature encoder is wired to CTRIO's Channel 1 Input A & B that is physically associated with the motor attached to the CTRIO's Output 0 & 1.

  • A stepper motor is wired to CTRIO's Output 0 & 1 that is physically associated with the quadrature encoder attached to the CTRIO's Channe 1 Input A & B.

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

 

 

LoadPT (Load Preset Table) is the initial stage that executes a CTTBLLD instruction to load the MyPT Preset Table for CTRIO discrete output Out2. When loaded successfully it transitions to the EditPT stage. If there is an error transition is made to the ErrorStage stage where logic (not shown here) should exist to handle the error.

 

EditPT (Edit Preset Table) edits the first entry in the previously-loaded Preset Table and changes it:

 

From: SET at 2000

    To: SET at 3000

 

The edited table is then reloaded (notice the Reload parameter is set). When the edit completes transition is made to the EnableOut stage. If there is an error, transition is made to the ErrorStage stage.

 

EnableOut stage resets CTRIO Channel 1 Function 1 input count to zero and enables the CTRIO discrete output Out2 for use with the MyPT Preset Table just loaded. When the feedback bits (.OutputEnabled, .AtResetValue) show this is successful transition is made to the RunPT stage.

 

RunPT (Run Preset Table) executes a CTRUNVEL instruction that generates 35,000 pulses out the CTRIO pulse output Out0 at Frequency 1000 pps. If there is an error, transition is made to the ErrorStage stage. Since this output is physically associated with the CTRIO Channel 1 Function 1 quadrature encoder input, the input count increases, exercising the Preset Table and the CTRIO discrete output Out2. When 35,000 pulses have been output, the process is complete and transition is made to the DisableOut stage to clean up. Suspend bit is used to temporarily suspend the CTRUNVEL if need be.

 

DisableOut stage disables the CTRIO discrete output and transitions to the ClearTable stage.

 

ClearTable stage uses the CTTBLCLR instruction to clear the Preset Table from the CTRIO discrete output Out2 and transitions to the Exit stage. If there is an error, transition is made to the ErrorStage stage.

 

Exit stage exits the Program code block.

 

ErrorStage is where logic (not shown here) should exist to handle the errors for this sequence.