Jump to content
Turtle64

RS232 Slave - wie funktioniert das?

Empfohlene Beiträge

Hallo,

über eine RS232-Schnittstelle bekomme ich Meßwerte von 16 verschiedenen Sensoren. In dem Datenstrom gibt es für jeden der Sensoren eine bestimmte Kennung, gefolgt von 4 verschiedenen Meßwerten.

Mit einem RS232 Master habe ich es schon geschafft, den ersten der Meßwerte auf allen 16 Kanälen einzulesen. Dazu warte ich, bis bestimmte feste Zeichen kommen, und lese dann den folgenden Integer ein:

"\X80\X71\X15" iy

Beim nächsten Sensor 0x81 statt 0x80 usw. bis 0x8F, funktioniert.

Aber wie komme ich an den zweiten, dritten und vierten Integer aus den Datenpaketen der 16 Sensoren?

Ich habe es mit einem RS232 Slave versucht, Format iy, aber da kommt nichts.

Es fehlt mir das grundsätzliche Verständnis, was der Slave macht.

Liest der Slave auf Kanal 0 da weiter, wo der Master bei Kanal 0 aufgehört hat?

Oder werden erst alle 16 Kanäle beim Master abgerbeitet, und dann geht es mit dem Slave weiter?

Oder arbeiten Master und Slave quasi gleichzeitig auf demselben Datenstrom?

Vielen Dank für Hinweise!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo

Das Slave Modul ist eine Kanalerweiterung zum Master Modul, d.h. wenn die Abarbeitung im 16. Kanal des Master Modul abgeschlossen ist, springt die Bearbeitung automatisch in den ersten Kanal des Slaves. Prinzipiell werden die Module immer in der Kanalreihenfolge durchlaufen.

Diese Reihenfolge können sie z.B. mit den Suchstrings aufbreczhen, so wie sie es ja auch schon gemacht haben. Wenn Dasylab den Suchstring in einem Kanal findet, positioniert es die Abarbeitung zu dem entsprechenden Kanal. Nachdem der Wert ausgewertet ist (iy in ihrem Fall) geht die Abarbeitung einfach mit dem nächsten Kanal weiter.

Wenn ich sei richtig verstanden habge, dann haben Sie 16 Sensoren mit je 4 Werten. Wenn Sie also den Erkennungsstring für den ersten Sensor im Kanal 0 des Masters stehen haben, dann lesen die Folgewerte des Sensors einfach in den folgenden Kanälen ein, die Formatstrings sehen dann in etwa so aus:

Kanal 0 : "\X80\X71\X15" iy
Kanal 1 : iy
Kanal 2 : iy
Kanal 3 : iy
Kanal 4 : "
\X81\X71\X15" iy
Kanal 5 : iy

usw.

Somit können sie vier Sensoren mit je 4 Werten im Master Modul auswerten. Im ersten Slave Modul geht es dann in Kanal 16 mit dem Formatstring für den 5. Sensor weiter.

Ich hoffe, das hilft

Gruß aus Mönchengladbach

Stephan

 

 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×