Это будет несколько отличаться в зависимости от используемого вами языка, платформы и типа ПЛК.Общий интерфейс выглядит следующим образом:
communication OPC/COM/
protocol OLE/ETC
[PLC] <-----------> [tag/data server] <-------> [YourGUIApp]
Общая идея заключается в том, что ПЛК имеет рабочий набор памяти для битов, слов и других типов данных.Через некоторый протокол связи (Modbus, FINS, KSequence и т. Д.) Локальная системная служба на вашем HMI / ПК сохранит локальный образ определенного, определенного пользователем, набора областей памяти в ПЛК, из которого ваше приложение должно либо прочитатьили напишите.С сервером будет связана библиотека разработки, которую вы можете импортировать в свой проект и использовать для доступа к ПЛК через эту локальную службу.
Обычно у вас есть некоторые средства для чтения из областей памяти в ПЛК, записи вих, и многие библиотеки также могут вызывать события, например, при изменении данных, поэтому все, что вам нужно сделать, это подключить событие и захватить данные для каждой интересующей точки данных.
К сожалению, пока вы не выбралиПЛК и язык может быть трудно выбрать оптимальную структуру для ваших данных.В том, как работает вышеупомянутый процесс между производителями, есть немало различий.Не зная этого, я думаю, что вы можете создавать любые структуры, которые вам нравятся, в вашем приложении, вам просто может понадобиться добавить еще один слой в какой-то момент, чтобы сделать последний шаг между вашей структурой данных и вызовом библиотеки PLC.В конце концов, вы просто передаете простые переменные туда и обратно - логические, целые числа, числа с плавающей точкой и т. Д.