DMD0533 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.
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:
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:
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:
|
|
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.
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
CTPLSADD - CTRIO2 Add Entry to PLS
CTPLSEDT - CTRIO2 Edit PLS Entry
CTREGWR - CTRIO Write Register
CTRUNPOS - CTRIO Run Position Mode
CTRUNVEL - CTRIO Run Velocity Mode
CTTBLADD - CTRIO Add Entry to Preset Table
CTTBLEDT - CTRIO Edit Preset Table Entry
|
|
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 -->):
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
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.
|
|