Operacije Števca
CTU, CTD, CTUD & Legacy S5
Štetje dogodkov je v osrčju industrijskega krmiljenja. Obvladajte standardne IEC števce in legacy navodila v TIA Portalu za vaše proizvodne aplikacije.
Kaj so operacije števca v TIA Portalu?
Operacije števca v TIA Portalu omogočajo štetje notranjih programskih dogodkov ali zunanjih signalov (naraščajoči robovi). To so funkcijski bloki, skladni s standardom IEC 61131-3, ki upravljajo inkrementiranje, dekrementiranje, ponastavitev in primerjavo z vnaprej nastavljeno vrednostjo (PV).
TIA Portal ponuja 3 vrste IEC števcev (CTU, CTD, CTUD) ter navodila za združljivost s S5 (Legacy) in števne tuljave. Vsaka instanca števca zahteva svoj instančni podatkovni blok (IDB) ali pa se lahko integrira kot multi-instanca v FB.
IEC Števci
3 standardni števni funkcijski bloki — prilagodljivi in robustni
CTU — Naraščajoči števec (Count Up)
Kaj počne
Šteje naraščajoče robove na števnem vhodu CU. Ob vsaki spremembi iz FALSE v TRUE na CU se trenutna števna vrednost CV poveča za 1. Ko CV postane večja ali enaka vnaprej nastavljeni vrednosti PV, izhod Q postane TRUE. Vhod R (Reset) ponastavi CV na 0 in Q na FALSE.
Kdaj uporabiti
Uporablja se za štetje kosov na transporterju, število ciklov stroja ali pogostost pojava alarma. Idealno za vsak proces, kjer morate doseči številčni cilj za sprožitev dejanja.
Pro Nasveti
Štetje se ustavi pri največji vrednosti uporabljenega podatkovnega tipa (Int, DInt itd.). CV se brez ponastavitve (Reset) ne vrne samodejno na nič.
Vhod R ima prednost: dokler je R TRUE, števec ostane na 0 in prezre robove na CU.
V SCL: myCTU(CU := trigger, R := reset, PV := 10); IF myCTU.Q THEN ... END_IF;
CTD — Padajoči števec (Count Down)
Kaj počne
Šteje nazaj od začetne vrednosti. Ob vsakem naraščajočem robu na vhodu CD se trenutna vrednost CV zmanjša za 1. Ko je CV manjša ali enaka 0, izhod Q postane TRUE. Vhod LD (Load) naloži vnaprej nastavljeno vrednost PV v CV.
Kdaj uporabiti
Uporabno za upravljanje zalog (odštevanje kosov), odštevanje procesov ali spremljanje preostale zmogljivosti rezervoarja ali skladišča.
Pro Nasveti
Vhod LD se uporablja za 'ponovno polnjenje' števca. Dokler je LD TRUE, je CV enak PV.
Za razliko od CTU je izhodni pogoj Q izpolnjen, ko CV doseže 0 (ali manj).
Števec se ustavi pri minimalni vrednosti podatkovnega tipa (npr. -32768 za Int).
CTUD — Dvosmerni števec (Up/Down)
Kaj počne
Združuje funkciji CTU in CTD v enem bloku. Ima dva števna vhoda (CU za povečanje, CD za zmanjšanje) in dva izhoda (QU za 'Dosežena visoka vrednost', QD za 'Dosežena ničla'). Ima vhod za ponastavitev (R) in vhod za nalaganje (LD).
Kdaj uporabiti
Popolno za preprosto sledenje položaju (naprej/nazaj), upravljanje parkirišč (vstop/izstop vozil) ali dinamično sledenje zalogam.
Pro Nasveti
QU postane TRUE, če je CV >= PV. QD postane TRUE, če je CV <= 0.
R (Reset) ponastavi CV na 0. LD (Load) inicializira CV na PV. R ima prednost pred LD.
Zelo uporabno za avtomatizirana skladišča: povečanje ob vstopu paketa, zmanjšanje ob izstopu.
Legacy Navodila in Tuljave
S5 števci in navodila tipa tuljava za LAD/FBD
S_CU / S_CD / S_CUD
Kaj počne
Stara navodila za štetje (Legacy S5), ki se uporabljajo na S7-300/400. Uporabljajo globalne številke števcev (C0...C255) namesto instančnih DB. Omogočajo parametrizacijo, štetje in ponastavitev v enem kompleksnem navodilu.
Kdaj uporabiti
Samo za vzdrževanje obstoječih programov ali migracijo projektov S5/S7-300 na S7-1500. Izogibajte se pri novih razvojih.
Pro Nasveti
Ti števci niso 'tipizirani' kot IEC števci. Njihovo območje je omejeno (0-999).
Njihovo obnašanje glede na naraščajoče robove se lahko razlikuje od standardov IEC.
Pri refaktoriranju jih sistematično zamenjajte z IEC CTU/CTD za boljšo prenosljivost.
—(SC)— Nastavi Vrednost Števca
—(SC)—Kaj počne
Navodilo tipa tuljava, ki naloži vnaprej nastavljeno vrednost v določen števec, ko RLO postane TRUE. To je grafični ekvivalent vhoda Load (LD).
Kdaj uporabiti
V LAD/FBD za prisilno nalaganje vrednosti v števec iz ločene mreže.
Pro Nasveti
Uporablja se predvsem z legacy števci.
Naložena vrednost je pogosto določena s konstanto ali celoštevilsko spremenljivko.
Za IEC števce raje uporabite vhod LD bloka ali dostopajte neposredno do instance.
—(CU) / —(CD)— Števne tuljave
—(CU)—Kaj počne
Navodila tipa tuljava, ki povečajo (CU) ali zmanjšajo (CD) števec ob vsakem naraščajočem robu RLO. Omogočajo krmiljenje števca brez uporabe celotnega funkcijskega bloka.
Kdaj uporabiti
Za zelo kompaktno LAD programiranje, kjer želite samo sprožiti štetje na koncu linije.
Pro Nasveti
Te tuljave se nanašajo na določen števec (npr. C1 ali podatkovni blok IEC števca).
Pozor na čitljivost: težje je videti trenutno vrednost (CV) s tuljavami kot z bloki.
Prednost dajte FB blokom za boljšo samo-dokumentacijo kode.
Opomba o združljivosti s S5
Globalni števci
S5 števci (S_CU, S_CD, S_CUD) so omejeni na 256 globalnih instanc in območje od 0 do 999. IEC števci (CTU, CTD, CTUD) so boljši, ker uporabljajo instančne DB, podpirajo širše podatkovne tipe (LInt) in nimajo fiksne omejitve števila.
Primerjava števcev — Katerega uporabiti?
Izbira pravega števca za vašo industrijsko aplikacijo
| Potrebujete... | Uporabite ta števec | Primer |
|---|---|---|
| Štetje naraščajočih dogodkov | CTU | Število pakiranih končnih izdelkov |
| Odštevanje do ničle | CTD | Preostala mesta na polici |
| Sledenje dvosmernemu toku | CTUD | Vozila v parkirni hiši |
| Nalaganje ciljne vrednosti | PV / LD | Nastavitev serije 50 kosov preko HMI |
| Samodejna ponastavitev | Reset (R) | Konec serije, pripravljen na naslednjo |
| Upravljanje milijonov enot | IEC (DInt/LInt) | Letni števec skupne proizvodnje |
Pogosta Vprašanja
Kakšna je razlika med IEC števcem in S5 števcem?
IEC števci uporabljajo instančne podatkovne bloke (DB), kar omogoča njihovo ustvarjanje v neskončnost. Podpirajo 16, 32 ali 64-bitna cela števila. S5 števci so omejeni na 256 globalnih številk (C0-C255) in štejejo samo do 999.
Kako dosežem, da števec samodejno začne z ničle?
Izhod Q števca lahko povežete na njegov lastni vhod R (Reset). Tako se števec takoj izbriše, ko je cilj dosežen.
Ali lahko uporabim števec za merjenje hitrosti?
Samo števec ne meri hitrosti. Šteti morate impulze v določenem času (časovno okno, ki ga upravlja Timer) in nato izračunati: Hitrost = Impulzi / Čas.
Ali števci izgubijo svojo vrednost ob zaustavitvi PLC-ja?
Tako kot pri časovnikih se trenutna vrednost (CV) shrani v instančni DB. Če je DB konfiguriran kot 'Retentiven', bo števec po ponovnem zagonu ohranil svojo vrednost.