PDA

Просмотр полной версии : Перевод секунд в дату и время.



Neru
26.04.2019, 10:46
Есть задача: двумя переменными, младшее слово и старшее слово (тип данных 16-разрядное целое), получаю дату и время в секундах. Значению 0 соответствует дата 01/01/2004 0:00:00.
Как в ПЛК 323ТЛ можно обработать эти 2 переменные и получить дату события в читаемом формате?
Пробовал написать скрипт, но остановился на том, что не пойму как объединить переменные в одно число, т.к. Телемеханика ЛАЙТ не работает со строковыми переменными в ФБ скрипт.
Помогите кто чем может.

Яшина Татьяна
26.04.2019, 11:44
Эти теги вы добавляли через io или xls? С какого прибора считываете?

При описании тегов можно выбрать тип тега соответствующий, дата -время, DTI - по аналогии с DI/AII. Будет идентифицироваться как дата\время, одним сигналом.

В качестве подсказки на второй странице xls шаблона есть расшифровка типов тегов.42482

Neru
30.04.2019, 05:27
Уточнения.
Теги считываются 16-разрядное целое тип AII. Это верно и неизменно.
Я получаю 2 десятичных числа.
Как средствами Телемеханики Лайт перевести эти числа в 16 систему счисления, объединить (это не сложно, зная первый пункт), преобразовать обратно в десятеричную систему?

Вот пример:
62454 = 0xF3F6 - младшее слово
7376 = 0x1CD0 - старшее слово
0x1CD0F3F6 = 483 455 990
483455990 / 60 /60 /24 /365 ~15 лет
+2004 = 2019 год - текущая дата.

UPD:
завел сигналы на дешифраторы и с 2х дешифраторов подал на 1 шифратор, получил нужное значение в десятичной системе. Затем блоком скрипт разбил на время/дату.
вопрос решен