mr_spooner
Level-1
- Beiträge
- 6
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Erstmal hallo an alle. Ich bin in der Programmierung mit SCL so neu wie hier in dem Forum ;-). Ich hoffe ich bin hier richtig und vielleicht kann mir jemand helfen.
Ich will einen Baustein mit SCL programmieren, der 2 ID`s scannt und mir einmal die 2 ID`s zusammensetzt und ausgibt und dann mir noch ein Bit setzt.
Zusammenfassung:
1. Der 1. Scan MUSS immer die "Ort-ID" sein. Diese wird mit im Baustein fest hinterlegten ID`s verglichen. Sollte es diese ID geben, so wartet der Baustein auf Scan 2! Scan muss gespeichert werden für Punkt 3.
2. Der 2. Scan ist die "Produkt-ID". Scan muss gespeichert werden für Punkt 3.
3. Der Baustein soll jetzt die 2 Scans zusammensetzen und sie mir an einem Ausgang ausgeben. Die ID`s sind jeweils [STRING19].
Der Baustein soll mir gleichzeitig an einem Ausgang ein Bit setzen.
!! Ist Scan 1 nicht die "Ort-ID", so darf nichts passieren und der Baustein wartet weiterhin auf eine richtige "Ort-ID" !!
Die Variablen:
TYPE UDT_STAT_ID
STRUCT
Ort_ID_A : STRING[19] := '1001'; //Ort-ID für Platz 1
Ort_ID_B : STRING[19] := '1002'; //Ort-ID für Platz 2
Ort_ID_C : STRING[19] := '1003'; //Ort-ID für Platz 3
END_STRUCT
END_TYPE
VAR_INPUT
Scannen_ID : STRING[19]; // Scanner für ID`s
END_VAR
VAR_OUTPUT
Q_Scan1 : STRING[19]; // Scan 1, Ort-ID
Q_Scan2 : STRING[19]; // Scan 2, Produkt-ID
Q_Scan1_Scan2_A : INT := 0; // Zusammengesetzte IDs AS A
Q_SND_A : BOOL := 0; // Bit für Sendebaustein zu AS A
END_VAR
VAR_TEMP
HV_Scan1 : STRING [19]; // Hilfsvariable zum Merken der Ort-ID (Scanvorgang 1)
HV_Scan2 : STRING [19]; // Hilfsvariable zum Merken der Produkt-ID (Scanvorgang 2)
END_VAR
Eins der großen Probleme die ich habe ist, dass mir nicht genau klar ist, wie ich das mit nur einem Eingang lösen soll. Ich hoffe sehr, es kann mir jemand helfen. Es ist erst mein 2. SCL-Projekt, deshalb hoffe ich ihr habt ein wenig Nachsicht.
Ich will einen Baustein mit SCL programmieren, der 2 ID`s scannt und mir einmal die 2 ID`s zusammensetzt und ausgibt und dann mir noch ein Bit setzt.
Zusammenfassung:
1. Der 1. Scan MUSS immer die "Ort-ID" sein. Diese wird mit im Baustein fest hinterlegten ID`s verglichen. Sollte es diese ID geben, so wartet der Baustein auf Scan 2! Scan muss gespeichert werden für Punkt 3.
2. Der 2. Scan ist die "Produkt-ID". Scan muss gespeichert werden für Punkt 3.
3. Der Baustein soll jetzt die 2 Scans zusammensetzen und sie mir an einem Ausgang ausgeben. Die ID`s sind jeweils [STRING19].
Der Baustein soll mir gleichzeitig an einem Ausgang ein Bit setzen.
!! Ist Scan 1 nicht die "Ort-ID", so darf nichts passieren und der Baustein wartet weiterhin auf eine richtige "Ort-ID" !!
Die Variablen:
TYPE UDT_STAT_ID
STRUCT
Ort_ID_A : STRING[19] := '1001'; //Ort-ID für Platz 1
Ort_ID_B : STRING[19] := '1002'; //Ort-ID für Platz 2
Ort_ID_C : STRING[19] := '1003'; //Ort-ID für Platz 3
END_STRUCT
END_TYPE
VAR_INPUT
Scannen_ID : STRING[19]; // Scanner für ID`s
END_VAR
VAR_OUTPUT
Q_Scan1 : STRING[19]; // Scan 1, Ort-ID
Q_Scan2 : STRING[19]; // Scan 2, Produkt-ID
Q_Scan1_Scan2_A : INT := 0; // Zusammengesetzte IDs AS A
Q_SND_A : BOOL := 0; // Bit für Sendebaustein zu AS A
END_VAR
VAR_TEMP
HV_Scan1 : STRING [19]; // Hilfsvariable zum Merken der Ort-ID (Scanvorgang 1)
HV_Scan2 : STRING [19]; // Hilfsvariable zum Merken der Produkt-ID (Scanvorgang 2)
END_VAR
Eins der großen Probleme die ich habe ist, dass mir nicht genau klar ist, wie ich das mit nur einem Eingang lösen soll. Ich hoffe sehr, es kann mir jemand helfen. Es ist erst mein 2. SCL-Projekt, deshalb hoffe ich ihr habt ein wenig Nachsicht.
Zuletzt bearbeitet: