-> Hier kostenlos registrieren
Hallo da draußen,
wir versuchen gerade mittels RS485 bzw. RS232-Umsetzer eine Kommunikation zu realisieren. Mit dem Beispiel auf Seite 95 des Handbuchs (S7-200) funktioniert das auch.
Doch sobald wir versuchen extern einen Sendevorgang einzuleiten werden die Daten zwar im Puffer abgelegt, aber nicht an die Schnittstelle gesendet.
Woran kann das liegen?
wir versuchen gerade mittels RS485 bzw. RS232-Umsetzer eine Kommunikation zu realisieren. Mit dem Beispiel auf Seite 95 des Handbuchs (S7-200) funktioniert das auch.
Code:
//MAIN
LD SM0.1
MOVB 16#09, SMB130 //RS485 Kommunikation einrichten: 9600 8N1 S1
MOVB 16#B0, SMB187 //Steuerbyte für Meldungsempfang initialisieren
MOVB 16#0A, SMB189 //Zeichen für Meldungsende linefeed
MOVW +5, SMW190 //Time-Out für Leerlauf auf 5sec
MOVB 100, SMB194 //max. Zeichenzahl auf 100 setzen
ATCH INT_0:INT0, 24 //Interruptereignis; Empfang beenden
ATCH INT_2:INT2, 26 //Interruptereignis; Senden beenden
ENI //Inerrupt enable
RCV s1_buffer:VB100, 1 //Empfagspuffer für Schnittstelle 1 freigeben
//INT_0
LDB= SMB186, 16#20 //Statusbyte zum Meldungsempfang
MOVB 10, SMB34 //Timer 10ms
ATCH INT_1:INT1, 10 //Timer interrupt
CRETI
NOT
RCV s1_buffer:VB100, 1
//INT_1
LD SM00:SM0.0
DTCH 10
XMT s1_buffer:VB100, 1
//INT_2
LD SM00:SM0.0
RCV s1_buffer:VB100, 1
Code:
LD S4:E1.0
EU
MOVB 2, s1_buffer:VB100
MOVB 16#FF, VB101
MOVB 16#0A, VB102
XMT s1_buffer:VB100, 1