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 / Ohjeita sekvenssiohjelmointiin /
Ohjeita sekvenssiohjelmointiin

Sekvenssiaskeleen nimi ei saa alkaa numerolla!

Ohjevideo

YouTubessa on nähtävissä video, jolla käyn läpi tämän sivun sekvessiesimerkit.

Ohjelmointityökalu

Sekvenssiohjelmat tehdään omalla CAD-työkalullaan, eli perinteisen prosessiasemaohjelmoinnissa käytettävän FbCADin sijasta ohjelmointi tapahtuu SeqCADilla.

Sekvenssiohjelma tarvitsee käytännössä aina myös FbCADillä tehdyn osuuden. Alempana olevassa taulukossa on esitetty sovellusten "työnjako".

Valmet DNA:n sähköinen dokumentaatio sisältää SeqCADin käyttöohjeen.

Yleisiä ongelmia

Ongelma Mahdollisia syitä
Sekvenssimoduuli ei mene checkistä läpi vaan herjaa X:stä, vaikka X on mielestäni oikein tehty.
  • Yhdestä tai useammasta askeltoimilohkoista (STEP) puuttuu PCS, STEP NAME (15char) eli PCS-nimi kokonaan tai siinä on käytetty ääkkösiä, välilyöntejä tai erikoismerkkejä (esimerkiksi väliviivaa).
  • OPS, STEP NAME (14char) eli OPS-nimen puuttuminen ei estä checkin läpimenoa, mutta käyttöliittymästä jää puuttumaan askelten nimet. OPS-nimissä saa tai suorastaan pitää käyttää välilyöntejä ja ääkkösiä, koska ne näkyvät käyttöliittymässä.
  • Askel- ja siirrostoimilohkojen (STEP, TRANS) välinen kytkentäviiva on poikki tai puuttuu kokonaan.
pls-toimilohko ei toimi oikein Muodosta viiveet ja pulssit FbCAD-moduulissa. pls-toimilohko ei toimi sekvenssiohjelmassa, koska askeleesta poistuttaessa pls-toimilohkon muistiin jää aina viimeisimmän suorituskerran tiedot, mistä tilanteesta pls-toimilohko jatkaa, kun seuraavan kerran sen sisältävä askel aktivoituu

FbCADin ja SeqCADin eroavaisuuksia

  FbCAD SeqCAD
Sovelluksen suoritus Kaikki moduulin osat suoritetaan joka suorituskierroksella toimilohkonumeroinnin mukaisessa järjestyksessä (paitsi cng ja eqg toimilohkojen avulla "yli hypätyt" toimilohkot)Vain yksi askel on kerrallaan aktiivinen, ja vain sen toimilohkoja suoritetaan. Lisäksi toimenpideosan toimilohkoja suoritetaan oletusarvoisesti vain yhden kerran heti askeleeseen siirryttyä (tästä voidaan poiketa konfiguroimalla askeltoimilohkon asfmode-parametri ykköseksi). Ehto-osan toimilohkoja suoritetaan koko askeleessa oloajan.
Toimilohkojen numerointi Toimilohkot numeroidaan siinä järjestyksessä, kuin ne halutaan moduulin sisällä suoritettavan. Numeroinnin ei tarvitse olla jatkuva, vaan esimerkiksi kymmenen välein numerointi on jopa suositeltavaa.Toimilohkon numero koostuu kolmesta osasta. Esimerkki 1) 02:01ccob
  • 02 tarkoittaa sen askeleen numeroa, jonka aikana tätä toimilohkoa suoritetaan
  • : merkitsee, että tämä toimilohko kuuluu toimenpideosaan
  • 01 tarkoittaa, että tämä toimilohko suoritetaan askeleensa toimenpideosan ensimmäisenä
Esimerkki 2) 02-50ccob
  • 02 tarkoittaa sen askeleen numeroa, jonka aikana tätä toimilohkoa suoritetaan
  • - merkitsee, että tämä toimilohko kuuluu ehto-osaan
  • 51 tarkoittaa, että tämä toimilohko suoritetaan askeleensa ehto-osan ensimmäisenä (kirjoittamaton sääntö: toimenpideosalle varataan toimilohkonumerot 01..49 ja ehto-osalle 50..99)
Automaatio-moduulin nimi Yleensä positiotunnus, esim. LIC-100 Alkuliite SQ: ja sekvenssin positiotunnus, esim. SQ:X-1234
Toiminto-moduulin nimi Muodostetaan automaatiomoduulin nimestä lisäämällä alkuun pr: ja loppuun .F, esim. pr:LIC-100.FMuodostetaan automaatiomoduulin nimestä vaihtamalla alun SQ: pieniksi kirjaimiksi sq: ja lisäämällä loppuun .F, esim. sq:X-1234.F
I/O Voi sisältää I/O-moduleita Ei I/O-moduuleita
Käyttöliittymän ohjelmointi Tarpeen mukaan kullekin tietopisteelle ja toimilohkolle. Koostuu neljästä osasta:
  • koko sekvenssin yhteinen sivupohja (positio-, operointi-, tapahtuma- l. hälytys- ja listamoduulit, yleensä moduulin ensimmäisellä sivulla)
  • kunkin askeleen nimitiedot (askeltoimilohkoissa)
  • toimenpidetekstit ("salmiakit" toimenpidetoimilohkojen kytkentäviivojen päällä)
  • ehtotekstit ("salmiakit" ehtotoimilohkojen kytkentäviivojen päällä)

Missä askeleessa sekvenssi on menossa?

Käynnissä olevan sekvenssin aktiivisena olevan askeleen numeron saa luettua ints-tyyppisestä tietopisteestä sq:SEKVENSSI.F:subadmin:actstep.

Sekvenssin pysäyttäminen

Sekvenssin voi pysäyttää käyttöliittymästä. Jos sekvenssi halutaan pysäyttää sovelluksesta käsin, kannattaa se useimmiten tehdä hyppäyttämällä sekvenssi viimeiseen askeleeseen - siis siihen askeleeseen, jossa ei ole toimenpiteitä eikä etenemisehtoja. Näin tehtäessä sekvenssi aloittaa seuraavan kerran käynnistettäessä ensimmäisestä askeleesta (tai muusta aloitusaskeleeksi määritellystä askeleesta). Muuten sekvenssi käynnistyisi askeleesta, johon se viimeksi tuli pysäytettyä.

Automaattinen reagointi sekvenssin häiriöön

Jos halutaan reagoida automaattisesti sekvenssin häiriötilanteeseen (esim. aikavalvontahälytykseen), voidaan tieto häiriöstä lukea bin-tyyppisestä tietopisteesta sq:ESIMERKKI.F:subadmin:alarm. Sen avulla voidaan vaikkapa hyppäyttää sekvenssi automaattisesti johonkin ennaltamäärättyyn askeleeseen.

Alla olevassa esimerkissä sekvenssi hyppäytetään askeleeseen 1. Huomaa ccos-lohkon mode = 1, jotta hyppy tapahtuisi vain yhden kerran häiriön tultua päälle.

Esimerkkisekvenssi

Mallikuvia - SeqCAD

Mallikuvia - FbCAD

Sekvenssiä operoidaan yleensä omasta käyttöliittymästään (ks. linkit alempana). Ylempänä linkatussa Esimerkkisekvenssi (sivu 2/2) -kuvassa esitetään, miten sekvenssi saadaan hyppäämään tiettyyn askeleeseen sekvenssiohjelman sisällä. Sekvenssi voidaan myös käynnistää tai hyppäyttää haluttuun askeleeseen ohjelmallisesti FbCAD-sovelluksesta:

Sekvenssin hyppäyttäminen askeleeseen

Sekvenssi voidaan hyppäyttää haluttuun askeleeseen FbCAD-moduulista käsin. Sama voidaan toki myös sekvenssin sisälläkin, jolloin kirjoittaminen tapahtuu sekvenssin omaan :subadmin:stepping-tietopisteeseen.

Sekvenssin käynnistäminen FbCADistä

Sekvenssi käynnistetään useimmiten manuaalisesti käyttöliittymän kautta. Se voidaan kuitenkin käynnistää myös FbCAD-moduulista. Esimerkissä käynnistyskäsky kirjoitetaan sekvenssin m-bittiin, jolloin sekvenssin tulisi olla käsiohjauksessa. Usein ohjelmallinen käynnistäminen halutaan kuitenkin tehdä sekvenssin ollessa automaattitilassa, jolloin käynnistyksen aiheuttava kirjoittaminen tehtäisiin sekvenssin a-bittiin.

Mallikuvia - Sekvenssin käyttöliittymä

Päivitetty 26.4.2024

© Timo Heikkinen | timo piste heikkinen at oamk piste fi