Просмотр полной версии : ЧТение параметра из старшего и младшего слов через инсат опс
Доброго всем дня! не могу разобраться как читать параметры расходомера FCI, параметры температуры и расхода каждый состоят из двух тэгов, как привести их к читаемому виду в инсат? даташит железки прикладываю.
Доброго всем дня! не могу разобраться как читать параметры расходомера FCI, параметры температуры и расхода каждый состоят из двух тэгов, как привести их к читаемому виду в инсат? даташит железки прикладываю.
Ещё не пробовали опрашивать? Что получается?
пробовал отдельно читать 4103 и 4104 как float, получаю два значения вообще не похожих на показания, не понимаю как их в одно объединить, какая математика нужна...
идеально бы читать 5101 параметр, но его вообще не понятно как прочесть...
МихаилГл
02.02.2024, 05:31
пробовал отдельно читать 4103 и 4104 как float, получаю два значения вообще не похожих на показания, не понимаю как их в одно объединить, какая математика нужна...
Это должны быть 2 регистра, читаемые как одно float число. Пробуйте менять местами регистры и байты.
идеально бы читать 5101 параметр, но его вообще не понятно как прочесть...
Это MODBUS Daniel Extension, с ним не работал, пишут что 1 регистр это 32 бита. Обычный модбас мастер его не прочитает никогда.
получилось прочесть как флоат параметр Flow по адресу 4099, параметр TEMP по адресу 4101 с отключеной перестановкой байт. а для чего второй тег? в плане я прочел у каждого параметра по одному тегу а вторые зачем нужны?
получилось прочесть как флоат параметр Flow по адресу 4099, параметр TEMP по адресу 4101 с отключеной перестановкой байт. а для чего второй тег? в плане я прочел у каждого параметра по одному тегу а вторые зачем нужны?
Регистры 4ххх похоже как раз и предназначены для работы обычным модбасом.
Поскольку значения представляют собой 32 битный FLOAT
"(DATA TYPE “SPECIAL 1”: This is a collection of discrete registers that contain a single precision (32 bit) floating point value, and must be treated and interpreted as a single precision floating point number by the DCS or the PLC)",
то они соответственно и занимают каждое по два 16 битных регистра, помеченные в описании индексами LS и MS.
Вот только адреса у вас странные, должны быть 4101 и 4103 и указанием в OPC типа "FLOAT"
73247
МихаилГл
02.02.2024, 07:00
Регистры 4ххх похоже как раз и предназначены для работы обычным модбасом.
Поскольку значения представляют собой 32 битный FLOAT
"(DATA TYPE “SPECIAL 1”: This is a collection of discrete registers that contain a single precision (32 bit) floating point value, and must be treated and interpreted as a single precision floating point number by the DCS or the PLC)",
то они соответственно и занимают каждое по два 16 битных регистра, помеченные в описании индексами LS и MS.
Вот только адреса у вас странные, должны быть 4101 и 4103 и указанием в OPC типа "FLOAT"
73247
Там так и есть, MS и LS одного флоата в соседних регистрах.
А ну да, в описании не флоат показано, но далее в примере показано что это флоат.
МихаилГл
02.02.2024, 07:01
получилось прочесть как флоат параметр Flow по адресу 4099, параметр TEMP по адресу 4101 с отключеной перестановкой байт. а для чего второй тег? в плане я прочел у каждого параметра по одному тегу а вторые зачем нужны?
Второй читается автоматом, когда вы выбираете в ОРС тип переменной и количество регистров на переменную.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot