<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
  <DUT Name="ST_EMS_MODBUS_INTERFACE" Id="{c26c9ee9-feee-46cf-86e6-45d1a1e6819c}">
    <Declaration><![CDATA[// Speicherbereiche, welche über einen kontinuierlichen Registerbereich
// gelesen werden sollen, müssen in einer Struktur mit dem attribut {attribute 'pack_mode' := '1'}
// angelegt werden.
// Der Grund ist, dass der TwinCAT Modbus Server beim zugriff über den ADS
// Server nur die Symbolische erste Adresse anfragt und dann davon ausgeht,
// dass die anderen Register im Speicherbereich hintereinander liegen.
// Bei rein symbolisch angelegten Variablen müss dies nicht der Fall sein und es kommt zu einem 
// Fehler beim lesen über die symbolischen grenzen der variablen hinaus.

{attribute 'pack_mode' := '1'}
TYPE ST_EMS_MODBUS_INTERFACE :
STRUCT
	// Modbus Registers 10.000 to 10.999
	stModbusReg10 : ST_MODBUS_REG_10;
	
	// Modbus Registers 11.000 to 11.999
	stModbusReg11 : ST_MODBUS_REG_11;
	
	// Modbus Registers 12.000 to 12.999
	stModbusReg12 : ST_MODBUS_REG_12;
END_STRUCT
END_TYPE
]]></Declaration>
  </DUT>
</TcPlcObject>