-> Hier kostenlos registrieren
Hallo liebe Community,
ich hoffe das ihr mir helfen könnt!
Ich habe ein Problem damit die Werte meines Modbus TCP Slaves einzulesen. Dieser ist ein a-eberle PQI-DA-Smart, der über Modbus TCP SPannung,Strom usw.. ausgeben kann. Ich habe versucht dies über den WAGO Datalogger darzustellen, jedoch schreibt der in die .csv Datei nur die Uhrzeit und die Werte 0.00. Er bekommt also keinen Input. Ich bekomme es nach langen versuchen leider immer noch nicht hin die Werte darzustellen bzw. auszulesen!
ich hoffe das ihr mir helfen könnt!
Ich habe ein Problem damit die Werte meines Modbus TCP Slaves einzulesen. Dieser ist ein a-eberle PQI-DA-Smart, der über Modbus TCP SPannung,Strom usw.. ausgeben kann. Ich habe versucht dies über den WAGO Datalogger darzustellen, jedoch schreibt der in die .csv Datei nur die Uhrzeit und die Werte 0.00. Er bekommt also keinen Input. Ich bekomme es nach langen versuchen leider immer noch nicht hin die Werte darzustellen bzw. auszulesen!
Code:
PROGRAM PLC_PRG
VAR
Datalogger: WagoAppDatalogger.FbDatalogger;
xActivate: BOOL := TRUE;
aValues: ARRAY [1..MAX_CHANNELS] OF REAL;
xEvent: BOOL := TRUE;
typConfigParameters: typConfigDatalogger;
leistung: ARRAY [1..MAX_CHANNELS] OF WORD;
ChannelConfig : typAIChannel;
oDatalogger : FbDatalogger;
//modbus slave
modbus_slave: WagoAppPlcModbus.FbMbSimpleServerTcp;
//xOpen: BOOL;
//wPort: WORD;
//bUnitID: BYTE;
//utKeepAlive: BOOL;
xEnable: BOOL := TRUE;
//myInputRegisters: POINTER TO WORD;
//myHoldingRegisters : WORD;
//awHoldingRegisters: WORD;
//Modbus Slave
xOpen : BOOL := TRUE;
wPort :WORD := 502;
bUnitID : BYTE:= 1;
//utKeepAlive : BOOL := TRUE;
myInputRegisters : ARRAY[100..200] OF WORD; // Modbus word address 100 .. 200
myHoldingRegisters : ARRAY[0..20] OF WORD; // Modbus word address 0 .. 20
MB_DI0:BYTE;
MB_DI1:BYTE;
awInputRegisters: ARRAY [100..200] OF WORD;
awHoldingRegisters: ARRAY [0..20] OF WORD;
END_VAR
Code:
//Parametrierung der Speicherung
typConfigParameters.bDatalogger_type:=3;
typConfigParameters.atypChannelConfig[1].xChannelExists := TRUE;
typConfigParameters.atypChannelConfig[1].sChannelName := 'Leistung';
typConfigParameters.xCyclicLogging := TRUE;
typConfigParameters.bInterval := 3;
typConfigParameters.uiIntervalFactor := 2;
typConfigParameters.bDateFormat := 9;
typConfigParameters.bTimeFormat:=1;
typConfigParameters.sFilename := 'test.csv';
modbus_slave(
awInputRegisters := myInputRegisters,
awHoldingRegisters := myHoldingRegisters,
awInputRegisters := myInputRegisters,
awHoldingRegisters := myHoldingRegisters);
Datalogger(
xActivate:= xActivate,
aValues:= aValues,
xEvent:= xEvent,
typConfigParameters:= typConfigParameters,
oStatus=> ,
sStatus=> ,
xReady=> );
modbus_slave(
xOpen:= xOpen,
wPort:= wPort,
utKeepAlive:= ,
xIsOpen=> ,
xError=> ,
oStatus=> ,
udiConnectedClients=> ,
bUnitId:= bUnitID,
axDiscreteInputs:= ,
axCoils:= ,
awInputRegisters:= ,
awHoldingRegisters:= ,
oMbAccessInfo=> );