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).