Просмотр полной версии : Время измерения аналогового входа ПР102
luckyrin
27.10.2025, 10:59
Всем здравствуйте!
Можно ли определить (или задать) циклическое время измерения аналогового входа в ПР102?
Откуда такой вопрос:
изучаю пример ПИД регулятора в Codesys 3.5, где ПЛК210 взаимодействует с модулем аналогового ввода МВ210-101 с подключенным датчиком температуры. Под рукой нет такого модуля, но есть ПР102 с аналоговыми входами, которое подключаю в качестве модуля ввода/вывода.
kondor3000
27.10.2025, 11:15
Вход PV_Time не может быть константой, это циклическое время типа WORD, от 0 до 65535, кратное 10 ms, только целое.
Берётся с любого аналогового входа, но можно создать искуственно. 86403 86402
Поставьте циклический таймер на 100 мс, счётчик до 6553 с обнулением, выход умножьте на 10, получите время до 65530. 86415
Третий знак 65 5 30, должен считать единицы секунд. На скрине эмуляция циклич . времени
Для эмуляции работы входа, можно применить такой код
PV_Time:=TO_WORD(TO_DWORD(TIME())/10);
Так, насколько я понимаю, здесь играет роль не скорость опроса входов, а частота опроса самого модуля ввода/вывода по модбас
luckyrin
27.10.2025, 13:42
В примере это время считывается с модуля МВ210-101. Видимо, оно предварительно задается фиксированным в самом МВ210-101 через конфигуратор (мое предположение). Если это время по факту является периодом опроса входа, то тогда его можно представить как время цикла из канала ПР102 (задается вручную). На рисунке показан вход ФБ, куда подается это время 86405
kondor3000
27.10.2025, 13:50
В примере это время считывается с модуля МВ210-101. Видимо, оно предварительно задается фиксированным в самом МВ210-101 через конфигуратор (мое предположение). Если это время по факту является периодом опроса входа, то тогда его можно представить как время цикла из канала ПР102 (задается вручную). На рисунке показан вход ФБ, куда подается это время 86405
Вам всё разложил по полочкам выше, со скринами циклического времени, осталось прочитать только и реализовать.
luckyrin
27.10.2025, 14:53
Вам всё разложил по полочкам выше, со скринами циклического времени, осталось прочитать только и реализовать.
86409
В образце программы с ПИД регулятором используется шаблон модуля ввода/вывода МВ210-101. На рисунке также виден параметр циклического времени на одном из его входов. Переменная g_wSampleTime, хранящаяся в параметре циклического времени, подается на вход PV_TIME ФБ Пид регулятора. Мне не приходилось работать с подобными входами и поэтому не знаю как ведет себя значение переменной. Она изменяется от 0 до какой-то величины и потом обнуляется? С этой целью нужен циклический таймер, который будет имитировать циклическое время ? и его выход подаем на вход PV_TIME ФБ Пид регулятора?
86409
В образце программы с ПИД регулятором используется шаблон модуля ввода/вывода МВ210-101. На рисунке также виден параметр циклического времени на одном из его входов. Переменная g_wSampleTime, хранящаяся в параметре циклического времени, подается на вход PV_TIME ФБ Пид регулятора. Мне не приходилось работать с подобными входами и поэтому не знаю как ведет себя значение переменной. Она изменяется от 0 до какой-то величины и потом обнуляется? С этой целью нужен циклический таймер, который будет имитировать циклическое время ? и его выход подаем на вход PV_TIME ФБ Пид регулятора?
Все уже сказано
https://owen.ru/forum/showthread.php?t=42080&p=474223&viewfull=1#post474223
Сергей0308
27.10.2025, 17:37
Если Вы хотите максимальное быстродействие наверно лучше иметь модуль расширения по внутренней шине, например ПРМ-3:
https://owen.ru/product/prm/specifications
или использовать аналоговые входы самого ПР применив нормирующий преобразователь типа НПТ:
https://owen.ru/product/npt
Ваш модуль опрашивает один вход почти секунду(0,9с), на 8 входов уйдёт более 7 секунд, в смысле, нет смысла опрашивать с меньшим периодом, только хуже будет(сеть забивать ненужными опросами), надеюсь, ситуация прояснилась?!
luckyrin
27.10.2025, 21:01
Благодарю всех кто принял участие в обсуждении вопроса. Советы проработаю. О результатах сообщу.
luckyrin
29.10.2025, 08:12
Вопрос с определением циклического времени измерения аналогового входа решен. ПИД-регулятор начинает работать только тогда, когда на его вход PV_TIME подается результат работы таймера, предложенного kondor3000.
Для себя я уяснил, что это число (соответствует ходу времени) должно постоянно увеличиваться. Нельзя подавать фиксированное число.
По иронии судьбы на моем ПЛК210 имеются аналоговые входы :) и я воочию увидел как работает "время измерения". Имеются 4 аналоговых входа и на каждом свое уникальное время измерения, постоянно увеличивающееся до значения 65535 с последующим обнулением.
Еще раз благодарю всех.
kondor3000
29.10.2025, 20:07
Вопрос с определением циклического времени измерения аналогового входа решен. ПИД-регулятор начинает работать только тогда, когда на его вход PV_TIME подается результат работы таймера, предложенного kondor3000.
Для себя я уяснил, что это число (соответствует ходу времени) должно постоянно увеличиваться. Нельзя подавать фиксированное число.
По иронии судьбы на моем ПЛК210 имеются аналоговые входы :) и я воочию увидел как работает "время измерения". Имеются 4 аналоговых входа и на каждом свое уникальное время измерения, постоянно увеличивающееся до значения 65535 с последующим обнулением.
Еще раз благодарю всех.
Циклическое время Pv_Time можно получить ещё проще, без таймеров и счётчиков, на CFC, смотри скрин 86478
TO_WORD(TO_DWORD(TIME()) /10) или написать на ST
Pv_Time:= TO_WORD(TO_DWORD(TIME())/10);
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot