PDA

Просмотр полной версии : как преобразовать время?



hilih
15.06.2009, 10:16
Нужно преобразовать T#2m32s849ms, в нормальный вид 2:32 или 232.
Я сделал такую подпрограмму, но основная программа, прииспользовании моей функцией, жутко тормозит.

Спасибо.

Kirill
15.06.2009, 10:23
Нужно преобразовать T#2m32s849ms, в нормальный вид 2:32 или 232.
Я сделал такую подпрограмму, но основная программа, прииспользовании моей функцией, жутко тормозит.

Спасибо.

Где будет использоваться нужный вам формат времени?
Можно преобразовать значение в строку (time_to_string), а потом с помощью строковых функций ее подкорректировать.

hilih
15.06.2009, 12:01
Где будет использоваться нужный вам формат времени?
Можно преобразовать значение в строку (time_to_string), а потом с помощью строковых функций ее подкорректировать.
именно этот метод тормозит программу.
Я передаю в СМИ1 время.
Преобразую time_to_real потом real_to_string затем выдёргиваю секунды.
ПОтом string_to_real и передаю в сми1.
В СМИ1 время обновляется через 3 секунды. Надо быстрее.

Kirill
15.06.2009, 12:27
именно этот метод тормозит программу.
Я передаю в СМИ1 время.
Преобразую time_to_real потом real_to_string затем выдёргиваю секунды.
ПОтом string_to_real и передаю в сми1.
В СМИ1 время обновляется через 3 секунды. Надо быстрее.

Это вопрос не к быстродействию программы, а к быстродействию связи ПЛК-СМИ.

Sergey666
15.06.2009, 23:07
именно этот метод тормозит программу.
Я передаю в СМИ1 время.
Преобразую time_to_real потом real_to_string затем выдёргиваю секунды.
ПОтом string_to_real и передаю в сми1.
В СМИ1 время обновляется через 3 секунды. Надо быстрее.
См библиотеку Oscat 271 или Oskat 303 там есть готовые функциональные блоки,вытаскивающие из TIME значения в INT .