Показано с 1 по 8 из 8

Тема: Ошибки В кодесис

  1. #1

    По умолчанию Ошибки В кодесис

    Проблема в том, что почему то начинают выскакивать некоторые значения, бывает что это даже те значения которые являются в программе константами. Происходит как будто зависание а потом продолжение работы программы. Не могли подсказать в чем могут быть проблемы.
    Изображения Изображения

  2. #2

    По умолчанию

    скорее всего это ошибки не кодесиса, как такового, а транспорта. При загрузке проекта, и даже маленьких файлов, довольно часто происходят ошибки, а это значит что в качестве транспорта используются UDP-сессии, без подтверждения правильности передачи данных.

  3. #3

    По умолчанию

    используется TCP. В чем причина выбросов непонятно. хочется увидеть проект и как получен график

  4. #4

    По умолчанию

    Само соединение с контроллером у нас через кабель Ethernet.
    В визуализации составляли график строго по инструкции.
    Вот сам проект:


    FILTER1(IN_VAL:=Temp1, PB:=0.1, TI:=1);
    TEMP1_FIL:=FILTER1.OUT_VAL;

    FILTER2(IN_VAL:=Temp2, PB:=0.1, TI:=1);
    TEMP2_FIL:=FILTER2.OUT_VAL;

    IF A=1

    THEN
    IF B=0
    THEN
    out_val_ten2:=0;
    PID_REG_TEN1(PV:=TEMP1_FIL, PV_TIME:=Time1, SP:=yst_temp, PB:=0.22, Ti_:=8, Td_:=1, _IMIN:=-1, _IMAX:=1);
    out_val_ten1:=PID_REG_TEN1.OUT_VAL;
    IF C=0
    THEN
    IF out_val_ten1>0
    THEN
    Heather:=REAL_TO_WORD(MAX(0, out_val_ten1)*655.35);
    cooler:=0;
    ELSE
    heather:=0;
    cooler:=0;
    END_IF
    ELSE
    IF out_val_ten1>0
    THEN
    Heather:=REAL_TO_WORD(MAX(0, out_val_ten1)*655.35);
    cooler:=0;
    ELSE
    heather:=0;
    cooler:=REAL_TO_WORD(MAX(0, out_val_ten1*(-1))*655.35);
    END_IF
    END_IF
    END_IF
    ELSE
    IF B=1
    THEN
    out_val_ten1:=0;
    PID_REG_TEN2(PV:=TEMP1_FIL, PV_TIME:=Time1, SP:=yst_temp, PB:=0.22, Ti_:=8, Td_:=1, _IMIN:=-1, _IMAX:=1);
    out_val_ten2:=PID_REG_TEN2.OUT_VAL;
    IF C=0
    THEN
    IF out_val_ten2>0
    THEN
    Heather:=REAL_TO_WORD(MAX(0, out_val_ten2)*655.35);
    cooler:=0;
    ELSE
    heather:=0;
    cooler:=0;
    END_IF
    ELSE
    IF out_val_ten2>0
    THEN
    Heather:=REAL_TO_WORD(MAX(0, out_val_ten2)*655.35);
    cooler:=0;
    ELSE
    heather:=0;
    cooler:=REAL_TO_WORD(MAX(0, out_val_ten2*(-1))*655.35);
    END_IF
    END_IF
    ELSE
    cooler:=0;
    heather:=0;
    END_IF

    END_IF
    PSi_koeff:=0.0064;
    Davl:=1013.25;

    VLAZH(T_Dry:=Temp1_FIL, T_Moist:=Temp2_FIL, A_Koeff:=PSi_koeff, Pressure:= Davl);

    Vlazhnostt:=VLAZH.Res;
    Oshibka:=VLAZH._err;

    IMIN_VL:=-1;
    IMAX_VL:=1;
    YDOP_VL:=1;



    FILTER2(IN_VAL:=vlazhnostt, PB:=0.1, TI:=1);
    TEMP2_FIL:=FILTER2.OUT_VAL;

    Reg_vlazh(PV:=Vlazhnostt, PV_TIME:=Time2, SP:=yst_vlazh, START_ANR:=START_ANR_VL, YDOP:=YDOP_VL, _IMIN:= IMIN_VL, _IMAX:= IMAX_VL);
    out_val_vl:=Reg_vlazh.OUT_VAL;
    START_ANR_VL2:=Reg_vlazh.STATE_ANR;

    Reg_vlazh.fK0;
    Reg_vlazh.fKdKi;
    Reg_vlazh.fKi;
    (*
    REG_VLAZHNOSTI(PV:=Vlazhnostt, PV_TIME:=Time2, SP:=yst_vlazh, PB:=0.22, Ti_:=8, Td_:=1, _IMIN:=-1, _IMAX:=1);
    Out_val_vl:=REG_VLAZHNOSTI.OUT_VAL;
    *)
    IF

    START_ANR_VL2=1

    THEN

    START_ANR_VL:=0;

    ELSE

    START_ANR_VL:=1;

    END_IF


    IF
    out_val_vl>0

    THEN
    tim1(IN:=1, PT:=t#2s);
    tim2(IN:=0, PT:=t#2s);
    D:=tim1.Q;
    IF
    D=1
    THEN
    Yvlazhnitel:=REAL_TO_WORD(MAX(0, out_val_vl)*655.35);
    END_IF
    Osyshitel:=0;
    ELSE
    tim2(IN:=1, PT:=t#2s);
    tim1(IN:=0, PT:=t#2s);
    g:=tim2.Q;
    IF
    g=1
    THEN
    Osyshitel:=REAL_TO_WORD(MAX(0,out_val_vl*-1)*655.35);
    END_IF
    Yvlazhnitel:=0;


    END_IF

  5. #5

    По умолчанию

    Не знаю, может это как-то взаимосвязано, но у нас такие скачки начали появляться после того как у нас перестало соединяться с контроллером по RS-232. Может быть внутри что-то полетело. А произошло это так, мы проверяли работу контроллер на камере, и в одно время у нас пропала связь по RS-232 и мы больше не могли подсоединиться. Решили просто начать соединяться через Ethernet.
    Последний раз редактировалось DimaSik; 06.07.2009 в 13:34.

  6. #6

    По умолчанию

    Выложите проект, а не кусок кода, пожалуйста

  7. #7

    По умолчанию

    Мы тоже столкнулись с такой проблеммой, а при анализе выяснилась закономерность, что это не скачки, а данные с соседних входных каналов т.е. происходил "сдвиг данных". Через какое-то время ПЛК-154, перестал программироваться и перепрошиваться, нам посоветовали "в ремонт".

  8. #8

    По умолчанию

    А вот у нас после того как начались эти "скачки", перестало соединяться с контроллером по RS-232. И чтобы допрограммировать его, нам пришлось подсоединяться через Ethernet.

Ваши права

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