Уважаемые программисты, Помогите начинающему пользователю софтов.
Вопрос такой.
Имеется устройство которое выдает данные по modbus протоколу (время выраженное в минутах, сутки = 1440 минут) на ПО Siemens WinCC. Нужно эти данные выразить без знаков в часах, минутах и секундах, подскажите пожалуйста как это сделать (ххх часы ххх минуты ххх секунды). Спасибо большое.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
распределение времени
-
- read only
- Сообщения: 2
- Зарегистрирован: 12 июн 2019, 20:38
- Имя: Максат
-
- авторитет
- Сообщения: 813
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 211 раз
распределение времени
Создаёте три тэга: Time_tag_HH, Time_tag_MM, Time_tag_SS, плюсом к этому уже имеем значение времени от устройство в минутах - Time_tag_val (названия какие угодно делаете) и далее скриптиком уже берёте значение в минутах и начинаете его пилить:
1) Берём текущее значение времени Time_tag_val в минутах.
2) Делим на 60, целую часть ложим в Time_tag_HH.
3) Вычитаем из Time_tag_val значение Time_tag_HH*60 и ложим в Time_tag_MM.
Если устройство выдаёт время только в минутах, то секунды, наверное, только так получится считать:
при изменении Time_tag_val (т.е. прошла минута) - запускаете таймер, который ведёт счёт в пределах минуты до следующего изменения Time_tag_val (если вызов скрипта сделать по времени - например каждую секунду, то можно просто Time_tag_SS на единичку увеличивать при каждом вызове скрипта, а при изменении Time_tag_val - обнулять.
1) Берём текущее значение времени Time_tag_val в минутах.
2) Делим на 60, целую часть ложим в Time_tag_HH.
3) Вычитаем из Time_tag_val значение Time_tag_HH*60 и ложим в Time_tag_MM.
Если устройство выдаёт время только в минутах, то секунды, наверное, только так получится считать:
при изменении Time_tag_val (т.е. прошла минута) - запускаете таймер, который ведёт счёт в пределах минуты до следующего изменения Time_tag_val (если вызов скрипта сделать по времени - например каждую секунду, то можно просто Time_tag_SS на единичку увеличивать при каждом вызове скрипта, а при изменении Time_tag_val - обнулять.
-
- read only
- Сообщения: 2
- Зарегистрирован: 12 июн 2019, 20:38
- Имя: Максат