Tietokoneiden näyttöjä, joissa näkyy kuvaa automaatiolaboratorion laitteistosta. Monitoreiden takana näkyy sama laitteisto kuin kuvissa.

timohei.net / Opintojaksot / Production Automation Project / Siemens S7 -ohjeita /
Satunnaislukugeneraattori

Tässä esimerkissä luodaan välillä 0..3000 oleva satunnaisluku ja käytetään sitä viiveen pituutena 0..3 s. Satunnaisluku ja viive generoidaan OB30-lohkossa (Cyclic Interrupt), jossa se suoritetaan vain 100 ms välein. Tällöin se ei turhaan kuluta PLC:n resursseja niin kuin OB1:een sijoitettuna.

Block interface

Ohjelmalohko OB30 (kuten muutkin OB:t) sisältää Block interfacen. Sen Temp-osioon lisätään muuttujat aika (tyyppiä DTL), aikaStatus (tyyppiä Int) ja random0_3000 (tyyppiä DInt). DTL-tyyppinen muuttuja sisältää automaattisesti jäsenet YEAR, MONTH jne, joita ei tarvitse siis lisätä käsin.

Lohkot FBD-muotoisena

Satunnaisluku generoidaan tässä järjestelmäajan nanosekunneista. Järjestelmäaika luetaan RD_SYS_T-lohkolla (Instructions > Extended instructions > Date and time-of-day > RD_SYS_T). Ajan nanosekuntiosio on UDInt-muotoinen kokonaisluku välillä 0..999 999 999. Jakamalla se luvulla 333 333, saadaan DInt-tyyppiseen muuttujaan #random0_3000 luku välillä 0..3000. Tätä voidaan käyttää suoraan TON-toimilohkon viiveen pituutena PT.

Päivitetty 28.8.2022

<<  Edellinen
(14) INT <-> WORD
Sivu 15/24Seuraava >>
(16) Oma Function Block (Simatic Manager)
© Timo Heikkinen | timo piste heikkinen at oamk piste fi