Просмотр полной версии : Подключение датчика температуры и влажности ПВТ100 к ПР200
Newcomer
20.05.2017, 18:52
В ПР200 надо опрашивать по RS-485 ПВТ100. В РЭ на ПВТ100 приведена таблица. Я так понимаю, что номер первого регистра это и есть адрес регистра, который надо забить в таблицу сетевых переменных в ОЛ. Но в таблицу сетевых переменных невозможно забить регистры с адресами 258 (0х0102) и 259 (0х0103). Адреса 258 и 259 не уживаются друг с другом. По отдельности вводятся, а оба нет. Или я что-то не понимаю.
Естественно не уживаются, раз Вы читаете float, а должны int.
Newcomer
21.05.2017, 10:01
Естественно не уживаются, раз Вы читаете float, а должны int.
Спасибо, ваш совет помог.
Newcomer
22.05.2017, 20:29
Обнаружил, что целочисленная переменная в ОЛ не может иметь отрицательные значения. Каким тогда образом считывать в ПР200 по RS-485 отрицательные значения температуры из ПВТ100 ?
Анализировать 15 бит , это для индикации ,а если для вычислений ,то потом преобразовывать во флоат .
Newcomer
22.05.2017, 22:24
Анализировать 15 бит , это для индикации ,а если для вычислений ,то потом преобразовывать во флоат .
Целочисленное в ОЛ имеет диапазон от 0 до 4294967295 или 0 ... FFFFFF. и что там анализировать ? Старший бит не является знаковым.
INT в пр200 - 0....65535
В ол не является знаковым ,а в устройстве является .
Newcomer
23.05.2017, 11:53
INT в пр200 - 0....65535
В ол не является знаковым ,а в устройстве является .
И как можно переменной INT в ПР200 присвоить отрицательное значение ?
Никак. Но курите что такое дополнительный код. В ПР именно он.
Newcomer
23.05.2017, 11:58
Пробовал передавать переменную b в панель. В панели тупо показывает 0, а не -1. Что про это скажите ?
Newcomer
23.05.2017, 12:08
INT в пр200 - 0....65535
В ол не является знаковым ,а в устройстве является .
Программировать ПР200 можно только в среде ОЛ. В ОЛ целочисленное является беззнаковым.
Newcomer
23.05.2017, 12:27
Преобразование отрицательного Float в целочисленное и обратное преобразование во Float. Прямое преобразование ОЛ как-то изобразил, а с обратным преобразованием ОЛ облажался. ;)
Newcomer
23.05.2017, 12:30
Никак. Но курите что такое дополнительный код. В ПР именно он.
Вы точно знаете что в ОЛ отрицательные числа представляются в дополнительном коде ?
Newcomer
23.05.2017, 13:29
А нет ли у кого-нибудь макроса, который переводит целое, представленное в дополнительном коде, во Float ?
ОЛ этого делать не может.
Сергей0308
23.05.2017, 15:05
А нет ли у кого-нибудь макроса, который переводит целое, представленное в дополнительном коде, во Float ?
ОЛ этого делать не может.
Вот посмотрите:
31314
Может подойдёт
http://www.owen.ru/forum/showthread.php?t=13106&page=3
Newcomer
23.05.2017, 15:29
Спасибо. попробую.
Newcomer
23.05.2017, 15:39
А функцию FSEL вы где взяли ?
Сергей0308
23.05.2017, 16:01
А функцию FSEL вы где взяли ?
Раньше она была только в виде макроса, сейчас и в ОЛ есть!
В данном случае её можно заменить умножением:
31316
Newcomer
23.05.2017, 16:03
Раньше она была только в виде макроса, сейчас и в ОЛ есть!
У меня в ОП нет. Где этот макрос найти ? А зачем там FSEL нужен, вроде целые числа сравниваются ?
Сергей0308
23.05.2017, 16:21
У меня в ОП нет. Где этот макрос найти ? А зачем там FSEL нужен, вроде целые числа сравниваются ?
Я же ссылку дал, там можно прочитать. что Вы спрашиваете, короче FLOAT нужен чтобы отрицательные числа в ОЛ и в ПР показать!
Вот в ОЛ:
31319
Если у Вас нет, обновите ОЛ!
Newcomer
24.05.2017, 11:25
Что за хрень. Создаю новый проект, открываю папку функции и вижу там функцию FSEL. Начинаю создавать макрос, открываю папку функции и не вижу там функции FSEL. Как это понимать ?
Василий Кашуба
24.05.2017, 11:29
Что за хрень. Создаю новый проект, открываю папку функции и вижу там функцию FSEL. Начинаю создавать макрос, открываю папку функции и не вижу там функции FSEL. Как это понимать ?
На этот баг уже указывали, пообещали исправить в следующем релизе.
Newcomer
24.05.2017, 11:52
На этот баг уже указывали, пообещали исправить в следующем релизе.
Только что обновил ОЛ. Какой еще новый релиз может быть ?
Василий Кашуба
24.05.2017, 11:53
Только что обновил ОЛ. Какой еще новый релиз может быть ?
Который выйдет после этого.
Василий Кашуба
24.05.2017, 11:56
Релизы не так часто обновляют.(Сегодня сообщили о баге, на завтра новый релиз?)
jury_yamal
24.09.2018, 19:28
Добрый вечер!
Если позволите спрошу здесь. У меня похожая ситуация, есть пр200 мастер (1 слот)+ ПВТ100 +ПВТ 10 и СП 307 мастер на (2 слоте ПР слейв). Нужно получить значение с ПВТ обработать в программе и передать в СП307. Так вот вопрос что я увижу в сетевой переменной ОЛ( считанной с ПВТ100 по адресу 0х0102 при температуре -40).число 4000 с взведенным 15 битом или 61536 в дополнительном коде?
Добрый вечер!
Если позволите спрошу здесь. У меня похожая ситуация, есть пр200 мастер (1 слот)+ ПВТ100 +ПВТ 10 и СП 307 мастер на (2 слоте ПР слейв). Нужно получить значение с ПВТ обработать в программе и передать в СП307. Так вот вопрос что я увижу в сетевой переменной ОЛ( считанной с ПВТ100 по адресу 0х0102 при температуре -40).число 4000 с взведенным 15 битом или 61536 в дополнительном коде?
в сетевой переменной ОЛ естественно будет -4000 в дополнительном коде, т.е 61536
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot