Skip to main content

ACond v4.3.3.25: IDE-Anleitung

Quelle: Stations/Dokumentation/ACond_v4.3.3.25_IDE_Anleitung.md im onekey-Repo (Stand der Übernahme: 2026-07-26). Bei Codeänderungen dort zuerst aktualisieren.

ACond Modbus v4.3.3.25 - IDE Aenderungen

Alle Aenderungen die im LASAL CLASS IDE gemacht werden muessen (DECLARATION-Bereich). Die IMPLEMENTATION-Aenderungen (Code-Logik) sind bereits in den .st-Dateien.

1. ACond_ReadInputRegisters

1.1 Define aendern

  • D_Acond_ReadInputRegister_NoOfRegister von 44 auf 82

1.2 Array vergroessern

  • aRxData : ARRAY [0..43] OF INT aendern auf ARRAY [0..81] OF INT

1.3 Neue Variablen

Name Typ Init
bExtendedRegisters BOOL TRUE
uiExceptionCount UINT 0

1.4 t_bd_HPStatus Bits umbenennen

Bit Alt Neu
14 Bit14 SG1
15 Bit15 SG2
16 Bit16 SG_Ready_Modbus_Enabled

1.5 Neue Server-Channels (WriteProtected=true, Retentive=false)

Name Typ Beschreibung
ExtendedRegisters SvrCh_BOOL Firmware v4.3.3.25+ erkannt
HPComponentStatus SvrCh_DINT Komponentenstatus Bitfeld
FanSpeedPercent SvrCh_DINT Luefterdrehzahl %
EEV_Steps SvrCh_DINT Expansionsventil %
ActSuctionTemp SvrCh_DINT Sauggastemperatur x10
ActDischargeTemp SvrCh_DINT Heissgastemperatur x10
CompressorHours SvrCh_UDINT Kompressor Betriebsstunden
CompressorMinutes SvrCh_DINT Kompressor Minuten
FanHours SvrCh_UDINT Luefter Betriebsstunden
FanMinutes SvrCh_DINT Luefter Minuten
ReverseValveHours SvrCh_UDINT Umschaltventil Stunden
ReverseValveMinutes SvrCh_DINT Umschaltventil Minuten
PrimaryPumpHours SvrCh_UDINT Primaerpumpe Stunden
PrimaryPumpMinutes SvrCh_DINT Primaerpumpe Minuten
Bivalence1Hours SvrCh_UDINT Bivalenz1 Stunden
Bivalence1Minutes SvrCh_DINT Bivalenz1 Minuten
Bivalence2Hours SvrCh_UDINT Bivalenz2 Stunden
Bivalence2Minutes SvrCh_DINT Bivalenz2 Minuten
CoolingEnergySum SvrCh_UDINT Kuehlenergie Summe x10 kWh
ElecCoolingEnergySum SvrCh_UDINT Elektr. Kuehlenergie Summe x10
CoolingEnergyDay SvrCh_DINT Kuehlenergie Tag x10
ElecCoolingEnergyDay SvrCh_DINT Elektr. Kuehlenergie Tag x10
CompressorSwitchCount SvrCh_UDINT Kompressor Schaltzyklen
SG_ReadyType SvrCh_DINT SG Ready Typ (0-3)
MaxPowerConsKW SvrCh_DINT Max. Leistungsaufnahme kW x10
MaxPowerConsPercent SvrCh_DINT Max. Leistungsaufnahme %
EndOfHeatingTemp SvrCh_DINT Heizgrenze x10 C
ActAirAvgTemp SvrCh_DINT Mittlere Aussentemp x10 C

2. ACond_WriteHoldingRegister

2.1 Define aendern

  • D_Acond_WriteHoldingRegister_NoOfRegister von 20 auf 24

2.2 Arrays vergroessern

  • aTxData : ARRAY [0..19] OF INT aendern auf ARRAY [0..23] OF INT
  • aRxData : ARRAY [0..19] OF INT aendern auf ARRAY [0..23] OF INT

2.3 Neue Variable

Name Typ Beschreibung
bExtendedRegisters BOOL Wird von ACond_Heatpump gesetzt

2.4 t_bd_HPControl Bits umbenennen

Bit Alt Neu
14 Bit14 SG1
15 Bit15 SG2
16 Bit16 SG_Ready_Modbus_Enable

2.5 Neue Server-Channels

Name Typ Beschreibung
SG_ReadyType SvrCh_DINT SG Ready Typ (0-3)
MaxPowerConsKW SvrCh_DINT Max. Leistungsaufnahme kW x10
MaxPowerConsPercent SvrCh_DINT Max. Leistungsaufnahme %

3. ACond_Heatpump

3.1 Neue Read-Server-Channels (WriteProtected=true)

Name Typ
HPComponentStatus SvrCh_DINT
FanSpeedPercent SvrCh_DINT
ActSuctionTemp SvrCh_DINT
ActDischargeTemp SvrCh_DINT
CompressorHours SvrCh_UDINT
CompressorMinutes SvrCh_DINT
CoolingEnergySum SvrCh_UDINT
CoolingEnergyDay SvrCh_DINT
CompressorSwitchCount SvrCh_UDINT
ActAirAvgTemp SvrCh_DINT
EndOfHeatingTemp SvrCh_DINT
SG_ReadyType_Act SvrCh_DINT
SG1_Status SvrCh_DINT
SG2_Status SvrCh_DINT
FirmwareExtended SvrCh_BOOL

3.2 Neue Write-Server-Channels

Name Typ Beschreibung
SetSG_ReadyType SvrCh_DINT SG Ready Typ setzen
SetSG1 SvrCh_BOOL SG1 Bit setzen
SetSG2 SvrCh_BOOL SG2 Bit setzen

4. ModulWaermepumpe_Acond

4.1 Neue Server-Channels (Visualized=true, WriteProtected=true)

Name Typ
FanSpeedPercent SvrCh_DINT
ActSuctionTemp SvrCh_DINT
ActDischargeTemp SvrCh_DINT
CompressorHoursACond SvrCh_UDINT
CoolingEnergySum SvrCh_UDINT
CoolingEnergyDay SvrCh_DINT
CompressorSwitchCount SvrCh_UDINT
ActAirAvgTemp SvrCh_DINT
EndOfHeatingTemp SvrCh_DINT
HPComponentStatus SvrCh_DINT

5. Verkabelung im IDE (Client -> Server)

Nach dem Anlegen der Server-Channels muessen die Client-Verbindungen hergestellt werden:

ACond_Heatpump -> ACond_ReadInputRegisters

Der Client ReadInputRegister ist bereits verbunden. Die neuen Server-Channels in ACond_ReadInputRegisters werden automatisch ueber den bestehenden Client erreichbar.

ACond_Heatpump -> ACond_WriteHoldingRegister

Der Client WriteHoldingRegister ist bereits verbunden. Die neuen Server-Channels werden automatisch erreichbar.

ModulWaermepumpe_Acond -> ACond_Heatpump

Der Client WpConBase ist bereits verbunden. Die neuen Server-Channels in ACond_Heatpump werden automatisch ueber den bestehenden Client erreichbar.

ACond_WriteHoldingRegister.bExtendedRegisters

Diese Variable muss von ACond_Heatpump befuellt werden. Optionen:

  • Als Client-Channel von ACond_ReadInputRegisters.ExtendedRegisters lesen
  • Oder als einfache Variable direkt in ACond_Heatpump setzen und durchreichen

Reihenfolge der IDE-Aenderungen

  1. ACond_ReadInputRegisters - Defines, Array, Variablen, BDINT-Bits, Server-Channels
  2. ACond_WriteHoldingRegister - Defines, Arrays, Variable, BDINT-Bits, Server-Channels
  3. ACond_Heatpump - Server-Channels (Read + Write)
  4. ModulWaermepumpe_Acond - Server-Channels (Visualized)
  5. Kompilieren und testen