Как начать с OPC UA - выборка и сбор данных с устройства PLC?

Предполагается, что я разработаю решение для сбора / обработки образцов с устройства PLC и работы с некоторыми контрольными метками устройства. Пожалуйста, предложите подход. Извините за длинный вопрос. Я разделю это на больше вопросов после изучения, что является меньшими и более разумными предметами / вопросами.

Решение для компании построено практически с нуля. Есть несколько устройств PLC, и есть KEPServerEx (без шлюза IoT). Устройства ПЛК уже используются с помощью стороннего программного обеспечения. Но не существует "более широкой основы" для будущего. С этой точки зрения я могу представить современный дизайн, но бюджет ограничен.

Из того, что я узнал до сих пор, кажется, что KEPServerEx является хорошим выбором для доступа к устройствам ПЛК, но у меня нет практического опыта работы с ним. Мне кажется, что OPC UA должен быть выбором по сравнению со старым OPC (DA). Я также знаю о лестничном способе работы с ПЛК.

Из того, что я узнал о "IoT Gateway" (который не будет использоваться) для KEPServerEx, KepServer может установить частоту дискретизации на уровне тега PLC. А также частота передачи данных может быть установлена ​​шлюзом IoT. Затем шлюз IoT использует внутренний (память) буфер для хранения выборочных значений, и кортежи (tagID, value, quality, timestamp) могут быть считаны и переданы третьей стороне.

Что мне не понятно, так это то, как это сделать без шлюза IoT. Я предполагаю, что это должна быть базовая операция. Является ли (tagID, value, quality, timestamp) универсальным для работы с ПЛК через любой OPC-сервер? Или он универсален только для KEPServerEx, или он особенный для плагина IoT Gateway (необязательно)?

Я узнал, что Фонд OPC недавно добавил механизм публикации / подписки в OPC UA. Требуется ли также более новая версия KEPServerEx? Или его можно использовать с любым более ранним OPC-сервером?

Я довольно опытный в программировании и баз данных. У меня также есть некоторый технический опыт работы с промышленными датчиками, приводами,... Однако я никогда не работал с цифровой автоматизацией в промышленности.

Спасибо и хорошего дня.

3 ответа

Решение

В зависимости от ПЛК, с которым вы хотите установить связь, и сети связи, по которой ваши устройства будут передавать данные, вам необходимо приобрести соответствующий пакет драйверов, чтобы KEPServerEX мог с ним связываться.

Например:

Если ваш ПЛК является ПЛК Omron NJ и находится в сети Ethernet с сервером, на котором находится KEPServerEX, вам необходимо будет использовать драйвер "Omron NJ Ethernet" в пакете пакета, который Kepware предлагает под названием "Omron Suite".

Что касается вашего вопроса о IoT Gateway:

Из того, что я узнал о "IoT Gateway" (который не будет использоваться) для KEPServerEx, KepServer может установить частоту дискретизации на уровне тега PLC. А также частота передачи данных может быть установлена ​​шлюзом IoT. Затем шлюз IoT использует внутренний (память) буфер для хранения выборочных значений, и кортежи (tagID, value, quality, timestamp) могут быть считаны и переданы третьей стороне.

Это можно сделать без шлюза IoT, используя соответствующий вышеупомянутый драйвер, а затем с помощью другого пакета драйверов отправлять данные ПЛК в любое место (клиент ODBC, база данных SQL Server и т. Д.). Это зависит от того, что вы хотите сделать с данными, которые вы получаете.

Когда вы разговариваете с конкретным устройством, вам нужно знать протокол, который использует устройство, и эти протоколы могут сильно отличаться.

Иногда производитель устройства предоставляет OPC-сервер, который защищает вас от этого или, как вы упоминаете, может использоваться сторонний сервер подключения, такой как KepServerEx или Matrikon, представляющий интерфейс OPC для вашего клиента.

Я ничего не знаю о KepServerEx или ваших конкретных требованиях, но обычно OPC-сервер имеет кэш, в котором хранятся значения, из которых клиент может прочитать данные, альтернативно считанные непосредственно с аппаратного обеспечения. Подписки могут быть настроены аналогично, например, частота, порог и т. Д.

Протокол от сервера OPC / стороннего производителя к устройству определяет частоту, с которой вы можете выбирать значения. Например, некоторые протоколы требуют опроса устройства на предмет значений, некоторые более сложны.

Если вы создаете OPC-клиент, то вы в значительной степени свободны, к какому типу OPC-сервера вы подключаетесь, независимо от того, является ли он сторонним или OPC-сервером от производителя, и клиент хранит значения, когда элементы в подписке изменяются, довольно тривиально.

Если вы знакомы с Visual Studio, то AdvancedHMI может быть возможным решением. Вы не упомянули какие-либо конкретные ПЛК, но AdvancedHMI включает в себя множество драйверов связи ПЛК как часть бесплатного пакета. Это дает вам возможность писать VB или C# для передачи значений из ПЛК в базу данных. Драйверы не являются OPC-драйверами, но предназначены для того, чтобы их было гораздо проще и эффективнее использовать.

Другие вопросы по тегам