Добрый день, прошу помочь оценить возможную глубину временного интервала для записи 50 трендов с дискретностью в 1мин. на СПК.
Добрый день, прошу помочь оценить возможную глубину временного интервала для записи 50 трендов с дискретностью в 1мин. на СПК.
Вопрос по стандартному блоку Blink: если во время работы ему изменить TIMEHIGH или TIMELOW, то он все равно доработает до конца цикла со старыми значениями и только потом начнет работать с новыми. Например, если они были равны 1 час и попытаться изменить их на 1 минуту, Blink все равно завершит цикл условно через два часа и только потом начнет мигать с периодичностью в 2 минуты.
Вопрос: можно ли блок как-то сбросить при изменении TIMELOW или TIMEHIGH?
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Не выходит. Написал тестовый код:
Если TIMEHIGH и TIMELOW задать допустим 1 час, а потом 1 секунда, то в каких бы пропорциях не менялись значения en1 и en2, время в 1 час никак не сбрасывается.Код:VAR blink1:BLINK; time1 : TIME; time2 : TIME; en1 : BOOL; en2 : bool; ou1 : bool; END_VAR IF en2 THEN blink1(enable:= en1, timelow := time1, timehigh := time2); END_IF ou1 := blink1.OUT;
Вариант с нужным вам поведением:
"Переключение" en1 (с TRUE на FALSE и обратно на TRUE) применит новые параметры времени.Код:PROGRAM PLC_PRG VAR blink1:BLINK; time1 : TIME := T#1M; time2 : TIME := T#1m; en1 : BOOL; en2 : BOOL; ou1 : BOOL; reset: BOOL; END_VAR VAR CONSTANT blink2: BLINK; END_VAR IF en2 THEN blink1(enable:= en1, timelow := time1, timehigh := time2); END_IF IF NOT(en1) THEN blink1 := blink2; END_IF ou1 := blink1.OUT;
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Не пойму, что не нравится компилятору?
Пишет: C0037: 'eState' не является входом 'PLC_PRG'
Ведь другие переменные видит...
Объявление в PLC_PRG:
Screenshot_1.jpg
В коде вызываемой функции:
Screenshot_2.jpg
Один POU не может произвести запись в локальные переменные другого POU.
Передача данных происходит через входные и выходные переменные.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Ясно. Спасибо!
Разбираемся дальше..Проект огромный у меня и притом первый ..но делать нужно за нами Москва...
Итак есть потребность в ПИД регуляторе ( управление чиллером ) я так понимаю что торопится с ним не стоит и поэтому ну думаю время для ПИД выставить ...хотя бы 1 мин ( 60 сек)
входной параметр - температура,пусть будет 5-30гр.Цельсия ,выходной - производительность чиллера в процентах...
подсмотрел в Библиотеке UTIL.Library есть PID и PID_FIXCYCLE ..прошу помощи...подойдут ли данные регуляторы для моей задачи или поискать что то еще...или может кто что посоветует?( если готовы помочь не только словом но и делом не откажусь от помощи за оплату)