Стартовая страница › Форумы › Понять, как работает ПО › Перевод Стандартной команды в Бинарную
- В этой теме 13 ответов, 3 участника, последнее обновление 6 лет, 3 месяца назад сделано
Mikhail.
-
АвторЗаписи
-
18.05.2020 в 17:42 #16071
manjey73УчастникМожет глупый вопрос, но есть ли возможность команду управления оставить Стандартной, но при отправке как-то обрабатывать число и подменять тип команды ?
Вот на примере Времени — я отправляю DateTime.Now, а в прибор должно попасть 3 байта в виде Сек, Мин, Час
мне надо чтобы прибор получил именно 3 байта, а не 8-мь в виде некоего числа double с подменом типа команды.
18.05.2020 в 19:30 #16072Romiros
УчастникА время задаётся скадой? Я просто делал команду «Синхронизировать время», а в драйвере уже отсылал нужные данные прибору.
18.05.2020 в 19:48 #16073
manjey73УчастникНу синхронизировать время можно только с ПК, соответственно на котором установлен Коммуникатор. Время больше для примера, понятно что я внутри драйвера могу как угодно вывернуть из переданного времени в нужное мне значение… меня больше интересует такая возможность в принципе.
я прикрутил команды, которые можно задавать в бинарном формате в HEX режиме. А вот можно ли команду оставить как Стандартную, но чтобы при ее отправке данные изменить в Бинарные формулой и изменить тип команды ?
18.05.2020 в 20:18 #16074Romiros
УчастникА модулем автоуправления нельзя?
18.05.2020 в 22:40 #16076
manjey73УчастникНе знаю, не пробовал. Просто унификации какой-то не получается.
Было бы удобно вызывать Стандартную команду, вводить скажем 1275,36 а в зависимости от различных представлений в приборе превращать именно в байты, как их понимает прибор, например 12 75 36 (это пример BCD формата и я знаю, что там последние два знака это два после запятой) и посылать уже в прибор как блок бинарных данных в HEX.з.ы. это так, мысли, вдруг есть такая возможность формулами подменять тип данных ?
-
Ответ изменён 6 лет, 3 месяца назад пользователем
manjey73.
18.05.2020 в 22:46 #16078
manjey73УчастникК тому же, разве Модуль автоуправления может менять свободно вводимые данные и выполнять какие-то манипуляции с ними ? Насколько помню нет. Когда-то шла речь о том, чтобы в модуле можно было использовать формулы, если не ошибаюсь.
18.05.2020 в 22:49 #16079Romiros
УчастникЯ имел ввиду отследить стандартную команду или данные канала, не важно и отправить бинарную
19.05.2020 в 00:31 #16080
manjey73УчастникТриггер на Команду — выбирается тип, Стандарт или Бинарная. Ну а дальше то что ? Модуль не может изменить данные согласно каким-то правилам.
Передать команду с задержкой ??? в общем я не вижу там каких то способов.
19.05.2020 в 07:20 #16081Romiros
УчастникРазве так нельзя сделать?
Пользователь нажимает кнопку на схеме и отправляется значение в дорасчетный канал. В модуле триггер на изменение данных этого канала. Если статус канала = 1 то отправляется стандартная команда. Если статус = 2 то отправляется бинарная команда. Команды заранее подготовлены в соответствующих каналах управления. Формула в канале управления бинарной команды выполняет преобразования из передаваемого значения.Если бы можно было передавать команды со статусом, можно было бы делать подмену команды в драйвере в зависимости от его значения.
19.05.2020 в 07:51 #16082
manjey73УчастникДа нет заранее подготовленных команд, в этом и вся фишка… необходимо ввести те данные, которые на данный момент будут актуальны.
Тут мы возвращаемся к старой теме окна команды в Web — нельзя в окно вывести подсказку, нельзя сделать ограничения и проверку вводимого значения чтобы не ввести меньше или больше.
Счетчик не тот прибор, где в принципе это так важно, сделаю Бинарные команды, а далее пусть смотрят в документацию. Драйвер не программа конфигуратор, но исходя из того, что я прикрутил, можно поменять настройки например коэффициентов трансформации тока, напряжения… Тема так, лирика….
19.05.2020 в 17:59 #16101
MikhailМодераторТип отправленной команды поменять нельзя.
С точки зрения оператора, от типа команды зависит форма ввода — число или строка.
Для драйвера имеет значение, сколько байт должно быть в команде. В стандартной — не более 8, а в бинарной — произвольное число.Таким образом, при выборе типа команды нужно учитывать указанные выше критерии. А далее по формуле канала управления преобразовывать значение.
19.05.2020 в 18:01 #16102
MikhailМодераторТут мы возвращаемся к старой теме окна команды в Web — нельзя в окно вывести подсказку, нельзя сделать ограничения и проверку вводимого значения чтобы не ввести меньше или больше.
Форма отправки команды берётся из плагина. Можно разработать произвольную форму отправки. Если есть идеи по созданию некой универсальной формы отправки команд, то давайте обсудим в отдельной теме — весьма актуально.
19.05.2020 в 18:31 #16104
manjey73УчастникМихаил, да банально дополнительное поле описания в БД в каналах управления и выводить данные этого поля в окно команды в рамке какого-то цвета, например желтого (красное для ошибок, зеленое, что команда выполнена как сейчас)
Что сейчас идет в окно ?
Канал упр.: [1126] Чтение времени Объект: [1] B1R1 КП: [73] Mercury230мгн_C2Имя канала, объект управления, КП. А в описании пишем например. Для ввода команды введите значения сек, минут, часов в таком-то формате.
Все. Большего то пока и не надо.
А вот если делать ограничения, то должны быть еще поля лимитов, например надо ввести числовое значение от 0 до 100, в описание мы это указали. Если в БД стоит галочка «Лимиты» нижняя и верхняя границы, то при вводе команды и значении 101 система выдает ошибку, ввели неправильное число. Как сейчас если пустое значение ввести.
з.ы. ради этого тему создавать как-то ….20.05.2020 в 17:16 #16120
MikhailМодераторОК, что-нибудь придумаем.
-
Ответ изменён 6 лет, 3 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.