форум асутп
 На главную                       Здесь может быть Ваша реклама, подробнее...


 Наверх  |  Перейти к теме  |  Поиск  |  Вход  |  Дерево    
 какая разница, какой протокол?
Автор: bulatt 
Дата:   16.05.18 19:32

Сообщение Bulatos » Сегодня, 15:59
Использую, например, CP441-1. Утверждается, что он не поддерживает Modbus-RTU, а только Modbus-ASCII. Мне нужен Modbus-RTU.
Мне непонятно: вот я сформирую нужную последовательность байтов, добавлю CRC и выплюну это посредством библиотечного FB8 - почему не должно работать? Добавляет ли к моей телеграмме что-нибудь CP441-1? Если да, то что? Подскажите, пожалуйста. Тогда я эту добавку просто учту в подсчете CRC.
Еще проблема (см.фото во вложении):
- почему у CP441-1 только Input-адрес, и почему он один, а не диапазон (менял стартовый, но за ним меняется и End-вый)?
- почему нет Output-адресов?
- задаю в программе Степ-7 в блоке FB8 LADDR=8191, в диагностическом буфере ошибка, и адрес указан 8201. Откуда он?
В чем ошибка, и что делать?

Адрес этого сообщения    Ответить на это сообщение
 
 Re: какая разница, какой протокол?
Автор: indian 
Дата:   17.05.18 10:16

всегда лучше посмотреть пример. С умершего форума сименс давно-давно сохранил для себя, но мне не пригодилось.

http://gofile.me/400mr/GjnZY1dD4

Автор примера этого Илья из Северсталь. Проекту не нужно лицензионных ключей.
Есть ещё рабочий проект финского станка где реализован протокол Modbus-RTU подобный Omron. Если этого будет недостаточно.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: какая разница, какой протокол?
Автор: Miden 
Дата:   18.05.18 10:37

bulatt писал(а):
> Сообщение Bulatos » Сегодня, 15:59
> Использую, например, CP441-1. Утверждается, что он не поддерживает Modbus-RTU, а
> только Modbus-ASCII. Мне нужен Modbus-RTU.
> Мне непонятно: вот я сформирую нужную последовательность байтов, добавлю CRC и
> выплюну это посредством библиотечного FB8 - почему не должно работать? Добавляет
> ли к моей телеграмме что-нибудь CP441-1? Если да, то что? Подскажите,
> пожалуйста. Тогда я эту добавку просто учту в подсчете CRC.
> Еще проблема (см.фото во вложении):
> - почему у CP441-1 только Input-адрес, и почему он один, а не диапазон (менял
> стартовый, но за ним меняется и End-вый)?
> - почему нет Output-адресов?
> - задаю в программе Степ-7 в блоке FB8 LADDR=8191, в диагностическом буфере
> ошибка, и адрес указан 8201. Откуда он?
> В чем ошибка, и что делать?

Выставляете в хардваре Modbus-ASCII, а телеграммы формируете как RTU. Мной проверена данная ситуация на CP341 & LMV51(данный менеджер горения не поддерживает Modbus-ASCII, только RTU). Работает замечательно.
СР441 ничего не добавляет в телеграмму. Есть чётко определённый макет телеграммы. Никаких "добавлений" в телеграммах быть не должно иначе работать не будет.
https://ipc2u.ru/articles/prostye-resheniya/modbus-rtu/
Насчёт адреса зачем Вам замарачиваться? Блокам P_RCV_RK и P_SND_RK на входе нужен адрес типа INT. Подсовываете им стартовый адрес из хардвары.
Насчёт ошибки - там нюансов куча. Параметры модуля в хардваре, время обработки в программе, правильность формирования телеграммы, правильность построения физической линии, настройки и возможности слэйва, время между телеграммами и т д.
Потренируйтесь для начала на программном слейве ModbusPoll под виндой с конвертером USB-RS[xxx].Посмотрите правильность телеграмм на нём, а затем переходите на физический слэйв. Если слёту ничего не получилось - так Вы потеряете меньше времени, а как вариант и вообще возможность.
Для CP441 вы купили загружаемый драйвер или хотите работать без него? У меня CP341 работают без dongle.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: какая разница, какой протокол?
Автор: Miden 
Дата:   18.05.18 10:55

В хардваре у Вас всё настроено? Имеется ли кнопка "Parameters" при выборе свойств комуникационника?
https://ibb.co/iow8ty

Адрес этого сообщения    Ответить на это сообщение
 
 Re: какая разница, какой протокол?
Автор: bulatt 
Дата:   19.05.18 06:45

у меня есть опыт работы с СР341. По мануалам он поддерживает Модбас-РТУ. Я тоже без всяких донглов справился. Но СР441-1 не поддерживает Модбас-РТУ. А только ASCII. Что это значит?
Вообще, "чистые", без всяких загружаемых драйверов коммуникационники сами что-то делают с заданной телеграммой? Добавляют, преобразуют заданную цепочку байтов? Если нет, то можно обойтись любым СР, просто написав самому все по правилам нужного протокола?
Я ввел в Хардваре СР441-1, установил его параметры: ASCII, RS485, оставил по умолчанию что-то про стартовые/стоповые биты и пр. Затем зашел в NetPro, создал PtP-коннект с неизвестным партнером, оставил предложенный по умолчанию ID=W#16#1000. Загрузил ПЛК. В программе использовал блок SFC12 (SEND), специально предназначенный для СР441. Создал ДБ с цепочкой байтов и CRC. Загрузил, все работает без ошибок (в диагностическом буфере). Только редко мигает на СР441-1 лампа FOULT 1 (может, чувствует, что обрыв на линии?), а лампа TX не мигает. Проверил осциллографом сигнал - нету его.
Непонятным осталось, какой модбас-адрес у моего устройства? Нигде его не задать.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: какая разница, какой протокол?
Автор: Miden 
Дата:   19.05.18 11:28

bulatt писал(а):

> у меня есть опыт работы с СР341. По мануалам он поддерживает Модбас-РТУ. Я тоже
> без всяких донглов справился. Но СР441-1 не поддерживает Модбас-РТУ. А только
> ASCII. Что это значит?
> Вообще, "чистые", без всяких загружаемых драйверов коммуникационники сами что-то
> делают с заданной телеграммой? Добавляют, преобразуют заданную цепочку байтов?
> Если нет, то можно обойтись любым СР, просто написав самому все по правилам
> нужного протокола?
> Я ввел в Хардваре СР441-1, установил его параметры: ASCII, RS485, оставил по
> умолчанию что-то про стартовые/стоповые биты и пр. Затем зашел в NetPro, создал
> PtP-коннект с неизвестным партнером, оставил предложенный по умолчанию
> ID=W#16#1000. Загрузил ПЛК. В программе использовал блок SFC12 (SEND),
> специально предназначенный для СР441. Создал ДБ с цепочкой байтов и CRC.
> Загрузил, все работает без ошибок (в диагностическом буфере). Только редко
> мигает на СР441-1 лампа FOULT 1 (может, чувствует, что обрыв на линии?), а лампа
> TX не мигает. Проверил осциллографом сигнал - нету его.
> Непонятным осталось, какой модбас-адрес у моего устройства? Нигде его не задать.
Лампа Tx должна мигать даже при обрыве. У меня есть пример проекта от автора Novomet. В нём есть
 6ES7441-1AA03-0AE0. Я использовал этот пример для своих СР341. В этом исходнике помоему нет  некоторых функций. Свой код я сам допиливал. Могу отправить его пример на почту, давайте адрес.
Но работоспособность его кода именно с СР441-1 я не проверял. Нет такого железа.
https://ibb.co/iX3So8

На будущее всем остальным советую вместо комуникационников Siemens СР341/441 использовать конвертеры Profibus/Modbus. В разы дешевле и на порядок проще.
https://ipc2u.ru/catalog/mgate4101-mb-pbs
https://f.ipc2u.ru/files/add/doc/8a5/MGate_4101-MB-PBS_Users_Manual_v3.pdf

Адрес этого сообщения    Ответить на это сообщение
 Список форумов    


 Список форумов  |  Нужен логин? Регистрируйтесь здесь 
 Логин пользователя
 Имя пользователя:
 Пароль:
 Помнить пароль:
   
 Забыли ваш пароль?
Введите имя пользователя или e-mail, и новый пароль будет послан на email, указанный в вашем профиле.

Рейтинг@Mail.ru