Konsante 1 oder 0 an Eingang eines Funktionsbausteines

Zuviel Werbung?
-> Hier kostenlos registrieren
U M0.0
R M0.0

UN M0.1
S M0.1


Mit sowas wäre ich vorsichtig.
Vor allem, wenn+s nur im OB1 steht.
Wenn im Programm versehentlich
einer der beiden Merker überschrieben wird,
kann das böse ausgehen.

Ich schreibe an jeden Bausteinanfang
Code:
set
s #hi
r #lo

Das verhindert zwar nicht,
das ich diese BITs überschreiben kann,
da es aber in jedem Baustein steht
ist nur dieser dann betroffen.

Man könnte auch die beiden Bit´s am Ende überprüfen
und ein CPU-Stop auslösen...
Wenn es sinn macht !?
 
ich benutze den OB100 für Initialiisierungen.

Code:
SET
S M0.1
R M0.0

Die Merker sind bei mir fest zugeordnet.
Als Taktmerker stelle ich in jeder CPU das MB 127 ein (Ist in kleineren CPU´s das höchste Merkerbyte).
Alles in der Variablentabelle auch deklariert.

Als feste Zuordnung in jedem Programm gibt es auch kein Durcheinander.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit sowas wäre ich vorsichtig.
Vor allem, wenn+s nur im OB1 steht.
Wenn im Programm versehentlich
einer der beiden Merker überschrieben wird,
kann das böse ausgehen.
Ich sach ma, wenn man vernünftig programmiert, weiß man auch was man tut.
Wenn die Symbolik auch noch vernünftig geführt wird, sollte dass wohl eine simple Handhabung sein, 2 Merker zu benutzen und diese dann nicht noch einmal zu überschreiben? :confused:
 
Ich sach ma, wenn man vernünftig programmiert, weiß man auch was man tut.
Wenn die Symbolik auch noch vernünftig geführt wird, sollte dass wohl eine simple Handhabung sein, 2 Merker zu benutzen und diese dann nicht noch einmal zu überschreiben? :confused:

*ACK*

Wenn in der Symboltabelle sowas wie HM_immer0 o.ä. steht, ist die Handhabung doch eindeutig. Und wer dann mit überlappenden Schreibzugriffen da reinpfuscht oder gar direkt drüberschreibt, sollte vor dem Programmieren mal nachlesen wozu die Referenzdaten da sind.
Ich mache solche Merker auch am Beginn des OB1 und finde das sauber gelöst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
http://www.sps-forum.de/showpost.php?p=311385&postcount=21

Man könnte auch die beiden Bit´s am Ende überprüfen
und ein CPU-Stop auslösen...
Wenn es sinn macht !?

@The Blue
Also da machst du dir zu viele Gedanken - vor allem mit dem CPU-Stop - das ist ja wohl ein Scherz oder? :rolleyes:

Ansonsten kenne ich in fast allen SPS-Konstrukten sowass:

Code:
[FONT=Courier New][SIZE=2]U  M0.0
[/SIZE][/FONT] [FONT=Courier New][SIZE=2]R  M0.0

[/SIZE][/FONT] [FONT=Courier New][SIZE=2]UN M0.1
[/SIZE][/FONT] [FONT=Courier New][SIZE=2]S  M0.1[/SIZE][/FONT]

Und ich kann mir maximal vorstellen, dass ein Newbee da einen Fehler macht, aber Newbees machen ja auch sowas:

Code:
L MW2
T MW3
Da hilft dann auch kein CPU-STOP mehr :ROFLMAO:

oft sehe ich


Code:
[FONT=Courier New][SIZE=2]U  M0.0     //"NULL"
[/SIZE][/FONT] [FONT=Courier New][SIZE=2]R  M0.0 
  [/SIZE][/FONT][FONT=Courier New][SIZE=2]
UN M0.1    [/SIZE][/FONT][FONT=Courier New][SIZE=2]//"EINS"[/SIZE][/FONT]
[FONT=Courier New][SIZE=2]S  M0.1[/SIZE][/FONT]

[FONT=Courier New][SIZE=2]U  M1.0     //"IBN0"
[/SIZE][/FONT] [FONT=Courier New][SIZE=2]R  M1.0 
  
[/SIZE][/FONT] [FONT=Courier New][SIZE=2]UN M1.1    [/SIZE][/FONT][FONT=Courier New][SIZE=2]//"IBN1"[/SIZE][/FONT]
[FONT=Courier New][SIZE=2]S  M1.1[/SIZE][/FONT]

Dann kann man zum Schluss dann die ganzen Fake-Merker im
Programm wunderbar finden.

Frank
 
Zurück
Oben