Страница 36 из 37 ПерваяПервая ... 2634353637 ПоследняяПоследняя
Показано с 351 по 360 из 365

Тема: CoDeSys v2.3

  1. #351

    По умолчанию

    Как избавиться от зюзь в комментариях , т.е. русифицировать ее под Win7?
    Последний раз редактировалось Providec_1; 18.08.2015 в 17:05.

  2. #352

    По умолчанию

    Как избавиться от зюзь в комментариях , т.е. русифицировать ее под Win7?
    Проект -> Опции -> Редактор -> Шрифт -> выбрать "Arial" -> в Анимация с "Западноевропейский" переключить на "Кириллица" -> нажать "ОК"
    1.jpg
    2.JPG
    3.JPG
    Последний раз редактировалось Pvalp; 03.09.2015 в 22:59.

  3. #353
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

  4. #354

    По умолчанию

    Добрый день!
    Установщик библиотек (http://www.owen.ru/uploads/txtlic.ph.../Lib_setup.exe)
    с вирусом "Trojan.Filecoder.W"

  5. #355
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Симулятор игнорирует NaNы!!! Стыд, позор, ппц.


    Код:
    PROGRAM PLC_PRG
    VAR
        bin: UDINT := 2#0111_1111_1000_0000_0000_0000_0000_0001;
        nan: POINTER TO REAL;
        equ: BOOL;
    END_VAR
    
    
    nan := ADR(bin);
    equ := nan^ = nan^;
    ПЛК160:

    nan_plc.png


    Симулятор:


    nan_sim.png

    Бонус:

    nan_vs.png


    А ещё нет способа задать NaN напрямую и 0.0 / 0.0 не компилируется.

    UPD! Ой мама дорогая... Держите меня семеро:

    div_zero_plc.png div_zero_sim.png

    Похоже, моим мечтам о NaN'ах в Кодесисе не суждено сбыться. По крайней мере тестировать код не получится.
    Последний раз редактировалось Yegor; 24.11.2015 в 10:53.

  6. #356

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    А вот это уже не смешно (d1: DATE):

    Вложение 16141
    Ыыы. Зато в докуменитации описаны функции приведения к дате булевских типов:

    "BOOL_TO Conversions
    Conversion from type BOOL to any other type:
    .......

    t:=BOOL_TO_TIME(TRUE);
    (* Result is T#1ms *)

    tof:=BOOL_TO_TOD(TRUE);
    (* Result is TOD#00:00:00.001 *)

    dat:=BOOL_TO_DATE(FALSE);
    (* Result is D#1970 *)

    dandt:=BOOL_TO_DT(TRUE);
    (* Result is DT#1970-01-01-00:00:01 *)
    "

  7. #357

    По умолчанию

    Имеется рабочая программа для погодного регулирования с точностью 0,5 градуса. Но когда контроллер поддерживает целое значение температуры теплоносителя, например 50 гр., то точность становится 1 гр.: от 49,5 до 50,5 гр. Если поддерживается, например 50,5 гр. о точность становится 0,5 гр.: от 50,25 до 50,75 гр.
    Где нужно подкорректировать программу чтобы точность поддержания температуры была 0,5 гр.?

    PROGRAM PLC_PRG
    VAR
    ind_temp: INT;
    ton1,ton2: TON;
    df: DECODE_FLOAT;
    ust_temp: REAL;
    temp_pod_i: INT;
    first_start: BOOL := TRUE;
    (*old_mode: INT;
    old_pod_ust: INT;
    old_ust_temp_z: INT;*)
    temp_pod, ust_temp_f: REAL;
    temp_nv: REAL;
    delta: REAL;
    ind_temp1: REAL;
    END_VAR
    VAR RETAIN
    temp: ARRAY [0..78] OF REAL;
    (*mode_r: INT;
    pod_ust_r: INT;
    ust_temp_r: INT;*)
    NaprReg_r:REAL;
    END_VAR

    …………………………………………………………………………………………………………………………………… …………………………….


    NaprReg := NaprReg_r;


    IF first_start THEN
    (* +8 +7.5 +7 +6.5 +6 *)
    temp[0] := 35; temp[1] := 36; temp[2] := 36; temp[3] := 36; temp[4] := 36;
    (* +5.5 +5 +4.5 +4 +3.5 *)
    temp[5] := 36; temp[6] := 36; temp[7] := 36; temp[8] := 36; temp[9] := 36.5;
    (* +3 +2.5 +2 +1.5 +1 *)
    temp[10] := 37; temp[11] := 37.5; temp[12] := 38; temp[13] := 38.5; temp[14] := 39;
    (* +0.5 0 -0.5 -1 -1.5 *)
    temp[15] := 39.5; temp[16] := 40; temp[17] := 40.5; temp[18] := 41; temp[19] := 41.5;
    (* -2 -2.5 -3 -3.5 -4 *)
    temp[20] := 42; temp[21] := 42.5; temp[22] := 43; temp[23] := 43.5; temp[24] := 44;
    (* -4.5 -5 -5.5 -6 -6.5 *)
    temp[25] := 44.5; temp[26] := 45; temp[27] := 45.5; temp[28] := 46; temp[29] := 46.5;
    (* -7 -7.5 -8 -8.5 -9 *)
    temp[30] := 47; temp[31] := 47.5; temp[32] := 48; temp[33] := 48.5; temp[34] := 49;
    (* -9.5 -10 -10.5 -11 -11.5 *)
    temp[35] := 49; temp[36] := 49; temp[37] := 49.5; temp[38] := 50; temp[39] := 50;
    (* -12 -12.5 -13 -13.5 -14 *)
    temp[40] := 50; temp[41] := 50.5; temp[42] := 51; temp[43] := 51; temp[44] := 51;
    (* -14.5 -15 -15.5 -16 -16.5 *)
    temp[45] := 51.5; temp[46] := 52; temp[47] := 52.5; temp[48] := 53; temp[49] := 53.5;
    (* -17 -17.5 -18 -18.5 -19 *)
    temp[50] := 54; temp[51] := 54.5; temp[52] := 55; temp[53] := 55.5; temp[54] := 56;
    (* -19.5 -20 -20.5 -21 -21.5 *)
    temp[55] := 56.5; temp[56] := 57; temp[57] := 57.5; temp[58] := 58; temp[59] := 58.5;
    (* -22 -22.5 -23 -23.5 -24 *)
    temp[60] := 59; temp[61] := 59.5; temp[62] := 60; temp[63] := 60.5; temp[64] := 61;
    (* -24.5 -25 -25.5 -26 -26.5 *)
    temp[65] := 61.5; temp[66] := 62; temp[67] := 62.5; temp[68] := 63; temp[69] := 63.5;
    (* -27 -27.5 -28 -28.5 -29 *)
    temp[70] := 64; temp[71] := 64.5; temp[72] := 65; temp[73] := 65.5; temp[74] := 66;
    (* -29.5 -30 -30.5 -31 *)
    temp[75] := 66.5; temp[76] := 67; temp[77] := 67.5; temp[78] := 68;




    IF NaprReg=0.0 THEN
    NaprReg := 0.5;
    END_IF;
    first_start := FALSE;
    END_IF;



    df( VALUE:=temp_pod_d, DEF_VALUE:= temp_pod);
    CASE df._ERR OF
    12: temp_pod_s := 2000; (* кз *)
    13: temp_pod_s := 2001; (*обрыв *)
    6,7,8,9,10,11,14,15: temp_pod_s := 2002; (*ошибка контроллера *)
    ELSE
    temp_pod_s := REAL_TO_INT(df.OUT_VALUE*10);
    temp_pod := temp_pod_d;
    END_CASE;

    df( VALUE:=temp_nv_d, DEF_VALUE:=temp_nv);
    CASE df._ERR OF
    12: temp_nv_s := 2000; (* кз *)
    13: temp_nv_s := 2001; (*обрыв *)
    6,7,8,9,10,11,14,15: temp_nv_s := 2002; (*ошибка контроллера *)
    ELSE
    temp_nv_s := REAL_TO_INT((df.OUT_VALUE+50.0)*10);
    temp_nv := temp_nv_d;
    END_CASE;

    ind_temp1 := temp_nv;
    ind_temp := 16 - REAL_TO_INT(ind_temp1*2);
    IF ind_temp < 0 THEN
    ind_temp := 0;
    ELSIF ind_temp > 78 THEN
    ind_temp := 78;
    END_IF;

    IF mode = 1 THEN
    ust_temp := temp[ind_temp]+pod_ust;
    ELSE
    ust_temp := ust_temp_z;
    END_IF;


    temp_pod_i := REAL_TO_INT(temp_pod);
    ust_temp_f := (ust_temp);
    ton1.PT := t#10m; ton2.PT := t#10s;
    ton1(in :=TRUE); ton2(in :=TRUE);
    IF ton1.ET >t#30s THEN
    IF (temp_pod_i >ust_temp) AND (temp_pod_s <2000) AND ((temp_nv_s<2000) OR (mode=0)) THEN
    delta :=(temp_pod - ust_temp_f)/500;
    NaprReg := NaprReg +delta;
    IF NaprReg > 0.90 THEN NaprReg := 0.90; END_IF;
    END_IF;
    IF (temp_pod_i delta :=(ust_temp_f - temp_pod)/500 ;
    NaprReg := NaprReg -delta;
    IF NaprReg < 0.0 THEN NaprReg := 0.0; END_IF;
    END_IF;
    ton1(in :=FALSE);
    END_IF;

    NaprReg_r := NaprReg;
    napr_s :=REAL_TO_INT( NaprReg *1000);

    IF ton2.ET >t#400ms THEN
    ton2(in :=FALSE);
    ClearScreen(0);
    SetWorkScreen(0);

    ShowString(0,0,0,'Тнв=');
    CASE temp_nv_s OF
    2000: ShowString(0,4,0,'КЗ ');
    2001: ShowString(0,4,0,'Обр ');
    2002: ShowString(0,4,0,'Ош. ');
    ELSE
    ShowReal(0, 4, 0, '%3.1f',temp_nv);
    END_CASE;
    ShowString(0,9,0,'Тп=');
    CASE temp_pod_s OF
    2000: ShowString(0,12,0,'КЗ ');
    2001: ShowString(0,12,0,'Обр ');
    2002: ShowString(0,13,0,'Ош. ');
    ELSE
    ShowReal(0, 12, 0, '%3.1f',temp_pod);
    END_CASE;
    ShowString(0,0,1,'Uуп='); ShowReal(0, 4, 1, '%4.2f',NaprReg*10);
    END_IF;

  8. #358

  9. #359

    По умолчанию

    Когда контроллер поддерживает целое значение температуры теплоносителя, например 50 гр., то точность становится 1 гр.: от 49,5 до 50,5 гр. Если поддерживается, например 50,5 гр. о точность становится 0,5 гр.: от 50,25 до 50,75 гр.
    Где нужно подкорректировать программу чтобы точность поддержания температуры была 0,5 гр. для целых значений температур?

  10. #360

    По умолчанию

    Добрый день.
    CodeSys Version 2.3.9.41 + ПЛК63-М (target_v 2.01), в режиме эмулятора, автоматически не инициализируются конфигурационные значения по умолчанию в SubMenu конфигурации.
    Это глюк или нет?

Страница 36 из 37 ПерваяПервая ... 2634353637 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •