milldrone
Full Member
  
Posts: 38
I'm changing my attitude to thumbs up
|
 |
« Reply #8 on: February 27, 2010, 10:09:13 am » |
|
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
|