Просмотр полной версии : ПЛК73 + Integral
Добрый день! Помогите разобраться, пожалуйста.
Делаю на ПЛК73 учет воздуха КИПиА за сутки. Сброс происходит в 12 ночи, значение запоминается и начинается отчет с нуля. Проблема в следующем блок Integral из Util.lib перестаёт считать на значении 1024.0, на вход блока сигнал приходит. Ставлю перед входом интеграла блок MUL, умножаю на произвольный коэффициент. Делаю запоминание и сброс каждую минуту все работает - считает до +38 степени. Возвращаю программу к исходной, в 12 ночи происходит сброс, с утра прихожу- на контроллере 1024.0.
Во вложении программа. С кодесис только начинаю разбираться, поэтому буду благодарен не только за помощь, но и за конструктивную критику по программе.
Навскидку:
1. Бибка Pid_regulators - бибка для ПЛК 1**. Для использования блока DECODE_FLOAT воспользуйтесь бибкой OWEN_FB.
2. Для ФБ Integral на временной вход надо подавать не константу цикла, а время реальной задержки между циклами, см. ФБ PID в util.lib
Поэтому начните с п.1. Если не поможет, после зависания счета подключитесь CDS и посмотрите внутренние переменные ФБ Integral.
Подключил Oven FB. Ситуация не изменилась. На вход блока приходит real 0,057777. Перед входом интеграла поставил блок сложения. По умолчанию прибавляю ноль. Накапливает до 1024 и останавливается. Прибавляю любое число- начинает считать дальше. И почему именно 1024?
Сделайте короткую программу и выложите сюда. В Вашем полном проекте никто разбираться не будет.
Проект изначально делал под ПЛК63, потом сменил таргет на ПЛК73- в этом может быть проблема?
После выходных доберусь до контроллера сделаю короткую программу с нуля и испытаю.
2. Для ФБ Integral на временной вход надо подавать не константу цикла, а время реальной задержки между циклами, см. ФБ PID в util.lib- можно чуть подробнее или небольшой пример?
Проект изначально делал под ПЛК63, потом сменил таргет на ПЛК73- в этом может быть проблема?
Вполне. Надо сделать сброс проекта и полную перекомпиляцию.
2. Для ФБ Integral на временной вход надо подавать не константу цикла, а время реальной задержки между циклами, см. ФБ PID в util.lib- можно чуть подробнее или небольшой пример?Откройте в CDS util.lib. Посмотрите, как в ней реализован ФБ PID.
Добрый вечер! Подмогла техподдержка: Вероятнее всего это связано с тем, что при маленьких величинах расчетное значение попадает в диапазон погрешности REAL.
Поиграл с коэффициентами и счет пошел.
По временному входу: подаю на временной вход ФБ INTEGRAL выход ФБ TASKINFO- tcycle, но разница между расчетным и накопленным контроллером примерно 10% ?
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot