Показано с 1 по 10 из 25

Тема: ПР200 блок чтения из ФБ

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    У Вас, при построении BLINK на двух таймерах TON, используются два лишних элемента
    Захват-1.png
    Фрагмент обведенный рамкой полностью эквивалентен

    Ну и с учетом этого внутри "изобретенного макроса" будут аналогичные лишние элементы, которых даже больше - четыре лишних
    Захват-3.png

    Должно остаться
    Захват-4.png
    Спасибо большое petera, однако при симуляции макроса меня беспокоит следующее:Снимок6.PNG
    Когда введены значения Th и TI, то все нормально:Снимок7.PNG
    Последний раз редактировалось Pvalp; 18.10.2019 в 13:51.

  2. #2
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Pvalp Посмотреть сообщение
    Спасибо большое petera, однако при симуляции макроса меня беспокоит следующее:Снимок6.PNG
    Когда введены значения Th и TI, то все нормально:Снимок7.PNG
    Это ошибка макроса TON_0.1s. У него, если время задано =0, на выходе 1 даже без сигнала на входе I1
    Нужно добавить в макрос логику
    Захват-2.png

    И будет ОК
    Захват-1.png

    Я такими TON_s (основанными на блинкерах и счетчиках) не пользуюсь
    У меня есть свой макрос TON с индикацией времени, вот здесь он используется https://owen.ru/forum/showthread.php...l=1#post316458
    Последний раз редактировалось petera; 18.10.2019 в 14:45.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Это ошибка макроса TON_0.1s. У него, если время задано =0, на выходе 1 даже без сигнала на входе I1
    Нужно добавить в макрос логику
    Захват-2.png

    И будет ОК
    Захват-1.png

    Я такими TON_s (основанными на блинкерах и счетчиках) не пользуюсь
    У меня есть свой макрос TON с индикацией времени, вот здесь он используется https://owen.ru/forum/showthread.php...l=1#post316458
    Спасибо petera, помогло, не могли-бы Вы показать свой макрос?

  4. #4
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    В серьезных проектах, где время цикла больше 1мс, такие таймеры
    Захват-4.png
    работать будут некорректно

    По этому я использую другой принцип
    Захват-3.png

    Здесь идет подсчет циклов выполнения программы
    Для работы этих таймеров нужен макрос подсчета времени цикла, и количества циклов от включения питания ПР
    Захват-5.png

    Уставка (PT)задается целым числом в мс, на выходе ET время прошедшее от старта(прямой счет), выходе (PT- ET) оставшееся время, эти времена тоже в мс, дискретность равна времени цикла.

    Абсолютная погрешность вычисления интервалов времени не более половины времени цикла во всем допустимом диапазоне уставки в мс от Тц до 4294967295/Tц

    Таймер имеет вход паузы. Любое количество пауз не вносят дополнительных погрешностей в отсчет времени.

    Работает таймер так
    Переменные на входе
    dT - время цикла в мс(целое)
    x_Clc - номер текущего цикла.

    1. Уставка в мс переводится в количество циклов PT_Clc
    Захват-6.png
    здесь деление выполняется с округлением, по этому погрешность вычисления интервалов времени не более половины времени цикла

    2. В момент старта запоминаем номер текущего цикла в переменную Start_Clc
    Захват-7.png

    3. В процессе работы вычисляется сколько циклов прошло от старта ET_Clc = x_Clc - Start_Clc
    Захват-8.png

    4. И сравниваем уставку PT_Clc с прошедшим количеством циклов ET_Clc
    Захват-9.png
    Последний раз редактировалось petera; 18.10.2019 в 15:43.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #5

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    В серьезных проектах, где время цикла больше 1мс, такие таймеры
    Захват-4.png
    работать будут некорректно

    По этому я использую другой принцип
    Захват-3.png

    Здесь идет подсчет циклов выполнения программы
    Для работы этих таймеров нужен макрос подсчета времени цикла, и количества циклов от включения питания ПР
    Захват-5.png

    Уставка (PT)задается целым числом в мс, на выходе ET время прошедшее от старта(прямой счет), выходе (PT- ET) оставшееся время, эти времена тоже в мс, дискретность равна времени цикла.

    Абсолютная погрешность вычисления интервалов времени не более половины времени цикла во всем допустимом диапазоне уставки в мс от Тц до 4294967295/Tц

    Таймер имеет вход паузы. Любое количество пауз не вносят дополнительных погрешностей в отсчет времени.

    Работает таймер так
    Переменные на входе
    dT - время цикла в мс(целое)
    x_Clc - номер текущего цикла.

    1. Уставка в мс переводится в количество циклов PT_Clc
    Захват-6.png
    здесь деление выполняется с округлением, по этому погрешность вычисления интервалов времени не более половины времени цикла

    2. В момент старта запоминаем номер текущего цикла в переменную Start_Clc
    Захват-7.png

    3. В процессе работы вычисляется сколько циклов прошло от старта ET_Clc = x_Clc - Start_Clc
    Захват-8.png

    4. И сравниваем уставку PT_Clc с прошедшим количеством циклов ET_Clc
    Захват-9.png
    Спасибо petera, все довольно подробно и ясно.

  6. #6

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    В серьезных проектах, где время цикла больше 1мс, такие таймеры
    Захват-4.png
    работать будут некорректно
    Т.е. хотите сказать, что временнЫе функциональные блоки жёстко привязаны ко времени цикла 1 мс и при автоподстройке этого времени начинают врать? Вот те новость! Чёт меня Овен разочаровывает как-то.

  7. #7
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от dan75 Посмотреть сообщение
    Т.е. хотите сказать, что временнЫе функциональные блоки жёстко привязаны ко времени цикла 1 мс и при автоподстройке этого времени начинают врать? Вот те новость! Чёт меня Овен разочаровывает как-то.
    Совсем не об этом.
    Смотрите рисунок, блинк с временами включено и выключено по 0,001с т.е. 1 мс
    А если время цикла будет 7мс? Что будет на выходе этого блинка? Я думаю, что будут импульсы длительностью в один цикл, т.е. не 1 мс, а 7!
    Таким образом не выходе счетчика CTN1 будет импульс не через(0,001+0,001) * 50 =0,1с, а через (0,007+0,007) * 50 =0,7с
    И при уставке (I2) например 10, насчитает таймер не 10с, а 70!
    Класс - погрешность 700%

    ЗЫ.
    А может при времени цикла > 1мс блин вообще перестанет работать!
    Последний раз редактировалось petera; 18.10.2019 в 19:52.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Совсем не об этом.
    Смотрите рисунок, блинк с временами включено и выключено по 0,001с т.е. 1 мс
    А если время цикла будет 7мс? Что будет на выходе этого блинка? Я думаю, что будут импульсы длительностью в один цикл, т.е. не 1 мс, а 7!
    Таким образом не выходе счетчика CTN1 будет импульс не через(0,001+0,001) * 50 =0,1с, а через (0,007+0,007) * 50 =0,7с
    И при уставке (I2) например 10, насчитает таймер не 10с, а 70!
    Класс - погрешность 700%

    ЗЫ.
    А может при времени цикла > 1мс блин вообще перестанет работать!
    Короче говоря, до тех пор, пока не требуется работать с интервалами, соизмеримыми со временем цикла, можно не париться и лепить на генераторах и счётчиках. Так?

  9. #9

    По умолчанию

    Цитата Сообщение от dan75 Посмотреть сообщение
    Короче говоря, до тех пор, пока не требуется работать с интервалами, соизмеримыми со временем цикла, можно не париться и лепить на генераторах и счётчиках. Так?
    Когда-то обсуждали этот момент, нужно вспомнить подробности, там часть таймеров работает по прерыванию, и отрабатывает с заданной выдержкой, но учитывая что это не микроконтроллер и есть еще фильтры, реле на выходе и реакция исполнительного механизма, считать единицы мс смысла особого нет.
    Пока сделал еще один, обновленный пример, по работе с таймерами и генераторами с экрана прибора, через Write_to_FB:
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

Похожие темы

  1. Функция чтения ТРМ 138
    от Саид в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 22.01.2017, 18:48
  2. МВ110-8АС 3 и 4 функции чтения Modbus
    от Vitorgan в разделе Мх110
    Ответов: 2
    Последнее сообщение: 03.08.2016, 10:28
  3. Программа чтения данных контролера по IP
    от rukoed1 в разделе Помощь Разработчикам
    Ответов: 13
    Последнее сообщение: 06.05.2016, 15:05
  4. Протокол чтения/записи ПЛК
    от dudanov в разделе Сервисное ПО
    Ответов: 18
    Последнее сообщение: 02.02.2015, 14:51
  5. ошибка чтения температуры с помощью Dll
    от незарегистрированный в разделе OWEN Proces Manager
    Ответов: 3
    Последнее сообщение: 16.04.2007, 18:58

Ваши права

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