Step 7 Zählen von Real ab einer definierten Dichte

oliverzier

Level-2
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich bin Anfänger in AWL und komme bei folgender Aufgabenstellung nicht weiter.

Es gibt einen Massenflussmesser (MDM) der via Profinet an einer 400er SPS angebunden ist. Das Messgerät stellt neben dem Fluss auch 3 Zähler zur Verfügung.

Aufgabenstellung ist, dass ab einer Dichte von x der Zähler laufen soll.
Problem ist, dass man den Zähler nicht anhalten kann, sondern nur mit einem Bit zurück auf 0 setzen.

Ich habe nun einen eigenen Zähler und Transferiere den Zähler vom MDM solange in den eigenen, bis die Dichte abfällt. Das funktioniert aber nur solange, bis die Dichte wieder ansteigt und der Zähler des MDM von neuen beginnt zu zählen. Dann beginnt mein Interner auch wieder von null an. Gibt es hierzu eine einfache Lösung?

Code:
      L     "MDM360008 Dichte"
      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker
      <R    
      SPBN  FZw3
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten
FZw3: NOP   0


      UN    "DB47-Status Zuckeran.".SolldichteUnterschritten
      UN(   
      L     "DB47-Status Zuckeran.".ZaehlerZucker
      L     0.000000e+000
      ==R   
      )     
      SPBN  sw01
      L     "DB47-Status Zuckeran.".ZaehlerZucker
      T     "DB47-Status Zuckeran.".ZaehlerZuckerIntern

sw01: NOP   0
 
Es gibt einen Massenflussmesser (MDM) der via Profinet an einer 400er SPS angebunden ist. Das Messgerät stellt neben dem Fluss auch 3 Zähler zur Verfügung.
Die 3 Zähler hast Du zu Deiner freien Verfügung oder haben die eine bestimmte Bedeutung? Typ wirklich REAL??? REAL-ZählVariablen sind tückisch bis unbrauchbar, also Vorsicht!
Was ist "Fluss"? Ebenfalls ein Zähler? Ebenfalls Typ REAL?
Aufgabenstellung ist, dass ab einer Dichte von x der Zähler laufen soll.
Du meinst Deinen eigenen Zähler oder einen des MDM?
Die "Dichte" liest Du aus dem MDM ein? Typ REAL?
Problem ist, dass man den Zähler nicht anhalten kann, sondern nur mit einem Bit zurück auf 0 setzen.
Wenn der Zähler tatsächlich vom Typ REAL sein sollte, kennt er keinen Überlauf? Und hört einfach auf, zu zählen, wenn ein bestimmter Wert überschritten ist?
Mit einem Bit kann man "den Zähler" auf 0 setzen? Welchen der 3 oder 4 Zähler meinst Du? Je Zähler 1 Bit oder 1 Bit für alle Zähler?
Ich habe nun einen eigenen Zähler und Transferiere den Zähler vom MDM solange in den eigenen, bis die Dichte abfällt. Das funktioniert aber nur solange, bis die Dichte wieder ansteigt und der Zähler des MDM von neuen beginnt zu zählen. Dann beginnt mein Interner auch wieder von null an. Gibt es hierzu eine einfache Lösung?
Wenn ich Dich richtig verstehe, hast Du keinen eigenen "Zähler", sondern eine Variable, in die Du ab und an einen Zählerstand aus dem MDM kopierst?
Code:
      L     "MDM360008 Dichte"
      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker
      <R    
      SPBN  FZw3
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten
FZw3: NOP   0
"DB47-Status Zuckeran.".SolldichteUnterschritten soll TRUE sein, wenn "MDM360008 Dichte" >= "DB47-Status Zuckeran.".SollDichteZaehlungZucker und FALSE sein, wenn "MDM360008 Dichte" < "DB47-Status Zuckeran.".SollDichteZaehlungZucker?
Dann:
Code:
      L     "MDM360008 Dichte"
      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker
      >=R    
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten
Deine Variante lässt das UnterschrittenBit undefiniert bzw. unverändert, wenn >= und schreibt sonst (bei <) TRUE ins UnterschrittenBit, aber nie FALSE. Meinst Du das so?

Gruss, Heinileini

PS:
"SollDichteZaehlungZucker": Kann man eine Dichte zählen? Kann mir nix darunter vorstellen.
In welcher GrössenOrdnung liegen die Werte, die Du einliest?
Wie gross ist die Differenz zwischen 2 Werten, die in 2 aufeinander folgenden Zyklen eingelesen werden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die ausführliche Antwort!
Die 3 Zähler hast Du zu Deiner freien Verfügung oder haben die eine bestimmte Bedeutung? Typ wirklich REAL??? REAL-ZählVariablen sind tückisch bis unbrauchbar, also Vorsicht!
Die 3Zähler stehen zur freien Verfügung und sind wirklich REAL.


Was ist "Fluss"? Ebenfalls ein Zähler? Ebenfalls Typ REAL?

Der Massefluss ist auch real und kommt vom mdm in kg/h. Vielleicht könnte ich auch damit Zählen, wieviel kg geflossen sind? Ich müsste ja nur den Wert zwei mal durch 60 dividieren und dann im Sekundentakt auf meine real Variable addieren?!

Du meinst Deinen eigenen Zähler oder einen des MDM?
Das wäre prinzipiell egal. Da sich aber die Zähler des mdm nicht resetten lassen, ist wohl meine eigene real variable als zähler besser geeignet.

Wenn der Zähler tatsächlich vom Typ REAL sein sollte, kennt er keinen Überlauf? Und hört einfach auf, zu zählen, wenn ein bestimmter Wert überschritten ist?
Gute Frage. Müsste ich mal im Handbuch des MDM nachschauen.

Mit einem Bit kann man "den Zähler" auf 0 setzen? Welchen der 3 oder 4 Zähler meinst Du? Je Zähler 1 Bit oder 1 Bit für alle Zähler?
Es gibt für jeden der drei Zähler vom mdm ein bit zum zurücksetzen.

Deine Variante lässt das UnterschrittenBit undefiniert bzw. unverändert, wenn >= und schreibt sonst (bei <) TRUE ins UnterschrittenBit, aber nie FALSE. Meinst Du das so?
Danke, das war schon mal ein Fehler, löst aber leider nicht mein grundsätzliches problem.

PS:
"SollDichteZaehlungZucker": Kann man eine Dichte zählen? Kann mir nix darunter vorstellen.
Hier habe ich die Variable etwas unglücklich benannt. SollDichte wäre besser als Name geeignet.

In welcher GrössenOrdnung liegen die Werte, die Du einliest?
Wie gross ist die Differenz zwischen 2 Werten, die in 2 aufeinander folgenden Zyklen eingelesen werden?

Es wird ein LKW abgeladen. Ich denke dass der größte Wert des Zählers max. 50000kg ist.
Wenn der Fluss groß ist, liegen die Werte bei einer Differenz von 3 - 5 pro Zyklus.

Das Problem ist, dass ich den Zähler vom mdm nicht anhalten kann. Wenn die Dichte abfällt, kann ich ihn nur auf null setzen. Steigt nun die Dichte wieder an, beginnt er von neuem an hochzuzählen - und damit beginnt auch mein Problem- denn dann transferiere ich auch wieder den neuen Wert auf mein real und der alte ist weg..
 
Dann sollte etwas in dieser Art funktionieren?
Code:
[LEFT][FONT=courier new][COLOR=#222222]      L    aktuelleDichte[/COLOR]
[/FONT][/LEFT]
      L    minDichte
      >=R
      =    ausreichendeDichte
 
      U    ausreichendeDichte
      UN   ausreichendeDichteAlt
      SPBN  SKP1
      L    MdmZähler
      T    MdmStartWert
SKP1 
      UN   ausreichendeDichte
      U    ausreichendeDichteAlt
      SPBN  SKP2
      L    MdmZähler
      L    MdmStartWert
      -R
      L    eigenerZähler
      +R
      T    eigenerZähler
SKP2 
      U    ausreichendeDichte
      =    ausreichendeDichteAlt
Die Variablen MdmStartWert und ausreichendeDichteAlt müssen - wie Deine eigene ZählVariable - ihren Inhalt bis zum nächsten Zyklus behalten, dürfen also nicht temporär bzw. lokal sein.
Der eigene Zähler wird so allerdings immer nur in dem Moment aktualisiert, wenn die Dichte zu gering wird.
 
Zuletzt bearbeitet:

Der eigene Zähler wird so allerdings immer nur in dem Moment aktualisiert, wenn die Dichte zu gering wird.

Vielen Dank, nach geringer Modifizierung funktioniert es. Ist zwar deswegen auf der Visu nicht nicht so schön anzusehen, aber dennoch funktional.
Code:
//Rücksetzen wenn Dichte Grenzwert unterschritten





      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker
      L     "MDM360008 Dichte"
      >=R   
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten


      U     "DB47-Status Zuckeran.".SolldichteUnterschritten
      UN    "DB47-Status Zuckeran.".SR_Zuckeran_DichteOkAlt    //ausreichende Dichte alt
      SPBN  SKP1


      L     "DB103-analoge EA`s".MDM360008_Zaehler2
      T     "DB47-Status Zuckeran.".MDMStartWert    //MDMStartWert


SKP1: NOP   0


      UN    "DB47-Status Zuckeran.".SolldichteUnterschritten
      U     "DB47-Status Zuckeran.".SR_Zuckeran_DichteOkAlt    //ausreichende Dichte alt 
      SPBN  SKP2
      L     "DB103-analoge EA`s".MDM360008_Zaehler2
      L     "DB47-Status Zuckeran.".MDMStartWert    //MDMStartWert
      -R    
      L     "DB47-Status Zuckeran.".ZaehlerWasserIntern    //ZählerWasser
      +R    
      T     "DB47-Status Zuckeran.".ZaehlerWasserIntern    //ZählerWasser
SKP2: NOP   0
      U     "DB47-Status Zuckeran.".SolldichteUnterschritten
      =     "DB47-Status Zuckeran.".SR_Zuckeran_DichteOkAlt    //ausreichende Dichte alt 




      L     "DB103-analoge EA`s".MDM360008_Zaehler2
      L     "DB47-Status Zuckeran.".ZaehlerWasserIntern    //ZählerWasser   
      -R    
      T     "DB47-Status Zuckeran.".ZaehlerZuckerIntern

  U     "DB47-Status Zuckeran.".Taste_Reset_MDM360008_Z2
      SPBN  FZu2

//Zähler MDM zurücksetzen
      L     1
      T     "MDM36008 Zähler 2 RS"


//Berechnungsvariablen zurücksetzen
      L     0
      T     "DB47-Status Zuckeran.".MDMStartWert    //MDMStartWert
      T     "DB47-Status Zuckeran.".ZaehlerWasserIntern    //ZählerWasser
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist zwar deswegen auf der Visu nicht nicht so schön anzusehen, aber dennoch funktional.
Das dachte ich mir schon, wollte aber zunächst nur das Prinzip aufzeigen.
Hier die "aufgebohrte" Version, die zusätzlich mit einem TaktSignal eigener Wahl zu versorgen ist:
Code:
      L    aktuelleDichte
      L    minDichte
      >=R
      =    ausreichendeDichte     //  __________|==========================|__________

      U    ausreichendeDichte
      U    ausreichendeDichteAlt  //  ____________|==========================|________

      U    Takt                   //  ___|=====|______|=====|______|=====|______|=====

      UN   TaktAlt                //  _____|=====|______|=====|______|=====|______|===

      =    UpDateImpuls           //  ________________|=|__________|=|________________

      U    Takt
      =    TaktAlt
 
      UN   ausreichendeDichte
      U    ausreichendeDichteAlt
      O    UpDateImpuls     
      SPBN SKP1
      L    MdmZähler              //  ________________|=|__________|=|_____|=|________
      L    MdmStartWert
      -R
      L    eigenerZähler
      +R
      T    eigenerZähler
SKP1: 
      U    ausreichendeDichte
      UN   ausreichendeDichteAlt
      O    UpDateImpuls     
      SPBN SKP2
      L    MdmZähler              //  __________|=|___|=|__________|=|________________
      T    MdmStartWert
SKP2: 
      U    ausreichendeDichte
      =    ausreichendeDichteAlt
Gruss, Heinileini
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt leider noch ein Problem, dass der Zähler nicht analog zu dem Zähler2 des MDM zählt ;(

Hier schön zu sehen hier: https://youtu.be/L6TU8T0U_ow
und hier: https://youtu.be/DpoagvfhfK4

Der Code läuft im Baustein FC0 ab. Dieser wird im Ob1 aufgerufen. Kann es sein dass das nicht schnell genug passiert?

Code:
U     "Takt_CPU_0,1sek"      UN    "HM-MDMZaehlerTaktAlt"      //TaktAlt
      =     "HM-MDMZaehlerPosTaktImp"   // posTaktImpuls       //  ___|=|__________|=|__________|=|__________|=|___


      U     "Takt_CPU_0,1sek"
      =     "HM-MDMZaehlerTaktAlt"      // TaktAlt


      L     "MDM360008 Dichte"          //aktuelleDichte
      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker    //minDichte
      >=R   
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte  //  __________|==========================|__________


      UN    "HM-MDMZaehlerPosTaktImp"   //posTaktImpuls
      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    //ausreichendeDichte
      =     "HM-MDMZaehlerKombi"        // Kombi               //  __________|=====|_|==========|_|=====|__________


      U     "HM-MDMZaehlerKombi"        // Kombi
      UN    "HM-MDMZaehlerKombiAlt"     //KombiAlt
      SPBN  SKP1
      L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler           //  __________|=|_____|=|__________|=|______________
      T     "DB47-Status Zuckeran.".MDMStartWert    // MdmStartWert
SKP1: NOP   0
      UN    "HM-MDMZaehlerKombi"        //Kombi
      U     "HM-MDMZaehlerKombiAlt"     //KombiAlt
      SPBN  SKP2
      L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler           //  ________________|=|__________|=|_____|=|________
      L     "DB47-Status Zuckeran.".MDMStartWert    // MdmStartWert
      -R    
      L     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
      +R    
      T     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
SKP2: NOP   0
      U     "HM-MDMZaehlerKombi"        //Kombi
      =     "HM-MDMZaehlerKombiAlt"     //KombiAlt
 
Zuletzt bearbeitet:
Es gibt leider noch ein Problem, dass der Zähler nicht analog zu dem Zähler2 des MDM zählt ;(
Moin Oliver,
ich habe leider (noch) nicht verstanden, was Du mit "nicht analog ... zählt" meinst.
Dein eigener Zähler hinkt natürlich immer ein Bisschen hinterher. Er erhält die im MDM-Zähler aufgelaufene Menge immer erst bei einem TaktImpuls und zeigt dann das an, was beim MDM-Zähler schon Vergangenheit ist, während der MDM-Zähler munter weiterzählt.
Stellst Du denn irgendwann die beiden Zähler auf denselben AnfangsWert (z.B. 0)?
Laufen die beiden Zähler "auseinander"? Will sagen, der eigene Zähler zählt z.B. 50% oder 150% dessen, was der MDM-Zähler zählt?

Die Videos habe ich mir angesehen, aber die Werte noch nicht versucht, mitzuschreiben.
Das zweite Video ist nicht so leicht zu lesen - da werde ich mich gleich noch mehr anstrengen ...

Gruss, Heinileini

PS:
ZuckerZähler.jpg
Der obere Zähler zeigt immer 5 oder 6 Imkremente, der mittlere immer 6 oder 7.

PPS:
An dem kaum lesbaren Video ist mir etwas aufgefallen: das Stichwort "Kombi".
Sorry, guck bitte nochmal bei #6 - da hatte ich Dir noch eine CodeÄnderung untergejubelt, auf die ich Dich nicht hingewiesen hatte - wie mir leider jetzt erst bewusst wird.
Vielleicht ist das schon des Rätsels Lösung?
 

Anhänge

  • ZuckerZähler.jpg
    ZuckerZähler.jpg
    66,9 KB · Aufrufe: 2
Zuletzt bearbeitet:
Moin Oliver,
ich habe leider (noch) nicht verstanden, was Du mit "nicht analog ... zählt" meinst.
Dein eigener Zähler hinkt natürlich immer ein Bisschen hinterher. Er erhält die im MDM-Zähler aufgelaufene Menge immer erst bei einem TaktImpuls und zeigt dann das an, was beim MDM-Zähler schon Vergangenheit ist, während der MDM-Zähler munter weiterzählt.
Stellst Du denn irgendwann die beiden Zähler auf denselben AnfangsWert (z.B. 0)?
Laufen die beiden Zähler "auseinander"? Will sagen, der eigene Zähler zählt z.B. 50% oder 150% dessen, was der MDM-Zähler zählt?
Die Videos habe ich mir angesehen, aber die Werte noch nicht versucht, mitzuschreiben.
Das zweite Video ist nicht so leicht zu lesen - da werde ich mich gleich noch mehr anstrengen ...

Vielen Dank für die ausführliche Analyse! Die Zähler laufen auseinander, obwohl die Dichte die ganze Zeit ausreichend ist. Am Ende der heutigen Zuckerannahme waren die Zähler mehrere 1000kg auseinander, obwohl es nur ca. 200kg hätte sein sollen. Leider auch mit der Version, die du noch geändert hattest.
In die Zähler und auch in die Hilfsvariablen lade ich zu Beginn 0.

Ich habe jetzt einen 100ms Taktmerker anstatt des MDM Zählers verwendet, damit sieht man es super: https://youtu.be/ZlPPxTXvurk

Code:
//Test      U     "Takt_CPU_0,1sek"
// CLR   
      SPBN  tr66
      L     MD  3000
      L     1.000000e+000
      +R    
      T     MD  3000
tr66: NOP   0




      L     "MDM360008 Dichte"          //aktuelleDichte
      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker    //minDichte
      >=R   
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte




      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      U     "HM-MDMZaehlerUpdateImpul"  //ausreichendeDichteAlt
      U     "Takt_CPU_0,1sek"
      UN    "HM-MDMZaehlerTaktAlt"      // TaktAlt
      =     "HM-MDMZaehlerUpdateImpul"  //UpDateImpuls 


      U     "Takt_CPU_0,1sek"
      =     "HM-MDMZaehlerTaktAlt"      // TaktAlt


      UN    "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      U     "HM-MDMZaehlerUpdateImpul"  //ausreichendeDichteAlt
      O     "HM-MDMZaehlerUpdateImpul"  //UpDateImpuls 
      SPBN  SKP1
//L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler         
      L     MD  3000
      L     "DB47-Status Zuckeran.".MDMStartWert    // MdmStartWert
      -R    
      L     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
      +R    
      T     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
SKP1: NOP   0


      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      UN    "HM-MDMZaehlerUpdateImpul"  //ausreichendeDichteAlt
      O     "HM-MDMZaehlerUpdateImpul"  //UpDateImpuls 
      SPBN  SKP2
//L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler        
      L     MD  3000
      T     "DB47-Status Zuckeran.".MDMStartWert    // MdmStartWert
SKP2: NOP   0


      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      =     "HM-MDMZaehlerUpdateImpul"  //ausreichendeDichteAlt


      L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler  
      L     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
      -R    
      T     "DB47-Status Zuckeran.".ZaehlerWasserIntern    //ZählerWasser
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast "zwei Variablen mit demselben Namen" eingebaut! Achte mal auf den Kommentar hinter den Variablen, die ich grün eingefärbt habe. Bei den rot eingefärbten scheint es zu passen.
Code:
[LEFT][COLOR=#333333][FONT=Courier]//Test      U     "Takt_CPU_0,1sek"
// CLR   
      SPBN  tr66
      L     MD  3000
      L     1.000000e+000
      +R    
      T     MD  3000
tr66: NOP   0




      L     "MDM360008 Dichte"          //aktuelleDichte
      L     "DB47-Status Zuckeran.".SollDichteZaehlungZucker    //minDichte
      >=R   
      =     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte




      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      U     [/FONT][/COLOR][COLOR=#00ff00]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //ausreichendeDichteAlt
      U     "Takt_CPU_0,1sek"
      UN    "HM-MDMZaehlerTaktAlt"      // TaktAlt
      =     [/FONT][/COLOR][COLOR=#ff0000]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //UpDateImpuls 


      U     "Takt_CPU_0,1sek"
      =     "HM-MDMZaehlerTaktAlt"      // TaktAlt


      UN    "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      U     [/FONT][/COLOR][COLOR=#00ff00]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //ausreichendeDichteAlt
      O     [/FONT][/COLOR][COLOR=#ff0000]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //UpDateImpuls 
      SPBN  SKP1
//L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler         
      L     MD  3000
      L     "DB47-Status Zuckeran.".MDMStartWert    // MdmStartWert
      -R    
      L     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
      +R    
      T     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
SKP1: NOP   0


      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      UN    [/FONT][/COLOR][COLOR=#00ff00]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //ausreichendeDichteAlt
      O     [/FONT][/COLOR][COLOR=#ff0000]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //UpDateImpuls 
      SPBN  SKP2
//L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler        
      L     MD  3000
      T     "DB47-Status Zuckeran.".MDMStartWert    // MdmStartWert
SKP2: NOP   0


      U     "DB47-Status Zuckeran.".SolldichteUnterschritten    // ausreichendeDichte
      =     [/FONT][/COLOR][COLOR=#00ff00]"HM-MDMZaehlerUpdateImpul"[/COLOR][COLOR=#333333][FONT=Courier] //ausreichendeDichteAlt


      L     "DB103-analoge EA`s".MDM360008_Zaehler2    // MdmZähler  
      L     "DB47-Status Zuckeran.".ZaehlerZuckerIntern    // eigenerZähler
      -R    
      T     "DB47-Status Zuckeran.".ZaehlerWasserIntern    //ZählerWasser[/FONT][/COLOR][/LEFT]
 
Zurück
Oben