Keresés

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

  • And

    veterán

    válasz crucified #6534 üzenetére

    Annyira sajnos nem vagyok jártas a Siemens PLC-kben, de tudomásom szerint az OB-k nem jönnek létre csak úgy maguktól, (az OB1 ugye mindenképp kell) legalábbis az összes biztos nem. Találkoztam már olyan hibával, amely az azt lekezelő OB hiányában stop-ba vitte a PLC-t, majd létrehozva az OB-t (egyébként teljesen üresen, nulla hasznos kóddal) a hiba miatti leállás megszűnt. Erről is volt már értekezés a topikban. Úgyhogy azt sem tudom megmondani, hogy a készen 'importálható' FC-k / FB-k számozásában van-e valamilyen logika. Amelyekkel én találkoztam - például kommunikációt (pl. soros modbus) vagy PID-szabályozást lekezelő blokkok -, azok számozása nem tűnt annyira rendezettnek, de a help szerencsére elég jó, az segített.
    Mod. #6536: Mire leírom.. ;)

  • Szirty

    őstag

    válasz crucified #6534 üzenetére

    Szia!

    "Az OB-ket ha jól tudom maga Simatic hozza létre és az oprendszer illetve a program közötti kommunikációért felelős."

    Nem hozza létre a szó szoros értelmében. Az OB-k szám szerint előre meghatározott (fenntartott) funkcióval bírnak, de létre nem jönnek.
    Amikor az OB számára meghatározott esemény (hiba, megszakítás) bekövetkezik, akkor az oprendszer meghívja (lefuttatja) ha létezik. Ha nem létezik, akkor az eseménytől függően vagy semmi továbbit nem tesz (pl. timer interruptok) vagy a CPU a program futtatását leállítja (CPU stop). Ezek a hibakezelő OB-k.
    Mint a te esetedben az OB122. Ha nem lenne OB122, a CPU leállna ettől a hibától.

    "Az FC-k számozás szerinti kiosztásának is van valami logikája az S7-ben

    Nincs megkötés. Lehet (és ha sok a blokk akkor javasolt is) valamilyen logikát felállítani mert az könnyíti a programban az eligazodást, de kötelezően semmilyen megkötés nincs.
    A szabályszerűség tehát öntörvényű, ez igaz a lib-ekre is, amiben FC vagy FB blokkok vannak.

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