Страница 47 из 69 ПерваяПервая ... 37454647484957 ... ПоследняяПоследняя
Показано с 461 по 470 из 688

Тема: Программирование ПЛК110 [М02] для задач реального времени

  1. #461

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Мысль была всё-таки про цивилизованные методы. Если честно, я и не думал, что настолько просто стенки поднимаются.
    Честное слово, мыслил исключительно в добропорядочном направлении, поэтому и долбился как баран в стенку PRUx.prg и pruAccessLib.lib.

    Расшифрую: сейчас всё держится на том факте, что прошивка ПЛК110 загружает PRU0.prg и PRU1.prg файлы, если считает их "правильно оформленными".
    Предстоит, например, Newcomer'у проект с ШД. У него есть выбор: PRU0.prg или ардуино/дельта/далее по списку.

    Если он сейчас в проект заложит, что "управлять ШД будет через PRU0.prg", а через полгода ОВЕН обновит прошивку ПЛК и перестанет загружать файл PRU0.prg, то управление ШД у Newcomer'а накроется веткой сакуры.

    Тут не вопрос того, чтобы ОВЕН кровью подписались, что никогда ни при каких условиях PRU0.prg не сломается. Разумеется, таких подписей никто не требует.
    Вопрос в том, могут ли они публично заявить, что специально ломать поддержку PRU0.prg программ не будут.


    Если имеется ввиду подход "остановить PRU, залить новую программу через 0x01C3, запустить", это, конечно, интересно, и даже может работать первое время.
    И, похоже, этот подход может даже обойти ограничение 2048 байт в PRU0.prg.

    Но, повторюсь, может выйти обновление HOST прошивки, которое станет периодически проверять "содержимое PRU instruction ram", и, если увидит "вражескую программу", то остановит PRU под предлогом "в логике работы замечена ошибка, мы перевели выходы в безопасное состояние".
    Не хотелось бы играть с разработчиками ОВЕН в Бой в памяти
    А зачем вам обновлять прошивку ПЛК в работающей установке? То же самое можно сказать про новые контроллеры - всегда можно "откатить" на работающую прошивку. Мало того это приходится делать и в настоящее время, лично я использую прошивку 2.10.9. В мир меняется... и куча программ написанная в XP не будет работать в WIN10 - хорошо или нет - это так....

  2. #462

    По умолчанию

    Подскажите по вопросу "быстрых входов" как правильнее делать фильтрацию дребезга?

    Норм, если будет такой вариант?
    Цитата Сообщение от wikipedia
    3. Методом подсчета времени устойчивого состояния - программа в течении заданного времени многократно считывает состояние контакта. Если в течении заданного времени не обнаружено ни одного изменения состояния на противоположное, то контакт считается устойчиво замкнутым. В противном случае, если было обнаружено изменение состояния в течении заданного времени, то подсчет времени прерывается (или продолжается, но с установкой флага или подсчетом количества изменений состояния для оценки физического состояния механических контактов) и контакт считается разомкнутым или с неустойчивым состоянием (если такая информация используется в программе).
    Подсчёт времени устойчивого состояния, сделать проще, чем "медианную фильтрацию" или что-то подобное.
    Вопрос в том достаточно ли будет просто следить за постоянством сигнала на протяжении заданного времени?

  3. #463

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Подскажите по вопросу "быстрых входов" как правильнее делать фильтрацию дребезга?

    Норм, если будет такой вариант?


    Подсчёт времени устойчивого состояния, сделать проще, чем "медианную фильтрацию" или что-то подобное.
    Вопрос в том достаточно ли будет просто следить за постоянством сигнала на протяжении заданного времени?
    Быстрые входа фильтровать не надо, иначе это будут не быстрые входы. К быстрым входам механические контактные группы не подключают, поэтому дребезга контактов бояться не надо.
    Последний раз редактировалось Newcomer; 05.10.2016 в 22:00.

  4. #464

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Быстрые входа фильтровать не надо, иначе это будут не быстрые входы. К быстрым входам механические контактные группы не подключают, поэтому дребезга контактов бояться не надо.
    Во-первых, даже в ОВЕНовском конфигураторе на быстрых входах настраивается "Time of filtration, in mks". В том числе, в режиме "Fast encoder".

    Во-вторых, если вход использовать как простой (ну, чтобы 4 входа не пропадали), то их могут использовать и как обычные, и, значит, фильтрация нужна.

  5. #465

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Во-первых, даже в ОВЕНовском конфигураторе на быстрых входах настраивается "Time of filtration, in mks". В том числе, в режиме "Fast encoder".

    Во-вторых, если вход использовать как простой (ну, чтобы 4 входа не пропадали), то их могут использовать и как обычные, и, значит, фильтрация нужна.
    В таком случае можно фильтровать так как это делает "ОВЕН". Как он это делает написано в РЭ на ПЛК.

  6. #466

    По умолчанию

    2.1.1. Параметр «Время фильтрации» (Time of filtration)
    Фильтрация применяется главным образом для подавления «дребезга»
    контактов.
    Время фильтрации – это период опроса состояния одного
    дискретного входа, задается в сотнях микросекунд (1 ед. = 100 мкс, 10 ед. = 1
    мс).

    Принцип действия фильтрации:
    • в сдвиговом регистре в драйвере каждого дискретного входа
    накапливаются значения восьми последних состояний, полученных в
    18
    результате опроса с периодом, заданным в параметре «Время
    фильтрации»;
    • если состояние битового канала дискретного входа равно 1
    (TRUE), а количество единиц в сдвиговом регистре менее двух, то
    битовый канал переключается на 0 (FALSE);
    • если состояние битового канала равно 0 (FALSE), а количество
    единиц в сдвиговом регистре больше пяти, то битовый канал
    переключается на 1 (TRUE);
    • если количество единиц в сдвиговом регистре от 2 до 5, то
    состояние битового канала дискретного входа не меняется.

    Режим фильтрации может быть отключен установлением в параметре
    значения, равного «?1». Отключение фильтрации необходимо при работе с
    подчиненными модулями энкодеров для того, чтобы не пропускать
    высокочастотные сигналы, а также в тех случаях, когда ПЛК функционирует
    без ограничения цикла по частоте, т.е. на максимально возможной частоте.
    Последний раз редактировалось Newcomer; 05.10.2016 в 22:12.

  7. #467
    Пользователь
    Регистрация
    21.05.2016
    Адрес
    Беларусь
    Сообщений
    13

    По умолчанию

    Реализую проект в составе ПЛК110 (М02) - панель СП307 через RS485 MODBUS RTU - привод STEPDRIVE 2 ф. OMRON с управлением STEP/DIR через быстрые выходы. И что выяснилось - при инициализации таймерного прерывания в ПЛК обмен с панелью тормозится т.о., что время восприятия нажатия клавиши составляет 2...3 секунды. Причем уменьшение частоты прерываний с 20 до 200мкс практически не сказалось на скорости обмена, только исключение «SetIRQ» привело к приемлемой реакции на клавиши ~0.5сек.
    Выводы:
    1. Использование быстрых выходов для задач позиционирования в нынешнем виде делает практически невозможной работу с панелью оператора, тормозит обмен по RS485. Предлагаемое в теме В.Филоненко использование PRU исключит данную проблему и д. б. быстро реализовано в виде стандартного решения для ОВЕН.

    2. Для разгона-торможения STEPDRIVE 2 (при отсутствии оного имели место ударные нагрузки) пришлось городить массив данных:
    ar : ARRAY [1..32] OF DWORD :=2#11111111111111111111111111111110,
    2#11111111111111101111111111111110,
    2#11111111110111111111011111111101,
    2#11111110111111101111111011111110,
    2#11111110111111011111011111011110,
    2#11111011111011110111101111011110,
    2#11110111101111011110111011101110,
    2#11101110111011101110111011101110,
    2#11101110111011101110110110110110,
    2#11101110110110110110110110110110,
    2#11011011011011011011011011011010,
    2#11011011011011011011011010101010,
    2#11011011011010101010101010101010,
    2#11011010101010101010101010101010,
    2#10101010101010101010101010101010,
    2#10101010101010101010101010101010,
    2#10101010101010101010101010101010,
    2#10101010101010101010101010010010,
    2#10101010101010101010101010100100,
    2#10101010101010101010100100100100,
    2#10101010101010100100100100100100,
    2#10101010100100100100100100100100,
    2#10100100100100100100100100100100,
    2#10010010010010010010010001000100,
    2#10010010010010010001000100010000,
    2#10001000100010001001000100010000,
    2#10001000010000100001000001000000,
    2#10000100000100000100000010000000,
    2#10000010000000100000001000000000,
    2#10000000001000000000100000000000,
    2#10000000000000001000000000000000,
    2#10000000000000000000000000000000;
    и реализовать это в ограниченном по времени таймерном прерывании.
    Будь в наличии ФБ управления ШД типа предложенного в теме В. Ситниковым - задача радикально упростилась бы.

    3. В настоящее время SIEMENS снял с производства применяемые в нашей продукции ШД 1FL и приводы STEPDRIVE. Взамен их предлагается контроллер S7-1200 и привод SINAMICS V90 c управлением STEP/DIR. Однако в STEP7 для S7-1200 нет STL (список инструкций), что усложняет адаптацию ПО к новому HARDу. По этой же причине при выборе контроллера не был применен плк ОМРОНа, с реализацией только языка РКС. Если кто помнит, то при появлении контроллеров (1980-е годы) языки РКС и FBD предполагалось использовать только для упрощения перехода в существующих установках с управлением на реле и с комбинационными схемами на ИМС соответственно. В дальнейшем предполагалось их отмирание как неудобных для реализации алгоритмов управления. Однако, как мы видим, нет ничего более постоянного, чем временное решение. Инженерный корпус освоив РКС счёл его достаточным для всех приложений (а скорее не желая осваивать новое) и масса производителей плк ограничивается реализацией только РКС (LD, STL).
    Т.о. будь у ОВНА реализация быстрых выходов/входов с частотой до 1МГц (без подавления RS485) и библиотеки с функцией разгона-торможения, ПЛК110 М02 стал бы достойной заменой мировых аналогов, в том числе благодаря использованию КДС с представлениями IL и ST.

  8. #468

    По умолчанию

    Цитата Сообщение от kir2 Посмотреть сообщение
    1. Использование быстрых выходов для задач позиционирования в нынешнем виде делает практически невозможной работу с панелью оператора, тормозит обмен по RS485. Предлагаемое в теме В.Филоненко использование PRU исключит данную проблему и д. б. быстро реализовано в виде стандартного решения для ОВЕН.
    Можно по-подробнее про "задачу позиционирования"?
    В чём именно задача?


    Цитата Сообщение от kir2 Посмотреть сообщение
    Будь в наличии ФБ управления ШД типа предложенного в теме В. Ситниковым - задача радикально упростилась бы.
    Так есть же блок ШД с разгоном-торможением. Пробовали?
    Или проект уже сделан/сдан?

  9. #469
    Пользователь
    Регистрация
    21.05.2016
    Адрес
    Беларусь
    Сообщений
    13

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Можно по-подробнее про "задачу позиционирования"?
    В чём именно задача?

    Стандартная задача по перемещению механизма из текущей позиции в заданную с необходимой скоростью (без интерполяции (связи) с другими осями). Так же необходима оцифровка оси позиционирования (привязка перемещаемого механизма к базе),для чего используется перемещение с фиксированной скоростью с определением положения по фронту сигнала конечного выключателя или нулевой метки (Z) датчика положения.

    Так есть же блок ШД с разгоном-торможением. Пробовали?
    Или проект уже сделан/сдан?
    Проект сделан ещё в августе, но ещё не сдан. Поэтому если будет время на тестирование Вашего блока и доступ к объекту (сейчас он в удалённом от меня месте), то о результате сообщу.

  10. #470

    По умолчанию

    В соседней теме сделал программу для энкодера

    Кто-нибудь может покрутить энкодер -- посмотреть правильно ли считаются импульсы?

Страница 47 из 69 ПерваяПервая ... 37454647484957 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 38
    Последнее сообщение: 24.01.2022, 11:56
  2. Ответов: 10
    Последнее сообщение: 11.06.2021, 14:55
  3. часы реального времени
    от vetaly в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 28.08.2015, 16:21
  4. Таймер реального времени УТ1-РiС
    от ser10 в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 16.09.2010, 12:24

Ваши права

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