MicroLogix 1400 Online Edit Error with MUL Instruction — figure 1

MicroLogix 1400 online szerkesztési hiba MUL utasítással

MicroLogix 1400 online szerkesztési hiba MUL utasítás állandó operandussal történő hozzáadásakor. A javításhoz a szorzás forrásaként állandó helyett használj...

Az EtherNet/IP-n keresztül végzett online szerkesztés MicroLogix 1400 vezérlőn meghiúsulhat a „Program could not be compiled. Online edit error” üzenettel, ha egy MUL létraág egész típusú forrással szemben literális konstansot, például 0.7-et használ. Ugyanez a projekt offline ellenőrzéskor hiba nélkül lefordulhat. A vezérlő online szerkesztési fordítója szigorúbb operandusszabályokat érvényesít, mint az offline folyamat, és a lebegőpontos literálok az aritmetikai utasításokban gyakran okoznak ilyen hibát.

MicroLogix 1400 online szerkesztési hiba MUL utasítással — 1. ábra

Cserélje le a literált egy Float fájlcímre, amely már tartalmazza a 0.7 értéket, majd minden egyéb módosítás előtt tesztelje újra az online szerkesztést.

Tünet és konfiguráció

Elem Jellemző hibát okozó beállítás
Vezérlő MicroLogix 1400 A vagy B sorozat
Szoftver RSLogix 500 online szerkesztéssel
Utasítás MUL
A forrás N7:2 (egész)
B forrás 0.7 konstans
Cél N7:7 (egész)

A hiba oka

A MicroLogix 1400 online szerkesztései szigorúbban ellenőrzik az operandusok méretét és típusát, mint az offline fordítás. A B forrásként megadott lebegőpontos konstans egyes offline ellenőrzéseken elfogadható, az online szerkesztés futó programképbe történő fordításakor azonban elutasítható. Az olyan kapcsolódó offline üzenetek, mint az „Operand size does not match”, ugyanehhez a típuseltérésekből álló problémakörhöz tartoznak. Nem minden MicroLogix-módosítás hajtható végre online; egyes strukturális módosításokhoz továbbra is offline módosítás és letöltés szükséges.

Javítási eljárás

  1. Azonosítson egy nem használt Float-címet (például F8:7).
  2. Állítsa be az F8:7 értékét 0.7-re offline módban vagy egy egyszeri MOV-/inicializáló létraággal.
  3. Szerkessze a MUL utasítást: az A forrás maradjon N7:2; a B forrás legyen F8:7; a cél maradjon N7:7, vagy a pontosság megőrzése érdekében legyen Float-típusú.
  4. Fogadja el az online szerkesztést, és ellenőrizze, hogy a létraág lefordul-e.
  5. Kényszerítsen be egy ismert A forrásértéket, majd futás közben ellenőrizze a szorzás eredményét.
MicroLogix 1400 online szerkesztési hiba MUL utasítással — 2. ábra
MUL
  A forrás: N7:2
  B forrás: F8:7   <-- Float-cím, nem a 0.7 literális érték
  Cél:       N7:7   <-- vagy F8:8 a teljes pontosságért

Az adattípus következményei

Konfiguráció Eredmény
B forrás = 0.7 konstans Online szerkesztési fordítási hiba
B forrás = F8:7, cél = N7:7 A szerkesztés sikeres; egész típusú csonkolás/kerekítés
B forrás = F8:7, cél = F8:8 A szerkesztés sikeres; teljes Float-pontosság

Ha N7:2 = 10, a szorzó pedig 0.7, akkor az egész típusú cél a kerekítési/csonkolási viselkedéstől függően 7 értéket ad, nem pedig megőrzött 7.0 Float-értéket. Gondosan válassza meg a cél típusát, ha az érték PID-szabályozásba, skálázásba vagy összehasonlításokba kerül.

Kapcsolódó online szerkesztési korlátozások aritmetikai műveleteknél

Ugyanez az online fordítói érzékenység figyelhető meg a DIV utasításnál, az elérhető CPT-jellegű kifejezéseknél, valamint az élő módosítás során gyorsan bevitt, vegyes INT/Float láncoknál. A mérnökök gyakran három egymást követő online szerkesztéssel próbálkoznak: először csak a konstansot, majd a célfájl típusát, végül az egész létraágat módosítják, miközben egyszer sem lépnek ki Run módból. Minden sikertelen fordítás összezavarhatja a függőben lévő szerkesztési sort. Törölje szabályosan a sikertelen szerkesztést, hajtson végre egyetlen koherens módosítást (a literált cserélje Float-címre), majd egyszer fogadja el. Ha a MicroLogix több próbálkozás után is azt jelzi, hogy a program nem fordítható le, váltson offline módba, ellenőrizze, hogy a fájl létezik-e (az F8 létre lett-e hozva elegendő elemmel), majd töltsön le egy biztosan működő programképet, mielőtt újra online munkába kezd.

Győződjön meg arról is, hogy a Float-fájlt nem védi-e olyan adattábla-jogosultság vagy jelszó, amely engedélyezi az offline ellenőrzést, de blokkolja az online módosítást. Az A és B sorozatú MicroLogix 1400 vezérlők egyaránt támogatják az online szerkesztést, ha a firmware- és az RSLogix 500-verziók kompatibilisek; az eltérő eszközverziók ugyanazt az „online edit error” szöveget jeleníthetik meg egymástól független okok miatt. Tartson fenn egy olyan tesztvezérlő-programképet, amely sikeres Float-operandusos MUL példát tartalmaz, hogy a technikusok összehasonlíthassák az üzemi projekttel.

Ellenőrzés és további korlátozások

Miután a szerkesztést elfogadta a rendszer, kényszerítsen be több különböző értéket az N7:2-be, és ha mindkét cél létezik, trendelje vagy figyelje az egész és a Float célértékeket is. Ellenőrizze, hogy az online szerkesztés hiba nélkül lefordul-e, győződjön meg arról, hogy a MUL futás közben megfelelően működik, és ha fontos a pontosság, helyezze át a célt egy Float-címre, például az F8:8-ra. A literálok lecserélése után is fennálló hibákat először offline módban reprodukálja, majd töltse le a programot. Ahol várhatóak élő módosítások, részesítse előnyben a címzett értékeket a beágyazott konstansokkal szemben. A MicroLogix programozási gyakorlatokat dokumentálja a többi PLC- és PAC-szabvány mellett, hogy a technikusok ne Ethernet-hibát keressenek egy operandusszabályból eredő probléma miatt.

A szerzőről

Mark Townsend | vezető automatizálási mérnök – Allen-Bradley rendszerek

Mark Townsend vezető automatizálási mérnök, több mint 18 éves tapasztalattal az Allen-Bradley platformokon, többek között a ControlLogix, a CompactLogix és a korábbi SLC-500 rendszereken. Mindennapi munkája az RSLogix / Studio 5000 logikák, valamint a FactoryTalk View HMI-rendszerek üzembe helyezése elöregedett és vegyes összetételű rendszerparkokban.

MicroLogix 1400 online szerkesztési hiba MUL utasítással

MicroLogix 1400 online szerkesztési hiba MUL utasítás állandó operandussal történő hozzáadásakor. A javításhoz a szorzás forrásaként állandó helyett használjon Float-címet.

Az EtherNet/IP-n keresztül végzett online szerkesztés MicroLogix 1400 vezérlőn meghiúsulhat a „Program could not be compiled. Online edit error” üzenettel, ha egy MUL létraág egész típusú forrással szemben literális konstansot, például 0.7-et használ. Ugyanez a projekt offline ellenőrzéskor hiba nélkül lefordulhat. A vezérlő online szerkesztési fordítója szigorúbb operandusszabályokat érvényesít, mint az offline folyamat, és a lebegőpontos literálok az aritmetikai utasításokban gyakran okoznak ilyen hibát.

MicroLogix 1400 online szerkesztési hiba MUL utasítással — 1. ábra

Cserélje le a literált egy Float fájlcímre, amely már tartalmazza a 0.7 értéket, majd minden egyéb módosítás előtt tesztelje újra az online szerkesztést.

Tünet és konfiguráció

Elem Jellemző hibát okozó beállítás
Vezérlő MicroLogix 1400 A vagy B sorozat
Szoftver RSLogix 500 online szerkesztéssel
Utasítás MUL
A forrás N7:2 (egész)
B forrás 0.7 konstans
Cél N7:7 (egész)

A hiba oka

A MicroLogix 1400 online szerkesztései szigorúbban ellenőrzik az operandusok méretét és típusát, mint az offline fordítás. A B forrásként megadott lebegőpontos konstans egyes offline ellenőrzéseken elfogadható, az online szerkesztés futó programképbe történő fordításakor azonban elutasítható. Az olyan kapcsolódó offline üzenetek, mint az „Operand size does not match”, ugyanehhez a típuseltérésekből álló problémakörhöz tartoznak. Nem minden MicroLogix-módosítás hajtható végre online; egyes strukturális módosításokhoz továbbra is offline módosítás és letöltés szükséges.

Javítási eljárás

  1. Azonosítson egy nem használt Float-címet (például F8:7).
  2. Állítsa be az F8:7 értékét 0.7-re offline módban vagy egy egyszeri MOV-/inicializáló létraággal.
  3. Szerkessze a MUL utasítást: az A forrás maradjon N7:2; a B forrás legyen F8:7; a cél maradjon N7:7, vagy a pontosság megőrzése érdekében legyen Float-típusú.
  4. Fogadja el az online szerkesztést, és ellenőrizze, hogy a létraág lefordul-e.
  5. Kényszerítsen be egy ismert A forrásértéket, majd futás közben ellenőrizze a szorzás eredményét.
MicroLogix 1400 online szerkesztési hiba MUL utasítással — 2. ábra
MUL
  A forrás: N7:2
  B forrás: F8:7   <-- Float-cím, nem a 0.7 literális érték
  Cél:       N7:7   <-- vagy F8:8 a teljes pontosságért

Az adattípus következményei

Konfiguráció Eredmény
B forrás = 0.7 konstans Online szerkesztési fordítási hiba
B forrás = F8:7, cél = N7:7 A szerkesztés sikeres; egész típusú csonkolás/kerekítés
B forrás = F8:7, cél = F8:8 A szerkesztés sikeres; teljes Float-pontosság

Ha N7:2 = 10, a szorzó pedig 0.7, akkor az egész típusú cél a kerekítési/csonkolási viselkedéstől függően 7 értéket ad, nem pedig megőrzött 7.0 Float-értéket. Gondosan válassza meg a cél típusát, ha az érték PID-szabályozásba, skálázásba vagy összehasonlításokba kerül.

Kapcsolódó online szerkesztési korlátozások aritmetikai műveleteknél

Ugyanez az online fordítói érzékenység figyelhető meg a DIV utasításnál, az elérhető CPT-jellegű kifejezéseknél, valamint az élő módosítás során gyorsan bevitt, vegyes INT/Float láncoknál. A mérnökök gyakran három egymást követő online szerkesztéssel próbálkoznak: először csak a konstansot, majd a célfájl típusát, végül az egész létraágat módosítják, miközben egyszer sem lépnek ki Run módból. Minden sikertelen fordítás összezavarhatja a függőben lévő szerkesztési sort. Törölje szabályosan a sikertelen szerkesztést, hajtson végre egyetlen koherens módosítást (a literált cserélje Float-címre), majd egyszer fogadja el. Ha a MicroLogix több próbálkozás után is azt jelzi, hogy a program nem fordítható le, váltson offline módba, ellenőrizze, hogy a fájl létezik-e (az F8 létre lett-e hozva elegendő elemmel), majd töltsön le egy biztosan működő programképet, mielőtt újra online munkába kezd.

Győződjön meg arról is, hogy a Float-fájlt nem védi-e olyan adattábla-jogosultság vagy jelszó, amely engedélyezi az offline ellenőrzést, de blokkolja az online módosítást. Az A és B sorozatú MicroLogix 1400 vezérlők egyaránt támogatják az online szerkesztést, ha a firmware- és az RSLogix 500-verziók kompatibilisek; az eltérő eszközverziók ugyanazt az „online edit error” szöveget jeleníthetik meg egymástól független okok miatt. Tartson fenn egy olyan tesztvezérlő-programképet, amely sikeres Float-operandusos MUL példát tartalmaz, hogy a technikusok összehasonlíthassák az üzemi projekttel.

Ellenőrzés és további korlátozások

Miután a szerkesztést elfogadta a rendszer, kényszerítsen be több különböző értéket az N7:2-be, és ha mindkét cél létezik, trendelje vagy figyelje az egész és a Float célértékeket is. Ellenőrizze, hogy az online szerkesztés hiba nélkül lefordul-e, győződjön meg arról, hogy a MUL futás közben megfelelően működik, és ha fontos a pontosság, helyezze át a célt egy Float-címre, például az F8:8-ra. A literálok lecserélése után is fennálló hibákat először offline módban reprodukálja, majd töltse le a programot. Ahol várhatóak élő módosítások, részesítse előnyben a címzett értékeket a beágyazott konstansokkal szemben. A MicroLogix programozási gyakorlatokat dokumentálja a többi PLC- és PAC-szabvány mellett, hogy a technikusok ne Ethernet-hibát keressenek egy operandusszabályból eredő probléma miatt.

A szerzőről

Mark Townsend | vezető automatizálási mérnök – Allen-Bradley rendszerek

Mark Townsend vezető automatizálási mérnök, több mint 18 éves tapasztalattal az Allen-Bradley platformokon, többek között a ControlLogix, a CompactLogix és a korábbi SLC-500 rendszereken. Mindennapi munkája az RSLogix / Studio 5000 logikák, valamint a FactoryTalk View HMI-rendszerek üzembe helyezése elöregedett és vegyes összetételű rendszerparkokban.

Hozzászólás írása

Felhívjuk a figyelmedet, hogy a hozzászólásokat jóvá kell hagyni a közzétételük előtt.