Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Передача массива по Modbus TCP с контролем

   
Автор / Author Тема / Topic: Передача массива по Modbus TCP с контролем
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Задача: RTM передает массив в PLC, по одному элементу, дополнительно передает индекс элемента в массив - PLC должен восстановить массив у себя в памяти.

Протокол MOdbus.

Вопрос: как передать в PLC массив чисел, и при этом быть уверенным, что PLC данные принял верно, не считывая значение из PLC?

Иными словами, существует-ли способ узнать, что данные по Modbus доставлены адресату верно, не производя контрольные считывания тэга в PLC, куда были отправлены данные?

Использование числа Modbus тэгов по числу элементов массива нежелательно, т.к. размер массива может варьироваться и быть большим(в этом случае можно было-бы организовать групповую передачу, но это сильно увеличит количество каналов и источников, и не решает проблему контроля правильности. Вроде...).

Пока только один способ на ум приходит:
1. Отправляем число и индекс по Modbus;
2. Читаем в цикле эти же тэги, до совпадения значений с отправленными;
3. Шлем контроллеру в тэг флаг "Данные выставлены"
4. Ждем от PLC ответ (в тэге) "Данные получены"
5. Снимаем флаг "Данные выставлены";
6. Ждем снятия флага "Данные получены"
7. Цикл передачи с контролем закончен, на п. 1.

Смахивает на перевозку одной картошки "Камазом". [Пдмигивание / Wink]
Может можно проще?

З.Ы. Только не отсылайте меня к изучению спецификации на Модбас, пальцем покажите плиз [prey / молящийся] .

Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я у себя проверяю по контрольной сумме. Со скады отправляю пакет информации и в двух регистрах - контрольную сумму и счетчик запросов. На контроллере считаю сумму и сравниваю с контрольной. Если совпадает, значит данные пришли верно и в обратную связь выставляю полученный счетчик.
Скада запускает таймер и смотрит, если за отведенное время пришел нужный счетчик в обратной связи, значит данные получены, если нет то -таймаут. (кроме счетчика пересылается и код ошибок, если конфигурационные данные были неверные).

Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Как пакет отправляете?
Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я для обмена информацией выделил десяток регистров для записи и для чтения (как на скаде, так и на контроллере). В зависимости от кода команды (чтение конфигурации оборудования/сигнала/регулятора и т.п., запись конфигурации) я записываю туда нужные данные, код команды, индекс переменной/оборудования, счетчик команд и контрольную сумму.
На контроллере читаю эти регистры, считаю контрольную сумму и сравниваю с контрольной, которая пришла со скады. Если всё ОК, распихиваю значения регистров в соответствующие переменные и посылаю в обратную связь на скаду счетчик, который пришел.

Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Справка
Обмен по протоколу MODBUS TCP/IP

файл IP_modBus

<произвольное_число> CSC

отработка пакетов ответа от контроллеров, формирующих контрольную сумму во фрагменте Modbus-пакета Modbus/TCP (по стандарту в части пакета TCP, отведенного под Modbus, контрольная сумма не формируется). По умолчанию, монитор не создает эту строку в файле IP_modBus.

Пример: 2 CSC

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 14 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
AI! Спасибо! Все понятно.

Хелп изучаю, ответы на вопросы похоже нашел. Поторопился с постом. Спасибо!

Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
siver.1998
Junior Member / Новичок
Участник № / Member № 9213


Icon 1 отправлено / posted      Профиль для / Profile for siver.1998           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день. имеется проект с графическим экраном, требуется попробовать передать с другого компьютера по TCP/ip данные. Не получается передать данные, хотя атрибут А изменяет значения и обнуляется
Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Уточните, по какому протоколу из какого ПО будут передаваться данные, какие данные? Опишите более подробно.
Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2