Языки программирования общего назначения (IEC 61131-3)

IEC 61131-3 — это будущее индустрии промышленной автоматизации, которые превосходят традиционные ПЛК IEC 61131-3.
Использование языка программирования общего назначения для разработки приложений позволяет пользователю интегрировать множество различных источников информации, встроить которые в противном случае было бы трудным или невозможным. Это позволяет масштабировать систему почти как угодно. Вы можете спроектировать систему контроля производства деталей, работающую с собственными алгоритмами компьютерного зрения, или гиперконвергентную систему, работающую с несколькими такими системами контроля, и обмениваться данными с базой, отслеживающей запасы материалов и готовые детали.

Поскольку API RapidCode, используемый в IEC 61131-3, написан на C++, вы можете запускать его на стандартном готовом вычислительном оборудовании непосредственно в Windows или с помощью удаленных вызовов процедур в любой системе, поддерживающей gRPC. Таким образом, возможно спроектировать систему так, как необходимо. Это API может взаимодействовать с системами машинного зрения, аналитикой, базами данных, другими системами и локальной сетью.

Поскольку API RapidCode является API C++, можно использовать SWIG для создания файлов интерфейсов для вызова API C++ из любого языка, который поддерживает SWIG. Сгенерированные файлы интерфейса загружают dll RapidCode и передают вызовы функций с выбранного разработчиком языка в dll C++. В настоящее время там поддерживается C++, C# и Python, но этот список постоянно расширяется.

В дополнение существующим API-интерфейсам, созданным на C++ и SWIG, в RapidCode пользователям предоставляется сервер gRPC, который может работать как в Windows, так и в ОСРВ INtime, и его дополнительный интерфейс буфера протокола RapidCodeRemote. Хотя gRPC хорошо подходит для микросервисов, обычно используется аспект удаленного вызова процедур gRPC. Сервер gRPC представляет собой единый контроллер движения, к которому клиент может подключиться, чтобы напрямую вызывать команды для программирования своих приложений. Поскольку предоставляется также и интерфейс буфера протокола, то можно генерировать клиентский код на любом языке, поддерживаемом буфером протокола. В настоящее время Google предоставляет первую поддержку для C++, Java, Go, Ruby, C# и Python со сторонними реализациями для C, Haskell, Perl, Rust и многих других ( https://github.com/protocolbuffers/protobuf/blob ). /main/docs/first_party.md).

5 языков IEC 61131-3

По состоянию на октябрь 2022 года в топ-5 языков с приблизительной долей мирового «рынка» входят Python (17%), C (15%), Java (13%), C++ (10%), C# (4%). За исключением C, всё это «современные» объектно-ориентированные языки. С компетентными программистами язык не имеет значения, но, при разработке промышленных приложений с использованием актуальных методов (которые часто поддерживаются современными языками), разработчики смогут сразу же взяться за дело. Вместо нового программирования, требующего дополнительного времени для изучения любого из 5 языков IEC 61131-3 (лестничная диаграмма (LD), последовательная блок-схема (SBD), структурированный текст (ST), список инструкций (IL), последовательная функциональная схема (SFC) ) они могут тратить больше времени на изучение дизайна систем, над которыми они работают.

Огромным преимуществом использования любого из этих современных языков является наличие невероятно мощных интегрированных сред разработки (IDE) для программирования. Независимо от того, используете ли вы Visual Studio от Microsoft ( quickstart ) или VS Code, IntelliJ от Jet Brain, эти IDE позволяют вам быстро просматривать синтаксические ошибки, автодополнять доступные функции и классы, просматривать документацию, анализировать и выявлять распространенные шаблоны и ошибки, выполнять рефакторинг функций и классов, разрабатывать и выполнять тесты и отслеживать изменения в системе управления версиями, а также ожидаемую установку точек останова и проверку переменных.
Каждая из этих функций помогает программистам разрабатывать чистый код без ошибок. По мере того, как системы и программное обеспечение становятся больше и сложнее, всё более важно сократить время, затрачиваемое на отладку и отслеживание ошибок, а также на выявление проблем, которые неизбежно возникнут.

Современное программирование ПЛК

Спроектировать простой ПЛК нетрудно, но по мере роста сложности системы увеличение функциональности ПЛК и добавление дополнительных команд становится все труднее. Коммуникация теперь является чем-то, что необходимо учитывать. Ошибки становится все труднее обнаружить. Внесение изменений после производства невозможно без физического доступа к рассматриваемой системе. Для производства требуются определенные компоненты, которые, если у вас есть проблемы с цепочкой поставок, могут создать серьезные проблемы с логистикой.
Решение производственных проблем с помощью ПО не обязательно проще и, конечно, не является панацеей, но программирование ПЛК с использованием современных языков программирования устраняет эти проблемы, по крайней мере, в этом одном аспекте системы.
Made on
Tilda