Moeller SPS Mit Modbus RTU

Leider bekomme ich immer die meldung

Zeitüberschreitung beim Warten auf Antwort

Könnt ihr mir ein paar tipps geben was ich übersehen habe.

Hier mal all meine Daten und einstellungen
Ich habe eine
PS4 341 MM1 (SPS)
mit einem ZB4 501 UM4 (Modbus Sukonet koppler) ferbunden
Die SPS läuft als Slave mit follgendem kleinen Programm.

(* MODBUS Funktionsbaustein )
(
MODBUS functionblock )
VAR
MODBUS_slave: AM_MODsCR;
END_VAR
(
MODBUS-Parameter, meist über GPI (Merker) )
(
Parameters of MODBUS slave, most of them via GPI (markers) *)
VAR
ModRegister AT %MW0.0.0.0 : ARRAY[1…2000] OF WORD;
ModCoil AT %M0.0.0.4000.0 : ARRAY[1…2000] OF BOOL ;

UMsdb AT %SDB1.1.0.0 :ARRAY[1…36] OF BYTE ;
UMrdb AT %RDB1.1.0.0 :ARRAY[1…36] OF BYTE ;

    MW4280 AT %MW0.0.0.4280 : UINT :=10;
    MW4282 AT %MW0.0.0.4282 : UINT :=10;
    MW4284 AT %MW0.0.0.4284 : UINT :=10000;
    MW4286 AT %MW0.0.0.4286 : UINT :=500;
    MW4280bk : TIME ;
    MW4282bk : TIME ;
    MW4284bk : TIME ;
    MW4286bk : TIME ;
    MW4288 AT %MW0.0.0.4288 : UINT ;
    MW4290 AT %MW0.0.0.4290 : UINT ;

    MB4300 AT %MB0.0.0.4300 : USINT := 1;
    MB4302 AT %MB0.0.0.4302 : USINT := 1;
    MB4303 AT %MB0.0.0.4303 : USINT := 4;
    MB4304 AT %MB0.0.0.4304 : USINT := 0;
    MB4306 AT %MB0.0.0.4306 : USINT;
    MB4307 AT %MB0.0.0.4307 : USINT;
    MB4308 AT %MB0.0.0.4308 : USINT;

M4320_1 AT %M0.0.0.4320.1 : BOOL;
M4320_2 AT %M0.0.0.4320.2 : BOOL;
M4320_3 AT %M0.0.0.4320.3 : BOOL;
M4320_4 AT %M0.0.0.4320.4 : BOOL;
M4320_5 AT %M0.0.0.4320.5 : BOOL;
M4320_7 AT %M0.0.0.4320.7 : BOOL;
M4321_0 AT %M0.0.0.4321.0 : BOOL;
M4321_1 AT %M0.0.0.4321.1 : BOOL;
M4321_2 AT %M0.0.0.4321.2 : BOOL;
M4321_3 AT %M0.0.0.4321.3 : BOOL;
M4321_4 AT %M0.0.0.4321.4 : BOOL;
M4321_5 AT %M0.0.0.4321.5 : BOOL;

Test AT %M0.0.0.4000.0: Bool;
Blink AT %Q0.0.0.1.6: BOOL;
Ausgang AT %Q0.0.0.1.7: BOOL;
END_VAR
(* Variablen zur Visualisierung )
(
Variables for visualization *)
VAR
Register_Buffer AT%mw0.0.0.4250 : ARRAY [1…10] OF WORD;
Coil_Buffer AT%MB0.0.0.4310 : ARRAY [1…10] OF BYTE;

MW4270 AT %mw0.0.0.4270 : UINT :=1;
MW4272 AT %MW0.0.0.4272 : UINT :=1;
MW4332 AT %MW0.0.0.4332 : UINT ;

    MB4309 AT %MB0.0.0.4309 : USINT;

M4322_0 AT %M0.0.0.4322.0 : BOOL;
M4322_1 AT %M0.0.0.4322.1 : BOOL;
M4322_2 AT %M0.0.0.4322.2 : BOOL;
M4322_3 AT %M0.0.0.4322.3 : BOOL;

    MW4270dum : UINT;
    MW4270bk : UINT;
    Cop_MW : TransferArray;

    MW4272bk : UINT;
    MW4332bk : UINT;
    ui_CoilCounter : UINT;
    ui_CoilByteCounter : UINT;

TimeConvert : timeconcat;
END_VAR

(* Testprogramm zum Anwendermodul S40-AM-K4-D/GB:
MODBUS-Slaveanschaltung PS4-341 mit Schnittstellenumsetzer ZB4-501-UM4.
Es wird der Anwenderfunktionsbaustein ‚AM_MODsCR‘ genutzt.
Mit Hilfe der PC-Online Simulation ‚…\PC_VIS\SLAVE\RUNTIME\GPI.EXE‘ kann der Baustein
online - über PRG Port - mit dem PC parametriert und das Verhalten vom MODBUS FB angezeigt werden.
*)

(* Test program of the application module S40-AM-K4-D/GB:
MODBUS slave PS4-341 with serial interface ZB4-501-UM4.
Using the user function block ‚AM_MODsCR‘.
Entering and changing parameters as well as the displaying of the MODBUS fb behaviour
can be done - via PRG Port - with the PC-Online simulation ‚…\PC_VIS\SLAVE\RUNTIME\GPI.EXE‘.
*)

MOD_DRIVER:

(* Aufruf vom MODBUS Funktionsbaustein )
(
Calling the MODBUS functionblock *)

CAL MODBUS_slave(
usi_MODslaveAdr :=MB4300,
w_ar_MODregister :=ModRegister,
x_ar_MODcoil :=ModCoil,
b_ar_UMsdb :=UMsdb,
b_ar_UMrdb :=UMrdb,
usi_UMline :=MB4302,
x_UMasynK :=M4320_1,
x_UMreset :=M4320_2,
x_UMdtr :=M4320_3,
x_UMrts_cts :=M4320_4,
x_UMtelSlip :=M4320_5,
usi_UMbaudrate :=MB4303,
usi_UMchrFmt :=MB4304,
t_UMrtsDelayOn :=MW4280bk,
t_UMrtsDelayOff :=MW4282bk,
t_UMtraTimeOut :=MW4284bk,
t_UMctsGapTime :=MW4286bk
|
M4320_7:=x_MODdatNew,
MB4306:=usi_MODfcDone,
MW4288:=ui_MODdatOffDone,
MW4290:=ui_MODdatNrDone,
MB4307:=usi_MODfailCode,
M4321_0:=x_UMdcd,
M4321_1:=x_UMdsr,
Ausgang:=x_UMtraActive,
M4321_3:=x_UMtraFail,
M4321_4:=x_UMrecActive,
M4321_5:=x_UMrecFail,
MB4308:=usi_UMfailCode
)

LD Test
ST Blink

Nicht über die unmengen an merkern wundern es ist das Orginal Modbus programm von Moeller ich habe nur einen Teil der Zuweisungen rausgeschmissen.

So in IPS habe ich eine RS 232
mit Com 7
9600 8 1 ever
ans
Modbus RTU verbunden
Geräte id 1
und dann daran ein Modbus Adressen Module mit 1 Bit und der Lese und Schreib adresse 0

Meine Ausgangs LED an der Sps Schaltet auch ich bekomme nur immer diese Meldung.

Nach dem ich gestern noch intensifer die Manuells von Möller durchgesehen habe.

Kammen mir einige Fragen die in leider in der Doku nich lösen konnte.
Was macht ips mit DTR ?
Betrieb mit oder ohne RTS/CTS?
Telegramme mit oder ohne Schlupf?
Ich hoffe ihr Könnt mir helfen…
MFG Ken

War ein Bug. Fix im nächsten Update.

paresy

Hallo, ist der oben genannte „Bug“ inzwischen behoben?
…würde ich vorher gerne wissen bevor ich mir IP-Symcon für meine Moeller PS4 SPS kaufe.

Jörg

Jupp. Schon lange :slight_smile:

paresy