Fixed Modbus register access

This commit is contained in:
Matthias Heisig
2024-01-17 11:26:11 +01:00
parent 82826c258a
commit 57987cb19f
24 changed files with 1310 additions and 572 deletions

View File

@@ -200,7 +200,7 @@ VAR_GLOBAL
diMaxStringDischargePower : DINT := 30_000;
// Inverter ip address
sInverterIp : STRING := '192.168.0.1';
sInverterIp : STRING := '192.168.42.11';
// Absolute shutdown discharge power (Watt)
rAbsShutdownDischargePower : REAL := 5_000;
@@ -214,6 +214,9 @@ VAR_GLOBAL
// String empty voltage (Volt)
rStringEmptyVoltage : REAL := 672.0;
// Unit wait startup time
timUnitStartupTime : TIME := T#5S;
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>

View File

@@ -5,19 +5,16 @@
VAR_GLOBAL
// Modbus interface to customer EMS
stModbusEMSComm : ST_EMS_MODBUS_INTERFACE := (
sManufacturer := 'cmblu energy ag',
sModelname := 'all liquid',
sSerialnumber := '202312151643',
sBMSVersion := '0.8.0',
uiTotalParallelMembers := 2,
eChargeStatus := E_CHARGE_STATUS.UNDEFINED,
eBatteryStatus := E_BATTERY_STATUS.OFF);
// Modbus default config
//mb_Input_Coils : ARRAY [0..255] OF BOOL;
//mb_Output_Coils : ARRAY [0..255] OF BOOL;
//mb_Input_Registers : ARRAY [0..255] OF WORD;
//mb_Output_Registers : ARRAY [0..255] OF WORD;
stModbusReg10 := (
sManufacturer := 'cmblu energy ag',
sModelname := 'all liquid',
sSerialnumber := '202312151643',
sBMSVersion := '0.8.0',
uiTotalParallelMembers := 1),
stModbusReg11 := (
eChargeStatus := E_CHARGE_STATUS.UNDEFINED,
eBatteryStatus := E_BATTERY_STATUS.OFF)
);
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>

19
PLC/GVLs/GVL_MQTT.TcGVL Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
<GVL Name="GVL_MQTT" Id="{b8376b04-66fc-43a7-b673-600aa359c597}">
<Declaration><![CDATA[{attribute 'qualified_only'}
VAR_GLOBAL
// Mqtt brocker ip address
sMQTTBrokerAddr : STRING := '127.0.0.1';
// Mqtt keep alive (s)
uiMQTTKeepAlive : UINT := 60;
// MQTT prefix
sMQTTPrefix : STRING := 'cmblu/uniper/1/';
// MQTT QOS (Default 0 -> At most once; 1 -> At least once; 2 -> Exactly once
eMQTTQoS : TcIoTMqttQos := TcIoTMqttQos.AtMostOnceDelivery;
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>