Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 25 из 25

Тема: Как работать с аппаратными часами ПЛК-100?

  1. #21

    По умолчанию

    В библиотеке SysLibTime.lib можно получить время в мили и микросекундах с момента запуска ПЛК

  2. #22

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    В библиотеке SysLibTime.lib можно получить время в мили и микросекундах с момента запуска ПЛК
    Да ладно, в документации говорится что в CurTimeEx.Milliseconds находятся миллисекунды текущей секунды, но никак не миллисекунды от начала работы...
    Мне такая точность не нужна. Поэтому я и привёл способ перевода времени от начала работы (SysTime64) из микросекунд в минуты... Спрашивал есть ли более удачные решения И удивлялся - почему в кодесисе не работают 64х битные переменные....
    А вы мне второй раз про миллисекунды рассказываете, да мне хоть наносекунды, разберитесь в сути вопроса прежде чем отвечать!!!
    Мне нужно непрерывное значение времени в минутах, будь оно от начала работы или от рождества христого - не принципиально...
    Последний раз редактировалось Crusash; 15.12.2009 в 10:59.

  3. #23

    По умолчанию

    если вам надо время с включения - используйте миллисекунды/микросекунды, если время в минутах с какой-то даты - только часы реального времени. это радикально разные понятия.
    а 64 битные переменные не работают. наверное процессор 32-битный?
    но что мешает вам обработать 64битное число как 2 32 битных? переполнилось младшее - +1 к старшему.

  4. #24

    По умолчанию

    дело в том что с двумя 32х битными данными трудновато работать, рутинные операции (логические, арехметические) требуют отдельных процедур...
    к сожалению кодесис не поддерживает перегрузку операторов как в с++, а методы фб не могут принимать аргументов(зачем их вообще реализовали?), поэтому я в моей процедуре и перевожу 64 бита в 32 с округлением времени до минут(8171 год влезает)))...
    Последний раз редактировалось Crusash; 15.12.2009 в 13:18.

  5. #25

    По умолчанию

    Какие трудные операции? Функцию ADD64, принимающую 3 аргумента Pointer to 64bita, 32 бита операнд , 32 бита операнд трудно сделать? И остальные?

Страница 3 из 3 ПерваяПервая 123

Ваши права

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