Outrider
Level-1
- Beiträge
- 745
- Reaktionspunkte
- 5
-> Hier kostenlos registrieren
Hallo,
folgendes Problem:
Ich habe ein Kühlaggregat der am Profibus hängt.
Es werden immer 6 Worte geschrieben und gelesen
Wort 1 ist bitweise codiert.
Wort 2 bis Wort 6 wird durch verschiedene Datensätze beschrieben und gelesen, d.h. über das selbe Wort werden verschieden Werte(Funktionen) bearbeitet.
Um zu entscheiden welcher Datensatz gerade gültig ist gibt es in Wort 1 zwei Bits ( entspricht also 4 Kombinationen ) mit deren Kombination ich 4 verschidene Datensätze ( Telegramme ) wählen kann.
Mein Problem ist die Abarbeitung,
die Werte werden über ein OP277 geschrieben und gelesen, d.h sie sind permanent in diesem DBW der auf diese Worte 2-6 schreibt.
Wenn ich nun aber einen Wert ändern möchte der sich im anderen Datensatz befindet so muß ich über die 2 Bits den Datensatz ändern.
Irgendwie muß ich doch zeitgleich den gewünschten Wert und die beiden Bits ändern !!...oder ?
Wenn ich den Wert ändere aber das Umschaltbit erst im nächsten Zyklus ändere dann wird der Wert in den falschen Datensatz geschrieben weil vor dem Umschalten der Bits immer noch der erste Datensatz gewählt ist.
Das Problem gilt aber auch anders rum, wenn ich vorher die Bits umschalte dann geht der bestehende Wert in den anderen Datensatz befor er geändert wird.
Ich hoffe dass ich das Problem verständlich beschrieben habe.
Wer kennt sich aus
Gruß und Danke für Infos
folgendes Problem:
Ich habe ein Kühlaggregat der am Profibus hängt.
Es werden immer 6 Worte geschrieben und gelesen
Wort 1 ist bitweise codiert.
Wort 2 bis Wort 6 wird durch verschiedene Datensätze beschrieben und gelesen, d.h. über das selbe Wort werden verschieden Werte(Funktionen) bearbeitet.
Um zu entscheiden welcher Datensatz gerade gültig ist gibt es in Wort 1 zwei Bits ( entspricht also 4 Kombinationen ) mit deren Kombination ich 4 verschidene Datensätze ( Telegramme ) wählen kann.
Mein Problem ist die Abarbeitung,
die Werte werden über ein OP277 geschrieben und gelesen, d.h sie sind permanent in diesem DBW der auf diese Worte 2-6 schreibt.
Wenn ich nun aber einen Wert ändern möchte der sich im anderen Datensatz befindet so muß ich über die 2 Bits den Datensatz ändern.
Irgendwie muß ich doch zeitgleich den gewünschten Wert und die beiden Bits ändern !!...oder ?
Wenn ich den Wert ändere aber das Umschaltbit erst im nächsten Zyklus ändere dann wird der Wert in den falschen Datensatz geschrieben weil vor dem Umschalten der Bits immer noch der erste Datensatz gewählt ist.
Das Problem gilt aber auch anders rum, wenn ich vorher die Bits umschalte dann geht der bestehende Wert in den anderen Datensatz befor er geändert wird.
Ich hoffe dass ich das Problem verständlich beschrieben habe.
Wer kennt sich aus
Gruß und Danke für Infos