28 lines
1.1 KiB
XML
28 lines
1.1 KiB
XML
<?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> |