TIA Richtiger Syntax in SLC

Hesse

Level-2
Beiträge
933
Reaktionspunkte
170
Zuviel Werbung?
-> Hier kostenlos registrieren
Hierbei wird die 3 bemängelt:

Code:
"out":P  := #XYZ.3;  //Bit .3 ausgeben
Wie ist der richtige Syntax?

Das funktioniert:
Code:
"out":P := 0;           //Low ausgeben

Out ist „%Q0.3“
#XXZ = Byte
SPS = s7-1215c
 
Der Slice Syntax ist:
Xn für Bit n
Bn für Byte n
Wn für Word n
In deinem Fall also XYZ.X3 ...

Wobei es mich zugegebnermaßen überrascht, das er das :p bei einer solchen Verwendung ohne meckern zulässt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In deinem Fall also XYZ.X3 ...

Wobei es mich zugegebnermaßen überrascht, das er das :p bei einer solchen Verwendung ohne meckern zulässt.

Die Frage wäre, was die Steuerung dann tatsächlich macht...
Schreibt der wirklich nur das Bit? Oder vielleicht doch das gesamte Byte? Oder sind die restlichen Bits dann sogar FALSE? Oder vielleicht FALSE bis zur nächsten ProzessabbildAktualisierung? Ich wuerde mich da auf nix verlassen!
Gruß.
 
Laut TIA-V13-Hilfe "Systemspeicherbereiche" hat/kann die S7-1200 auch Peripherieausgangsbits <Variable>:p
Ich habe aber keine Erfahrung damit.

Harald
 
Laut TIA-V13-Hilfe "Systemspeicherbereiche" hat/kann die S7-1200 auch Peripherieausgangsbits <Variable>:p
Ich habe aber keine Erfahrung damit.

Harald
So wie ich beobachten konnte, funktioniert das so wie es soll.

Ich habe aber eine neu Frage:

Wie setze ich in SCL den schnellen Zähler HSC1 auf 0 ?

Code:
       "CTRL_HSC_0_DB"(HSC:=W#16#103);
       "CTRL_HSC_0_DB".NEW_CV := 0;
       "CTRL_HSC_0_DB".CV := 1;

so richtig ??
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie setze ich in SCL den schnellen Zähler HSC1 auf 0 ?
Das weiß ich leider nicht, doch ist das überhaupt nötig? Ich würde den Zähler einfach frei laufen lassen und vom Anfangsstand weiterrechnen (Überlauf beachten!).

Wenn Du die Ausgangsfrequenz auf eine Periodendauer von 208µs programmierst, dann brauchst Du nicht den Zählerstand selber sondern nur den Zeitpunkt, wenn sich der Zählerstand ändert - Bit .0 auswerten reicht. Vielleicht kannst Du auch direkt den Peripherieeingang abfragen?

Harald
 
Zurück
Oben