-> Hier kostenlos registrieren
Hallo,
ich arbeite zurzeit an meiner Bachelorarbeit und habe große Probleme mit der Verbindung einer C7-621 ASI und einer S7-1200.
nachdem ich einige Verbindungsmöglichkeiten ausgeschlossen habe, bleibt mir nurnoch die Kommunikation über ASI-Module übrig. Die C7-621ASI ist direkt über die ASI-Leitung mit den ASI-Modulen verbunden. Die S7-1200 wird per eigitalen Ein und Ausgängen an die Module angeschlossen.
Da ich gerne einige Signale über diese ASI-Module senden will reicht es mit nicht einfach pro Kanal ein Signal zu übertragen. Deshalb will ich folgendes probieren:
Bsp:
Ich will das Signal von Sensor1, das von der C7 aufgenommen wird an die S7 übertragen.
1. Jedem Siganl wird ein binärer Code zugeordnet (der Sensor bekommt 00000101 das ist als Dezimalzahl eine 5)
2. Der letzte übertragene Sensorzustand wird in einem Merker gespeichert (Der Sensor in M 0.5). Der Sensor hängt an dem Eingang E 0.5.
3. In einer FOR-Schleife soll nun zuerst der aktuelle Sensorzustand mit dem gespeicherten Sensorzustand verglichen werden. Wenn die Werte ungleich sind soll das neue Signal übertragen werden (Der entsprechende Binärcode soll sich an den ASI-Modulen einstellen).
For (counter=1, counter >=128, counter +1) Da der Sensor die Nummer 5 bekommen hat soll er bei dem 5. Schleifendurchlauf kontrolliert werden
Ich hoffe ich konnte meine Idee halbwegs verständlich erklären.
Nun zu meinen Fragen:
1. Kann man in FUP in STEP7 überhaupt FOR-Schleifen und IF-Anweisungen erstellen (Ich hab über Google gehört das es mit dem MOVE-block funktionieren soll. Leider versteh ich nicht wie.)
2. Kann man in der FOR-Schleife die Werte der Merker und Eingänge laufen lassen:
MfG Matthias
ich arbeite zurzeit an meiner Bachelorarbeit und habe große Probleme mit der Verbindung einer C7-621 ASI und einer S7-1200.
nachdem ich einige Verbindungsmöglichkeiten ausgeschlossen habe, bleibt mir nurnoch die Kommunikation über ASI-Module übrig. Die C7-621ASI ist direkt über die ASI-Leitung mit den ASI-Modulen verbunden. Die S7-1200 wird per eigitalen Ein und Ausgängen an die Module angeschlossen.
Da ich gerne einige Signale über diese ASI-Module senden will reicht es mit nicht einfach pro Kanal ein Signal zu übertragen. Deshalb will ich folgendes probieren:
Bsp:
Ich will das Signal von Sensor1, das von der C7 aufgenommen wird an die S7 übertragen.
1. Jedem Siganl wird ein binärer Code zugeordnet (der Sensor bekommt 00000101 das ist als Dezimalzahl eine 5)
2. Der letzte übertragene Sensorzustand wird in einem Merker gespeichert (Der Sensor in M 0.5). Der Sensor hängt an dem Eingang E 0.5.
3. In einer FOR-Schleife soll nun zuerst der aktuelle Sensorzustand mit dem gespeicherten Sensorzustand verglichen werden. Wenn die Werte ungleich sind soll das neue Signal übertragen werden (Der entsprechende Binärcode soll sich an den ASI-Modulen einstellen).
For (counter=1, counter >=128, counter +1) Da der Sensor die Nummer 5 bekommen hat soll er bei dem 5. Schleifendurchlauf kontrolliert werden
IF (E 0.5 > M 0.5){ das würde bedeuten, dass der Sensor von 0 auf 1 gewechselt hat
IF counter > 128 then A 0.0 = 1 und counter -128 else A 0.0 = 0
IF counter > 64 then A 0.1 = 1 und counter -64 else A 0.1 = 0
IF counter > 32 then A 0.2 = 1 und counter -32 else A 0.2 = 0
......
Hier wird die dezimale Zahl in eine Binärzahl umgerechnet und die Ausgänge der ASI-Module mit der binären Zahl belegt.
IF counter > 64 then A 0.1 = 1 und counter -64 else A 0.1 = 0
IF counter > 32 then A 0.2 = 1 und counter -32 else A 0.2 = 0
......
Hier wird die dezimale Zahl in eine Binärzahl umgerechnet und die Ausgänge der ASI-Module mit der binären Zahl belegt.
}
IF (E 0.5 < M 0.5){ das würde bedeuten, dass der Sensor von 1 auf 0 gewechselt hat
.... Fast analog zu oben
}
IF (E 0.5 < M 0.5){ das würde bedeuten, dass der Sensor von 1 auf 0 gewechselt hat
.... Fast analog zu oben
}
Ich hoffe ich konnte meine Idee halbwegs verständlich erklären.
Nun zu meinen Fragen:
1. Kann man in FUP in STEP7 überhaupt FOR-Schleifen und IF-Anweisungen erstellen (Ich hab über Google gehört das es mit dem MOVE-block funktionieren soll. Leider versteh ich nicht wie.)
2. Kann man in der FOR-Schleife die Werte der Merker und Eingänge laufen lassen:
Schleifendurchlauf1: Merker 0.0 und Eingang 0.0
Schleifendurchlauf2: Merker 0.1 und Eingang 0.1
Schleifendurchlauf3: Merker 0.2 und Eingang 0.2 ...
Schleifendurchlauf2: Merker 0.1 und Eingang 0.1
Schleifendurchlauf3: Merker 0.2 und Eingang 0.2 ...
MfG Matthias