Просмотр полной версии : переменные BOOL в ПР100 и СП310
KonstantinS
05.08.2026, 12:40
89970899718997289973899748997589976
Добрый день! Пытаюсь организовать связь по 485 Modbus между ПР100 и СП310, где ПР100 мастер, а СП310 слейв. Передача чисел в формате integer проблем не вызвала, однако не получается передать значение в BOOL, например результат переключения переключателя на экране. Изначально проверил через Master OPC, связь работала, значение COIL адрес 256 переключается, но когда мастером выступает ПР100 не могу добиться переключения сетевой переменной BOOL, с integer проблем нет.:confused:
МихаилГл
05.08.2026, 12:45
А вы используйте для булей интеджер. Это грубо говоря 16 или 32 Буля в одном слове. И про коил функцию 05 забудьте
Евгений Кислов
05.08.2026, 12:46
Добрый день.
В вашем случае в OwenLogic для input1 нужно настроить "регистр = 16, бит = 0".
89977
https://owen.ru/downloads/rp_owen_logic.pdf
kondor3000
05.08.2026, 14:04
Пример передачи и приёма бит из панели, маска бит передаётся целым числом, на скрине передача 3 бит (с 0 по 2 бит) 89978
в одном регистре можно передать до 16 бит, можете сами доделать по аналогии.
Макрос SelChgI из менеджера компонентов.
KonstantinS
05.08.2026, 16:42
тогда для адреса 257 в СП310 должен соответствовать в ПР100 адрес 16 бит 1
для 258 адрес 16 бит 2 ?
МихаилГл
05.08.2026, 17:16
тогда для адреса 257 в СП310 должен соответствовать в ПР100 адрес 16 бит 1
для 258 адрес 16 бит 2 ?
Ну вам Евгений так и ответил. Зачем вы переспрашиваете? Что за недоверие?
PS Если вы про следующие биты, то да...
PS2 Читаю снова и снова ваш вопрос... В пр бит 256, в сп регистр 16 бит 0, и т.д. А если в СП битами, то да, в СП бит 256, а в пр регистр 16 бит 0. Сам запутался...
kondor3000
05.08.2026, 17:59
тогда для адреса 257 в СП310 должен соответствовать в ПР100 адрес 16 бит 1
для 258 адрес 16 бит 2 ?
Так и есть, только поймите, при большом количестве бит (и переменных) это сильно тормозит обмен,
для передачи 16 бит отдельно, надо затратить по времени в 16 раз больше, чем передать 1 регистр с битовой маской на 16 бит.
Условно для ПР передача 1 регистра 100 мс, для передачи 16 бит вы потратите 1,6 секунды, всесто 0,1 сек. А если бит (переменных) много, то нажав кнопку будете ждать несколько 3-5-10 сек. пока бит сработает.
KonstantinS
06.08.2026, 07:41
тут не доверяю прежде всего себе ;), есть какая-то возможность перевести данные в СП310 с выключателей в формат integer?
kondor3000
06.08.2026, 07:54
тут не доверяю прежде всего себе ;), есть какая-то возможность перевести данные в СП310 с выключателей в формат integer?
Выше я вам всё описал, используйте регистры начиная с PSW256, 89980
для маски бит в 256 регистре ПР, в панели ставите PSW256 биты с 0 по 15
KonstantinS
06.08.2026, 12:42
вроде как разобрался, всем спасибо!!!::D
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot