Просмотр полной версии : Разбор даты
VanoKing
23.08.2011, 15:34
В ФБ структурированный текст возможно разобрать переменную time на часы и минуты? очень важно использовать только один выход фб. разбираю несколько входов со временем в одну строковую переменную.
Time_to_int ставлю не получается перетащить связь с команды типа время на вход фб. Time_to_string тоже не получается
lara197a
23.08.2011, 21:18
RTC1(EN:=M_Time , PDT:=DT#1970-01-01-00:00:00, Q=> , CDT=> );
Time_RUN:=DT_TO_TIME(RTC1.CDT); (*Преобразуем время и дату во время*)
Time_RUN_M:=TIME_TO_DWORD(Time_RUN)/60000; (*получаем минуты*)
Time_RUN_M_p:=DWORD_TO_WORD(Time_RUN_M-Time_RUN_H*60); (*передаем в панель минуты*)
Time_RUN_H:=TIME_TO_DWORD(Time_RUN)/3600000; (*получаем часы*)
Time_RUN_H_p:=DWORD_TO_WORD(Time_RUN_H); (*передаем в панель часы*)
SCADAMaster
23.08.2011, 21:32
В приложении рабочий пример.
Можете на основе сделать функцию и загнать в библиотеку
VanoKing
24.08.2011, 08:15
RTC1(EN:=M_Time , PDT:=DT#1970-01-01-00:00:00, Q=> , CDT=> );
Можно подробнее. Скажите как эту функцию в скаде прописать. Только начинаю знакомиться с программированием на таком уровне.
VanoKing
24.08.2011, 08:17
В приложении рабочий пример.
Можете на основе сделать функцию и загнать в библиотеку
немного неточное преобразование идет. счас пробую переделать? округляет часы преобразование real_to_int, а там нужно выделить целое число.
9:59:05 => h=10,min=-1
Вот немного исправил получилось:
sec:=mlsek/1000;
sec:=sec mod 60;
min:=(mlsek-sec*1000)/60000;
min:=min mod 60;
hour:=(mlsek-min*60000-sec*1000)/3600000;
lara197a
24.08.2011, 10:27
Использована функция RTC. (см. справку КДС)
M_Time- команда на пуск(BOOL)
Можно погонять в эмуляции.
Кусок вырезан из рабочей программы.
VanoKing
06.09.2011, 09:33
Можно еще вопрос по теме, а как же обратное преобразование.
передать переменную время не получилось. Передаю из плк число минут int"ом, какое преобразование нужно сделать чтобы результат видно было в поле значение типа "только время".
грубо говоря:
ПЛКвремя(01:23)=>int(83)=> ??? СКАДА(01:23)
VanoKing
06.09.2011, 11:08
вопрос отпал, есть же функция Sec2Time() в блоке расчет
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot