-> Hier kostenlos registrieren
Hallo da draußen,
Da ich mich noch nicht lange mit SPS Programmierung beschäftige, fällt mir folgende Aufgabenstellung reichlich schwer.
Aufgabenstellung:
Ich muss eine bestimmt Anzahl an Eingängen überwachen. Sobald sich einer der Eingänge ändert muss das geänderte Eingangsbyte das Datum und die Uhrzeit gespeichert werden.
*********************************************************
Auswertung der Zustandänderung der Eingänge
*********************************************************
L EB 0 //zu überwachendes Eingangsbyte
L MB 10
<>I
= M 20.0 //sobald das alte EB nicht mit dem aktuellen übereinstimmt
L EB 0 // wird m20.0 gesetzt
T MB 10
********************************************************
Mit dem SFC1 lese ich Datum und Zeit aus und schreibe es auf die Variable
#OUT_UHRZEIT_DATUM (Variable umfasst 8Bytes)
Anschließend wird mit dem SFC20 die Variable #OUT_UHRZEIT_DATUM in den DB100.DBX0.0 kopiert.
Soweit funktioniert es ja auch.
Mein Problem ist jetzt das ich bei jeder Änderung die alten Daten im DB mit den neuen Werten überschreibe. Wie kann ich das Programm ändern das sich die DB Adresse erhöt?????????????:twisted:
Das Eingangsbyte wird über den SFC20 in den DB100.DBB8 kopiert.
D.h. Bei der ersten Eingangsänderung sollen Datum und Zeit auf die Bytes
0 bis 7 im DB100geschrieben werden. Das Eingangsbyte soll auf das Byte 8geschrieben werden.
Bei der zweiten Änderung Datum u. Zeit auf Byte 10 bis 17 im DB100 und das EB auf Byte 18.
USW....
Danke schon mal.
Mfg Topse:-D
Da ich mich noch nicht lange mit SPS Programmierung beschäftige, fällt mir folgende Aufgabenstellung reichlich schwer.
Aufgabenstellung:
Ich muss eine bestimmt Anzahl an Eingängen überwachen. Sobald sich einer der Eingänge ändert muss das geänderte Eingangsbyte das Datum und die Uhrzeit gespeichert werden.
*********************************************************
Auswertung der Zustandänderung der Eingänge
*********************************************************
L EB 0 //zu überwachendes Eingangsbyte
L MB 10
<>I
= M 20.0 //sobald das alte EB nicht mit dem aktuellen übereinstimmt
L EB 0 // wird m20.0 gesetzt
T MB 10
********************************************************
Mit dem SFC1 lese ich Datum und Zeit aus und schreibe es auf die Variable
#OUT_UHRZEIT_DATUM (Variable umfasst 8Bytes)
Anschließend wird mit dem SFC20 die Variable #OUT_UHRZEIT_DATUM in den DB100.DBX0.0 kopiert.
Soweit funktioniert es ja auch.
Mein Problem ist jetzt das ich bei jeder Änderung die alten Daten im DB mit den neuen Werten überschreibe. Wie kann ich das Programm ändern das sich die DB Adresse erhöt?????????????:twisted:
Das Eingangsbyte wird über den SFC20 in den DB100.DBB8 kopiert.
D.h. Bei der ersten Eingangsänderung sollen Datum und Zeit auf die Bytes
0 bis 7 im DB100geschrieben werden. Das Eingangsbyte soll auf das Byte 8geschrieben werden.
Bei der zweiten Änderung Datum u. Zeit auf Byte 10 bis 17 im DB100 und das EB auf Byte 18.
USW....
Danke schon mal.
Mfg Topse:-D