PDA

Просмотр полной версии : КАК передать в пр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 регистра.

melky
20.12.2025, 12:28
По слейв или мастер?

МихаилГл
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 знаю смотрел видео на сайте овен и на рутубе

Либо адрес не верный, либо переставлены регистры, либо адреса соседние наложены, больше нет вариантов.
Выкладывайте скрины или проекты.

Slon1800
21.12.2025, 06:40
Здравствуйте, по вопросу что не читается флоат из ввода цифрового ввода на экране 4, в сетевые переменную 19100 и 19200 блока подключенную с входом аналоговым 4.8731787318

Сергей0308
21.12.2025, 09:31
Может не те регистры читаете?

87319

И четвёртый аналоговый вход ПР103 у вас находится в дискретном режиме и к нему ничего не подключено, насколько понимаю написанное:

87320

kondor3000
21.12.2025, 10:11
Здравствуйте, по вопросу что не читается флоат из ввода цифрового ввода на экране 4, в сетевые переменную 19100 и 19200 блока подключенную с входом аналоговым 4.8731787318

С кокого вы и ПР103 и УЗД сделали с одним IP в самой ПР103?
Зачем слейв адрес 3 и 4 ?
Если вам писал, что слейв адрес 1 нужен, разные должны быть IP



Если по ТСР, то исправить на Изернет, прописать IP самой ПР и слейва (разные, но в одной сети), слейв адрес 1, порт 502
Зачем вы добавили УЗД и в панели и в ПР ? У вас пр мастер и панель мастер тоже.
В панели перепутали IP и шлюз.
Сначала наладьте связь и правильное чтение, потом проект пишите.

Slon1800
21.12.2025, 10:35
Нет 4 вход не использую видимо перепутал, вопрос не в этом !

Slon1800
21.12.2025, 10:43
У меня панель мастер и для пр и для узд, а пр мастер для узд, в чем у меня настройки не правильные? Можно подробней? шлюз у меня 1, панель у меня 2, узд 3, пр 4 это концовка ip адреса
Как в поддержке сказали так и делал

kondor3000
21.12.2025, 10:49
У меня панель мастер и для пр и для узд, а пр мастер для узд, в чем у меня настройки не правильные? Можно подробней? шлюз у меня 1, панель у меня 2, узд 3, пр 4 это концовка ip адреса
Как в поддержке сказали так и делал

У вас всё и везде не правильно, мне придётся 10 скринов вам выложить, давайте сами всё сначала.
Панель мастер, для ПР и для УЗД, значит в ПР читать УЗД не надо.
Вот скрин панель 1 шлюз 10 87321 шлюз это роутер он должен быть 1

Расход слейв адрес 4, а должен быть 1 по умолчанию 87322
IP адрес ПР и УЗД одинаковый 87323 и слейв адрес 3 вместо 1 87324

Slon1800
21.12.2025, 10:55
Почему не надо если я беру информацию напрямую в пр и там ее обрабатываю, а в понель с узд только читаю состояние. Ведь в пр есть функция мастер для узд.

Slon1800
21.12.2025, 11:06
И по существующим настройкам я интежер передаю с сп в ПР потом преобразую в флоат, а напрямую почему то флоат не передается!

Slon1800
21.12.2025, 11:08
Расход слейв адрес 4, а должен быть 1 по умолчанию Нажмите на изображение для увеличения.

Почему должен быть1? Ведь ПР с 4 адресо по IP

kondor3000
21.12.2025, 11:09
И по существующим настройкам я интежер передаю с сп в ПР потом преобразую в флоат, а напрямую почему то флоат не передается!
Панель мастер, для ПР и для УЗД, значит в ПР читать УЗД не надо.

Скрины выше, читаете вы не то что думаете, поэтому и не передаётся у вас.
Слев адреса не понятные, IP одинаковые, читаете одно, а получаете из другого места

Slon1800
21.12.2025, 11:25
По IP увидел хотя овен конфигуратор пишет что узд 3 и пр 4, а в лоджике адрес 3 у пр почему то, да панель сделал 2, а шлюз 1 . Это я понимаю почему вы на скрине пишете адрес 1 ведь я из пр его беру, а он 4 в IP?

Slon1800
21.12.2025, 11:27
А если мне надо обрабатывать данные ПР из узд минуя сп? Ведь пока я в пр не добавлю слейвом узд сетевые переменные не добавятся.

kondor3000
21.12.2025, 11:33
А если мне надо обрабатывать данные ПР из узд минуя сп? Ведь пока я в пр не добавлю слейвом узд сетевые переменные не добавятся.

У слейва ПР вы не можете выставить слейв адрес, он по умолчанию 1, у самого УЗД тоже скорее всего не выставляется.
IP разные должны быть, а слейв адрес это не конец IP, а 1 по умолчанию и не трогайте его никогда для TCP передачи.

Читать УЗД надо либо панелью, либо ПР, а потом через слейв передать. Одновременно не надо.
В ПР есть онлайн отладка, включите и смотрите правильность передачи любой переменной.

Slon1800
21.12.2025, 11:35
А в узд почему тогда вы пишите на скрине должен быть 3?

Slon1800
21.12.2025, 11:38
Читать УЗД надо либо панелью, либо ПР, а потом через слейв передать. Одновременно не надо.

А можно по подробнее как это реализуется?

kondor3000
21.12.2025, 11:44
А в узд почему тогда вы пишите на скрине должен быть 3?

Я уже 4 раза написал слейв адрес должен быть 1.
Реализуется просто, читаете расход в ПР, на холсте присваиваете из мастера в слейв и читаете панелью из слейва.
Лучше наоборот, так как в слейв 2 регистра положить трудно, надо раскладывать.

Slon1800
21.12.2025, 11:55
Не понял что значит на "холсте присваиваете из мастера в слейв и читаете панелью из слейва".???
Читать УЗД надо либо панелью, либо ПР, а потом через слейв передать. Одновременно не надо, тоже не понял???

kondor3000
21.12.2025, 12:08
Не понял что значит на "холсте присваиваете из мастера в слейв и читаете панелью из слейва".???
Читать УЗД надо либо панелью, либо ПР, а потом через слейв передать. Одновременно не надо, тоже не понял???

Вы сначала Расход правильно прочитайте, чем нибудь, потом обсудим как передать.
В простом варианте так 87327

Slon1800
21.12.2025, 12:10
А расход как раз читается нормально, и онлайн отладкой в пр я пользуюсь иначе как бы я увидел что флоат не летит!
По вашему скрину получается масло масляное, я в пр расчитываю расход и запрашиваю регистр пр сп кой, в чем здесь неправильно, зачем из 1 сетевой перекладывать в другую?

kondor3000
21.12.2025, 12:16
А расход как раз читается нормально, и онлайн отладкой в пр я пользуюсь иначе как бы я увидел что флоат н6е летит!

Тяжело с вами, покажите скрином что получили и что отправляете, зачем вам Float, если расход целое число?
Обмен с панелью вы проверили, работает ?

Slon1800
21.12.2025, 12:31
Я принцип не могу понять, когда я покупал оборудование мне сказали что будет работать если и панель и пр будет мастером относительно узд. Вы же говорите надо организовать порядок типа панель пр и узд, но основной блок у меня это пр , а сп только для индикации и управления , я архитектуру построения системы понять не могу.
Под рукой нет оборудование, только завтра буду у железа пока дома разбираюсь.

kondor3000
21.12.2025, 12:39
Я принцип не могу понять, когда я покупал оборудование мне сказали что будет работать если и панель и пр будет мастером относительно узд. Вы же говорите надо организовать порядок типа панель пр и узд, но основной блок у меня это пр , а сп только для индикации и управления , я архитектуру построения системы понять не могу.
Под рукой нет оборудование, только завтра буду у железа пока дома разбераюсь.

По ТСР можно чтобы панель и ПР были мастером, только IP разные и слейв адрес везде 1.
Вы сделали IP у ПР и УЗД одинаковый и слейв адреса поставили 3 и 4, поэтому и не работает у вас.
Думая, что читаете УЗД, по факту читаете неизвестно что.

Я сделал бы ПР мастером, который читает слейв УЗД и записывает в панель слейв.
Адреса регистров в панели лучше делать подряд, тогда чтение и запись будет группой.

Или наоборот, панель мастер читает УЗД и ПР слейв, так проще будет.

Slon1800
21.12.2025, 12:45
Это я увидел сегодня, странно что в лоджике такие настройки ip показывает что пр 192,168,0,3, а в конфигураторе у пр 192,168,0,4 а у узд192,168,0,3. Ия знаю чт ip должны быть разные ведь это адреса как на почте.
И это работает ведь считывается и аварии и состояния узд.

kondor3000
21.12.2025, 12:48
Это я увидел сегодня, странно что в лоджике такие настройки ip показывает что пр 192,168,0,3, а в конфигураторе у пр 192,168,0,4 а у узд192,168,0,3. Ия знаю чт ip должны быть разные ведь это адреса как на почте.
И это работает ведь считывается и аварии и состояния узд.

В ПР после смены IP адреса, надо перезагрузить по питанию и проверить текущее IP ещё раз.

Slon1800
21.12.2025, 12:55
Кстати я же в пр заливаю программу по езернету и если обратите внимание в проекте справа внизу там как раз и есть на конце 4 а не 3. И если было 3 то я бы ничего не записал

kondor3000
21.12.2025, 12:57
Кстати я же в пр заливаю программу по езернету и если обратите внимание в проекте справа внизу там как раз и есть на конце 4 а не 3.

Просто при 2 мастерах, у вас будет периодически конфликт и ошибки лезть будут. Я бы так делать не стал.
Панель шлёт запросы как пулемёт, ошибок будет много.

Slon1800
21.12.2025, 13:22
А как тогда правильно организовать режим работы исходя из моих задач, если данные с узд нужны и в пр и в сп?

kondor3000
21.12.2025, 13:22
А как тогда правильно организовать режим работы исходя из моих задач, если данные с узд нужны и в пр и в сп?

Выше всё написано, читайте, сообщение #44 .

Slon1800
21.12.2025, 13:41
Панель не работает в режиме слейв только мастер, как я понял из инструкций! И кстати в техподдержке поэтому наверно посоветовали поставить такие большие временные значения!
Получается если мастер панель мне надо удалить из лоджика узд от пр, и весь запрос для пр записывать командами сп с узд в ПР?

kondor3000
21.12.2025, 13:48
Панель не работает в режиме слейв только мастер, как я понял из инструкций!

Панель работает в любом режиме, в слейве адреса начинаются с PSW256 (адрес 256).
Не работает только Онлайн симулятор в слейве. Тоесть проверить проект и обмен без живой панели, можно только в режиме Мастер.

Slon1800
21.12.2025, 13:51
Тобишь если я хочу панель сделать слевом мне надо в лоджике прописать там же где и узд прописано в настройках прибора?
Нет же просто переключателя СП в каком режиме работать, по настройкам я понимаю что она работает в мастере , а до 256 это внутренние регистры
Удобно когда модбас рту, там можно выбрать, а по тсп не понятно
И почему тогда я в пр не могу считать с psw

kondor3000
21.12.2025, 13:59
Тобишь если я хочу панель сделать слевом мне надо в лоджике прописать там же где и узд прописано в настройках прибора?
Нет же просто переключателя СП в каком режиме работать, по настройкам я понимаю что она работает в мастере , а до 256 это внутренние регистры
Удобно когда модбас рту, там можно выбрать, а по тсп не понятно

По ТСР просто удаляете все в ТСР настройках (что добавляли), остается только IP панели слейва и маска со шлюзом.
Порт 502 и заметьте слейв адреса нет, он по умолчанию 1 опять же.
Адрес расхода, автоматом станет 256 и верхний и нижний предел тоже (надо будет исправлять)

В ПР уже надо добавить панель слейв, IP панели слейва и адреса 256, 258, 260 и т. д.

Slon1800
22.12.2025, 06:49
Спасибо помогло, только панель виснет при отключении узд от сети в чем может быть причина?

kondor3000
22.12.2025, 08:07
Спасибо помогло, только панель виснет при отключении узд от сети в чем может быть причина?

На панель слейв не должно влиять, только панель мастер зависает при отключении слейва.
Проверьте не осталось ли обращений панели как мастера (например по RTU) или просто перепишите проект.

Slon1800
22.12.2025, 08:09
Я не менял адреса у меня 2 мастера

kondor3000
22.12.2025, 08:24
Я не менял адреса у меня 2 мастера

А мастер будет зависать, слейв должен быть подключен.
Можете сделать кнопку отключения слейва
Ссылка на пост Petera, описание, как исключить неиспользуемые в работе слейвы. Включаете нужный бит, соответствующий адресу неиспользуемого слейва ( в данный момент), опрос отключается.
https://owen.ru/forum/showthread.php?t=35196&p=362855&viewfull=1#post362855

стр. 250, р. 9.11 Управление обменом со slave-устройствами https://owen.ru/uploads/251/sp3xx_rp_2.1.pdf

Slon1800
22.12.2025, 08:31
Спасибо, если не секрет вы сотрудник?

kondor3000
22.12.2025, 08:33
Спасибо, если не секрет вы сотрудник?

Не сотрудник, просто помогаю в свободное время)

Slon1800
22.12.2025, 08:35
Дай бог Вам здоровья!!!