Где мне нужно писать логику для чтения значений? OPC-сервер или клиент?
В OPC UA под сервером обычно подразумевается устройство или компонент, который передает данные клиентам OPC UA. В вашем случае OPC UA Server - это SIMATIC S7. Затем клиент OPC UA используется для считывания значений переменных с этого сервера.
Для целей отладки и проверки вы можете использовать, например, бесплатный (коммерческий) инструмент UaExpert ,Вы можете использовать его только для просмотра текущих данных сервера, вы не можете использовать его для программирования своей логики вокруг него.
Наконец, чтобы ответить на ваш вопрос: вам нужно использовать OPC UA Client SDK для чтениязначения с сервера OPC UA и реализуйте свою собственную логику вокруг него. Доступны коммерческие стеки OPC UA и стеки с открытым исходным кодом. Список стеков с открытым исходным кодом можно найти здесь: OPC UA-стеки с открытым исходным кодом .
Я знаю, что стек open62541 может подключаться к Simatic S7 и может читать значения из переменнойузлы.
Я собираюсь использовать NODE-OPC-UA. Существует ли какой-либо графический интерфейс OPC-клиента с открытым исходным кодом?
Графический интерфейс OPC-клиента является довольно общим термином. Какова ваша цель для графического интерфейса? Если вам просто нужно это для отладки и проверки, используйте UaExpert . Поскольку OPC UA - это просто определение Framework и Protocol, вам необходимо самостоятельно программировать логику, лежащую в основе значений. В настоящее время в действительности нет универсального графического интерфейса OPC UA, с помощью которого вы можете легко определить свою собственную логику в качестве клиента OPC UA. Для этого используйте любой клиентский SDK OPC UA.
Как написать собственный сервер OPC для ПЛК, на который нет жалобы OPC UA?
Этот вопрос не можетответить на общий способ. Это сильно зависит от того, какое оборудование ПЛК вы используете. Например, возможно ли напрямую поместить свою собственную программу в ПЛК? Он полностью закрыт и вам нужно использовать интерфейс полевой шины для связи с ПЛК?
Общим решением для этого будет внедрение сервера OPC UA на внешнем устройстве, например на ПК. Этот ПК напрямую связан с ПЛК. Внутри вашей реализации вам необходимо реализовать связь с ПЛК, а затем отобразить полученные значения ПЛК в переменные сервера OPC UA Server. Таким образом, ваш сервер OPC UA действует как шлюз.