Просмотр полной версии : СПК 310 Modbus/ нужна помощь
confiden
19.01.2024, 11:50
Добрый день. Очень нужна помощь, сам не могу осилить.
Панель Овен СП310 с Ethernet и датчик ПВТ100.
в проекте панели формирую цифровой дисплей (адрес modbus 16, регистр 258, тип данных Dec)- замечательно все работает. отрицательные и положительные значения температур
так же в панели запущен макрос :
WORD t1=0; //PVT-100
Read(PLC, 16, MODBUS_RTU_REG_4X, 258, 0, TYPE_WORD, &t1); //read 0x102
PSW[350]=t1;
и вот тут у меня возникает проблема.
правильные значения в регистре PSW[350] только при положительном значение температуры.
подскажите как мне реализовать это.
Добрый день. Очень нужна помощь, сам не могу осилить.
Панель Овен СП310 с Ethernet и датчик ПВТ100.
в проекте панели формирую цифровой дисплей (адрес modbus 16, регистр 258, тип данных Dec)- замечательно все работает. отрицательные и положительные значения температур
так же в панели запущен макрос :
WORD t1=0; //PVT-100
Read(PLC, 16, MODBUS_RTU_REG_4X, 258, 0, TYPE_WORD, &t1); //read 0x102
PSW[350]=t1;
и вот тут у меня возникает проблема.
правильные значения в регистре PSW[350] только при положительном значение температуры.
подскажите как мне реализовать это.
Вы в существующем дисплее поменяйте тип данных с Dec на Unsigned и увидите такие же значения как и в PSW350 из макроса.
Тогда почему Вы говорите, что в макросе получаете неправильные значения температуры?
confiden
19.01.2024, 13:00
все дело в том что тогда проблема начинается далее . С данной панели информация забирается на OPC Server . и это не решает мою проблему.
удалось решить только вот так :
short t1=0; //PVT-100
Read(PLC, 16, MODBUS_RTU_REG_4X, 258, 0, TYPE_WORD, &(short)(t1)); //read 0x102
PSW[350]=t1;
только так удалось найти решение.
kondor3000
19.01.2024, 13:08
все дело в том что тогда проблема начинается далее . С данной панели информация забирается на OPC Server . и это не решает мою проблему.
удалось решить только вот так :
short t1=0; //PVT-100
Read(PLC, 16, MODBUS_RTU_REG_4X, 258, 0, TYPE_WORD, &(short)(t1)); //read 0x102
PSW[350]=t1;
только так удалось найти решение.
Достаточно в макросе или в ОРС сервере изменить тип данных на INT вместо WORD и всё.
confiden
19.01.2024, 14:02
Достаточно в макросе или в ОРС сервере изменить тип данных на INT вместо WORD и всё.
В MasterOPC стояло и стоит - тип данных на устройстве INT16
In_Da_Cher_A
19.01.2024, 14:06
С данной панели информация забирается на OPC Serverпанель Слейв по ТСР?
Овен СП310 с Ethernet и датчик ПВТ100
Мастер по RS ?
kondor3000
19.01.2024, 14:33
В MasterOPC стояло и стоит - тип данных на устройстве INT16
А если внимательно посмотреть, у вас скорее всего стоит UINT16, вот 0 регистр как UINT16 и INT16 73021
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot