Ответы в темах
-
АвторЗаписи
-
Vitaly_Zhidkov
УчастникСоздал канал с типом дорасчёт.
Написал в него входную формулу StatusPCh(Val(10051)); Stat(10051).
Создал и добавил в канал формат, как в примере с двигателем.
Всё работает.Vitaly_Zhidkov
УчастникПо приведенному примеру написал скрипт
// Устанавливает значения для перечисления для статуса ПЧ.
public double StatusPCh(double val)
{
switch ((int)val)
{
case 0: return 0; // Остановлен
case 1: return 1; // Запущен
case 2: return 2; // Значение не используется
case 3: return 3; // Ожидание
case 4: return 0; // Остановлен
case 1280: return 0; // Остановлен
case 1344: return 0; // Остановлен
case 1347: return 4; // Вперёд
case 1368: return 0; // Остановлен
default: return 0;
}
}Vitaly_Zhidkov
УчастникЕщё один вопрос по этой же теме.
От частотного преобразователя передаются данные по одному из регистров.
И здесь значения, которые соответствуют положению частотного преобразователя, могут быть разными.
1 — Запущен.
3 — Ожидание.
0, 4, 1280, 1344, 1368 — Остановлен.
1347 — Вперёд.Как в этом случае отображать на схеме вместо числа соответствующие слова на русском языке?
Наверное, можно создать канал с дорасчётом, где переменной на выходе будут соответствовать значения:
0, 4, 1280, 1344, 1368 —> 0
1 —> 1
2 —> 2
3 —> 3
1347 —> 4И потом уже использовать этот канал с дорасчётом, как в предыдущем случае.
Приведите, пожалуйста, пример создания дорасчёта (скрипта, формулы) для этого случая.
Vitaly_Zhidkov
УчастникПрименил указанный способ. Создал свой формат в таблице Форматы. Добавил в канал. Всё работает.
Vitaly_Zhidkov
УчастникПоставил в настройках устройства тип Double вместо Int64. А в таблице каналов убрал в столбце «Тип данных» Integer, оставил это поле пустым. В этом случае входная формула Cnl/10 применяется.
Спасибо за подсказку.Vitaly_Zhidkov
УчастникПо возможности протестируйте у себя прием данных по SNMP и применение формул к ним. Может быть, это связано именно с типом данных?
Vitaly_Zhidkov
УчастникИспользование формулы DecodeAscii(Cnl)/10 приводит к тому, что веб-интерфейс системы перестает загружаться. То есть система считает, что это ошибка.
Vitaly_Zhidkov
УчастникВыложил на файлообменник. Принтскрины по поводу типа данных.
https://transfiles.ru/gla1iVitaly_Zhidkov
УчастникКак принтскрины здесь на форуме прикреплять?
Vitaly_Zhidkov
УчастникОт устройства все данные передаются как Integer. Это можно увидеть в таблице MIB и при опросе по SNMPWalk в командной строке.
При приёме в шаблоне устройства SNMP указываю тип данных Integer, точнее Int64.
При создании каналов в таблице также для всех для них указываю тип Integer.
Передача данных от устройства выполняется стабильно. -
АвторЗаписи