Потому что неизвестно сколько PLC_PRG может занять времени. Чтоб не получилось так что пришло время вызова PLC_PRG а он еще выполняется.
Потому что неизвестно сколько PLC_PRG может занять времени. Чтоб не получилось так что пришло время вызова PLC_PRG а он еще выполняется.
Этого никогда не произойдет. Читайте основы работы ПЛК.
Где это прочитать?
Вызов PLC_PRG с типом свободная в конфигураторе задач практически тоже самое, что и работа PLC_PRG если конфигуратор задач не используется.
От чего же не известно? Добавьте в код программы PLC_PRG
1.В первой строке t1:=TIME();
2.Затем исходный код PLC_PRG
3. В последней строке t2:=TIME()-t1:
Загрузите в ПЛК, запустите на исполнение и смотрите значение t2. Это и есть время выполнения PLC_PRG.
Например получилось t2=10 мс.
Это значит 100 раз подряд выполнится PLC_PRG, затем один раз программа с циклическим временем вызова 1 сек, затем все повторится.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Я был не точен. Частота вызова программы с типом свободная определяется заданным временем цикла в конфигурации ПЛК.
следует читать такНапример получилось t2=10 мс.
Это значит 100 раз подряд выполнится PLC_PRG, затем один раз программа с циклическим временем вызова 1 сек, затем все повторится.
Например получилось t2 не более 10 мс. И цикл ПЛК установлен 10 мс.
Это значит 100 раз подряд выполнится PLC_PRG, затем один раз программа с циклическим временем вызова 1 сек, затем все повторится.
Захват-1.png
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Спасибо. Тоесть PLC_PRG можно ставить "свободная". А секундный ФБ "циклическая" с периодом 1сек. Так?
Зачем? Отмониторьте в tasck manager при выполнении программы.
Да.
К предыдущему примеру добавил измерение времени вызова "свободной" программы.
Захват-3.png
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Спасибо, то что мне нужно!
Как то сложно все... а нельзя было из PLC_PRG раз в секунду Вашу подпрограмму вызывать???