PDA

Просмотр полной версии : ПЛК73 + Integral



Verbi
12.07.2017, 09:16
Добрый день! Помогите разобраться, пожалуйста.
Делаю на ПЛК73 учет воздуха КИПиА за сутки. Сброс происходит в 12 ночи, значение запоминается и начинается отчет с нуля. Проблема в следующем блок Integral из Util.lib перестаёт считать на значении 1024.0, на вход блока сигнал приходит. Ставлю перед входом интеграла блок MUL, умножаю на произвольный коэффициент. Делаю запоминание и сброс каждую минуту все работает - считает до +38 степени. Возвращаю программу к исходной, в 12 ночи происходит сброс, с утра прихожу- на контроллере 1024.0.

Verbi
12.07.2017, 20:45
Во вложении программа. С кодесис только начинаю разбираться, поэтому буду благодарен не только за помощь, но и за конструктивную критику по программе.

ASo
12.07.2017, 21:20
Навскидку:
1. Бибка Pid_regulators - бибка для ПЛК 1**. Для использования блока DECODE_FLOAT воспользуйтесь бибкой OWEN_FB.
2. Для ФБ Integral на временной вход надо подавать не константу цикла, а время реальной задержки между циклами, см. ФБ PID в util.lib

Поэтому начните с п.1. Если не поможет, после зависания счета подключитесь CDS и посмотрите внутренние переменные ФБ Integral.

Verbi
14.07.2017, 12:08
Подключил Oven FB. Ситуация не изменилась. На вход блока приходит real 0,057777. Перед входом интеграла поставил блок сложения. По умолчанию прибавляю ноль. Накапливает до 1024 и останавливается. Прибавляю любое число- начинает считать дальше. И почему именно 1024?

ASo
14.07.2017, 12:49
Сделайте короткую программу и выложите сюда. В Вашем полном проекте никто разбираться не будет.

Verbi
15.07.2017, 10:12
Проект изначально делал под ПЛК63, потом сменил таргет на ПЛК73- в этом может быть проблема?
После выходных доберусь до контроллера сделаю короткую программу с нуля и испытаю.

2. Для ФБ Integral на временной вход надо подавать не константу цикла, а время реальной задержки между циклами, см. ФБ PID в util.lib- можно чуть подробнее или небольшой пример?

ASo
15.07.2017, 12:10
Проект изначально делал под ПЛК63, потом сменил таргет на ПЛК73- в этом может быть проблема?
Вполне. Надо сделать сброс проекта и полную перекомпиляцию.



2. Для ФБ Integral на временной вход надо подавать не константу цикла, а время реальной задержки между циклами, см. ФБ PID в util.lib- можно чуть подробнее или небольшой пример?Откройте в CDS util.lib. Посмотрите, как в ней реализован ФБ PID.

Verbi
19.07.2017, 21:27
Добрый вечер! Подмогла техподдержка: Вероятнее всего это связано с тем, что при маленьких величинах расчетное значение попадает в диапазон погрешности REAL.
Поиграл с коэффициентами и счет пошел.

По временному входу: подаю на временной вход ФБ INTEGRAL выход ФБ TASKINFO- tcycle, но разница между расчетным и накопленным контроллером примерно 10% ?