Показано с 1 по 10 из 1123

Тема: Modbus Universal MasterOPC Server новый OPC сервер от компании ИнСАТ

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Как вариант - получить год, месяц день и прочее, собрать из этого время (есть специальные функции) преобразовать в строку и запихнуть в тег.
    Спасибо.

  2. #2

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Как вариант - получить год, месяц день и прочее, собрать из этого время (есть специальные функции) преобразовать в строку и запихнуть в тег.
    Можете подсказать, какая именно функция собирает из байтов время? Пробовал time.PackTime, но видимо использую не ту функцию

    Даже из примера err,timesec = time.PackTime(2012,5,3,12,31,45);
    ответ
    07-02-2018 16:37:00.031 TESMA_PORT.TESMA_106.Group1.TIME:time: 1336037505 err: 0
    а не 201253123145
    Последний раз редактировалось daniel23; 07.02.2018 в 16:39.

  3. #3

    По умолчанию

    Цитата Сообщение от daniel23 Посмотреть сообщение
    Можете подсказать, какая именно функция собирает из байтов время? Пробовал time.PackTime, но видимо использую не ту функцию

    Даже из примера err,timesec = time.PackTime(2012,5,3,12,31,45);
    ответ
    07-02-2018 16:37:00.031 TESMA_PORT.TESMA_106.Group1.TIME:time: 1336037505 err: 0
    а не 201253123145
    Именно PackTime и собирает. Только потом нужно ее преобразовать в TimeStamp (TimeToTimeStamp), а потом в строку (TimeStampToString).
    Спасибо.

  4. #4

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Именно PackTime и собирает. Только потом нужно ее преобразовать в TimeStamp (TimeToTimeStamp), а потом в строку (TimeStampToString).
    Спасибо большое за подсказку, получилось

  5. #5

    По умолчанию

    Время получаю правильно, но спустя 1-5 мин выбивает ошибку
    08-02-2018 09:45:37.827 TIME:TESMA_PORT.TESMA_106.Group1.TIME >> [string "function CRC8 (ArrayByte)..."]:42: attempt to index local 'dest' (a nil value)
    42 строка это dest7 = string.format("%02X", dest[7]); -- сек
    без этой строки и других таких же для мин, час и т.д. время выводится некорректно
    Весь код такой:
    dest7 = string.format("%02X", dest[7]); --сек
    dest8 = string.format("%02X", dest[8]); --мин
    ...
    err,timesec = time.PackTime (tonumber (dest12), tonumber (dest11), tonumber(dest10), tonumber(dest9), tonumber(dest8), tonumber(dest7));
    ts = time.TimeToTimeStamp(timesec, 0);
    stringts = time.TimeStampToString(ts);
    TV = stringts;
    Последний раз редактировалось daniel23; 08.02.2018 в 11:28.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •