jnaarnold,
Since you mentioned the DL06 LCD display. I have a program for changing the preset values of timers and counters. This is just the display and preset value changing part of a program. I hope I'm not giving you too much to chew at one time. There is a feature of Direct Soft that allows the use of text as way of sharing PLC program content. Copy the text below into notepad, save it, open a new instance of Direct Soft for a DL06, click on "file", import program. This will import the text as a ladder diagram you can use and view.
PLC 06
// Rung 1
// Address 0
#BEGIN COMMENT
"Someone once asked about the DL06 LCD display"
""
"They were disapointed that it did not have the features of a HMI!"
""
"All they wanted to do was adjust the preset times of some timers and the preset count of a "
"counter."
""
"This is an example program for doing this "
""
""
#END
NOP
// Rung 2
// Address 1
#BEGIN COMMENT
"This rung advances the LCD display from one timer to the next and for the product "
"counter"
#END
STRPD X100
STR CT0
CNT CT0 K4
// Rung 3
// Address 6
#BEGIN COMMENT
"When the display counter accumulator equals 0. Display the slowdown timer in the first "
"LCD line and display the timer preset in the second line. "
""
"If the input X107 is depressed INC V400 if it's within operating limits "
""
"Note: X107 needs to be a rising edge other wise the INC instruction will INCREMENT "
"every scan "
""
" "
#END
STRE CTA0 K0
LCD K1 """Slow down timer"""
LCD K2 """Time .1 sec "" V400:B"
ANDPD X107
ANDN V400 K500
INC V400
// Rung 4
// Address 37
#BEGIN COMMENT
"This rung decrements the value of the preset in the slow down timer"
""
"Note: the compare is to limit the value so it does not ""go below zero"""
#END
STRE CTA0 K0
ANDPD X106
AND V400 K1
DEC V400
// Rung 5
// Address 44
#BEGIN COMMENT
"When the display counter accumulator equals 0. Display the warm up time in the first LCD "
"line and display the timer preset in the second line. "
""
"If the input X107 is depressed INC V401 if it's within operating limits "
""
"Note: X107 needs to be a rising edge other wise the INC instruction will INCREMENT "
"every scan "
""
" "
#END
STRE CTA0 K1
LCD K1 """Warm up time"""
LCD K2 """Time .1sec "" V401:B"
ANDPD X107
ANDN V401 K9999
INC V401
// Rung 6
// Address 72
STRE CTA0 K1
ANDPD X106
AND V401 K1
DEC V401
// Rung 7
// Address 79
#BEGIN COMMENT
"Because the value in the product counter could be large a tmer was implemented to have "
"the number increment faster and faster "
#END
STR X107
TMR T0 K5
// Rung 8
// Address 83
#BEGIN COMMENT
"SP5 is an internal coil that ""flip flops"" every 100 ms. "
""
"A ""PD"" coil is a ""positive differential""coil, which means it turns on for one scan only every "
"time the logic preceding it is true."
""
"The net effect of this is it pulses 10 times a second (1 PLC scan each time it turns on). "
"This used to increment the counter preset at a medium fast rate"
""
"Hint: In my definition of the ""PD"" coil I like to use the ""OS"" in the last line all by itself to "
"alert me that it is a ""one shot"" coil "
#END
STR SP5
PD C0
// Rung 9
// Address 85
#BEGIN COMMENT
"When the display counter accumulator equalls 2 it changes the LCD display to ""units to "
"run"" the intent of this was to limit how many pieces the machine manufactured. "
""
"As before there is the rising edge transitional contact to increase the value one count at a "
"time. "
""
"Also this is where the ""PD"" coil comes into play it increments the count at 10 times a "
"second when the medium speed timer times out."
""
"The last branch in the rung uses the same timer (it's still counting up) and by comparing "
"the timer accumulator to the value of ""50"" (5 seconds) when it's over the 5 second time "
"the incrementing of the product counter preset increments every PLC scan "
#END
STRE CTA0 K2
LCD K1 """units to run"""
LCD K2 """Number "" V402:B"
STRPD X107
STR X107
AND C0
ANDN TA0 K50
ORSTR
STR X107
AND TA0 K50
ORSTR
ANDSTR
ANDN V402 K9999
INC V402
// Rung 10
// Address 121
STR X106
TMR T1 K5
// Rung 11
// Address 125
STRE CTA0 K2
STRPD X106
STR X106
AND C0
ANDN TA1 K50
ORSTR
STR X106
AND TA1 K50
ORSTR
ANDSTR
AND V402 K1
DEC V402
// Rung 12
// Address 142
STRE CTA0 K3
LCD K1 """Seal timer"""
LCD K2 """Time .1 sec "" V403:B"
ANDPD X107
ANDN V403 K500
INC V403
// Rung 13
// Address 170
STRE CTA0 K3
ANDPD X106
AND V403 K1
DEC V403
// Rung 14
// Address 177
END
// Rung 15
// Address 178
NOP
#BEGIN ELEMENT_DOC
"X0","","","E-Stop #1"
"X1","","","E-Stop #2"
"X2","","","Conveyor VFD Fault"
"X3","","","Product Jam Fault"
"X4","","","Downstream Equipment Stopped"
"X5","","","Low Product Level on Infeed"
"X6","","","Auto Run"
"X7","","","Reset PB"
"X100","Adv display","","display PB (advances display)"
"X106","","","dec"
"X107","","","inc"
"C0","",""," 100 ms OS"
"C1","","","E-Stop Condition Bit"
"C2","","","Product Jam Condition Bit"
"T0","","","med speed inc"
"T1","","","med speed dec"
"CT0","CT0","","display counter"
"TA0","_ta0","","med speed inc accum"
"TA1","_ta1","","med speed dec accum"
"V400","_v400","","slowdown timer preset"
"V401","_v401","","warmup timer preset"
"V402","_v402","","product counter preset"
"V403","_v403","","seal timer preset"
"CTA0","_CTA0","","display counter accumulator"
#END