Просмотр полной версии : Нуждаюсь в совете
Вопрос следующего характера имеем плк 100 и сп 270 на плк реализуем таймер :TP
помогите советом как реализовать чтобы на сп 270 отображалось значение таймера переменной ЕТ
в формате минуты : сек
Заранее благодарен
lara197a
19.06.2014, 23:29
Ет преобразуйте в 2 переменных:
1 - минуты
2 - секунды
Эти 2 переменные передаете в регистры панели.
Или закиньте туда прям строку вида "мм:ss"
То есть прямое преобразование ЕТ в строку и передача строки в панель решит все вопросы
Не-а. Это один из способов решения 1-ого вопроса.
как осуществить преобразование ЕТ в 2 переменные минуты и сек, для меня наверное этот способ более подходящий
lara197a
20.06.2014, 15:36
ЕТ в микросекундах.
Делите на 1000- получаете в секундах.
Делите на 60- получаете минуты.
Из значения в секундах вычитаете минуты умноженные на 60- получаете секунды.
Это наверное 3 класс. :o
))) В строку - короче.
Но наверное 5й класс
Получилось как то так
Time_Work_TP ( IN:=TRUE, PT:=t#1h, );
Time_Work_D :=TIME_TO_DWORD (Time_Work_TP.ET);
HMI_Time_Work := REAL_TO_INT( ( DWORD_TO_REAL ( ( ( Time_Work_D / 60000 ) *100 ) + ( ( Time_Work_D / 1000) MOD 60 ) ) / 100 ) *EXPT (10, 2 ) );
Где HMI_Time_Work регистр панели
Спасибо за подсказку остальное подсмотрел в учебнике 2 го класса :)))))
Что-то как-то сложновато с real.
)) И время в виде мм.ss на любителя
Что-то как-то сложновато с real.
)) И время в виде мм.ss на любителя
Интересно Ваше мнение, а в каком виде мм ss сделали бы Вы ))
Ну так пост #2 или #3
(я б наверно #3 - если чего можно и "опс.." написать)
Интересно Ваше мнение, а в каком виде мм ss сделали бы Вы ))
А вариант MM:SS или HH:MM:SS Вас не устроит? Например так
13359 или так 13356
http://youtu.be/uT6bQeEuYfU
Предлагаю два варианта ГМ для панели.
Оба варианта не требуют дополнительных вычислений в ПЛК
Первый вариант предполагает значение в регистре источнике Word уже в секундах, в этом случае
HMI_Time_Work:=TIME_TO_WORD (Time_Work_TP.ET/1000)
где HMI_Time_Work - переменная в модуль 2byte в конфигурации ModBus
максимальное отображаемое время будет чуть больше 18 часов
Второй вариант предполагает значение в регистре источнике DWord в миллисекундах, в этом случае
HMI_Time_Work:=TIME_TO_DWORD (Time_Work_TP.ET)
где HMI_Time_Work - переменная в модуль 4byte в конфигурации ModBus
максимальное отображаемое время будет 99ч 99мин 99с
В демонстрационном проекте в качестве источника данных используются регистры панели их нужно заменить на нужные регистры ПЛК.
Для обоих ГМ настройки минимальные
13357
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot