ich habe eine WAGO 750-841 und eine Schnittstellenkarte für RS485 (programmierbare 750-653/003-000). Ich arbeite mit der serial_interface_01.lib. Ich weis jedoch nicht was ich mit den Eingängen ptSEND_BUFFER und iBYTES_TO_SEND machen soll. Er zeigt mir bei bERROR im Betrieb eine 0 an was alles OK heist aber ich empfange nichts. Ich habe die Karte auf 9600BAUD, 7Databits,Even Parity 1 Stoppbit eingestellt. Wie bekomme ich eine Kommunikation senden/empfangen hin? Hat vielleicht jemand ein Beispielprogramm?
Vielen Dank.
Gruß
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe eine WAGO 750-841 und eine Schnittstellenkarte für RS485 (programmierbare 750-653/003-000). Ich arbeite mit der serial_interface_01.lib. Ich weis jedoch nicht was ich mit den Eingängen ptSEND_BUFFER und iBYTES_TO_SEND machen soll. Er zeigt mir bei bERROR im Betrieb eine 0 an was alles OK heist aber ich empfange nichts. Ich habe die Karte auf 9600BAUD, 7Databits,Even Parity 1 Stoppbit eingestellt. Wie bekomme ich eine Kommunikation senden/empfangen hin? Hat vielleicht jemand ein Beispielprogramm?
Vielen Dank.
Gruß
Hallo H.Wespe,
ptSEND_BUFFER und iBYTES_TO_SEND werden nur benötigt wenn Daten aus dem Controller gesendet werden sollen.
ptSEND_BUFFER muß dann auf die zu sendenden Daten zeigen
also z.B. deine Sendedaten stehen in der Variablen "DATEN"
(egal welchen Datentyp DATEN hat).
Dann legst du an ptSEND_BUFFER den Funktionsaufruf
ADR(DATEN)
Mit diesem Konstrukt teilst du dem Baustein mit an welcher Speicheradresse
deine zu sendenden Daten stehen.
Nun mußt du dem Baustein noch über BYTES_TO_SEND die Anzahl der zu sendenden Bytes mitteilen, damit der Baustein weiß wieviel Daten er senden soll.
Zu dem Problem mit dem Empfang
wenn du an dem Eingangn xOPEN_COM_PORT ein TRUE anliegen hast
und aus dem Baustein keine Fehlermeldung bekommst,
dann sollten alle eintreffenden Zeichen in deiner Struktur utRECEIVE_BUFFER
erscheinen.
Wenn das nicht der Fall ist, dann kannst du folgende Punkte prüfen
. tatsächlich gesteckten Modulen überein ?
. über das Kontextmenue (rechte Maustaste) in die Eigenschaften.
. Kommt diese lib aus dem ../32_Bit/ Verzeichnis ?
stelle sicher das in diesem Verzeichnis keine Sercom.hex Datei ist !
überprüfe auf beiden Seiten die Übertragungsparameter (Baudrate, Parity, ....)
überprüfe die Verdrahtung. Arbeitest du auf der RS485 im 4-Draht oder 2-Draht ?
. Bei 2-Draht solltest du am Eingang cfFLOW_CONTROL unbedingt HALFDUPLEX anlegen !
Uwe
Benutzt du COM2 ?
Die COM1 ist die Programierschnittstelle am 750-841
Hallo,
@Uwe: Vielen Dank für die ausführliche Antwort. Hast mir weitergeholfen.
@gravieren: Ja, nutze COM2.
Danke und frohe Ostern.
Gruß HW