CODESYS форум
https://forum-ru.codesys.com/

Переключение между POU (PRG)
https://forum-ru.codesys.com/viewtopic.php?f=2&t=1781
Страница 1 из 1

Автор:  DSzMoHaX [ Пн май 21, 2012 8:53 pm ]
Заголовок сообщения:  Переключение между POU (PRG)

Здравствуйте, я студент пишу диплом. С Codesys не работал, по немногу разобрался и написал необходимые программы на FBD. Теперь не могу заставить их работать, по отдельности работают нормально.
И так по порядку, есть макет ПР, Овен ПЛК 100. Нужно сделать визуализацию с кнопками запуска инициализации, ручного управления, автоматическая работа и вывести, все ето, на сенсорный монитор. Пробовал настроить через Task configuration вызов программ по событию но работает только одна программа.
Если нужно создавать функциональный блок для подобноо переключения то подскажите основные моменты пожалуйста.
Пробовал реализовавыть каждую программу в виде FB но ничего дельного не получилось.
Заранее спасибо.

Автор:  Igor Petrov [ Чт май 24, 2012 10:09 am ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Собрать все в одну циклическую программу. Вызов своих подпрограмм по TRUE в логических переменных. Их изменение по кнопкам визуализации.

Автор:  DSzMoHaX [ Пт май 25, 2012 3:14 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Собрал, но все равно ничего не работает. В PLC_PRG вставил елементы всех программ, выставил в конфигураторе задач PLC_PRG циклично остальные по событию. До етого делал все тоже самое только не сообразил собрать все вместе в цикличной программе.

ЗЫ В конфигураторе задач, во время работы, показывало синим индикатором мол программы отрабатывались. Но никакой реакции макета на запрограммированные кнопки управления не наблидолось

Автор:  Igor Petrov [ Пн май 28, 2012 9:10 am ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Объявляете логические переменные. Их значения меняете по кнопкам визуализации. Далее внутри единственной циклической PLC_PRG по TRUE в этих переменных вызываются нужные подпрограммы или меняются режимы. Не надо усложнять событийными задачами и вообще не надо трогать конфигуратор задач.

Автор:  DSzMoHaX [ Пн май 28, 2012 11:31 am ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Единственное чего не могу поянть, как связать переменную с подпрограммой между собой. Там ведь нету ни входов, ни выходов и сами подпрограммы никак не объявляются. При просмотре перекрестных ссылок подпрограммы видно, что переменной нет, доступ: вызов.

Автор:  Igor Petrov [ Пн май 28, 2012 12:53 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Добавить вход EN в блок.

Автор:  DSzMoHaX [ Пн май 28, 2012 10:45 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Добавил вход EN заработал один блок ZP но частично, счетчик там не работает.
Прикрепил скрин с тестовой программой, что сделано не так? конфигуратор задач очистил

Вложения:
ww.JPG
ww.JPG [ 192.94 КБ | 7306 просмотров ]

Автор:  Igor Petrov [ Вт май 29, 2012 11:49 am ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Непонятно как счетчик должен работать. Ставьте TRUE в ZP_on, MC_on и отлаживайтесь по шагам.

Автор:  vash_sa [ Вт май 29, 2012 2:00 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Здравствуйте! У меня вопрос связанный с программированием устройств Wi-Fi и блютуз. Имеются ли у Вас подобные примеры. И какие Вы рекомендуете устройства, каких производителей?

Автор:  DSzMoHaX [ Вт май 29, 2012 7:29 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Я в визуализации задал кнопки на переменные MC_on, ZP_on. Подумал ,что нужно зафиксировать TRUE в етих переменных поетому через еще две переменные подавал TRUE на MC ZP_on через триггер но даже если ни на одину из переменных не поступало TRUE работает блок ZP без счетчика. Еще пробовал использовать в визуализации "Переменную переключения" вместо "Переменной кнопки".

В пошаговой отработке не совсем разобрался, понял только, что можно менять начальные значения переменных и проверять правильность их реакции.

Входная логическая переменная в подпрограмме должна ли быть к чему нибудь подключенна в етой подпрограмме?
Никак не могу понять, что у меня не так вроде все есть: 2 подпрограммы с входной переменной, основная программа с вставленными в нее блоками подпрограмм, подведены переменные ко входам, на етих переменных TRUE фиксируют RS триггеры, которые в свою очередь взводится еще переменными связанными с визуализацией.

Я выложил программу не могли бы вы взглянуть? Там реализованно только вверх и вниз от ручного управления и отработка нулевых позиции.

Вложения:
plc_prg.rar [32.86 КБ]
229 скачиваний

Автор:  DSzMoHaX [ Чт май 31, 2012 8:19 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Нашел некий пример вызова подрограмм. Из него понял, что нужно все управляющие переменные с кнопок выводить в PLC_PRG как IN и в случае многократного вызова подпрограммы лучше сделать ФБ как я пробовал с самого начала. Но у меня почему то конфликтуют подпрограмммы, на сколько я понял, потаму что используют один и теже входы ПК. Нужно как то сделать, что бы пока работает одна подпрограмма остальные приостанавливались. Если я все поавильно понял конечно.

Автор:  Igor Petrov [ Пт июн 01, 2012 8:39 am ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Не вызываете экземпляр ФБ и он не выполняется. Например, по EN или просто обходите цепь. Но, генератор кода предупреждение о даст. Это не ошибка, а предупреждение. Можно отключить автопроверку в опциях генератора кода.

См. тут статьи про отладку
Пример на визуализацию

Автор:  DSzMoHaX [ Вс июн 03, 2012 8:18 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Вроде понял в чем моя проблема, спасибо.
как закончу с оформлением диплома попробую написать программу.

Автор:  DSzMoHaX [ Вт июн 05, 2012 6:06 pm ]
Заголовок сообщения:  Re: Переключение между POU (PRG)

Большое спасибо, все получилось.

Страница 1 из 1 Часовой пояс: UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/