Отправить сообщение TCP / IP с ПЛК на ПК с помощью программы Ladder - PullRequest
3 голосов
/ 25 февраля 2012

Рассмотрим следующую лестничную программу, которая проверяет, включено ли соединение (A202.00), а затем отправляет сообщение из ПЛК на ПК.

ladder program

В документации (Omron CX-Programmer) отсутствует серьезное объяснение соглашения о программе. То, что я не понимаю, это:

  1. Чтобы отправить сообщение с узла на узел. Мне нужно указать идентификатор получателя. Кажется, что функциональный блок не имеет опции, где я могу вставить IP-адрес. Я должен MOV IP-адрес на DM адрес (D300), а затем использовать его? Если это так, как (IP-адрес имеет точки между 4 байтами ..)?

  2. Может кто-нибудь объяснить, что такое S ( Первое исходное слово ), D ( Первое слово назначения ) и C ( Первое контрольное слово ). Разве они не просто адрес памяти? Например. отправлять содержимое адреса памяти на другой адрес памяти?


[EDIT]

Что я пытаюсь сделать?

Я пытаюсь связать измерительный прибор (управляемый через Ethernet с помощью приложения PC / C #) с роботизированной системой (без RS232 или последовательного порта, без TCP / IP, имеет только самые простые точки ввода / вывода) с ПЛК Omron. Когда датчик завершает измерение, приложение C # отправляет команду в ПЛК Omron, которая в соответствии с полученной командой включает или выключает выход, который запускает подачу напряжения на порт ввода / вывода робота.

Должен ли я использовать FINS? Какие функции / протокол от ПЛК мне нужно знать, чтобы сделать это? Я не знаю, поэтому я тестирую каждую функцию из документации. Пока что нулевой прогресс.

1 Ответ

3 голосов
/ 25 февраля 2012

1) Вся адресная информация заключена в пять контрольных слов (C -> C + 4). C- «Первое управляющее слово» - это указатель на первое слово в этой таблице из пяти слов, которые вы должны хранить где-то в вашем ПЛК для настройки связи.

2) Первое исходное слово указывает на первое слово в вашем ПЛК, которое вы хотите отправить. Первое слово назначения указывает на первый адрес в ПЛК / устройстве, на которое вы хотите отправить. В этом примере первое контрольное слово указывает, что 10 слов должны быть отправлены. Вы указываете на первый, и он также отправит этот плюс следующие девять адресов.

Для этого вам нужно использовать FINS-связь - ПК хранит структуру памяти, аналогичную ПЛК (CIO, DM и т. Д.), Называемую Event Memory, и это адреса в ПК, на которые вы указываете. ПК получает номер и адрес узла FINS так же, как и ПЛК - IP-адреса не задействованы. (см .: Руководство по FINS ) Однако FINS устарела и была заменена такими вещами, как Sysmac Gateway.

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

Редактировать:

Если вы используете C #, я настоятельно рекомендую вам ознакомиться с Sysmac Gateway и CX-Compolet. Это, пожалуй, самый гибкий, простой и расширяемый способ работы .NET с ПЛК Omron. Однако, если это вообще возможно, лучшим способом может быть даже непосредственное взаимодействие измерительного устройства с ПЛК через аппаратный ввод / вывод (реле, DIO и т. Д.).

CX-Compolet, ссылка на Sysmac Gateway:

http://www.ia.omron.com/product/family/63/index_l_u.html

...