Werte auslesen

Andreas185

Level-1
Beiträge
27
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen
ich brauch dringend eure Hilfe...
Ich habe ein Programm das nach einer bestimmten Zeit die Leistung ändert (siehe Anhang). Es handelt sich dabei um einen Leistungstest
Die Steuerung wird mit Profibus angesteuert, das heisst ich muss verschiedene Bytes setzten um Daten lesen oder schreiben zu können.
Die Leistung ändert mit meiner vorgegebener Zeit, das passt soweit. Nur wie kann ich jetzt einzelne Werte von der Steuerung wie Strom, Spannung u.s.w. auslesen.
Dabei muss ich ja wieder einzelne Bytes ändern während dem Test.
Bin sehr froh wenn mir dabei jemand weiterhelfen könnte
Vielen Dank.Leistungstest.jpg
 
Hallo,
in der Beschreibung des Gerätes, mit dem du da kommunizierst sollte erklärt sein, wie der Koppelbereich (Bytes_Lesen / Bytes_schreiben) belegt ist / wird. Diese Definition legt fest, das z.B. Bytes_Lesen[2] die Spannung enthält (ist eine willkürliche Annahme).
In dieser Beschreibung würde dann auch drinstehen, was welcher in den Bytes_schreiben-Bereich geschriebener Wert an welcher Stelle bewirkt.
Aus deinem Code kann ich das nicht erlesen ...


Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry,

ja das ist mir alles schon klar mit den lesen oder schreiben der Bytes. Ich frag mich nur wie ich das realisieren soll das er mir die Werte nacheinander ausliesst. Ich hab nämlich das Problem, dass
der Profibus glaub ich zu langsam ist, weil er mir immer den gleichen Wert bei allen reinschreibt.
Gruss An
 
... das mit dem Bus glaube ich eher nicht.
Was ich mir aber vorstellen kann ist, dass du nicht berücksichtigt hast, dass du nun eine Art Protokoll fährst - das heißt, du schreibst irgendwo etwas in eine Speicherstelle und bekommst in einer anderen Speicherstelle eingelesen, welche Speicherstelle gerade adressiert ist und in einer weiteren den Wert der Adressierten. Das ist dann ein Handshake, der in deinem FB stattzufinden hat.
Das läßt sich nicht pauschal erklären sondern da ist es wichtig, die Dokumentation des Gerätes zu haben, mit dem du da "reden" willst ...

Gruß
Larry
 
Also es ist so:

Das Profibusprotokoll verwende ich ja schon an anderer Stelle:
Es geht immer um 10 Byte:
Byte1 und 2 Control und Status Byte
Byte3 Command Byte 1 schreiben 0 lesen vom Bus
Byte4 ID setzen ID=3 Spannung auslesen
Byte 5,6,7,8 Daten Byte Hier les ich den Wert aus z.B. Spannung
Byte 9 und 10 Leistungssollwert vorgabe, ist also unabhängig

Das ist alles. Und jetzt hab ich zwei Bausteine einmal MesswertU und MesswertP und schreib da einmal das Byte 4 auf ID4 und ID3 und dann Wert ich Byte 7 und 8 aus
5 und 6 sind leer.
Mit einem FB funktioniert das prima aber sobald ich zwei Bausteine aufrufe kopiert er bei beidem das gleiche rein.
MesswertP.PNG
Gruss Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit einem FB funktioniert das prima aber sobald ich zwei Bausteine aufrufe kopiert er bei beidem das gleiche rein.

Hallo Andreas,
für das bitte mal etwas präziser aus - du hast 2 Instanzen des FB's mit denen du das dem gleichen Gerät unterschiedlich Sachen abfragen willst ? Oder aus 2 verschiedenen Geräten ?
Wenn das Erste dann : geht so nicht - wenn das Zweite, dann zeig bitte mal, wie du das gelösst hast ...

Gruß
Larry
 
Hallo Larry,
ich habe den Fehler gefunden. Ich muss nach dem schreiben des Bytes erst abfragen ob er das Byte auch geändert hat und dann erst den Datenwert auslesen. Das war das Problem.
Ich danke dir trotzdem das du dir die Zeit genommen hast. Schönen Tag

Gruss Andreas
 
Zurück
Oben