Automaatioprojekti

PLC-luonnos

Suunnitelma siitä, miten valmis TwinCAT-ohjelma tulee toimimaan: mitä ohjauslogiikka päättää joka skannauskierroksella, miten taajuusmuuttajaa ohjataan, ja miten hälytykset ja mittaukset kirjautuvat. Tämä on periaatetason suunnitelma kokonaisuudesta — ei yksityiskohtainen koodikaavio, eikä kuvaus siitä missä vaiheessa toteutus juuri nyt on.

Muokkaa

Ohjelman toiminta selkokielellä

Sama logiikka kuin yllä olevassa kaaviossa, mutta vaihe vaiheelta kirjoitettuna. Tämä ei ole oikeaa ohjelmointikieltä, vaan yksinkertaistettu kuvaus siitä, missä järjestyksessä ja millä ehdoilla ohjelma tekee päätöksiä.

Pääsilmukka (toistuu 100 kertaa sekunnissa)

JOKA KIERROKSELLA (10 ms):
  AJA kuljettimen ohjauslogiikka
  AJA yhteys taajuusmuuttajaan
  LUE kellonaika logiikalta

  JOS havaitaan hälytys:
    kirjaa se hälytyslokiin
  TALLENNA mittauksia tiedostoon (kun kirjaus on käynnissä)

Käynnistysedellytykset ja lukitukset

KÄYTTÖ ON SALLITTU VAIN JOS:
  käyttölupa päällä
  JA yhteys taajuusmuuttajaan kunnossa
  JA nopeustieto kelvollinen
  JA mekaaniset asetukset (pituus, pyörän koko ym.) järkeviä

JOS yhteys katkeaa tai käyttölupa poistuu:
  pysäytä kaikki heti
  estä uudelleenkäynnistys, kunnes käyttäjä on
  vapauttanut kaikki ohjauspainikkeet

Automaattiajo ja suunnanvaihto

JOS "Käynnistä" painettu JA käynnistys sallittu JA kuljetin seisoo:
  valitse ajosuunta sen mukaan, kummalla puolella rataa ollaan
  käynnistä automaattiajo

AUTOMAATTIAJON AIKANA JOKA KIERROKSELLA:
  LASKE jäljellä oleva matka radan päähän
  LASKE tarvittava pysähtymismatka taajuusmuuttajan hidastusajasta
  JOS jäljellä oleva matka ≤ tarvittava pysähtymismatka:
    ala hidastaa kohti nopeutta 0
    KUN pysähtyminen on varmistunut (nopeus lähellä nollaa 0,2 s ajan):
      käännä suunta ja jatka ajoa

Käsiajo

JOS käsiajo valittu JA kuljetin seisoo:
  siirry käsiajotilaan

KÄSIAJOSSA:
  aja eteen- tai taaksepäin sen mukaan, kumpaa nappia painetaan
  JOS molemmat napit vapautettu:
    pysäytä (taajuusmuuttaja hoitaa oman rampituksensa)
  (käsiajotilaan ei voi vaihtaa kesken automaattiajon)

Ohjauskäskyt taajuusmuuttajalle

OLETUS JOKA KIERROKSELLA: käyntikäsky pois, nopeus 0

JOS automaattiajo käynnissä JA ei pysähtymässä:
  käyntikäsky päälle
  nopeusohje = asetettu nopeus, suunta = valittu ajosuunta

JOS käsiajo käynnissä JA nappi painettuna:
  käyntikäsky päälle, nopeusohje = käsiajon nopeus

JOS yhteys taajuusmuuttajaan ei ole kunnossa:
  pakota käyntikäsky pois ja nopeus nollaan

Yhteys taajuusmuuttajaan (Modbus)

JOKA KIERROKSELLA:
  KIRJOITA ohjaussana ja nopeusohje taajuusmuuttajalle
  LUE tilasana ja mitattu nopeus takaisin

  JOS kirjoitus tai luku epäonnistuu:
    merkitse yhteys vikaantuneeksi
    odota hetki ja yritä uudelleen
  MUUTEN:
    merkitse yhteys kunnossa olevaksi
    päivitä mitattu nopeustieto ohjauslogiikalle

Virtuaalinen sijainti ja anturit

LASKE kuljettimen sijainti integroimalla taajuusmuuttajalta
saatua TODELLISTA mitattua nopeutta ajan yli

ASETA anturi S1 päälle, jos sijainti on radan alkupäässä
ASETA anturi S2 päälle, jos sijainti on keskialueella
ASETA anturi S3 päälle, jos sijainti on radan loppupäässä

(Nämä anturit lasketaan yhä sijainnista — eivät vielä
oikeita fyysisiä rajakytkimiä radalla)

Hälytysloki

JOS havaitaan hälytys:
  tallenna kiertävään 100 rivin lokiin:
    kellonaika, hälytyskoodi ja -kuvaus,
    anturien tilat, sijainti

  JOS loki on täynnä (100 riviä):
    vanhin rivi korvautuu uudella

Mittausten tallennus tiedostoon

KUN käyttäjä käynnistää kirjauksen:
  avaa tiedosto ja kirjoita otsikkorivi

KIRJAUKSEN AIKANA, N. 10 SEKUNNIN VÄLEIN:
  lisää tiedostoon uusi rivi mittausarvoista

KUN käyttäjä pysäyttää tai keskeyttää kirjauksen:
  sulje tiedosto (tai jää odottamaan jatkoa, jos vain tauko)