- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
CP 341-RS422/485 и MODBUS ASCI
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
CP 341-RS422/485 и MODBUS ASCI
Коллеги добрый день. У меня возникли проблемы при опрашивании прибора "Сталь4" через CP341 фирмы Unimat. Использую S7-300 и CP 341 по протоколу modbus ASCI. У CP341 нет никого ключа, мне сказали использовать его как свободно программированный. Для связи с прибором использую блоки P_send_rk и P_RCV_rk. В железе в параметрах выбрал ASCI, скорость итд. Рассчитал посылку и закинул в блок. Посылка рассчитана правильно, т.к получилось соединиться с этим прибором через другое устройство с этой же посылкой. Сама CP 341 никак не реагирует, никакой индикации не выдает. В статусе в блоке P_Send_RK пишет ошибку 0301. Саму работу блоков P_send_RK/ P_RCV_RK брал с работающего проекта, но по протоколу modbus RTU.Кто нибудь сталкивался с работай CP 341 по протоколу modbus ASCI? Подскажите, что нужно сделать. Документацию на соединение по протоколу MODBUS ASCI я не нашел.Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
CP 341-RS422/485 и MODBUS ASCI
Посмотрите здесь:Dmitriy1983 писал(а): ↑08 фев 2023, 16:49 Документацию на соединение по протоколу MODBUS ASCI я не нашел.
https://cache.industry.siemens.com/dl/f ... _en-US.pdf
И на форуме Siemens:
https://support.industry.siemens.com/fo ... cal/162478
-
- здесь недавно
- Сообщения: 35
- Зарегистрирован: 02 фев 2023, 10:38
- Имя: Владимир
- Страна: РФ
- город/регион: Восьмипалатинск
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
CP 341-RS422/485 и MODBUS ASCI
Что касается настроек самого модуля, то для параметра "Character Delay Time" советую ориентироваться на следующие значения:
Transmisson rate / Character Delay Time
300 bps / 130 ms
600 bps/ 65 ms
1200 bps / 32 ms
2400 bps / 16 ms
4800 bps / 8 ms
9600 bps / 4 ms
19200, 57600, 76800 bps / 2 ms
Далее по работе самого модуля. Отладка обмена должна состоять из двух этапов:
1) проверка корректности обмена CPU-CP;
2) проверка корректности передачи данных пользователя.
В Вашем случае отсутствие реакции модуля свидетельствует об ошибках параметризации экземпляра P_SND_RK. Если есть возможность, покажите онлайн значения экземплярного блока данных для данного FB, а именно параметры "LADDR", "DB_NO", "DBB_NO", "LEN".
Transmisson rate / Character Delay Time
300 bps / 130 ms
600 bps/ 65 ms
1200 bps / 32 ms
2400 bps / 16 ms
4800 bps / 8 ms
9600 bps / 4 ms
19200, 57600, 76800 bps / 2 ms
Далее по работе самого модуля. Отладка обмена должна состоять из двух этапов:
1) проверка корректности обмена CPU-CP;
2) проверка корректности передачи данных пользователя.
В Вашем случае отсутствие реакции модуля свидетельствует об ошибках параметризации экземпляра P_SND_RK. Если есть возможность, покажите онлайн значения экземплярного блока данных для данного FB, а именно параметры "LADDR", "DB_NO", "DBB_NO", "LEN".
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
CP 341-RS422/485 и MODBUS ASCI
Добрый день. В приложение скрины.
Отправлено спустя 5 минут 18 секунд:
в LEN пробовал ставить 6, 17, сейчас 15
Отправлено спустя 5 минут 18 секунд:
в LEN пробовал ставить 6, 17, сейчас 15
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 35
- Зарегистрирован: 02 фев 2023, 10:38
- Имя: Владимир
- Страна: РФ
- город/регион: Восьмипалатинск
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
CP 341-RS422/485 и MODBUS ASCI
Первый момент, справочный: режим модуля ASCII не принуждает Вас использовать протокол Modbus ASCII. Т.е. Вы вполне можете формировать посылку и в формате Modbus RTU (это касательно +30h и спец. символов начала и конца пакета данных в DB для передачи).
Второй момент, касательно ошибки: судя по скринам, все параметры обмена указаны верно, за исключением указания режима работы CP передача/выборка (Send/Fetch). Вы указали 's', что не равнозначно 'S'. Описание ошибки тому подтверждение: "Неверен байт или бит меркеров межпроцессорных коммуникаций или для FB P_SND_RK не выбран ни режим 'S' ни режим 'F'"
Второй момент, касательно ошибки: судя по скринам, все параметры обмена указаны верно, за исключением указания режима работы CP передача/выборка (Send/Fetch). Вы указали 's', что не равнозначно 'S'. Описание ошибки тому подтверждение: "Неверен байт или бит меркеров межпроцессорных коммуникаций или для FB P_SND_RK не выбран ни режим 'S' ни режим 'F'"
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
CP 341-RS422/485 и MODBUS ASCI
Еще раз здравствуйте, спасибо за указание на ошибку. Поменял 's' на 'S', ошибка ушла. Замерцала TX и блок на выходе стал выдавать DONE. Но блок P_RCV_RK ничего не выдает, RX не мигает, Статус 0. Может и там, я что-то не так сделал. Скрины в вложении. Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 35
- Зарегистрирован: 02 фев 2023, 10:38
- Имя: Владимир
- Страна: РФ
- город/регион: Восьмипалатинск
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
CP 341-RS422/485 и MODBUS ASCI
Т.к. P_RCV_RK является инструментом доcтавки данных между CP и CPU, его возможные ошибки не являются причиной отсутствия обмена (хотя, на первый взгляд, у Вас спараметрировано все верно на скрине).
В данной ситуации следует добиться физического ответа ведомого устройства и, соответственно, мигания светодиода RX. Я бы предложил следующую последовательность проверки:
1) Проверить корректность распиновки кабеля на разъеме CP341 и физическую линию до ведомого устройства;
2) Проверить согласованность портов Modbus устройств;
3) Проверить корректность передаваемых данных от CP341, подключившись к линии RS-485 на стороне слейва сторонним монитором через COM-порт;
4) Подключить в линию RS-485 эталонное мастер-устройство с работающим обменом, которое Вы упоминали ранее, предварительно отключив вызов блока P_SND_RK в программе, и добиться получения корректных данных обмена между эталонным мастером и слейвом в режиме эха, вызывая в программе блок P_RCV_RK.
В данной ситуации следует добиться физического ответа ведомого устройства и, соответственно, мигания светодиода RX. Я бы предложил следующую последовательность проверки:
1) Проверить корректность распиновки кабеля на разъеме CP341 и физическую линию до ведомого устройства;
2) Проверить согласованность портов Modbus устройств;
3) Проверить корректность передаваемых данных от CP341, подключившись к линии RS-485 на стороне слейва сторонним монитором через COM-порт;
4) Подключить в линию RS-485 эталонное мастер-устройство с работающим обменом, которое Вы упоминали ранее, предварительно отключив вызов блока P_SND_RK в программе, и добиться получения корректных данных обмена между эталонным мастером и слейвом в режиме эха, вызывая в программе блок P_RCV_RK.
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
CP 341-RS422/485 и MODBUS ASCI
Доброе утро. Тема закрыта, все заработало. После подключения в линию RS-485 через мастер устройство, стало понятно в чем проблема. В блоке P_SND_RK, во входе LEN необходимо ставить длину посылки в байтах. И после исправления помог рестарт ЦПУ. Спасибо всем причастным.