Просмотр полной версии : КАК передать в пр103 unsigned 32? горит проект
Slon1800
20.12.2025, 04:56
Здравствуйте, скажите как в узд1 считать регистры 10199 и 10200 они являются unsigned 32, в пр103 где пишу программу сетевая переменная только 1 регистр, а порегистрово эти регистры не читаются, даже сторонними программами, только сразу 2 регистра. Как считать эту битовую маску?
МихаилГл
20.12.2025, 07:39
Считывайте как 2 отдельных регистра. Если это битовая маска, то какая разница какое число потом разбивать на биты, 2 по 16, или 1 по 32. А если не маска, то вроде можно потом склеить в пр, но тут я пас...
Slon1800
20.12.2025, 08:11
Не считывается как 2 регистра в 2 сетевые переменные, также qmadbus тоже выдает ошибку
kondor3000
20.12.2025, 10:45
Не считывается как 2 регистра в 2 сетевые переменные, также qmadbus тоже выдает ошибку
Зачем было в 4 темах один вопрос писать?
Для целочисленных в ПР Мастере есть выбор 1 или 2 регистра.
МихаилГл
20.12.2025, 12:42
Не считывается как 2 регистра в 2 сетевые переменные, также qmadbus тоже выдает ошибку
Возможно смещение адреса на 1.
Slon1800
20.12.2025, 14:00
А как потом считать то этот интежер в буль?
kondor3000
20.12.2025, 14:20
Здравствуйте, подскажите, вы написали что переменную из узд можно задать 2 регистра, а как потом достать побитово булевые значения ведь инт то буль 32 имеет 2 входа и 32 выхода, а сетевая переменная только 1?
Спасибо
Переменная одна, например Mask занимает 2 регистра, упаковка и распаковка бит как обычно через точку.
Упаковка Mask.0:=b0; ............... Mask.31:=b31;
Распаковка b_0:=Mask.0;...........b_31:=Mask.31;
Slon1800
20.12.2025, 14:24
Поясните как обчкно через точку это как? я просто раньше этим не занимался всего неделю разбираюсь
Slon1800
20.12.2025, 14:28
Это вообще на каком, я фбд блоками делаю что вы написали я не понимаю, можно как то через макросы?
kondor3000
20.12.2025, 14:38
Это вообще на каком, я фбд блоками делаю что вы написали я не понимаю, можно как то через макросы?
Вот пример упаковки и распаковки 3 бит в макросе ( 0, 1 и 2), дальше по аналогии 87310
Ниже пример ФБ (функц. блок) на языке ST на 16 бит, дальше до 31 бита аналогично
Slon1800
20.12.2025, 15:03
Подскажите так будет работать?87312
kondor3000
20.12.2025, 16:58
Подскажите так будет работать?87312
Вы же сами можете проверить в эмуляции,
Маску в Мастере (2 регистра) не добавили, соединения не сделали, переменные не энергонезависимые. Пример ниже
Слейв адрес, параметры сети и адрес регистра надо исправить на ваши.
Если по ТСР, то исправить на Изернет, прописать IP самой ПР и слейва ( в одной сети), слейв адрес 1, порт 502
Slon1800
20.12.2025, 17:16
Обязательно делать энергонезависимые, я понимаю что это означает, но опыта по построению таких систем мало, а без энергонезависимости не работает почему то?
kondor3000
20.12.2025, 17:25
Обязательно делать энергонезависимые, я понимаю что это означает, но опыта по построению таких систем мало, а без энергонезависимости не работает почему то?
Запустите в эмуляции, включите бит и проверьте, если переменная в воздухе, она не будет работать.
Надо её привязать куда то, на выход или в сетевую или на экран или сделать энергонезависимой.
Slon1800
20.12.2025, 17:42
Спасибо, как сказали так и есть. Если не затруднит можете подсказать в настройке прибора как работает функция статус если выбрать переменную?
kondor3000
20.12.2025, 17:44
Спасибо, как сказали так и есть. Если не затруднит можете подсказать в настройке прибора как работает функция статус если выбрать переменную?
Привязать переменную к статусу, на поле присвоить её в другую энергонезависимую или подать на блок обработки.
Slon1800
20.12.2025, 18:01
Не подскажите вопрос еще есть один, на сп 307р делаю цифровой ввод данных, делаю флоат 2 регистра, а пр103 не читает хотя тоже ставлю флоат, если интержером передать все работает? А с пр103 результат флоат передается сп307 в цифровой индикатор, ни как не могу понять почему не работает?
kondor3000
20.12.2025, 18:06
Не подскажите вопрос еще есть один, на сп 307р делаю цифровой ввод данных, делаю флоат 2 регистра, а пр103 не читает хотя тоже ставлю флоат, если интержером передать все работает? А с пр103 результат флоат передается сп307 в цифровой индикатор, ни как не могу понять почему не работает?
Мастер кто? Кроме Float, где адрес ставите, надо поставить DWORD.
Если ПР мастер поставьте галку Старшим регистром вперёд.
Если панель мастер, в настройках панели, галку Изменить порядок регистров.
Slon1800
20.12.2025, 18:08
мастер панель, переставляли не работает, про dword знаю смотрел видео на сайте овен и на рутубе
AlexandrGr
20.12.2025, 18:16
смотрел видео на сайте овен и на рутубе
А документацию читали?
kondor3000
20.12.2025, 18:17
мастер панель, переставляли не работает, про dword знаю смотрел видео на сайте овен и на рутубе
Либо адрес не верный, либо переставлены регистры, либо адреса соседние наложены, больше нет вариантов.
Выкладывайте скрины или проекты.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot