Показано с 1 по 3 из 3

Тема: нужно подобие тактового генератора

  1. #1

    По умолчанию нужно подобие тактового генератора

    Здравствуйте.

    Недавно начал работать с CoDeSys. По привычке начал портировать свои наработанные библиотеки и сразу же столкнулся с проблемой. В своих проектах я очень интенсивно использую т.н. absolute counter, который представляет собой просто постоянно инкрементирующееся значение со строгой периодичностью (неважно, раз в сек, мсек или нсек). В CoDeSys сразу не нашел такого, поэтому сначала подумал, что можно использовать обычные таймера TON для создания подобия. Но оказалось, что при переводе системного времени назад таймер TON замирает на месте, что ну никак не устраивает. Далее полез за функцией SysTimeGetMS(), которая по описанию должна возвращать количество мс от запуска контроллера. Но с ней та же самая история - замирает при переводе часов назад. Проверялось это все на стандартном симуляторе (контроллера нет). Подскажите, пожалуйста, с какой стати такие вещи зависят от системного времени? Неужели и на реальном контроллере после синхронизации времени вся технология, завязанная на таймеры, может встать? И может есть в наличии такой счетчик типа тактового генератора, чтобы велосипед не изобретать?

  2. #2

    По умолчанию

    на симуляторе функции времени не совсем корректны. на реальном плк все ок

  3. #3

    По умолчанию

    Владислав, спасибо, будем надеяться на это.

    И чтобы второй пост не создавать, спрошу тут же: при разработке библиотеки (library) - есть ли возможность указывать, какие ФБ и функции экспортировать, а какие - нет? А то пока что получается, что экспортируется все вплоть до внутренних переменных блоков, которым можно менять значения из вызывающей программы.

    P.S. Про прагму {library private} знаю, только результата её работы не видно.

Ваши права

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