<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Folge Störungen im Programm unterdrücken</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8650d965e1/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8650d965e1/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/8650d965e1/</id><updated>2020-02-28T07:48:54.679000Z</updated><subtitle>Recent posts to Folge Störungen im Programm unterdrücken</subtitle><entry><title>Folge Störungen im Programm unterdrücken</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8650d965e1/?limit=25#231f" rel="alternate"/><published>2020-02-28T07:48:54.679000Z</published><updated>2020-02-28T07:48:54.679000Z</updated><author><name>J Schohaus</name><uri>https://forge.codesys.com/u/j-schohaus/</uri></author><id>https://forge.codesys.com591260db0aaa3df6504805fd8999c1cf953e9088</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Elaganter wäre es wenn eine Funktion hierfür geschieben wird.&lt;/p&gt;
&lt;p&gt;z.B.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;VAR_GLOBAL&lt;/span&gt;
   &lt;span class="nv"&gt;Error_Aktive&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;Error_Quit&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;FUNCTION&lt;/span&gt; &lt;span class="nv"&gt;Err_Handler&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
   &lt;span class="nv"&gt;Hmi_Error&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;Error_Flag&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Error_Flag&lt;/span&gt; &lt;span class="nv"&gt;St&lt;/span&gt;ö&lt;span class="nv"&gt;rung&lt;/span&gt; &lt;span class="nv"&gt;ist&lt;/span&gt; &lt;span class="nv"&gt;vorhanden&lt;/span&gt; &lt;span class="c1"&gt;; Hmi_Error Störungsmerker für die Anzeige *)&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;Hmi_Error&lt;/span&gt; &lt;span class="nv"&gt;OR&lt;/span&gt; &lt;span class="nv"&gt;Error_Flag&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;Error_Quit&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;Error_Aktive&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;Error_Aktive&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;Err_Handler&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;ELSE&lt;/span&gt;
   &lt;span class="nv"&gt;Err_Handler&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;Error_Quit&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;Error_Aktive&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt; &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;PROGRAM&lt;/span&gt; &lt;span class="nv"&gt;PLC_PRG&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;Hmi_Error_1&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;FehlerQuelle_1&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;Hmi_Error_2&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;FehlerQuelle_2&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;Hmi_Error_1&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;Err_Handler&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;Hmi_Error&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;Hmi_Error_1&lt;/span&gt; , &lt;span class="nv"&gt;Error_Flag&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FehlerQuelle_1&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;Hmi_Error_2&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;Err_Handler&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;Hmi_Error&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;Hmi_Error_2&lt;/span&gt; , &lt;span class="nv"&gt;Error_Flag&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FehlerQuelle_2&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Folge Störungen im Programm unterdrücken</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8650d965e1/?limit=25#0284" rel="alternate"/><published>2020-02-28T07:48:52.268000Z</published><updated>2020-02-28T07:48:52.268000Z</updated><author><name>Juergen Maier</name><uri>https://forge.codesys.com/u/juergen-maier/</uri></author><id>https://forge.codesys.coma105bd0a95561714f5993ee69aae2ddbc53957fe</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo, &lt;/p&gt;
&lt;p&gt;ich habe einen Baustein in dem meine Störmeldungen definiert sind. &lt;/p&gt;
&lt;p&gt;Meine "Störmerker" werden über SR Glieder gesetzt. &lt;/p&gt;
&lt;p&gt;Ich möchte nun, dass wenn ein "Störmerker" gesetzt wurde, die anderen nicht mehr gesetzt werden (keine folge Störungen bei einer Abschaltung). &lt;/p&gt;
&lt;p&gt;Gibt es da eine gute Lösung ! &lt;/p&gt;
&lt;p&gt;Ein möglicher Ansatz wäre folgender Programmausschnitt ! &lt;/p&gt;
&lt;p&gt;Doch ich denke man kann das noch elegander Lösen. &lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;VAR_GLOBAL &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="nt"&gt;SM20_0&lt;/span&gt;  &lt;span class="nt"&gt;AT&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="nt"&gt;MX20&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;0&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;     &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;                   &lt;span class="o"&gt;(*&lt;/span&gt;&lt;span class="nt"&gt;St&lt;/span&gt;&lt;span class="err"&gt;ö&lt;/span&gt;&lt;span class="nt"&gt;rung&lt;/span&gt; &lt;span class="nt"&gt;1&lt;/span&gt;&lt;span class="o"&gt;*)&lt;/span&gt;

    &lt;span class="nt"&gt;SM20_1&lt;/span&gt;  &lt;span class="nt"&gt;AT&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="nt"&gt;MX20&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;     &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;                   &lt;span class="o"&gt;(*&lt;/span&gt;&lt;span class="nt"&gt;St&lt;/span&gt;&lt;span class="err"&gt;ö&lt;/span&gt;&lt;span class="nt"&gt;rung&lt;/span&gt; &lt;span class="nt"&gt;2&lt;/span&gt;&lt;span class="o"&gt;*)&lt;/span&gt;

    &lt;span class="nt"&gt;SM20_2&lt;/span&gt;  &lt;span class="nt"&gt;AT&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="nt"&gt;MX20&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;     &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;                   &lt;span class="o"&gt;(*&lt;/span&gt;&lt;span class="nt"&gt;St&lt;/span&gt;&lt;span class="err"&gt;ö&lt;/span&gt;&lt;span class="nt"&gt;rung&lt;/span&gt; &lt;span class="nt"&gt;3&lt;/span&gt;&lt;span class="o"&gt;*)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR &lt;/p&gt;
&lt;p&gt;PROGRAM P1_STOERUNGEN &lt;/p&gt;
&lt;p&gt;VAR &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="nt"&gt;sm200&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;SR&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;sm201&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;SR&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;sm202&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;SR&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;



    &lt;span class="nt"&gt;bool1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;bool2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;bool3&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;stoerung&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;reset&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR &lt;/p&gt;
&lt;p&gt;(&lt;em&gt;Störung 1&lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;sm200(SET1:= NOT stoerung AND bool1, RESET:= reset ); &lt;/p&gt;
&lt;p&gt;SM20_0:= sm200.Q1; &lt;/p&gt;
&lt;p&gt;stoerung:= sm200.Q1; &lt;/p&gt;
&lt;p&gt;(&lt;em&gt;Störung 2&lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;sm201(SET1:= NOT stoerung AND bool2, RESET:= reset ); &lt;/p&gt;
&lt;p&gt;SM20_1:= sm201.Q1; &lt;/p&gt;
&lt;p&gt;stoerung:= sm201.Q1; &lt;/p&gt;
&lt;p&gt;(&lt;em&gt;Störung 3&lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;sm202(SET1:= NOT stoerung AND bool3, RESET:= reset ); &lt;/p&gt;
&lt;p&gt;SM20_2:= sm202.Q1; &lt;/p&gt;
&lt;p&gt;stoerung:= sm202.Q1; &lt;/p&gt;
&lt;p&gt;usw...&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>