Грешка при онлайн редактиране на MicroLogix 1400 с инструкцията MUL
Грешка при онлайн редактиране на MicroLogix 1400 при добавяне на инструкция MUL с константен операнд. Отстранете я, като използвате адрес Float вместо конста...
Онлайн редактирането на MicroLogix 1400 през EtherNet/IP може да се провали със съобщението „Програмата не може да бъде компилирана. Грешка при онлайн редактирането“, когато стъпало MUL използва буквална константа като 0.7 спрямо целочислен източник. Същият проект може да премине офлайн проверката без предупреждение. Компилаторът за онлайн редактиране на контролера прилага по-строги правила за операндите от офлайн пътя, а константите с плаваща запетая в аритметични инструкции често предизвикват проблема.
Заменете константата с адрес от Float файл, който вече съдържа 0.7, след което повторно тествайте онлайн редактирането, преди да променяте друго.
Симптом и конфигурация
| Елемент | Типична проблемна конфигурация |
|---|---|
| Контролер | MicroLogix 1400 серия A или B |
| Софтуер | RSLogix 500 с онлайн редактиране |
| Инструкция | MUL |
| Източник A | N7:2 (цяло число) |
| Източник B | Константа 0.7 |
| Дестинация | N7:7 (цяло число) |
Основна причина
Онлайн редакциите в MicroLogix 1400 проверяват размера и типа на операндите по-строго от офлайн компилацията. Константа с плаваща запетая в Source B може да бъде приета при някои офлайн проверки, но да бъде отхвърлена, когато редакцията трябва да се компилира в работещия образ. Свързани офлайн съобщения като „Размерът на операнда не съвпада“ сочат към същата група несъответствия на типовете. Не всяка промяна в MicroLogix може да се извърши онлайн; някои структурни редакции все още изискват офлайн промяна и изтегляне.
Процедура за отстраняване
- Определете неизползван адрес от Float файл (например F8:7).
- Задайте предварително F8:7 на 0.7 офлайн или чрез еднократно стъпало MOV/инициализация.
- Редактирайте MUL: Source A остава N7:2; Source B става F8:7; Destination остава N7:7 или се премества към Float, ако точността е важна.
- Приемете онлайн редакцията и потвърдете, че стъпалото се компилира.
- Подайте известна стойност към Source A и проверете произведението по време на работа.
MUL Source A: N7:2 Source B: F8:7 <-- Адрес от Float файл, а не буквалната стойност 0.7 Dest: N7:7 <-- или F8:8 за пълна точност
Последствия от типа данни
| Конфигурация | Резултат |
|---|---|
| Source B = константа 0.7 | Грешка при компилация на онлайн редакцията |
| Source B = F8:7, Dest = N7:7 | Редакцията е успешна; целочислено отрязване/закръгляване |
| Source B = F8:7, Dest = F8:8 | Редакцията е успешна; пълна точност на Float |
При N7:2 = 10 и множител 0.7 целочислената дестинация дава 7 според поведението при закръгляване/отрязване — не се запазва Float стойност 7.0. Изберете умишлено типа на дестинацията, когато стойността се подава към PID, мащабиране или сравнения.
Свързани ограничения при онлайн редактиране на аритметични операции
Същата чувствителност на онлайн компилатора се проявява при DIV, изрази в стил CPT, когато са налични, и смесени вериги INT/Float, въведени набързо по време на промяна в движение. Инженерите често опитват три последователни онлайн редакции — променят само константата, след това типа на файла на дестинацията и накрая цялото стъпало — без да излизат от режим Run. Всяка неуспешна компилация оставя опашката с чакащи редакции в объркващо състояние. Отменете неуспешната редакция по правилния начин, направете една цялостна промяна (от буквална константа към адрес от Float файл) и я приемете еднократно. Ако MicroLogix съобщи, че програмата не може да бъде компилирана след няколко опита, преминете офлайн, проверете дали файлът съществува (F8 е създаден с достатъчен брой елементи), след което изтеглете проверен работещ образ, преди да опитвате отново онлайн.
Потвърдете също, че Float файлът не е защитен чрез права за достъп до таблицата с данни или парола, която позволява офлайн проверка, но блокира онлайн промяната. Контролерите MicroLogix 1400 от серия A и серия B поддържат онлайн редактиране, когато версиите на фърмуера и RSLogix 500 са съвместими; несъответстващите версии на инструментите могат да покажат същия текст „грешка при онлайн редактирането“ по несвързани причини. Поддържайте образ на тестов контролер, който демонстрира успешно MUL с Float операнд, за да могат техниците да го сравняват с проекта в предприятието.
Проверка и по-широки ограничения
След като редакцията бъде приета, подайте принудително няколко стойности към N7:2 и проследете или наблюдавайте както целочислената, така и Float дестинацията, ако и двете съществуват. Потвърдете, че онлайн редакцията се компилира без грешка, проверете дали MUL се изпълнява правилно по време на работа и ако точността е важна, преместете дестинацията към Float, например F8:8. Продължаващите проблеми след замяната на константите трябва първо да се възпроизведат офлайн, а след това програмата да се изтегли. Предпочитайте адресирани стойности вместо вградени константи навсякъде, където се очакват промени в движение. Поддържайте практиките за програмиране на MicroLogix документирани заедно с останалите стандарти за PLC и PAC, за да не търсят техниците Ethernet проблем, когато причината всъщност е правило за операндите.
За автора
Mark Townsend | Старши инженер по автоматизация – системи Allen-Bradley
Mark Townsend е старши инженер по автоматизация с над 18 години опит с платформи Allen-Bradley, включително ControlLogix, CompactLogix и наследената серия SLC-500. Ежедневната му работа включва логика в RSLogix / Studio 5000 и въвеждане в експлоатация на HMI системи FactoryTalk View при остарели и смесени паркове от оборудване.