Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Mitsubishi Electric. Контроллеры, преобразователи частоты, HMI _ Программирование _ Простая программа работает в эмуляторе но не работает на ПЛК

Автор: Oak 17.01.2019 - 11:50

Столкнулся с различным поведением счетчиков при работе в симуляторе и в контроллере.
Делаю простую проверочную программку - как в приложенной картинке.
Ожидается, что счетчики С1 и С2 будут приращиваться дважды по переднему фронту М5 при С4 равном 2 и 4.

С5 и С3 - контрольные счетчики, для отслеживания отработки веток.

В эмуляторе так и работает.

В контроллере в верхнюю ветку входит при с4 =2 и 4 - срабатывает счетчик С5, но двойного приращения не происходит. (С3 тоже срабатывает). вторая картинка

Как это объяснить? Какие правила нарушаю и как правильно сделать, чтобы в контроллере работало.

GX developer 8.98 и контроллер FX3G.

 

Автор: m_by 18.01.2019 - 09:30

... а нет ошибок, при проверке программы типа "double coil error" ?
Используйте вместо (C1) -> [inc C1], должно отработать корректно.

Автор: Oak 18.01.2019 - 18:42

Цитата(m_by @ 18.01.2019 - 08:30) *
... а нет ошибок, при проверке программы типа "double coil error" ?
Используйте вместо (C1) -> [inc C1], должно отработать корректно.

Спасибо заработало.

Почитал про эту ошибку - с выходами понятно почему нельзя и будет работать последний - считывание выхода происходит после выполнения программы.
А почему счетчик нельзя дважды прирастить койлами, а инком можно?
в чем отличие операции и какое физическое объяснение.

Автор: m_by 18.01.2019 - 23:26

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

Автор: Sergei Troizky 24.01.2019 - 04:30

Инструкцией INC текущее значение счетчика изменить можно, но выходной контакт не включится, если при этом достигнуто значение уставки, а включится только при следующем счетном событии.

Счетным событием является изменение входного условия счетчика с ложного на истинное.
В приведенном фрагменте, при втором проходе счетчика изменения M5 нет, поэтому он не считает.
Чтобы посчитал во второй раз, он должен быть прежде прочитан с ложным условием.
Вставьте это перед вторым счетом.

А вообще, повторение счетчика в тексте программы считается плохим стилем.

По поводу расхождения с симулятором ничего не скажу.
Возможно, баг симулятора.

Автор: paul-th 6.02.2019 - 16:57

Повторное использование выходов в простой программе запрещено с любыми обозначениями типа (Y,M,C,S,P). Много раз проверено.

Автор: Sergei Troizky 6.02.2019 - 17:35

Цитата(paul-th @ 6.02.2019 - 16:57) *
Повторное использование выходов в простой программе запрещено с любыми обозначениями типа (Y,M,C,S,P). Много раз проверено.

Слишком безапеляционно. И что такое "простая" программа?
На самом деле, не запрещено, а лишь не рекомендуется.
Иногда, это весьма эффективная техника, но, требующая хорошего понимания работы программы и хорошего комментирования.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)