-> Hier kostenlos registrieren
Moin Freunde,
ich probiere grade meine Lüftungsanlage (Wolf CWL Exccellent 400) via Modbus an meine S7-1500 zu bekommen.
Ausgangssituatuion: CWL Modul siehe Anhang
Ich hab folgendes in SCL Programmiert:
REGION Modbus Schnittstelle einrichten
IF #Modbus_Master_Instance.MB_DB.S_PORT = 16#FFFF THEN
//#Modbus.Req := TRUE;
#Modbus_Comm_Load_Instance(REQ := #Modbus.Req,
"PORT" :="Local~CM_PtP_1",
BAUD := 9600,
PARITY := 2,
FLOW_CTRL := 0,
RTS_ON_DLY := 250,
RTS_OFF_DLY := 250,
RESP_TO := 1000,
DONE => #Modbus.Done,
ERROR => #Modbus.Error,
STATUS => #Modbus.Status,
MB_DB := #Modbus_Master_Instance.MB_DB);
#ModbusMaster.MB_Addr := 11;
END_IF;
END_REGION ;
REGION ModbusKommunikation
#Modbus_Master_Instance(REQ := #ModbusMaster.Req,
MB_ADDR := #ModbusMaster.MB_Addr,
MODE := #ModbusMaster.Mode,
DATA_ADDR := #ModbusMaster.DataAddr,
DATA_LEN := #ModbusMaster.DataLen,
DONE => #ModbusMaster.Done,
BUSY => #ModbusMaster.Busy,
ERROR => #ModbusMaster.Error,
STATUS => #ModbusMaster.Status,
DATA_PTR := #ModbusMaster.InOutData);
END_REGION ;
REGION Auswertung Modbus Master Baustein
IF #ModbusMaster.Done OR #ModbusMaster.Error THEN
#ModbusMaster.Req := FALSE;
IF #ModbusMaster.Error THEN
#Count := #Count + 1;
END_IF;
END_IF;
IF #ModbusMaster.Error THEN
#ModbusMaster.StatusSave := #ModbusMaster.Status;
END_IF;
IF #ModbusMaster.Done THEN
//#ModbusMaster.StatusSave := 0;
#ModbusMaster.StatusSave := #ModbusMaster.Status;
END_IF;
END_REGION ;
Zu beginn wird durch Einmaligen Durchlauf von dem Modbus_Comm_Load_Instance die Schnittstelle Definiert
Anschließend durchläuft der Modbus_Master_Instance Zyklisch
#ModbusMaster.MB_Addr = 11
#ModbusMaster.Mode = 3
#ModbusMaster.DataAddr = 4009
#ModbusMaster.DataLen = 4
Ich bekomme keine Verbindung. Jemand n Tipp?
ich probiere grade meine Lüftungsanlage (Wolf CWL Exccellent 400) via Modbus an meine S7-1500 zu bekommen.
Ausgangssituatuion: CWL Modul siehe Anhang
Ich hab folgendes in SCL Programmiert:
REGION Modbus Schnittstelle einrichten
IF #Modbus_Master_Instance.MB_DB.S_PORT = 16#FFFF THEN
//#Modbus.Req := TRUE;
#Modbus_Comm_Load_Instance(REQ := #Modbus.Req,
"PORT" :="Local~CM_PtP_1",
BAUD := 9600,
PARITY := 2,
FLOW_CTRL := 0,
RTS_ON_DLY := 250,
RTS_OFF_DLY := 250,
RESP_TO := 1000,
DONE => #Modbus.Done,
ERROR => #Modbus.Error,
STATUS => #Modbus.Status,
MB_DB := #Modbus_Master_Instance.MB_DB);
#ModbusMaster.MB_Addr := 11;
END_IF;
END_REGION ;
REGION ModbusKommunikation
#Modbus_Master_Instance(REQ := #ModbusMaster.Req,
MB_ADDR := #ModbusMaster.MB_Addr,
MODE := #ModbusMaster.Mode,
DATA_ADDR := #ModbusMaster.DataAddr,
DATA_LEN := #ModbusMaster.DataLen,
DONE => #ModbusMaster.Done,
BUSY => #ModbusMaster.Busy,
ERROR => #ModbusMaster.Error,
STATUS => #ModbusMaster.Status,
DATA_PTR := #ModbusMaster.InOutData);
END_REGION ;
REGION Auswertung Modbus Master Baustein
IF #ModbusMaster.Done OR #ModbusMaster.Error THEN
#ModbusMaster.Req := FALSE;
IF #ModbusMaster.Error THEN
#Count := #Count + 1;
END_IF;
END_IF;
IF #ModbusMaster.Error THEN
#ModbusMaster.StatusSave := #ModbusMaster.Status;
END_IF;
IF #ModbusMaster.Done THEN
//#ModbusMaster.StatusSave := 0;
#ModbusMaster.StatusSave := #ModbusMaster.Status;
END_IF;
END_REGION ;
Zu beginn wird durch Einmaligen Durchlauf von dem Modbus_Comm_Load_Instance die Schnittstelle Definiert
Anschließend durchläuft der Modbus_Master_Instance Zyklisch
#ModbusMaster.MB_Addr = 11
#ModbusMaster.Mode = 3
#ModbusMaster.DataAddr = 4009
#ModbusMaster.DataLen = 4
Ich bekomme keine Verbindung. Jemand n Tipp?