Тема / Topic: Использование программы на ST с разными входными данными
EgorovV
Junior Member / Новичок
Участник № / Member № 8847
отправлено / posted
Добрый день. Не могу понять из справки, как можно использовать одну программу на ST, подкидывая ей разные аргументы в качестве входных данных.
Проблему нужно решить следующую: по Modbus получаю регистры длины Word с показаниями датчиков температуры в формате десятых долей градуса, например, 253 - это 25.3°, и в таком виде мне нужно вывести это значение на экран.
Теперь мне нужно преобразовать 80 значений с её помощью. Я могу, конечно, создать 80 копий программы и зашить в каждой соответствующее входное значение, но надеюсь на более элегантный способ.
Либо можно как-то преобразовывать HEX-16 без использования программ?
Дополнено: Впрочем, я, наверное, просто сделаю каналы типа Float со встроенным проебразованием и множителем 0.1 Но вопрос остаётся: можно ли использовать разные входные атрибуты в одной программе? Как аргументы в функции?
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
Используйте одну программу и вызывайте ее числовыми каналами через процедуру трансляции. Трансляцией называется вызов программы числовым каналом. Описано в справке в разделе: Каналы и системные переменные - Числовые каналы - Числовые каналы - Трансляция. Логика работы трансляции в алгоритмах обработки данных канала описана в справке в разделе: Каналы и системные переменные – Числовые каналы – Канал класса Float – Обработка в канале Float. Создается программа с аргументами - входом и выходом, Вход линкуется на соответствующий Тип атрибута канала Float (в окне конфигурирования привязки вкладка внизу - "Тип аргумента"). С Hex аналогично. Программа линкуется (перетаскивается мышкой) на нужный числовой канал. При обработке этого канала будет вызываться эта программа трансляции.
Сообщения / Posts 17293 | Из / From: Россия
| IP / IP: IP адрес / IP address |