Промавтоматика, ПЛК, программы и языки
https://habr.com/ru/post/197276/Цитата:
Программная начинка
Первое, что нужно сказать, программа в ПЛК выполняется циклически с определённой частотой. Возможности зависят от контроллера, обычно это где-то 20, 50, 250 мс, 1, 2, 3, 4, 5 с. Естественно, это не гарантирует выполнение кода именно за такой промежуток времени, нельзя большие программы пихать в цикл 20 мс, к началу следующего цикла предыдущий должен быть завершён.
Второе, это языки программирования. По идее программируются ПЛК на языках, определённых стандартом МЭК61131:
IL (Instruction List) — низкоуровневый ассемблероподобный язык.
LD (Ladder Diagram) — графический язык, представляет собой программную реализацию электрических схем на базе электромагнитных реле. Придумано в лохматые года для тех асушников, которые больше электрики, чем программисты.
image
IL и LD легко конвертируются друг в друга, кажется, всеми средами программирования. Они не очень читабельны, и потому неудобны для разработки, но в ситуациях, когда внутренней памяти контролера немного, приходится писать на них.
ST (Structured Text) — текстовый паскалеподобный язык. По-моему, из всех пяти самый удобный.
FBD (Function Block Diagram) — своего рода графический язык, «блоксхемоподобный». Программа составляется из функциональных блоков, которые представляют собой подпрограммы, написанные на каком-либо из языков стандарта МЭК61131. У каждого ФБ есть входы и выходы, которые соединяются со входами и выходами других ФБ. Кому-то, возможно, удобнее делать так, чем писать всё на том же ST.
SFC (Sequential Function Chart) — графический высокоуровневый язык. Создан на базе математического аппарата сетей Петри. Описывает последовательность состояний и условий переходов. Ни разу не встречал и не слышал, чтобы где-то использовался.
image
Это «по идее». Но, например, Siemens придерживается своего наименования языков, а у B&R есть возможность писать на ANSI C.
Самые используемые контроллеры, безоговорочно, у Siemens и Allen Bradley (последним, к слову, принадлежит Rockwell Automation со своей линейкой SCADA-пакетов RSView). За ними по пятам идут Schneider Electric; ОВЕН; General Electric; AutomationDirect; ICP DAS; Advantech; Mitsubishi Electric; B&R.