timohei.net / Opintojaksot
/ Aiemmin pitämäni opintojaksot
/ Laboraatiot
/ 3. vuosikurssin laboraatiot
/ Festo
/
Festo FAQ
Ajastin
"" 4,5 sekunnin viive, jonka jälkeen käynnistetään P1
IF S1 'Start-nappia painettu
SET T0 'Käynnistetään ajastin T0
WITH 4.5s '2 sekunnin viiveenä
IF N T0 'Kun T0 palaa nollaksi, on viive kulunut,
THEN SET P1 'jolloin käynistetään P1
Nousevan reunan ilmaisu
"" Jos edellisellä suorituskierroksella Bitti=0 (eli Muisti=1) ja tällä
"" suorituskierroksella Bitti=1, on kyseessä bitin nouseva reuna.
"" Merkiksi tästä asetetaan BittiDIFU
IF N Muisti 'Edellisen kierroksen tila
AND Bitti 'Reaaliaikainen tila
THEN SET BittiDIFU 'Asettuu Bitin nousevasta reunasta
"" Talletetaan Bitti Muistiin
IF Bitti 'Reaaliaikainen tila
THEN
SET Muisti 'Edellisen kierroksen tila
OTHRW
RESET Muisti 'Edellisen kierroksen tila
Allocation list
Operand Symbol Comment
F0.1 Bitti Reaaliaikainen tila
F0.2 Muisti Edellisen kierroksen tila
F0.3 BittiDIFU Asettuu Bitin nousevasta reunasta (vrt. Omronin DIFU-toimilohko)
Ajan mittaus
"" Tämä esimerkki mittaa bitin Part_AV päälläoloajan
"" kymmenissä millisekunneissa (esim. 1000 = 10 s) ja tallettaa
"" tuloksen rekisteriin R0. MaxAika määrittelee pisimmän
"" mahdollisen päälläoloajan (tarvitaan pulssitoiminteen takia).
STEP aloitus
IF Part_AV 'Part available
THEN
SET T0
WITH MaxAika 'Pisin mitattava aika
STEP lopetus
IF N Part_AV 'Part available
THEN
LOAD MaxAika 'Pisin mitattava aika
- TW0
TO R0
JMP TO aloitus
Allocation list
Operand Symbol Comment
I0.0 Part_AV Part Available
V1000 MaxAika Pisin mitattava aika
Päivitetty 28.8.2022
© Timo Heikkinen | timo piste heikkinen at oamk piste fi