Abfrage und Transfer von Sollwert

hank12

Level-1
Beiträge
132
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

step7 will irgendwie nicht.. oder vielleicht auch das programmchen

will folgendes Machen:

Alles Temperaturen…
Ein Sollwert1(REAL Wert) kommt vom Panel (OP77A)…. und es existiert ein ISTWERT(REAL Wert) sowie eine Aussentemperatur (REAL WERT). Es soll der Sollwert in den Eingang (MD1) eines PID Reglers geschalten werden.


WENN "Sollwert1" >= "ISTWERT"
ODER
"Sollwert1" <= "ISTWERT" UND "Sollwert1">= "Aussentemperatur"

DANN Transferriere den "Sollwert1" in den MD1

ANSONSTEN Transferriere die "Aussentemperatur" in den MD1


Meine Lösung (die nicht funktioniert….)


L "Sollwert1"
L "Istwert"
>=R

SPB M001

L "Sollwert1"
L "Aussentemperatur"
>=R

SPB M001

L "Aussentemperatur"
T MD1

M001: L "Sollwert1"
T MD1


in dieser Routine belegt wird der MD1 immer mit dem Sollwert1 belegt obwohl sollwert1 niedriger als die Aussentempertur ist… er müsste in den MD1 die Aussentempertur reinschreiben und nicht den Sollwert1
 
Mal so auf die schnelle, sollte aber funktionieren

Code:
*

      O(    
      L     "Sollwert1"
      L     "Istwert"
      >=R   
      )     
      O     
      U(    
      L     "Sollwert1"
      L     "Istwert"
      <=R   
      )     
      U(    
      L     "Sollwert1"
      L     "Aussentemperatur"
      >=R   
      )     
      SPBNB _001
      L     "Sollwert1"
      T     MD    1
      SPA   _002
_001: NOP   0
      L     "Aussentemperatur"
      T     MD    1
_002: NOP   0
 
Danke marlob,

hast du ne Ahnung warum er meine routine nicht macht??
Ja, hab ich.

Code:
*
[FONT=Arial][COLOR=blue]M001:              L "Sollwert1"[/COLOR][/FONT]
[FONT=Arial][COLOR=blue]                        T MD1
[/COLOR][/FONT]
dieser Teil wird bei dir immer durchlaufen. Deshalb habe ich die Sprünge bei mir eingebaut.

[EDIT] vierlagig wird dir das gleich genauer erklären :) [\EDIT]
 
Zuletzt bearbeitet:
Danke marlob,

hast du ne Ahnung warum er meine routine nicht macht??

weil lade- und transfer-operationen nicht VKE-abhängig ausgeführt werden, also bei dir hier

Code:
*
[FONT=Courier New][COLOR=Black]      L   "Aussentemperatur"
      T   MD  1

M001: L   "Sollwert1"
      T   MD  1[/COLOR][/FONT]
zu erst die Aussentemperatur transferierst aber direkt danach den sollwert 1

richtiger wäre:

Code:
*
      L   "Aussentemperatur"
      T   MD  1
      [B][COLOR=Red]SPA end[/COLOR][/B]
M001: L   "Sollwert1"
      T   MD  1
[B][COLOR=Red]end:[/COLOR][/B]  NOP 0
[edit] du solltest deine MD und MW mit durch zwei teilbaren nummern adressieren [/edit]
[edit2] übrigens ist es nichts anderes als ich dir hier bereits erklärt habe ... manche sachen gelten für mehrere dinge :rolleyes: [/edit2]
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren

[edit] du solltest deine MD und MW mit durch zwei teilbaren nummern adressieren [/edit]

Seit wann kann man 1 nicht mehr durch 2 teilen. Das wäre mir neu.:ROFLMAO:

Aber VL hat recht, Nur MWs und MDs benutzen, die sich ohne Rest durch 2 teilen lassen
Also
0,2,4,6 .. n für MWs
0,4,8,12, .. n für MDs
 
natürlich meinte ich die menge der natürlichen zahlen! oder kannst du mit M0,5.3 adressieren? :rolleyes:
Ich kann doch MD1 benutzen, wenn ich dann 1 durch 2 teile kommt 0,5 raus. aber adressieren tue ich mit MD1 oder M1.3. Trotzdem sollte man nicht MD1 benutzen.
Aber Schluss jetzt, wir wissen doch beide was du meinst und hank12 hoffentlich auch:ROFLMAO:
 
Zurück
Oben