2012-03-01 2 views
0

Я хотел бы иметь возможность общаться с контроллерами ПЛК, чтобы я мог отправлять и получать пользовательские команды в ПЛК.Имейте контроллер ПЛК Слушать/отправлять пользовательские пакеты TCP?

Мое желание сделать это состояло в том, чтобы на ПЛК был прослушиватель TCP, который мог читать TCP-входящие пакеты на определенном порту и выполнять процедуры на основе команд в пакетах. Он также может отправлять информацию через TCP/IP.

Это позволило бы мне написать программное обеспечение на нескольких языках, таких как C#, PHP, JavaScript и т. Д., Чтобы программное обеспечение можно было использовать на любой платформе, такой как Windows, iOS, Android и т. Д. Для выдачи команд в ПЛК. Это также означает, что вам не нужно программное обеспечение ПЛК (которое может быть дорогостоящим) для просмотра или управления ПЛК.

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

Спасибо.

ответ

1

Звучит немного как изобретать колесо. Вы хотите сделать что-то вроде KepServerEX?

http://www.kepware.com/kepserverex/

Есть также две вещи, которые необходимо учитывать - один является способность взаимодействовать с PLC для обмена данными (например: для пользовательского HMI), а другой для программирования ПЛК. Для последнего вам все еще требуется программное обеспечение для управления от производителя, если вы не захотите перепроектировать и перезаписать его с нуля.

Имейте в виду, что ПЛК работают не так, как это делает другое программное обеспечение. Нет никаких функций или процедур или классов или объектов или даже действительно никаких «команд», как таковых. ПЛК - это система, которая выполняет непрерывную фиксированную программу, в основном, с логическими правилами и вычислениями. Типичный интерфейс для HMI включает в себя чтение и запись непосредственно в/из логических бит и данных слова (то есть: местоположения аппаратной памяти), которые представляют текущее состояние устройства. OPC уже делает это просто отлично, поэтому я не совсем уверен, что вы собираетесь делать.

Если вы ищете недорогое/свободной альтернативой полной коммерческой упаковке, что-то здесь может работать для вас:

http://www.opcconnect.com/freesrv.php

+0

Возможно, это подходит. Я понимаю, что вы должны написать программу в C# для связи с KEPServerEX, и это будет связываться с ПЛК? Возможно ли, однако, не использовать стороннее программное обеспечение, поэтому нет никаких затрат и строго говорить с ПЛК с пользовательскими сообщениями TCP? – Fase

+0

Я уверен, что это возможно, если вы хотите пытать себя или делать это как академическое упражнение, но я сомневаюсь, что вы могли бы найти экономичный способ сделать это - это, конечно, стоило бы намного больше времени для разработчиков, чтобы переписать все, а не чем просто купить надлежащее решение, которое уже придерживается стандартов OPC. Вообще говоря, если вам нужна мощность промышленного ПЛК, то стоимость программного обеспечения, вероятно, должна быть минимальной по сравнению с риском простоя и сбоя оборудования и других капитальных затрат. $ 2k - это арахис, когда вы говорите о> 1 млн. Единиц оборудования ... –

+0

Управление, которое я хочу по ПЛК через TCP, минимально. Например, я могу только хотеть, чтобы ПЛК мог прослушивать пару TCP-сообщений, таких как запуск и остановка. Поэтому кажется, что излишне иметь сервер, который работает для связи с одним ПЛК, который должен знать только несколько сообщений. – Fase

0

Если я правильно понимаю, когда речь идет о «Run/Stop» вы имеете в виду, что ПЛК «Старт» или «Стоп» сканирует код и обновляет его ввод-вывод. Если это так, было бы идеально добавить бит Scan_If_On (который будет записан командой TCP) в параллельном соединении с бит «Пуск», управляемым HMI. Таким образом, будут созданы две формы «Запуск» процесса, управляемого ПЛК. HMI и TCP.

 Смежные вопросы

  • Нет связанных вопросов^_^