Hallo zusammen,
ich bin gerade bei einer Inbetriebname einer Maschine die nur seriell(RS232) kommunizieren kann. Normalerweise verwende ich hier eine ET200sp mit CM PTP ohne Problematik.
Jedoch wurde hier nun ein Konverter von HMS verbaut. -> Anybus AB7013c
Ausgehend von der Maschiene zur SPS gehen 95Bytes. Kommend von der SPS zur Maschiene sollen es max 48Bytes sein.
Da dieses Modul per GSD mit Submodulen konfiguriert werden muss, sieht dies folgendermaßen aus:
Input : 64Bytes , 16Bytes , 8Bytes , 4Bytes , 2Bytes , 1Bytes
Output : 32Bytes , 16Bytes
Die 95Bytes kann ich direkt über die Beobachtungstabelle ab %EB76 (Anfangsadresse) sehen.
Zum Schreiben der 48Bytes ausgehender der SPS verwende ich die Funktion "DPWR_DAT".
LADDR : "ABC-PRT~Ausgänge_032_bytes"
Record : P#DB7.DBX0.0 BYTE 32 (Die Bytevorlage befindet sich im DB7)
Seltsmerweise schreibt die 1215er die volle Länge bis max. 48Bytes des DB7 in den Konverter. Und genau das versteh ich nicht. Dies sollte doch nur max. 32Bytes lang sein oder?
Start communication recording at Fri Mar 06 17:17:44 2020
100000000000000000000000000037185403;00;38a7
End communication recording Fri Mar 06 17:17:50 2020
Ist dies überhaupt die richtige Vorgehensweise zum Schreiben wenn verschiedene Submodule vorhanden sind oder muss hier jedes einzelne Modul angesprohen werden?
(Testweise hat dies aber nicht funktioniert)
Bei der ET200SP CMPTP spreche ich immer nur das Modul (bsp. "IO-Device_1~CM_PtP_1) an und kann hier die volle Länge mit dem Baustein "Send_P2P" verwenden.
Über ein paar Tipps von euch wäre ich sehr dankbar!
Vielen Dank und beste Grüße
Joey