Здравствуйте! Подскажите, пожалуйста, есть таймер для ПР с переменной, задающей время работы, а не константой, как в стандартном TOF? Хотелось бы как в CodeSys.
Вид для печати
Здравствуйте! Подскажите, пожалуйста, есть таймер для ПР с переменной, задающей время работы, а не константой, как в стандартном TOF? Хотелось бы как в CodeSys.
Читайте справку
https://docs.owen.ru/product/program...16#topic-83325
Здесь есть таймеры на ST, такие же как в CodeSys и есть даже с паузой, их можно использовать как отдельно, так и в ФБ на ST. Время можно задавать в секундах и мс, но целым числом (например 5 или 5000) настраивается в самом блоке. Паузу можно использовать (если нужна) или не использовать.
https://owen.ru/forum/showthread.php...=9&p=429061#81
Спасибо большое!
Камрады! Подскажите мне, где могут быть неучтённые моменты. Я столкнулся с тем, что у меня как-то мутно опрос по Modbus работает на ПР200.
Исходные данные:
1. К ПРке мо RS-485 Modbus подключено три ОВЕНских модуля ввода-вывода Мх110. Настраиваются через старый конфигуратор.
2. В ПРке я создал сетевые переменные для них. Запись по изменению ВЫключена.
3. Сетевые переменные (битовые маски) разбирается на отдельные биты через макросы из каскадов PUTBIT/EXTRACT.
4. Битовые маски транслируются в переменные OWL, которые использутся (реально использутся) на выходы и выходы разных FBшек (управление шторами по кнопкам).
5. Проект выкладывать не хочу.
Что имею и где туплю: почему-то автоматический опрос модулей работает только на чтение регистров. На запись регистров ни один опрос не запускается сам.
Мне пришлось добавить переменные Опрос, Чтение и Запись во все места модулей, но это привело к тому, что период опроса не соблюдается, и OWL опрашивает модули как можно быстрее.
На что обратить внимание?
Кроме того, что OWL не обрабатывает переменные, которые не использованы в программе, я ничего не знаю. Но тут все переменные вовсю используются.
Доспрошу:
1. А на чтение действует обычное правило "Если переменная используется - то читается, если нет - то читается по команде"?
2. А как тогда соблюсти период опроса? У меня сейчас по команде на запись ПРка молотит в модуль аналоговых выходов без остановки, а мне это не надо (там всё редко обовляется). Ставить BLINK на команду записи для него?
Мне кажется как-то несимметрично(нелогично), для чтения и записи действие переменных разное, в смысле, если переменная чтения не используется, получается чтение происходит, а для записи, если переменная записи не используется - запись не происходит(запись по изменению пока опустим), я правильно понимаю?
Насколько я понимаю, то читается переменная либо с заданным периодом опроса, либо по переднему фронту переменной "запуск чтения" (переменная "опрос", я так понимаю, останавливает именно автоматический опрос с заданным периодом)
Записывается переменная либо по изменению (если галка стоит), либо по фронту переменной "запуск записи"
Еще, косвенные наблюдения, но, лучше не использовать одну и туже переменную "запуск чтения/записи" для нескольких сетевых переменных
И еще одно наблюдение, согласно инструкции на лоджик, переменные "запуск чтения/записи" должны сбрасываться после успешного выполнения команды. Они действительно сбрасываются, но, только если вызваны косвенно, например, с помощью такого макроса
Вложение 75742