Daten auslesen und Ausgänge setzen

Greenhorn

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin ein absoluter Rookie auf diesem Gebiet.
Ich möchte Ausgänge setzen, je nach Inhalt des Datenbausteins!
Wenn der Inhalt des Datenbausteins $0000,$0001,$0002 sollen 3 verschiedene Ausgänge gesetzt werden (je nach Inhalt).
Kann mir jemand helfen wie ich den dazugehörigen Funktionsbaustein
Programmieren muss?

Danke!
 
Indem du sie lädst:

Code:
//Hat DW0 aus DB10 den Wert 1 wird A0.0 auf True geschaltet, ansonsten auf False
      L     DB10.DBW    0
      L     1
      ==I   
      =     A      0.0
 
Greenhorn du bist IT ler gelle?
$0000 als Variable :)
Deine Frage hatte och schon 2 mal von Informatikern.

Zu den Beispiel von Ralle kannst du auch alle Logischen Operationen auf deinen Zustand, bzw. auf deien Variable setzen solange deise nur einen Bit, oder auch gesagt einer logischen Variablenstelle (BOOL) entspricht. Ich zeige dir zuerst einmal die einfachste Lösung. Eine Variablenzuordnung währe aber auch möglich.

Wenn du in einen Datenbaustein, als Beispiel den Datenbautein 1 (DB1), deine 3 Werte abgelegt hast:

DB 1(Datenabustein).DBX(x für Bit) 0.0
DB1.dbx 0.0

Operanden wie:
U O X S R = usw. sind hier auch möglich.

Möchtest du zum beispiel deine 3 Bitwerte abfragen ob alle vorhanden sind:

U DB1.db
U DB1.dbx 0.1
U DB1.dbx 0.2
=/s/A/M/DB/PBA/=/SPB x.x

Der Datenbaustein wird erstellt, indem zu jedem Datenelement ein symbolischer ‚Name’, der ‚Typ’, ein ‚Anfangswert’ sowie ein ‚Kommentar’ (optional) eingegeben wird.
Die Adresse wird automatisch generiert und kann nicht geändert werden.




Es gibt drei Möglichkeiten auf Datenelemente zuzugreifen:

1. Direkt adressierter Zugriff:

Auf einzelne Datenelemente in einem Datenbaustein kann mit den folgenden Befehlen direkt zugegriffen werden:

Beispiele:
L DB 20. DBB2 Lade Datenbyte 2 aus DB20 in AKKU 1
L DB 22. DBW4 Lade Datenwort 4 aus DB22 in AKKU 1
U DB 2. DBX5.6 Führe eine UND- Verknüpfung mit Datenbit 5.6 aus DB2 durch.

2. Zugriff auf Datenelemente in bereits geöffneten Datenbausteinen:

Um auf einzelne Datenelemente zugreifen zu können kann der DB mit den Befehlen AUF DB oder AUF DI zuerst einmal geöffnet werden. Dann werden einzelne Datenbits (DBX/DIX),Datenbytes (DBB/DIB), Datenwörter (DBW/DIW) oder Datendoppelwörter (DBD/DID) in digitalen oder binären Operationen verarbeitet werden.
Dabei verwendet man AUF DI hauptsächlich für das Öffnen von Instanz- DBs. Es kann jedoch auch für Global - DBs verwendet werden, wenn zwei DBs gleichzeitig geöffnet bleiben sollen.

Beispiel:
AUF DB 20 Öffnen des DB20
AUF DI 22 Öffnen des DB22
L DBW 0 Lade Datenwort 0 aus DB20 in AKKU 1
T MW 1 Transferiere Inhalt von AKKU 1 nach Merkerwort 1
U DIX 0.0 UND- Verknüpfung von Datenbit 0.0 aus DB22 mit
U E 1.0 Eingangsbit 1.0
= A 4.0 Zuweisung des Ergebnisses zu Ausgangsbit 4.0

3. Zugriff auf Daten aus lokalen Instanz- DBs beim Aufruf mit dem Funktionsbaustein:

Schon beim Aufruf eines FB können Daten eines dazugehörigen Instanz - Datenbausteins mit dem Befehl CALL FB1, DB19 übertragen werden. Die Zuordnung der Variablen, die in der Deklarationstabelle des FB definiert wurden und deren Wert im DB steht, zu den absoluten Adressen (z.B. EW0, M 10.0 oder AW4) erfolgt direkt unter dem CALL- Befehl.

Beispiel:
CALL FB1, DB19
ZAHL:= EW 0 Der Variablen ZAHL wird EW 0 als absolute Adresse zugeordnet.


AUS:= A 4.0 Der Variablen AUS wird A 4.0 als absolute Adresse zugeordnet.

Hinweis: Das Format der Variablen und der zugeordneten absoluten Adresse muss gleich sein.
 
Zuletzt bearbeitet:
Zurück
Oben