Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Сцепить каналы в строку
- В этой теме 15 ответов, 4 участника, последнее обновление 6 лет назад сделано to0freak.
-
АвторСообщения
-
19.04.2018 в 13:11 #8967to0freakУчастник
Добрый день!
Понимаю, что скорее всего задаю идиотский вопрос, но никак не могу сцепить показания нескольких каналов в строку.
Нужно сделать что-то типа: Val(1).tostring & » (» & Val(2).tostring & «)»
Только вот что-то не получается пока.
Подскажите, как решить? Спасибо.19.04.2018 в 13:46 #8969RomirosУчастникНапишите, что Вам нужно сделать в плане задачи. Величина канала должна быть double, в string можно перевести в промежуточных вычислениях в формуле, но на выходе должен быть double.
Синтаксис c# Val(1).ToString()+Val(2).ToString()19.04.2018 в 13:55 #8970to0freakУчастникМне нужно отображать на схеме показания двух каналов температуры (фактической и задания) в виде «58 (65)». На выходе нужна именно строка со скобками.
19.04.2018 в 14:33 #8971RomirosУчастникА почему на схеме это не сделать?
Поставьте рядом две динамические надписи с одним и другим каналом. Под второй можно положить статическую надпись ( ) только уровнем ниже.19.04.2018 в 14:54 #8972to0freakУчастникКонечно можно сделать это из двух динамических и одной статической надписи, но так надписей будет три (к тому же останется нерешенным вопрос с изменением динамической надписи по ширине), а тут — одна. К тому же эта строка требуется не в одном месте схемы, а так же нужна в таком виде в таблицах. Учитывая, что созданные надписи на схеме нельзя группировать, а так же копировать, перемещать и менять атрибуты с помощью группового выделения, множить элементы схемы — сомнительное удовольствие.
Напрашивается к каналам текстовые префиксы и суффиксы, вместо фиксированных размерностей.19.04.2018 в 15:11 #8973RomirosУчастникНу тогда это к Михаилу. Такого пока нет.
19.04.2018 в 15:12 #8974MikhailМодераторВ строке помещается макс. 8 символов. Подход со строкой не очень надежен.
Но если очень хочется, то можноVal(1).ToString() + " (" + Val(2).ToString() + ")"
19.04.2018 в 15:21 #8976to0freakУчастникВ строке помещается макс. 8 символов.
Для чего нужны такие ограничения? Длинные строки — вроде бы не зло.
Подход со строкой не очень надежен.
Какой, в таком случае, выбрать надёжный подход?
Неужели я первый, кому захотелось как минимум вывести вместо градусов Цельсия просто значок градусов? Или показать значение в скобках, да что угодно.
19.04.2018 в 18:04 #8980manjey73УчастникНа счет строк вы не первый, кому нужна строка длиннее, но существующие базы это не позволяют.
Ну и для строковых баз тем более не требуется постоянного сохранения в базе, достаточно было бы настраиваемого ограниченного количества записей.Может когда нибудь появится в будущих релизах, насколько я понимаю это пока сложно.
Просто нынешние базы ограничены форматом double — 8 байт. И с учетом постоянного обновления и записи это ограничение лучше и оставить. Для текстухи нужны дополнительные базы.
- Этот ответ был изменен 6 лет назад от manjey73.
19.04.2018 в 19:20 #8982to0freakУчастникНу а если строки не хранить в базе, а использовать только для отображения на схеме? Здесь же не должно быть ограничений вообще? Допустим на схеме можно разместить какое-то сообщение для оператора с использованием данных из каналов и результатов вычислений. Или сформировать текст письма для отправки по почте с теми же данными. Всё лучше, чем конструктор из лейблов.
19.04.2018 в 19:37 #8984manjey73УчастникТекст письма с данными канала можно сформировать Модулем Автоматического управления.
Статические надписи можно попробовать хранить в базе Справочники — Типы событий, но вот можно ли их вывести на схему не пробовал, в событиях отображаются, если поиграться статусом.
Я имел ввиду нужна база данных для строк в принципе, так как есть оборудование, которое передает строковые данные, например когда по snmp что-то опрашиваешь.
20.04.2018 в 13:24 #8988MikhailМодераторна схеме можно разместить какое-то сообщение для оператора с использованием данных из каналов и результатов вычислений.
Сообщения для оператора сейчас лучше реализовывать в виде событий, которые отображаются внизу веб-страницы. Однако в зависимости от конкретной задачи для генерации произвольного события может потребоваться разработка программного модуля.
20.04.2018 в 13:26 #8989MikhailМодераторНеужели я первый, кому захотелось как минимум вывести вместо градусов Цельсия просто значок градусов? Или показать значение в скобках, да что угодно.
Если значение фиксированное, то его можно настроить в виде размерности. Посмотрите таблицу Размерности, в нее можно добавить свои записи.
23.04.2018 в 01:50 #9001to0freakУчастникЕсли значение фиксированное, то его можно настроить в виде размерности. Посмотрите таблицу Размерности, в нее можно добавить свои записи.
С этим разобрался, но всё равно не хватает префиксов. Пока решил статичными надписями.
23.04.2018 в 09:54 #9005MikhailМодераторВы могли бы обобщить, как Вам было бы удобно настраивать? Чтобы можно было учесть на будущее.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.