energvk а как вы предыдущий результат измерения получаете в CDS ?
У меня не установлен 106-й, а так, макросы онлайн или что-то подобное, он вроде там был.
energvk а как вы предыдущий результат измерения получаете в CDS ?
У меня не установлен 106-й, а так, макросы онлайн или что-то подобное, он вроде там был.
Что-то типа такого:
Код:VAR_INPUT ai :REAL; in_min :REAL; in_max :REAL; out_min :REAL; out_max :REAL; END_VAR VAR_OUTPUT Res :REAL; Err :BOOL; END_VAR VAR tmp :REAL; END_VAR Err:=TRUE; CASE OF ELSE Err:=FALSE; END_CASE IF NOT Err THEN tmp:=out_min+(ai-in_min)*(out_max-out_min)/(in_max-in_min); (*Расчет фактического значения*) END_IF Res:=tmp;
Поставил 106-й. Там есть fSEL7, на форуме можно найти просто fSEL для двух значений.
На счет сохранения предыдущего, можно поиграться с записью в переменную при сравнении на ошибку. Может с обратной связью или даже без нее. Тоже ведь в цикле все выполняется.
Да, звучит вроде просто, но вот в лоджике пока не пойму как сделать (fSel действительно есть на форуме, обнаружил, когда уже написал тоже самое )
Ну, через fSEL гнать переменную, при отсутствии ошибки сохранять в переменную на второй вход fSEL. При наличии ошибки запрещать обновлять переменную и переключать fSEL на нее.
Спасибо! С Вашей помощью функцию намалевал, пока не совершенную, буду дорабатывать, спасибо большое!
СМИ2.PNG
Если кому-то пригодится, вот причёсанный:
СМИ2_1.PNG
Последний раз редактировалось Сергей0308; 12.10.2015 в 23:37.
Здравствуйте. Где можно прочитать как настраивать визуализацию для ПР200? К примеру активен выход 6, появляется цифра 6.