Чтение регистров датчика температуры WB-MS v2


#1

Добрый день!
Подскажите почему не читается значение температуры со встроенного датчика при чтении из регистра 4 как указанно в документации.


#2

Насколько я понимаю, вы иcпользуете LectusSoft? Судя по документации, там можно выбрать тип “Регистр” – пробовали ли вы? Хотя другие регистры же читаются у вас…
Можете сказать серийник вашего устройства?


#3

Такая проблема наблюдается на 11 устройствах WB-MS v.2. На устройствах WB-MS-TH всё ок. SN: 4266185504
Конфигурация Лектуса:

<OPC_server_config_file Protect="6110">
<_ITEMS_>
	<Item Name="WB-MS_read" Plugin="0" Flag="1" AccessPath="" AccessRights="3" CanonicalDataType="0" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="101" Props_0_DataType="8" Props_0_ItemID="" Props_0_Description="Описание узла" Props_0_Value="Описание узла" Props_1_PropertyID="6" Props_1_DataType="4" Props_1_ItemID="" Props_1_Description="Частота опроса" Props_1_Value="1000" Props_2_PropertyID="5999" Props_2_DataType="4" Props_2_ItemID="" Props_2_Description="Начальная фаза опроса" Props_2_Value="0" Props_3_PropertyID="5000" Props_3_DataType="17" Props_3_ItemID="" Props_3_Description="COM порт" Props_3_Value="0" Props_4_PropertyID="5001" Props_4_DataType="2" Props_4_ItemID="" Props_4_Description="Адрес устройства" Props_4_Value="11" Props_5_PropertyID="5004" Props_5_DataType="2" Props_5_ItemID="" Props_5_Description="Функция чтения" Props_5_Value="3" Props_6_PropertyID="5005" Props_6_DataType="2" Props_6_ItemID="" Props_6_Description="Функция записи" Props_6_Value="6" Props_7_PropertyID="5002" Props_7_DataType="11" Props_7_ItemID="" Props_7_Description="Групповой запрос" Props_7_Value="True" Props_8_PropertyID="5015" Props_8_DataType="8" Props_8_ItemID="" Props_8_Description="Тип подключения" Props_8_Value="Прямое подключение" Props_9_PropertyID="5027" Props_9_DataType="8" Props_9_ItemID="" Props_9_Description="Тип Slave подключения" Props_9_Value="Нет" Props_10_PropertyID="5029" Props_10_DataType="11" Props_10_ItemID="" Props_10_Description="Порядок байт - старшим байтом вперед" Props_10_Value="True" Props_11_PropertyID="5030" Props_11_DataType="11" Props_11_ItemID="" Props_11_Description="Порядок байт - старшим регистром вперед" Props_11_Value="False" Props_12_PropertyID="5052" Props_12_DataType="8" Props_12_ItemID="" Props_12_Description="Преамбула команды" Props_12_Value="" Props_13_PropertyID="5060" Props_13_DataType="11" Props_13_ItemID="" Props_13_Description="Широковещательная команда" Props_13_Value="False" Props_14_PropertyID="5061" Props_14_DataType="8" Props_14_ItemID="" Props_14_Description="Контрольная сумма" Props_14_Value="CRC (Modbus)" Props_15_PropertyID="5025" Props_15_DataType="11" Props_15_ItemID="" Props_15_Description="Тип устройства - Master" Props_15_Value="True" Props_16_PropertyID="5026" Props_16_DataType="11" Props_16_ItemID="" Props_16_Description="Тип устройства - Slave" Props_16_Value="False" Props_17_PropertyID="5031" Props_17_DataType="8" Props_17_ItemID="" Props_17_Description="Тип данных" Props_17_Value="Текущие данные">
		<Item Name="Temperature" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_DataType="2" Props_0_ItemID="" Props_0_Description="Тип переменной" Props_0_Value="18" Props_1_PropertyID="2" Props_1_DataType="12" Props_1_ItemID="" Props_1_Description="Значение переменной" Props_1_Value="" Props_2_PropertyID="3" Props_2_DataType="2" Props_2_ItemID="" Props_2_Description="Качество переменной" Props_2_Value="" Props_3_PropertyID="4" Props_3_DataType="7" Props_3_ItemID="" Props_3_Description="Метка времени" Props_3_Value="" Props_4_PropertyID="5" Props_4_DataType="3" Props_4_ItemID="" Props_4_Description="Права доступа" Props_4_Value="1" Props_5_PropertyID="7" Props_5_DataType="3" Props_5_ItemID="" Props_5_Description="Тип(значение/перечисление)" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_DataType="18" Props_7_ItemID="" Props_7_Description="Адрес переменной" Props_7_Value="0"/>
		<Item Name="Humidity" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="1"/>
		<Item Name="Light" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="2"/>
		<Item Name="Sound" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="3"/>
		<Item Name="Temp_1" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="6"/>
		<Item Name="Temp_2" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="7"/>
		<Item Name="RESET" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="3" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="120"/>
		<Item Name="Vcc" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="121"/>
		<Item Name="Baudrare/100" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="3" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="110"/>
		<Item Name="Parity" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="3" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="111"/>
		<Item Name="StopBit" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="3" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="112"/>
		<Item Name="MBaddress" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="3" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="128"/>
	</Item>
	<Item Name="WB-MS_write" Plugin="0" Flag="1" AccessPath="" AccessRights="3" CanonicalDataType="0" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="101" Props_0_Value="Описание узла" Props_1_PropertyID="6" Props_1_Value="1000" Props_2_PropertyID="5999" Props_2_Value="0" Props_3_PropertyID="5000" Props_3_Value="0" Props_4_PropertyID="5001" Props_4_Value="0" Props_5_PropertyID="5004" Props_5_Value="3" Props_6_PropertyID="5005" Props_6_Value="6" Props_7_PropertyID="5002" Props_7_Value="False" Props_8_PropertyID="5015" Props_8_Value="Прямое подключение" Props_9_PropertyID="5027" Props_9_Value="Нет" Props_10_PropertyID="5029" Props_10_Value="True" Props_11_PropertyID="5030" Props_11_Value="False" Props_12_PropertyID="5052" Props_12_Value="" Props_13_PropertyID="5060" Props_13_Value="False" Props_14_PropertyID="5061" Props_14_Value="CRC (Modbus)" Props_15_PropertyID="5025" Props_15_Value="True" Props_16_PropertyID="5026" Props_16_Value="False" Props_17_PropertyID="5031" Props_17_Value="Текущие данные">
		<Item Name="writeMBaddress" Plugin="0" Flag="2" AccessPath="" AccessRights="2" CanonicalDataType="18" AccessChange="25" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="18" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="2" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="101" Props_6_Value="Описание переменной" Props_7_PropertyID="5003" Props_7_Value="128"/>
	</Item>
</_ITEMS_>
<_HDA_ITEMS_/>
<_COM_PORTS_>
	<COM3 Speed="19200" DataBits="8" Parity="NONE" StopBits="1" XONXOFF="NONE" DTR="ENABLE" RTS="ENABLE" CTS="False" DSR="False" RaiseRTS="0" DropRTS="0" ReadInterval="5"/>
	<COM5 Speed="9600" DataBits="8" Parity="NONE" StopBits="2" XONXOFF="NONE" DTR="ENABLE" RTS="ENABLE" CTS="False" DSR="False" RaiseRTS="0" DropRTS="0" ReadInterval="5"/>
	<COM1 Speed="19200" DataBits="8" Parity="NONE" StopBits="1" XONXOFF="NONE" DTR="ENABLE" RTS="ENABLE" CTS="False" DSR="False" RaiseRTS="0" DropRTS="0" ReadInterval="5"/>
</_COM_PORTS_>
<_CONFIG_>
	<Plugin Name="MODBUS" WaitTimeout="3000" CountTry="5" TimeNextSend="20000" MaxPacketSize="250" MaxIntervalChar="1000" RegisterSize="2" PhoneDisconnectTimeout="30000" TcpDisconnectTimeout="1800000" TcpUseProxy="0" TcpProxyType="SOCKS 5" TcpProxyIpAddress="0.0.0.0" TcpProxyPort="0" TcpUseProxyAuthorize="0" TcpProxyLogin="" TcpProxyPassword="" MaxReadGapRegisters="0" FilterData="-1" PhoneConnectTimeout="60000" TryPollDisableDevice="0" PauseBeforePoll="0"/>
	<Plugin Name="OPCServer" MaxLogSize="10" CountQualityQuery="999" MinimizeToTray="0" EncryptConfig="0" Password="" Comment="" ReadAfterWrite="-1" PollOnStart="-1" CloseQuery="-1" UseLog="-1" ProtocolDDE="Стандартный DDE (текстовый формат)" SqlEmbeddedDatabase="-1" SqlConnectionString="" AutoRun="0" SqlSetType="Изменить значение" SqlTimeNextSend="60" SimulHDACountValues="100" DisableMonitorQuality="0" MaxDataPacketInterval="80" CsvDivider=";" SyncReadFromCash="-1" Priority="Нормальный" Efficiency="100" ComplexSetType="Изменить значение" SqlCountSaveDays="30" SqlFormatDateTime="yyyy-mm-dd hh:nn:ss" IgnoreQualityComplex="0" IgnoreQualitySql="0"/>
</_CONFIG_>

</OPC_server_config_file>


#4

Почему-то у вас переменная Temperature описана совсем иначе в конфиге, чем Temp_1 и Temp_2, хотя тип регистра в устройстве не отличается: для внешней температуры это input-регистры 6 и 7, для встроенного сенсора это input-регистр 4. Посмотрите, как сконфигурировано чтение из регистров 6 и 7, и сделайте таким же образом для 4.