Chyba online úprav MicroLogix 1400 s instrukcí MUL
Vyřešte selhání online úpravy instrukce MUL u PLC MicroLogix 1400 oddělením příčin souvisejících s typem operandu, datovým souborem, pamětí, softwarem a komunikací a poté ověřte chování škálování, ...
MicroLogix 1400 může projekt ověřit offline, ale při online úpravě odmítnout řádek MUL. Je lákavé svalovat vinu na EtherNet/IP nebo předpokládat, že příčinou je vždy desetinná konstanta. Samotné chybové hlášení ani jeden z těchto závěrů nepotvrzuje. Úpravy za běhu podléhají omezením, která offline neexistují, a aritmetická instrukce navíc musí v rámci stávajících datových souborů řadiče vyřešit kompatibilní datové typy zdrojů a cíle.
Praktickým řešením je řízená diagnostika. Zachovejte aktuální program, zaznamenejte přesné verze řadiče a softwaru, určete, co se v řádku změnilo, a zjistěte, zda problém patří mechanismu úprav, nebo samotné matematice. Zabráníte tak tomu, aby se živé odstraňování potíží změnilo v řadu nesouvisejících úprav, které se obtížně ruší nebo ověřují.
Měňte vždy jen jeden operand a původní řádek ponechte k porovnání, dokud nebude úprava otestována a sestavena.
Začněte omezeními online úprav řadiče
Uživatelská příručka k MicroLogix 1400 od společnosti Rockwell Automation rozlišuje offline a online úpravy. Při práci online nelze vytvářet ani mazat programové soubory, měnit velikost souborů datových tabulek, měnit konfiguraci I/O ani upravovat několik nastavení ochrany. Příručka také upozorňuje, že přijetí, sestavení nebo zrušení úprav může prodloužit dobu skenování a latenci přerušení a že dostupná programová paměť omezuje množství upravené logiky, které může před sestavením koexistovat.
Tato omezení přímo ovlivňují navrhovanou opravu s plovoucí desetinnou čárkou. Pokud program již obsahuje dostatečně velký soubor F, může technik použít existující prvek. Pokud soubor Float neexistuje nebo potřebuje více prvků, jeho vytvoření či změna velikosti vyžaduje offline změnu a nahrání programu. Pokus vyřešit problém operandu vytvořením F8:7 během úpravy za běhu selže z jiného důvodu, i když je aritmetický návrh jinak správný.
Ověřte, zda chyba souvisí s řádkem, nebo s připojením
Než upravíte matematiku, přijměte neškodnou povolenou změnu v testovací oblasti nebo ověřte, že lze stejným postupem údržby přijmout jinou plánovanou úpravu. Pokud selže každá úprava, prověřte kompatibilitu programovacího softwaru, režim řadiče, programovou paměť, vlastnictví úprav a stabilitu komunikace. Přerušení sítě může ukončit relaci úprav, ale stabilní online připojení nezaručuje, že požadovaný řádek je povolený.
Zachyťte celý text chyby a stav zón pro vložení a nahrazení. Neúspěšné úpravy před dalším pokusem řádně zrušte. Ověřte, že alespoň jedno známé správné nahrání programu vytvořilo základ pro online úpravy popsaný v uživatelské příručce, a zkontrolujte, že projekt otevřený v pracovní stanici odpovídá obrazu v řadiči.
S desetinnými násobiči zacházejte záměrně
Násobitel, například 0.7, představuje zlomkovou hodnotu. Uložení tohoto faktoru do existujícího prvku Float explicitně určuje jeho typ a umožňuje údržbě dokumentovat nebo upravovat faktor prostřednictvím řízené datové adresy. Změna zdrojového operandu je však pouze polovinou technického rozhodnutí. Cíl určuje, zda se zlomkový výsledek zachová, nebo převede na celočíselnou reprezentaci.
Pokud je cílem celé číslo v souboru N, otestujte chování řadiče při převodu v celém provozním rozsahu. Neodvozujte výsledek z jediného příkladu, například z násobení deseti hodnotou 0.7. Ověřte kladné, záporné, téměř nulové, maximální a minimální hodnoty a zkontrolujte zpracování stavů matematiky používané aplikací. Pokud následná logika vyžaduje zlomkovou přesnost, použijte vhodný cíl typu Float a převádějte až na rozhraní, kde je celé číslo skutečně nutné.
Existující adresa Float může desetinný faktor explicitně vyjádřit, ale typ a rozsah cíle stále vyžadují kompletní test.
Použijte bezpečnou posloupnost oprav
Nejprve nahrajte běžící program nebo jej jinak zachovejte a zaznamenejte katalogové číslo řadiče, řadu, verzi firmwaru, verzi RSLogix 500, volnou paměť a provozní režim. Poté vyhledejte existující nepoužitý a zdokumentovaný prvek Float, který je k dispozici bez změny velikosti souboru. Inicializujte jej na požadovaný technický faktor schváleným postupem pracoviště a hodnotu online ověřte.
Upravte pouze zdroj MUL, který představuje faktor. Při prvním testu kompilace ponechte původní cíl, pokud požadavky na přesnost již nevyžadují cíl typu Float. Úpravu přijměte a otestujte, když je stroj v bezpečném stavu. Před sestavením úpravy porovnejte výsledek s nezávislým výpočtem pro několik vstupních hodnot. Pokud zavádíte cíl Float, před změnou adres projděte všechny uživatele původní celočíselné hodnoty.
Pokud není k dispozici vhodný prvek Float, online úpravu za běhu ukončete. Přidejte nebo zvětšete datový soubor offline, ověřte celý projekt, naplánujte nahrání programu a definujte plán návratu k předchozímu stavu. Tato nepříjemnost je menší než prosazení neověřené aritmetické obchůzky do běžícího stroje.
O celočíselném škálování pomocí poměru uvažujte jen tehdy, pokud vyhovuje rozsahu
Některé aplikace mohou hodnotu 0.7 vyjádřit jako poměr sedmi ku deseti. Násobení čitatelem a dělení jmenovatelem může odstranit závislost na Float, ale pořadí operací, mezilehlý rozsah, znaménko a zaokrouhlování se stávají konstrukčními volbami. Násobení jako první zachová větší přesnost, ale mezilehlé celé číslo může přetéct. Dělení jako první snižuje riziko přetečení, zároveň však dříve zahazuje informace.
Použijte mezilehlý datový typ s vhodným rozsahem, který řadič podporuje, a přesné chování instrukcí ověřte v referenční příručce MicroLogix. Poměrová matematika není automaticky bezpečnější než matematika s plovoucí desetinnou čárkou; je užitečná pouze tehdy, pokud jsou požadovaná přesnost a celý rozsah dokumentovány a otestovány.
Ověřujte stroj, nejen kompilátor
Přijatý řádek dokazuje syntaxi a přípustnost úpravy, nikoli správnost procesu. Trendujte zdroj, faktor, mezilehlou hodnotu, cíl, příslušné stavové bity a fyzikální veličinu ovlivněnou výpočtem. Otestujte mezní hodnoty a ztrátu zdroje dat. Ověřte, že alarmy, blokování, škálování HMI, hodnoty historizačního systému a veškerá logika PID nebo porovnávání interpretují výsledek podle záměru.
Během testu a sestavování sledujte dobu skenování. Neprovádějte řetězec úprav v době, kdy se proces rychle mění, a nepoužívejte nucené hodnoty jako náhradu řízeného testovacího plánu. Pokud komunikace zůstává nestabilní, obnovte známý stav a před pokračováním v online změnách vyřešte problém sítě.
Kompatibilní řadič je uveden v nabídce produktů MicroLogix 1400; související platformy jsou seskupeny v části systémy PLC a PAC. Před použitím náhradního hardwaru porovnejte přesné katalogové číslo, napájecí konfiguraci, I/O, firmware a požadavky projektu.
Pohled z hlediska techniky
Nejspolehlivější oprava nespočívá v tom, že „každý desetinný literál nahradíte adresou F8“. Spočívá v určení, zda úprava vyžaduje změnu datového souboru, v explicitním určení číselných typů a v prokázání správnosti výsledku v celém technickém rozsahu. Tento postup vyřeší problém kompilace, aniž by skryl chybu škálování, která by mohla být škodlivější než odmítnutý řádek.