ZK SW Mosaic 11. 4. 2021 15:04

Dobrý den,

při použití FB SigErr13 z knihovny RegoLib 2.0 jsem náhodou narazil na problém, že mi nechtěl zmizet výstup signál poruchy 7 po zániku vstupního signálu a kvitaci.

Po dlouhých pokusech hledání, kde je chyba jsme přišli na to, že pokud je vstup In2:=true, tak potom když vstup In7 projde stavy false -> true ->false a je odkvitováno, tak  výstup Err7 trvale v true. Přitom vedlejší vstupy In6 a In8  fungují správně, tzn. že po zániku vstupu a odkvitování výstupy jsou false.

Tento FB používám již dlouho v mnoha projektech a nyní jsem vlastně náhodou narazil na toto chování. Zkoušeno na CP-1005 i v simulátoru, Mosaic 2020,2 Upd1 Fix1

Mohli byste to prosím nějak prozkoumat? Přikládám ukázku.

Díky, ZK

VAR_GLOBAL RETAIN
ERR_01:SigErr13;
In_AL_2:bool;
In_AL_7:bool;
Kvitace:bool;
END_VAR

PROGRAM prgMain
  VAR_INPUT
  END_VAR
  VAR_OUTPUT
  END_VAR
  VAR
  END_VAR
  VAR_TEMP
  END_VAR
  ERR_01.In2:= In_AL_2;  //pokud trva tento vstup In2
  ERR_01.Cfg.PresetTime2:=T#0s;
  ERR_01.Cfg.control2:=2;

  ERR_01.In7:= In_AL_7;  //tak In7 nefunguje spravne, pokud prejde 0 -> 1 -> 0 a Kvitace, Tak Err7 je stale 1
  ERR_01.Cfg.PresetTime7:=T#0s;
  ERR_01.Cfg.control7:=2;

  ERR_01.AckI:=Kvitace;
  ERR_01.ResI:=Kvitace;

  ERR_01();
  
  Kvitace:=false;

END_PROGRAM

Odpovědi 2

Luboš Urban 19. 3. 2021 23:29

Dobrý den,

díky vašemu popisu jsme chybu našli rychle. V příloze najdete opravenou knihovnu. Omlouváme se za komplikace.

ZK 22. 3. 2021 11:15

Děkuji za rychlou reakci, vyzkoušeno, funguje. ZK

Tento dotaz je vyřešený.