Hello,
Modbus TCP is different with all PLC, and some type are not possible with someone.
Perhaps the solution is to multiply the value to transfer an integer.
An example on CS8 with one Float Input and one Float Output :
XML
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<TOPICSLIST>
<TOPIC Name="Modbus" Card="0" Channel="0" Equipment="0" RefreshPeriod="200" Actif="1">
<MODULE Tag_name_root="Bit" IDModule="BOOLEAN" InputSize="" OutputSize="0">
</MODULE>
<MODULE Tag_name_root="Word" IDModule="WORD" InputSize="" OutputSize="64">
<ITEM Name="MbInputFloat" Syntaxe="%QF0" Offset="0"/><ITEM Name="MbOutputFloat" Syntaxe="%IF2" Offset="2"/></MODULE>
</TOPIC>
<GENERAL_PARAMETERS TopicName="Modbus" TCP_Port="502" ConnectionNumber="2"/>
</TOPICSLIST>
and the .dtx file for the datas :
XML
<?xml version="1.0" encoding="utf-8"?>
<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.staubli.com/robotics/VAL3/Data/2">
<Datas>
<Data name="mNomSpeed" access="private" xsi:type="array" type="mdesc" size="1" />
<Data name="aiTest" access="private" xsi:type="array" type="aio" size="1">
<Value key="0" link="ModbusSrv-0\Modbus-Word\MbInputFloat" />
</Data>
<Data name="aoTest" access="private" xsi:type="array" type="aio" size="1">
<Value key="0" link="ModbusSrv-0\Modbus-Word\MbOutputFloat" />
</Data>
</Datas>
</Database>
Display More