Описание эксперимента: при помощи аналогового выхода контроллера пытаюсь получить импульсы ( два дискретных значения 4 и 20мА ) с дискретностью во времени 10мс. Импульсы используются для управления твердотельными реле. Чем больше импульсов тем больше мощьность в нагрузке.
При мощности 0 и 100% все нормально: 4 и 20 мА соответственно.
При 50 % мощьности в CoDeSys наблюдаем пилу с зубцами 2мс, итого скорость переключения выхода 1 мс. Откуда такое значение скорости, когда время цикла контроллера 5, 10, 20, 40, 50 мс (испытано с разными временами цикла контроллера)?
Начинаем мерять осциллографом и видим еще более интересные картинки: см. ниже. Первая картинка - должен быть один импульс 10мс и пауза длинной 90 мс...
Вторая - импульс, пауза ...
Третья - импульс длительностью 90 мс, пауза 10 мс ...
В CoDeSys последовательности формируются правильно в режимах симуляции и эмуляции (не считая времен формирования импульсов).
На практике, при изменении цикла контроллера, сигнал на аналоговом выходе меняется с дискретностью примерно 40 мс ( меняется от 39.6 до 40.4 примерно, хотя это может из-за погрешности измерения) и не зависит от цикла контроллера.
Как можно уменьшть временную дискретность изменения сигнала на аналоговых выходах, чтобы можно было корректно формировать импульсы длительностью 10мс?
P.S. Как успехи с изучением ошибок измерения при многоканальном длиннопроводном измерении температуры при помощи ТСМ?