-> Hier kostenlos registrieren
Hallo erstmal!
Ich bin Neuling in der SPS-Programmierung und diesem Forum und stelle für, wie ich annehme meist erfahrene User, wahrscheinlich ...blöde Fragen. Aber da ich nun schon seit längerem auf dem Schlauch sitze und einfach nicht lokalisieren kann wo der Hund begraben liegt, blieb mir in meiner Verzweiflung nichts anderes übrig!
Nun - jeder fängt mal klein an und ohne Fehler oder Fragen hat es bestimmt auch noch kaum jemand geschafft. Also komme ich mal zum Wesentlichen:
Ich arbeite auf einer S7-300, CPU315-2DP mit Softwareversion 5.1 und habe ein Problem mit dem nachfolgend ersichtlichen AWL-Code.
Der Hintergrund:
In einem Datenbaustein sind als Beispiel 20 verschiedene Zahlen vom Typ WORD gespeichert. Der Inhalt dieser Datenbausteinworte soll mittels einer Schleife mit der Eingangsvariable mat, ebenfalls vom Typ WORD, verglichen werden. Bei erfüllter Bedingung soll die temporäre Variable z um 1 inkrementiert werden. Bei nicht erfüllter Bedingung Sprung zu M002 und wiederholen der Schleife bis zum Ende. Am Schluss soll dann lediglich der Inhalt der Variablen z auf den Ausgang gelegt und somit anderen Funktionen zur Verfügung gestellt werden.
Und jetzt banal gesprochen: Ich möchte den Inhalt eines Datenbausteins nach bestimmten Kriterien(Zahlen) durchsuchen und die Anzahl der gefundenen Stück weiterverwenden!
Nur irgendwie scheint die Funktion durchzulaufen, liefert aber kein Ergebnis bzw. keine Stückzahl wie oft bspw. die Zahl 3 gefunden wurde!
Ich bin sicher irgendjemand kann und wird mir helfen und bedanke mich schon im Voraus herzlichst für Eure Unterstützung!
Ich bin Neuling in der SPS-Programmierung und diesem Forum und stelle für, wie ich annehme meist erfahrene User, wahrscheinlich ...blöde Fragen. Aber da ich nun schon seit längerem auf dem Schlauch sitze und einfach nicht lokalisieren kann wo der Hund begraben liegt, blieb mir in meiner Verzweiflung nichts anderes übrig!
Nun - jeder fängt mal klein an und ohne Fehler oder Fragen hat es bestimmt auch noch kaum jemand geschafft. Also komme ich mal zum Wesentlichen:
Ich arbeite auf einer S7-300, CPU315-2DP mit Softwareversion 5.1 und habe ein Problem mit dem nachfolgend ersichtlichen AWL-Code.
Code:
AUF "DBxx"
L 0
T #z
L 20
M001: T #S_ZAE
L #S_ZAE
L 1
-I
L 2
*I
SLW 3
T #platz
L DBW [#platz]
L #mat
==I
SPBN M002
L #z
L 1
+I
T #z
M002: L #S_ZAE
LOOP M001
L #z
T #anz
Der Hintergrund:
In einem Datenbaustein sind als Beispiel 20 verschiedene Zahlen vom Typ WORD gespeichert. Der Inhalt dieser Datenbausteinworte soll mittels einer Schleife mit der Eingangsvariable mat, ebenfalls vom Typ WORD, verglichen werden. Bei erfüllter Bedingung soll die temporäre Variable z um 1 inkrementiert werden. Bei nicht erfüllter Bedingung Sprung zu M002 und wiederholen der Schleife bis zum Ende. Am Schluss soll dann lediglich der Inhalt der Variablen z auf den Ausgang gelegt und somit anderen Funktionen zur Verfügung gestellt werden.
Und jetzt banal gesprochen: Ich möchte den Inhalt eines Datenbausteins nach bestimmten Kriterien(Zahlen) durchsuchen und die Anzahl der gefundenen Stück weiterverwenden!
Nur irgendwie scheint die Funktion durchzulaufen, liefert aber kein Ergebnis bzw. keine Stückzahl wie oft bspw. die Zahl 3 gefunden wurde!
Ich bin sicher irgendjemand kann und wird mir helfen und bedanke mich schon im Voraus herzlichst für Eure Unterstützung!