Chyba online úprav MicroLogix 1400 s instrukcí MUL
Chyba online úprav MicroLogix 1400 při přidávání instrukce MUL s konstantním operandem. Opravte ji použitím adresy typu Float namísto konstanty jako zdroje p...
Online úprava systému MicroLogix 1400 přes EtherNet/IP může selhat s chybou „Program could not be compiled. Online edit error“, když větev MUL používá literál, například 0.7, proti celočíselnému zdroji. Stejný projekt může při offline ověření projít bez upozornění. Kompilátor online úprav řídicí jednotky uplatňuje přísnější pravidla pro operandy než offline cesta a desetinné literály v aritmetických instrukcích často způsobují problém.
Nahraďte literál adresou souboru Float, která již obsahuje hodnotu 0.7, a poté znovu otestujte online úpravu, než provedete jakékoli další změny.
Projev a konfigurace
| Položka | Typické nefunkční nastavení |
|---|---|
| Řídicí jednotka | MicroLogix 1400 řady A nebo B |
| Software | RSLogix 500 s online úpravou |
| Instrukce | MUL |
| Zdroj A | N7:2 (celé číslo) |
| Zdroj B | Konstanta 0.7 |
| Cíl | N7:7 (celé číslo) |
Příčina
Online úpravy systému MicroLogix 1400 ověřují velikost a typ operandů přísněji než offline kompilace. Desetinná konstanta jako Zdroj B projde při některých offline ověřeních, ale je odmítnuta, když se úprava musí zkompilovat do běžícího obrazu. Související offline zprávy, například „Operand size does not match“, poukazují na stejnou skupinu nesouladů typů. Ne každá změna v systému MicroLogix je povolena online; některé strukturální úpravy stále vyžadují offline změnu a stažení programu.
Postup nápravy
- Identifikujte nepoužívanou adresu Float (například F8:7).
- Nastavte F8:7 na hodnotu 0.7 offline nebo pomocí jednorázové větve MOV či inicializační větve.
- Upravte MUL: Zdroj A zůstane N7:2; Zdroj B bude F8:7; Cíl zůstane N7:7 nebo se přesune do Float, pokud záleží na přesnosti.
- Přijměte online úpravu a potvrďte, že se větev zkompiluje.
- Nastavte známou hodnotu Zdroj A a za běhu ověřte výsledek násobení.
MUL Zdroj A: N7:2 Zdroj B: F8:7 <-- Adresa Float, nikoli literál 0.7 Cíl: N7:7 <-- nebo F8:8 pro plnou přesnost
Důsledky datových typů
| Konfigurace | Výsledek |
|---|---|
| Zdroj B = konstanta 0.7 | Chyba kompilace online úpravy |
| Zdroj B = F8:7, Cíl = N7:7 | Úprava proběhne úspěšně; celočíselné oříznutí nebo zaokrouhlení |
| Zdroj B = F8:7, Cíl = F8:8 | Úprava proběhne úspěšně; plná přesnost typu Float |
Při hodnotě N7:2 = 10 a násobiči 0.7 poskytne celočíselný cíl po zaokrouhlení nebo oříznutí hodnotu 7, nikoli zachovanou desetinnou hodnotu 7.0 typu Float. Typ cíle volte záměrně, pokud hodnota vstupuje do PID, škálování nebo porovnávání.
Související omezení online úprav aritmetiky
Stejná citlivost online kompilátoru se projevuje u instrukcí DIV, výrazů ve stylu CPT, pokud jsou k dispozici, a smíšených řetězců INT/Float, které byly zadány rychle během živé úpravy. Technici často zkoušejí tři po sobě jdoucí online úpravy — nejprve mění pouze konstantu, poté typ souboru cíle a nakonec celou větev — aniž by kdy přešli z režimu Run. Každá neúspěšná kompilace zanechá frontu čekajících úprav v nepřehledném stavu. Neúspěšnou úpravu čistě zrušte, proveďte jednu souvislou změnu (literál na adresu Float) a přijměte ji najednou. Pokud MicroLogix po několika pokusech oznámí, že program nelze zkompilovat, přejděte do offline režimu, ověřte existenci souboru (F8 vytvořený s dostatečným počtem prvků) a před opakováním online práce stáhněte známý funkční obraz.
Také ověřte, zda soubor Float není chráněn oprávněním k datové tabulce nebo heslem, které umožňuje offline ověření, ale blokuje online úpravy. Řady A i B systému MicroLogix 1400 podporují online úpravy, pokud jsou kompatibilní verze firmwaru a RSLogix 500; neshodné verze nástrojů mohou zobrazit stejný text „online edit error“ i z nesouvisejících důvodů. Udržujte obraz testovací řídicí jednotky, který demonstruje úspěšnou instrukci MUL s operandem Float, aby jej technici mohli porovnat s projektem v provozu.
Ověření a širší omezení
Po přijetí úpravy nastavte N7:2 postupně na několik hodnot a sledujte nebo zaznamenávejte celočíselné i Float cíle, pokud existují. Potvrďte, že se online úprava zkompiluje bez chyby, ověřte správné provedení instrukce MUL za běhu a pokud záleží na přesnosti, přesuňte cíl do Float, například F8:8. Přetrvávající selhání po nahrazení literálů nejprve reprodukujte offline a poté program stáhněte. Všude, kde se očekávají živé úpravy, dávejte přednost adresovaným hodnotám před vloženými konstantami. Postupy programování MicroLogix mějte zdokumentované vedle ostatních standardů pro PLC a PAC, aby technici nehledali problém v Ethernetu, když jde ve skutečnosti o pravidlo pro operandy.
O autorovi
Mark Townsend | Seniorní automatizační inženýr – systémy Allen-Bradley
Mark Townsend je seniorní automatizační inženýr s více než 18 lety zkušeností s platformami Allen-Bradley, včetně systémů ControlLogix, CompactLogix a starší řady SLC-500. Denně se věnuje logice RSLogix / Studio 5000 a uvádění HMI FactoryTalk View do provozu na stárnoucích a smíšených sestavách.