Как вы передаете сообщения на ПЛК

У меня нет никакого опыта работы с ПЛК, но для следующего проекта, которым я буду заниматься, мне нужно будет разработать приложение, которое будет обмениваться данными с ПЛК. По сути, я получу XML-сообщение, которое я должен переслать в ПЛК. Я не буду заниматься разработкой кода ПЛК, но я хотел бы понять, как я могу проектировать структуры данных ПЛК (насколько это возможно максимально похоже на схему xml) и отправлять сообщения в ПЛК.

Язык программирования приложения еще не выбран, поэтому подойдет пример на любом языке.


person Coen    schedule 23.02.2012    source источник


Ответы (1)


Это будет несколько отличаться в зависимости от используемого языка, платформы и типа ПЛК. Общий интерфейс выглядит так:

      communication                    OPC/COM/
        protocol                       OLE/ETC
[PLC] <-----------> [tag/data server] <-------> [YourGUIApp]

Общая идея состоит в том, что ПЛК имеет рабочий набор памяти для битов, слов и других типов данных. Через какой-либо коммуникационный протокол (Modbus, FINS, KSequence и т. д.) локальная системная служба на вашем ЧМИ/ПК будет сохранять локальный образ определенного, определяемого пользователем набора областей памяти в ПЛК, из которых ваше приложение должно либо считывать или написать в. С сервером будет связана библиотека разработки, которую вы можете импортировать в свой проект и использовать для доступа к ПЛК через эту локальную службу.

Обычно у вас есть какие-то средства для чтения из ячеек памяти в ПЛК, записи в них, и многие библиотеки также могут вызывать события, например, при изменении данных, поэтому все, что вам нужно сделать, это подключиться к событию и получить данные для каждого точки интереса данных.

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

person J...    schedule 24.02.2012