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.
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
- Azonosítson egy nem használt Float-címet (például F8:7).
- Állítsa be az F8:7 értékét 0.7-re offline módban vagy egy egyszeri MOV-/inicializáló létraággal.
- 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ú.
- Fogadja el az online szerkesztést, és ellenőrizze, hogy a létraág lefordul-e.
- Kényszerítsen be egy ismert A forrásértéket, majd futás közben ellenőrizze a szorzás eredményét.
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.