Да да да ты прав, я в ОВЕН Каталоге, видел прям точную копию ( Но в чем прикол, что в Конфигураторе программа, где выбор датчика,нет этого КДТС014)
Да да да ты прав, я в ОВЕН Каталоге, видел прям точную копию ( Но в чем прикол, что в Конфигураторе программа, где выбор датчика,нет этого КДТС014)
Ты разбираешься в этих настройках, регистрах и т.д?
Модуль 8A поддерживает и Pt100, 500 и 1000 если верить документации. А так он у вас погоду показывает, точнее непонятно что показывает судя по всему.
Так. Если он "хоть что-то показывает", то ты делаешь что-то не так.
Сначала ты добиваешься того, чтобы ты датчик подключил правильно к модулю.
И чтобы модуль в его конфигураторе тебе правильно всё показал.
Должно быть настроено ТАК:
* Тип датчика = ТСМ50М (Cu 50)
* Нижнее значение параметра = -50
* Верхнее = 150
Как на картинке
Дальше ты жмёшь кнопку, на которую у меня стрелка указывает и смотришь, что тебе показывает.
Подключаешь ПО ИНСТРУКЦИИ от модуля вводов.
Вот что у меня. Специально взял модуль и датчик. Модуль новый и датчик новый.
И вот так работает:
Гайдов тут нет (ну когда-нить я сделаю пост про датчики ОВЕНа, которые я юзаю - тогда будет).
Там всё просто. И нужна не паника, а простая логика:
1. Модуль аналоговых вводов меряет "что-то", что ему дали на входы. И потом пересчитывает измеренное к указанным нижним и верхним границам.
Измеряет он её, образно, от 0 до 100 процентов (просто каких-то внутренних единиц). А потом МЫ ему говорим, что это такое мы намерили.
То есть, в нашем примере. Он измерил некую хрень, а потом ты ему сказал что эта хрень - это термодатчик от -50 до +150. И он пересчитал это в цифры, которые тебе отдал.
2. То, что модуль измерил и подсчитал, он отдаёт в виде числа и положения десятичной точки.
Ща, короче, я ПР достану - и попробую =))
А вот я как раз расчехлил ПРку. Всё работает, смотри:
1. Создаём парочку переменных. Булева - чтобы ModBus работал.
Float - это результат датчика.
2. Создаём устройство и его переменные. Тут ПОЧИТАЙ ИНСТРУКЦИЮ!!
Я использовал не шаблон, а сам набил переменные для первого канала:
Все переменные - Целое.
У всех стоит только функция чтения (функцию записи выбрать "Нет").
На модуле и на каждой переменной задать "Опрос" и "Запуск" чтения - нашу переменную MBWork (без этого у меня ничего не работало).
3. Вот программа:
Тут мы пишем "1" в MBwork, чтобы опрос этого устройства и переменных шёл.
Дальше всё, что надо - конвертим из Int во Float и возводим в степень и делим.
Будь внимателен, не запутайся. Входы fDIV и fPOW важны (какая переменная куда тычется).
Дальше я взял один первый экран, накинул туда 4 переменных:
Val - это то, что нам модуль отдаёт без десятичной точки
Pr - это point, точка (то есть видно что делить надо на 10 в степени 1 - на просто 10
Er - это что нам сообщил модуль о датчике (видит он его, нет, обрыв, ошибка)
T - полученная температура (переменная Res в схеме).
ВНИМАНИЕ! Не забывай смотреть на переменную статуса измерения (которая InErr у меня там называется).
Значение, которое даёт модуль, верное только если статус измерения = 0 (нет ошибок).
Последний раз редактировалось Cs-Cs; 19.02.2020 в 18:32.
ЗЫ... так у тебя всё-таки не ДТС50М оказался? Или ты просто подобрал от балды что-то?
Ещё не забывай о том, чтобы для выбранного датчика модулю указать минимум и максимум верно. А то ща у тебя стоит от 0 до 150.
Спасибо большое,очень сильно помог.Все вроде бы работает, за искл InValue[1] (там у меня значение вот такое показывает Val=999 DD)завтра уже буду ковыряться
Проверь ещё раз, как и чего читаешь. Точнее, или это модуль мутит и даёт 99.9 как резльутат, или ты что-то не то читаешь.
Нам ты отпишись (мне самому интересно, в чём ошибки у тебя будут).
И если что-то будет с ПР не то - проверяй, что отдаёт модуль по его конфигуратору. Если он и там даёт 99.9 - то значит копай датчик ))
Блин! А ты так и не сказал, какой в итоге у тебя датчик-то оказался. Может тебе взять новый нормальный, известный датчик - и его мучить? Чтобы иключить версию того, что датчик хреновый или не так настроен.