Коллеги, добрый день! Прошу помочь найти библиотеку с pid-регуляторами для codesys 3.5, если есть таковая. Я помню под 2.3 была такая, может есть отдельная тема по pid-ам для 3.5?
Коллеги, добрый день! Прошу помочь найти библиотеку с pid-регуляторами для codesys 3.5, если есть таковая. Я помню под 2.3 была такая, может есть отдельная тема по pid-ам для 3.5?
Util.lib например :-) А вообще их довольно много, смотря что именно вам надо
Дискретный pid ищу, на задвижку. что бы по температуре "больше" и "меньше" выдавать.
И так. Выяснил, что требуется. Библиотека OSCATbasic. Но она не поддерживается в в codesys 17 p3. Как быть коллеги, подскажите пожалуйста. Требуется pid регулятор с дискретными выходами. Может кто подскажет как заставить стандартный pid из util доработать до дискретного. Есть у кого нибудь такой опыт?
Почему вы так решили?Но она не поддерживается в в codesys 17 p3
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Выход с регулятора PID/UTIL перевожу на вход блока управления клапаном с виртуальным позиционером. Ниже код
Код:FUNCTION_BLOCK VALVE1 VAR_INPUT Setpoint:REAL;(*Физическая уставка клапану*) PV:REAL; SP:REAL; END_VAR VAR_OUTPUT Q_Open :BOOL; Q_Close :BOOL; Position:REAL; State:INT; TimeTRUE:TIME:=T#600ms; TimeFALSE:TIME:=T#600MS; END_VAR VAR_IN_OUT END_VAR VAR Delta:REAL; BLINK:BLINK1; BLINK1:BLINK;(*Для дожатия*) TON:TON;(*Для сброса команд*) U_var_open:REAL; U_var_close:REAL; koeff_o:REAL;(*Коэффициент масштабирования позиционера клапана*) koeff_c:REAL;(*Коэффициент масштабирования позиционера клапана*) State1:INT;(*Dlya shim*) STBL:STBL; INC,DEC,STB:BOOL; TON1:TON;(*Для сброса команд*) Count:INT; R_TRIG:R_TRIG; LAG:LAG; SP1:REAL; LAG1:LAG; Position1:REAL; END_VAR ********* LAG(IN:=SP , k:=0.001, OUT=>SP1 ); Delta := ABS(SP1-PV); CASE State1 OF 0: TimeTRUE := T#200MS; TimeFALSE := T#20S; IF Delta>=1 THEN State1:=1; END_IF; 1: TimeTRUE := T#300MS; TimeFALSE := T#15S; IF Delta<1 THEN State1:=0; END_IF; IF Delta>=1.2 THEN State1:=2; END_IF; 2: TimeTRUE := T#400MS; TimeFALSE := T#10S; IF Delta<1.2 THEN State1:=1; END_IF; IF Delta>=1.4 THEN State1:=3; END_IF; 3: TimeTRUE := T#500MS; TimeFALSE := T#8S; IF Delta<1.4 THEN State1:=2; END_IF; IF Delta>=1.6 THEN State1:=4; END_IF; 4: TimeTRUE := T#600MS; TimeFALSE := T#7S; IF Delta<1.6 THEN State1:=3; END_IF; IF Delta>=1.8 THEN State1:=5; END_IF; 5: TimeTRUE := T#700MS; TimeFALSE := T#6S; IF Delta<1.8 THEN State1:=4; END_IF; IF Delta>=2 THEN State1:=6; END_IF; 6: TimeTRUE := T#800MS; TimeFALSE := T#5S; IF Delta<2 THEN State1:=5; END_IF; IF Delta>=2.2 THEN State1:=7; END_IF; 7: TimeTRUE := T#900MS; TimeFALSE := T#4S; IF Delta<2.2 THEN State1:=6; END_IF; IF Delta>=2.4 THEN State1:=8; END_IF; 8: TimeTRUE := T#1000MS; TimeFALSE := T#3S; IF Delta<2.4 THEN State1:=7; END_IF; IF Delta>=2.7 THEN State1:=9; END_IF; 9: TimeTRUE := T#1100MS; TimeFALSE := T#2S; IF Delta<2.7 THEN State1:=8; END_IF; IF Delta>=3 THEN State1:=10; END_IF; 10: TimeTRUE := T#1200MS; TimeFALSE := T#1s; IF Delta<3 THEN State1:=9; END_IF; END_CASE; BLINK(ENABLE:=(State=2) OR (State=3), TIMELOW:=TimeFALSE , TIMEHIGH:=TimeTRUE ); BLINK1(ENABLE:=(State=4) OR (State=5) , TIMELOW:=T#30s , TIMEHIGH:=T#100ms , OUT=> ); CASE State OF 0:(*Инициализация*) TON1(IN:=FALSE); State := 1; 1:(*Ситуация покоя*) State := State; Q_Open := FALSE; Q_Close := FALSE; Position := Position; Setpoint := Setpoint; Delta := Delta; TON1(IN:=TRUE, PT:=T#5s); //IF PV>SP1 AND Delta>0.1 AND TON1.Q THEN State:= 3; END_IF;(*Закрывается*) //IF PV<SP1 AND Delta>0.4 AND TON1.Q THEN State:= 2; END_IF;(*Открывается*) IF Position>Setpoint AND TON1.Q THEN State:= 3; END_IF;(*Закрывается*) IF Delta>1 AND PV>SP1 THEN State := 3; END_IF;(*Закрывается*) IF Position<Setpoint AND TON1.Q THEN State:= 2; END_IF;(*Открывается*) //IF Position <= 1 AND (SP1<PV) AND Delta>0.5 AND TON1.Q THEN State := 5; END_IF;(*Закрыт*) //IF Position >= 99 AND (SP1>PV) AND Delta>0.5 AND TON1.Q THEN State := 4; END_IF;(*Открыт*) 2:(*Открывается*) State := State; TON1(IN:=FALSE); Q_Close := FALSE; Q_Open := BLINK.OUT; R_TRIG(CLK:=BLINK.OUT); //IF R_TRIG.Q THEN END_IF; IF INC THEN Count:=Count+1; END_IF; IF Position>=Setpoint THEN Count:=0; State := 1; END_IF;(*Ситуация покоя*) IF PV>=SP1+0.6 THEN Count:=0; State := 1; END_IF;(*Ситуация покоя*) IF Count>300 THEN Count:=0; State := 1; END_IF;(*Ситуация покоя*) IF INC AND Delta<=1.3 THEN Count:=0; State := 1; END_IF; IF Delta<=0.3 AND PV<SP1 THEN Count:=0; State := 1; END_IF; 3:(*Закрывается*) State := State; TON1(IN:=FALSE); Q_Open := FALSE; Q_Close := BLINK.OUT; R_TRIG(CLK:=BLINK.OUT); IF R_TRIG.Q THEN Count:=Count+1; END_IF; IF Position<=Setpoint THEN Count:=0; State := 1; END_IF;(*Ситуация покоя*) 4:(*Открыт*) State := State; TON1(IN:=FALSE); Position:=100; Q_Open := BLINK1.OUT; Q_Close := FALSE; IF Setpoint<=99.8 OR DEC THEN State := 3; END_IF;(*Закрывается*) IF Delta<=0.5 THEN State := 1; END_IF;(*Ситуация покоя*) 5:(*Закрыт*) State := State; TON1(IN:=FALSE); Position:=0; Q_Open := FALSE; Q_Close := BLINK1.OUT; IF Setpoint>0.3 AND INC THEN State := 2; END_IF;(*Открывается*) IF Delta<=0.5 THEN State := 1; END_IF;(*Ситуация покоя*) END_CASE; IF Q_Open THEN Position1:=Position1+0.04; END_IF; IF Q_Close THEN Position1:=Position1-0.04; END_IF; IF Position > 100 THEN Position:=100; END_IF; IF Position < 0 THEN Position:=0; END_IF; IF Position1 > 100 THEN Position1:=100; END_IF; IF Position1 < 0 THEN Position1:=0; END_IF; LAG1(IN:=Position1 , k:=0.00005, OUT=>Position ); IF Setpoint > 100 THEN Setpoint:=100; END_IF; IF Setpoint < 0 THEN Setpoint:=0; END_IF; //IF DEC AND (PV<SP1+0.3) THEN Q_Close := FALSE; END_IF; STBL(PV:=PV , INC=>INC , DEC=>DEC , STBL=>STB ); IF PV>SP THEN Q_Open := FALSE; END_IF; IF PV<SP THEN Q_Close:= FALSE; END_IF;
+79104444236
С уважением,
Лапшин Вячеслав
Инсталлер с горем пополам появился, но не хватает кучи библиотек [ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElems'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElems'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemMeter'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemMeter'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemsSpecialControls'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsSpecialControls'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemsWinControls'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsWinControls'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemTextEditor'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemTextEditor'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemTrace'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemTrace'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuNativeControl'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuNativeControl'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemsAlarm'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsAlarm'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemCamDisplayer'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemCamDisplayer'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElem3DPath'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElem3DPath'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemsDateTime'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsDateTime'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#system_visuinputs'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'system_visuinputs'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemXYChart'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemXYChart'.)
[ERROR] 195: Менеджер библиотек [Device: Plc Logic: Application]: Невозможно открыть библиотеку '#System_VisuElemBase'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemBase'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElems'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElems'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemMeter'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemMeter'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemsSpecialControls'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsSpecialControls'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemsWinControls'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsWinControls'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemTextEditor'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemTextEditor'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemTrace'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemTrace'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuNativeControl'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuNativeControl'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemsAlarm'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsAlarm'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemCamDisplayer'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemCamDisplayer'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElem3DPath'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElem3DPath'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemsDateTime'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemsDateTime'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#System_VisuElemXYChart'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'System_VisuElemXYChart'.)
[ERROR] 195: Менеджер библиотек: Невозможно открыть библиотеку '#system_visuinputs'. (Причина: Невозможно разрешить библиотеку плейсхолдера 'system_visuinputs'.)
На рабочем компьютере всё получилось, а дома ну никак.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
file:///C:/Users/aleja/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D 0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0%20(2).png
file:///C:/Users/aleja/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D 0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0%20(3).png
file:///C:/Users/aleja/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D 0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0%20(4).png
file:///C:/Users/aleja/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D 0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0%20(5).png
file:///C:/Users/aleja/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D 0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0%20(6).png
file:///C:/Users/aleja/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D 0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%B A%D1%80%D0%B0%D0%BD%D0%B0%20(7).png
Программу удалил, переустановил. Во время установки не загружается дополнительный пакет, инсталлера опять нет.