Új hozzászólás Aktív témák

  • Szirty

    őstag

    Sziasztok!

    Szerintem öntsünk tiszta vizet a pofámba (az upload után STL lesz vagy sem témával kapcsolatban).
    Nem akarok okoskodni, csak leírom az én verziómat...

    Nem lesz STL minden ha a PLC-ről töltöd vissza egy üres projectbe!
    De nem is jön vissza feltétlenül minden pont azon a nyelven amin a blokkot (vagy network-öt) írták.

    Ha a NW-öket LAD-ban és FBD-ben írták, és nem nyúltak bele, akkor az LAD-ban jön vissza ami LAD volt és FBD-ben ami FBD volt. Amit STL-ben toltak rá az pedig STL-ben jön vissza.

    De:
    Szándékosan lehet olyat csinálni, hogy a létrában írt blokkot átváltják STL nézetre és network-öket összemásolnak (esetleg az egész blokkot egybe, láttam már olyat) vagy NOP 0-kat írkálnak bele.
    Ettől ugyanúgy fog működni, viszont innentől kezdve nem lehet sem létrában, sem FBD-ben megjeleníteni.

    Továbbá:
    Bizonyos létrában készült logikai sort nem lehet megjeleníteni FBD-ben és bizonyos FBD-ben írt logikai sort nem lehet létrában ábrázolni. Ez a kettő közötti különbségből adódik. Ha valaki akarja, akkor írok erre konkrét program példát. Az ilyet mindig meg lehet jeleníteni STL-ben.
    Néha a fordító maga is belegabalyodik a történetbe és gondol egyet, és lesz olyan network, amit eddig mutatott létrában, de onnantól soha többé nem fog. Ez olyankor van, amikor egy blokk másik blokkok paraméteres hívásait tartalmazza és logikai bemenetei elé inverz feltételt vagy több logikai kapcsolatból álló sort írunk, majd oda-vissza váltogatjuk az STL/LAD/FBD nézet között a szerkesztőt és TEMP változókkal is operálunk.
    Ezt nehezebb reprodukálni és valószínűleg szoftver hiba okozza (Step7 V5.4 SP4+HF6), pontosan le tudom írni milyen helyzetben történik meg, de nem tartozik most szorosan a tárgyhoz.

    És van még egy ide vágó eset:
    Ha a blokk magasabb szintű programozási nyelven készült (Graph, HighGraph vagy SCL) akkor azt sem fogjuk a PLC-ről letöltve az eredeti nyelven látni még akkor sem, ha a Step7-ünk rendelkezik azzal a modullal ami kezeli az adott nyelvet.
    Pl. ha SCL-ben írt blokkot töltünk vissza, hiába van S7-SCL a gépünkön akkor is csak STL-ben fog megjelenni. Ennek oka az, hogy a PLC csak az SCL-ből STL-re lefordított kódot tartalmazza, az eredeti SCL forrásprogramot nem (mivel a program futtatásához arra nincsen semmi szüksége).

    A LAD, FBD átjárhatóbb, mert az nem magas szintű nyelv, inkább csak az STL kód egy speciális megjelenítési formája.
    Ezért lehet STL-ben is olyan programot írni amit meg lehet jeleníteni létrában vagy FBD-ben, csak szigorú szabályokat kell betartani hozzá. Általában ilyesmit nem csinálunk mert fölösleges, de lehetséges megcsinálni.

Új hozzászólás Aktív témák