Просмотр полной версии : Не записываются некоторые биты СП310 и ПР200 по Modbus
Добрый день, никак не могу понять почему из некоторых окон не передаются значения из СП310 в ПР200. Так например ПР видит что я нажимаю кнопку "Пуск" (PSB401) (Окно 2) на панели, но не видит что я нажимаю переключатель с индикацией (PSB260) (Окно 1). Пробовал ставить вместо него переключатель и функциональную кнопку, пробовал менять номер бита - ни к чему не привело. По тому же принципу ничего не работает из окна номер 9. Такое ощущение что уже все перепроверил и адреса пересчитал, ничего не помогает.
kondor3000
24.05.2026, 14:37
Добрый день, никак не могу понять почему из некоторых окон не передаются значения из СП310 в ПР200. Так например ПР видит что я нажимаю кнопку "Пуск" (PSB401) (Окно 2) на панели, но не видит что я нажимаю переключатель с индикацией (PSB260) (Окно 1). Пробовал ставить вместо него переключатель и функциональную кнопку, пробовал менять номер бита - ни к чему не привело. По тому же принципу ничего не работает из окна номер 9. Такое ощущение что уже все перепроверил и адреса пересчитал, ничего не помогает.
401 бит правильно перевели, 25 регистр и бит 1,
260 не правильно перевели, 16 регистр 4 бит, такого нет вообще.
16 адрес рег.*16 + 4 номер бита =256+4=260
А вообще, биты надо упаковывать в маску бит (целое) по 16 штук и передавать, например как 25 рег., биты с 0 по 15, функцией чтения 03, запись 06
260 не правильно перевели, 16 регистр 4 бит, такого нет вообще.
16 адрес рег.*16 + 4 номер бита =256+4=260
Программу не сохранил перед тем как скинуть. Стоит 16 рег и 4 бит, все равно не передает значение. Спасибо за совет насчет маски, попробую.
А что со значениями PSW604-606 может быть? Их тоже контроллер отказывается читать, хотя PSW400-403 передает...
kondor3000
24.05.2026, 15:59
А что со значениями PSW604-606 может быть? Их тоже контроллер отказывается читать, хотя PSW400-403 передает...
В проекте что вы выложили для ПР200, таких регистров вообще нет. Для PSW604-606, адреса должны быть 604-606.
Вообще у вас всё построение обмена не правильное, слишком большой разброс адресов, адреса надо делать подряд, например PSW256-260 битовые маски, PSW261-279 целые,
PSW280 -300 Float.
Или вообще панель сделать мастером, она гораздо быстрее работает в обмене. Скорость на обмене с панелью можно сделать 115200.
Посмотрите вот этот файл, пожалуйста. Файл для СП310 тот же.
Могут ли быть проблемы с обменом если он построен без преобразования битовых значений в битовую маску? Все равно не понимаю почему у меня одни значения PSB и PSW передаются, а другие нет.
kondor3000
24.05.2026, 16:41
Посмотрите вот этот файл, пожалуйста. Файл для СП310 тот же.
Могут ли быть проблемы с обменом если он построен без преобразования битовых значений в битовую маску? Все равно не понимаю почему у меня одни значения PSB и PSW передаются, а другие нет.
Сами смотрите, передача каждого из например 32 бит занимает каждый по 100 мс, или вы передадите 2 регистра по 100 мс с теми же 32 битами.
Используя 16 и 25 регистры, вы залезаете в системные регистры панели (с 0 до 255 адреса), это плохо. Используйте уж тогда адреса с 256 и выше.
Например PSW256 бит с 0 по 15.
А вы для панели поставили 200 мс, и между запросами +20 мс тормоза сплошные.
Регистры 604-606 у вас вообще только запись стоит в панель, работать не будет, так как нужно чтение из панели.
Или вообще панель сделать мастером, она гораздо быстрее работает в обмене. Скорость на обмене с панелью можно сделать 115200.
+100500
Лично я апологет "панель-слейв", но т.к. ПР как мастер - такое себе, а как слейв - замечательно отвечает на групповые запросы, причем на 115200 1(один) регистр это 10мс, а 64 штуки сразу - 20мс, то проще всего опрашивать панелью из ПР всегда сразу 64 регистра вне зависимости заюзаны ли в проекте ПР все эти 64 или нет. Отлаженный 1 раз шаблон опроса панелью ПР - и всё. Что там за проект в ПР - кладу болт.
Ну и (лично я) пихаю ПР.512...576 в СП300.PSW[512...576]. Зачем ломать голову над сопоставительными табличками когда регистров в панели - попой ешь.
Ну и (лично я) пихаю ПР.512...576 в СП300.PSW[512...576]. Зачем ломать голову над сопоставительными табличками когда регистров в панели - попой ешь.
Отличный совет иначе сидеть писать кросс лист или листы:D
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot