In einem FB Bit's Schieben

jackjones

Level-1
Beiträge
214
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

in einem FB möchte ich 5 IN Variablen in ein Temporäres DWord schieben.
Um Später den FC99 (BITSUM) anwenden zu können.

Ich kenne nur den aufruf nicht.

Code:
U #Sensor1
t #t_bitsum //Wie gebe ich die Stelle von dem Bit an?

Wenn ich das Bit von #Sensor1 an die erste Stelle von meinem DWord schieben möchte, würde ich das normalerweise so machen:

Code:
L #Sensor1
t m0.0
Wenn das Doppelwort MDW0 wäre.

Wie mache ich das mit einer temporären Variable in einem FB?
Bzw. wo kann ich es nachlesen, stehe total auf dem Schlauch... P#0.0 evt?
 
Hallo,
das ginge z.B. so :
Code:
L P##my_DWORD
LAR1 
 
U #my_IN_BOOL1
= L [AR1,p#0.0]
 
U #my_IN_BOOL2
= L [AR1,p#0.1]
 
U #my_IN_BOOL3
= L [AR1,p#0.2]
 
usw.
Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also mit PLCSIM geht das wunderbar!
Nur ich habe es in die CPU geschoben, da habe ich beim IN Eingang vom FC99 BITSUM immer 2 Eingänge True. Also als Ergebniss immer mind. 2.

Jemand nen heissen Tipp? ;)
 

Anhänge

  • array.JPG
    array.JPG
    136,5 KB · Aufrufe: 28
  • bitsum.JPG
    bitsum.JPG
    146,7 KB · Aufrufe: 27
... du müßtest vielleicht das DWORD vor der Zuweisung noch mit "0" beschreiben (es ist ja ein TEMP-Variable, die immer auch schon irgendwelchen Quatsch beinhalten kann) - also so :
Code:
L 0
T #my_DWORD
'tschuldigung ... hätte ich auch schon gleich hinschreiben können ... :(
Gruß
LL
 
Danke!!!!

Ich hätte auch selber drauf kommen können...

Jetzt aber nur mal interessehalber... wenn da was drin steht, wie es bei mir der Fall war, woher kommt das? Alte Rechenoperationen?


DANKE DANKE DANKE! ;)
 
Der Speicherbereich für Temp-Var wird von allen FB, FC usw. genutzt. Da kann also von einem FB vorher noch etwas liegen. Daher Temp-Var vor dem Benutzen immer erst beschreiben und zwar komplett!
 
Zurück
Oben