PDA

Просмотр полной версии : Modbus и BOOL



rinatd
17.05.2023, 08:39
Добрый день подскажите у овна есть модификация ПР200 котрая поддерживает передачу булевских сигналов по Modbus, у меня ПР200.24.5.2, там тока целочисленные и с плавающей запятой есть
цель управлять контроллером через OPC сервер, нужны булевские сигналы

kondor3000
17.05.2023, 08:58
Добрый день подскажите у овна есть модификация ПР200 котрая поддерживает передачу булевских сигналов по Modbus, у меня ПР200.24.5.2, там тока целочисленные и с плавающей запятой есть
цель управлять контроллером через OPC сервер, нужны булевские сигналы

Для этого существует Маска битов в целочисленной переменной, можно упаковать 16 бит, передать, принять и распаковать обратно.

1exan
17.05.2023, 09:02
Добрый день подскажите у овна есть модификация ПР200 котрая поддерживает передачу булевских сигналов по Modbus, у меня ПР200.24.5.2, там тока целочисленные и с плавающей запятой есть
цель управлять контроллером через OPC сервер, нужны булевские сигналы

Используйте биты регистров (целочисленных сетевых переменных) - до 32 бит.

rinatd
17.05.2023, 09:14
bit это BOOL 67862

что такое буль я знаю, я непмогу добавить сетевые переменные булевские, чтобы ПР был слэйв, а ОPС сервер мастер опрашивал ПР200, там тока добавляются интеджер и риал

1exan
17.05.2023, 09:37
что такое буль я знаю, я непмогу добавить сетевые переменные булевские, чтобы ПР был слэйв, а ОPС сервер мастер опрашивал ПР200, там тока добавляются интеджер и риал

В OL отсутствует возможность добавления булевых сетевых переменных. Можно работать только с битами целочисленных сетевых переменных

rinatd
17.05.2023, 09:37
Для этого существует Маска битов в целочисленной переменной, можно упаковать 16 бит, передать, принять и распаковать обратно.

мне для работы с визализацией, хотело бы просто передавать дискрет ыбез лишних заморочек, даже ардуино так может а овен нет? или есть другие модели которые это могут? 205 модель тоже не может?

rinatd
17.05.2023, 10:07
Вы пока теоретик или уже пробовали что либо? В ПР как слейв создали одну переменную целочисленную и хотите сказать что ОРС не может из неё извлекать дискретные сигналы соответствующими функциями?

67868
собрал на столе, мне нужны дискреты для работы с визу, например чтобы конпку нажал и передалась 1 в контроллер а кода отпустил чтобы вернулось в 0, да в некоторых визуализациях есть возможность такие условия прописывать.ю но вот в интаче немогу понять как так сделать

kondor3000
17.05.2023, 10:30
67868
собрал на столе, мне нужны дискреты для работы с визу, например чтобы конпку нажал и передалась 1 в контроллер а кода отпустил чтобы вернулось в 0, да в некоторых визуализациях есть возможность такие условия прописывать.ю но вот в интаче немогу понять как так сделать

Не нужны 16 бит, сделайте упаковку 1 (2)бит, дольше препираться,
за 2 с половиной часа можно было программу написать.
Вот пример упаковка, распаковка двух бит (бит 0 и бит 1) 67870

capzap
17.05.2023, 10:37
67868
собрал на столе, мне нужны дискреты для работы с визу, например чтобы конпку нажал и передалась 1 в контроллер а кода отпустил чтобы вернулось в 0, да в некоторых визуализациях есть возможность такие условия прописывать.ю но вот в интаче немогу понять как так сделать

с ПР работать должен ОРС, а не напрямую InTouch. Поэтому сперва с самого ОРС научитесь принимать дискретные значения, хоть из целочисленного, хоть из вещественного, протокол модбас подразумевает передачу байтов даже при работе с флагами, главное с адресацией разобраться, в документации всё расписано.
А по поводу кнопки, вроже как Кнопка-> Дискретное значение -> Прямое для нужного тега

bayk
19.05.2023, 13:17
мне для работы с визализацией, хотело бы просто передавать дискрет ыбез лишних заморочек, даже ардуино так может а овен нет? или есть другие модели которые это могут? 205 модель тоже не может?

Овен может. Читайте документацию. К любому биту в регистре можно обратиться напрямую. Но в регистры извольте упаковать. Ищите на форуме putbit макрос

petera
19.05.2023, 20:05
67868
собрал на столе, мне нужны дискреты для работы с визу, например чтобы конпку нажал и передалась 1 в контроллер а кода отпустил чтобы вернулось в 0, да в некоторых визуализациях есть возможность такие условия прописывать.ю но вот в интаче немогу понять как так сделать

Обмен битовыми (BOOL) переменными с ПР Slave https://owen.ru/forum/showthread.php?t=32194