
Международный стандарт IEC 61131-3 определяет языки программирования для программируемых контроллеров (они же программируемые логические контроллеры, или ПЛК), включая схема лестницы (LD), структурированный текст (ST), функциональный блок (FB), список инструкций (IL), и последовательная функциональная диаграмма (SFC). Из них список инструкций и структурированный текст считаются текстовыми языками, что означает, что они используют текст, цифры и знаки препинания — подобно естественному языку, — в то время как другие считаются графическими, использующими символы и визуальные взаимосвязи для указания инструкций. МЭК представила этот стандартный набор языков для ПЛК, чтобы предоставить программистам набор языков, которые могут работать практически с любым приложением, сохраняя при этом независимость от поставщика программного обеспечения.
Обратите внимание, что диаграмма последовательных функций (SFC) технически не является языком, а скорее графическим средством разделения кода и визуального отображения состояния или режима работы машины.
Список инструкций был одним из первых языков программирования ПЛК, наряду с лестничной логикой. Язык списка команд считается языком низкого уровня, что означает, что он очень близок к машинному коду — двоичному языку, который непосредственно выполняется центральным процессором компьютера. При использовании языка списка инструкций каждая инструкция или машинная команда помещается в новую строку. (Этот метод размещения команд в сложенных строках иногда называют “логическим решателем на основе стека”, аналогичным тому, который используется в Логика RPN на некоторых калькуляторах.) Инструкции состоят из операторов, операндов и модификаторов, использующих мнемонику для операторов (например, “A” для “и” или “MOV” для “переместить”).
Преимущество языков низкого уровня, включая список инструкций, заключается в том, что они очень быстры и эффективны — особенно по сравнению с графическими языками — и потребляют меньше памяти. По этой причине язык списков команд обычно используется в таких приложениях, как контуры управления, которые требуют очень высокой скорости обработки.
Однако программы со списком инструкций могут быть подвержены ошибкам во время выполнения, и они могут вызывать бесконечные циклы или недопустимые арифметические операции. Однако самое главное, что в современных производственных условиях персонал, отличный от программистов, включая инженеров по техническому обслуживанию и электриков, должен уметь устранять неполадки в оборудовании, включая элементы управления и программы. И хотя язык списка инструкций очень удобен для программистов, без специальной подготовки по этому языку очень сложно анализировать код и устранять неполадки.
Другими словами, персонал службы поддержки должен быть специально обучен языку списков инструкций, что просто непрактично, особенно когда существуют другие языки (особенно графические), которые могут решать те же приложения и проблемы и более удобны для непрограммистов.
С этой целью выпуск 3.0 технического отчета IEC TR 61131-8 (ноябрь 2017), Измерение и управление промышленными процессами — Программируемые контроллеры – Часть 8: Руководство по применению и внедрению языков программирования, отмечает, что в стандарте IEC 61131-1:2013 язык списка инструкций обозначен как устаревший (не рекомендуется использовать) для следующего выпуска стандарта. Заявленная комитетом причина такого отказа указывает на то, что “язык, подобный ассемблеру, не является актуальным в современных средах разработки”.
Исследование этого редактора показывает, что список инструкций уже довольно давно не был популярным языком программирования ПЛК, поскольку он редко используется в современных приложениях для управления движением. Это ограниченное использование, наряду с его осуждением IEC, означает, что производители аппаратного и программного обеспечения для ПЛК вполне могут прекратить поддерживать программирование списков команд в будущих версиях своих продуктов.
Автор изображения: RealPars
Вам также может понравиться:
Свежие комментарии