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

timohei.net / Opintojaksot / Opintojaksot / Automaatiojärjestelmien perusteet / Valmet DNA (MetsoDNA) How-to /
cmp- ja calc-toimilohkot

Liuku- ja kokonaislukujen vertailu ("binääriarvoksi muuttaminen") tehdään cmp-toimilohkolla, laskenta calc-toimilohkolla, joista on olemassa useita versioita tulojen tietotyyppien sekä tulojen ja lähtöjen lukumäärien mukaan.

Vapaamuotoiset toimilohkot manuaalissa

Näiden toimilohkojen ohjesivut ovat sähköisessä Valmet DNA-manuaalissa omassa Vapaamuotoiset toimilohkot -tiedostossaan - eivät siis Toimilohkot-tiedostoissa:

  • Avaa Valmet DNA -manuaalit EAS-palvelimella
  • Valitse englannin- tai suomenkieliset manuaalit ja klikkaa sitten kohdasta Sovelluskirjastot > Toimilohkot > PCS-toimilohkot
  • Klikkaa Vapaamuotoiset toimilohkot

Laskenta- / vertailukaava

Toimilohkon lähdöt asettuvat siihen syötetyn kaavan mukaan. Kaava on muotoa

LÄHDÖN_TUNNUS = TULON_TUNNUS OPERAATTORI [TULON_TUNNUS | VAKIO] [OPERAATTORI [TULON TUNNUS | VAKIO]] ... ;

missä

  • LÄHDÖN_TUNNUS = toimilohkon lähdön yksilöivä kirjain tai kirjain-numero-yhdistelmä, esimerkiksi o tai o2
  • TULON_TUNNUS = toimilohkon tulon yksilöivä kirjain, esimerkiksi a
  • | = tai
  • VAKIO = lukumuotoinen vakio, esimerkiksi 50 (kokonaisluku) tai 50.0 (desimaaliluku)
  • OPERAATTORI = vertailu- (cmp) tai laskentaoperaatiota (calc) kuvaava symboli, esimerkiksi
    • cmp-lohkon vertailuoperaattorit:
      • <
      • >
      • <=
      • >=
      • == (yhtäsuuruus)
      • != (erisuuruus)
      Esimerkki: kaavalla
       o = a < b; 
      asetetaan lähtö o ykköseksi, kun tulon a arvo on pienempi kuin tulon b arvo; muussa tapauksessa lähtö o asetetaan nollaksi.
  • cmp-lohkon loogiset operaattorit:
    • AND
    • OR
    • XOR
    • NOT
    Esimerkki: kaavalla
     o = a < b AND a > c; 
    asetetaan lähtö o ykköseksi, kun a on pienempi kuin b ja suurempi kuin c eli tulon a arvo on tuloarvojen b ja c välissä.
  • calc-lohkon laskentaoperaattorit
    • +
    • -
    • *
    • /
    • ** (potenssiin korotus)
    • trigonometriset ja logaritmifunktiot
  • ; = puolipiste - kaava lopetetaan aina puolipisteeseen! Tämä mahdollistaa kaavan jakamisen useammalle riville:
    o = (a + b) * 3.14 +
        4 * (c + d);

cmp- ja calc-esimerkkejä

Kaavassa käytettävien vakioarvojen muuttaminen buggerilla

Mikäli edellisen esimerkin vakioarvoa 1.105 halutaan tarvittaessa muuttaa esim. buggerilla, tulee kyseinen parametri antaa vapaamuotoisen toimilohkon ulkopuolella. Huomaa ana-tyypin rakenne [vikabitit],[liukuluvun arvo-osa] - kaavan sisälle vikabittejä ei merkitä, rajapintaporttiin merkitään):

Vinkkejä virhetilanteisiin

Jos näiden toimilohkojen yhteydessä tulee virheilmoituksia, tarkista,

  • että olet käyttänyt tuloista nimiä a, b, c,... ja lähdöstä nimeä o tai useampilähtöisen toimilohkon tapauksessa nimiä o1, o2, o3,...
  • että kaikki kaavoissa käytetyt tulot ja lähdöt on kytketty johonkin
  • että kaikkia johonkin kytkettyjä tuloja ja lähtöjä käytetään kaavoissa ainakin kerran
  • että lopetat kaavan puolipisteeseen (;)

Kaavan saa jakaa useammalle riville. Puolipisteellä siis ilmoitetaan, mihin kaava loppuu.

Päivitetty 25.5.2025

<<  Edellinen
(7) Binääritulo BIU8
Sivu 8/31Seuraava >>
(9) cng-toimilohko (ehdollinen hyppy)
© Timo Heikkinen | timo piste heikkinen at oamk piste fi