plcforum.uz.ua
http://plcforum.uz.ua/

[?+]: Нелогическое выполнение программы S7 1200
http://plcforum.uz.ua/viewtopic.php?f=9&t=25694
Page 1 of 1

Author:  AlekMalek [ Thu Dec 07, 2017 12:22 pm ]
Post subject:  [?+]: Нелогическое выполнение программы S7 1200

Здравствуйте.

Сделал и отладил свою большезную программу в CodeSys с целью дальнейшего использования в контроллере Simenes S7-1200. Перевел эту программу в TIA-portal путем копирования.

Отлаживаю ее, а она не хочет работать нормально. А именно один из ее функциональных блоков, который находится третьим функциональным блоком по счету вызова блока из блока программы Main. То есть, идет такой вызов: Main > FB1 > FB2 > xFBx.
Если этот функциональный блок запустить в программе main, то работает нормально. Все переменные Static.

Эту неработоспособность я понимаю в том плане, что переменная после ее инициализации не записывается в память (или не успевает записаться) и при втором повторении цикла, программа "проскакивает" нужный элемент IF-кода.
Может где-то нужно поставить какую-то галочку в настройках функциональных блоков? Меня просто убивает то, что у TIA Portal отсутствует режим Ofline симуляции и функция Debug без которого я не могу определить как думает программа и где она запутывается. Программа стоит просто сумасшедших денег, а в функциональности наладки значительно уступает бесплатной CodeSys.

Author:  DiVan [ Thu Dec 07, 2017 2:10 pm ]
Post subject:  Re: Нелогическое выполнение программы S7 1200

Нелогичное описание проблемы - одни эмоции (boom)
Quote:
Main > FB1 > FB2 > xFBx.......> zFBz

и далее такой же сумбур вымыслов
Quote:
Меня просто убивает то, что у TIA Portal отсутствует режим Ofline симуляции
у твоего Портала имеется Online симуляция ? :haha:
PLCSIM v14 поддерживает симуляцию S7-1200 v4.*
Quote:
Программа стоит просто сумасшедших денег, а в функциональности наладки значительно уступает бесплатной CodeSys.
Васькин Портал для S7-1200 стоит сумасшедших 300 евро... хотя можно скачать условно-бесплатный Триал.

Author:  AlekMalek [ Thu Dec 07, 2017 4:41 pm ]
Post subject:  Re: Нелогическое выполнение программы S7 1200

Ну как-бы уже третий день отлаживаю маленький участок своей программы... поэтому и не удивительно, что переполняют эмоции. (h)
Я отлаживаю свою программу на реальном ПЛК с подключенными к нему механизмами и дело не в симуляции а в необходимости остановки программы в определенном месте и последующего прохода программы построчно, аналогично другим средам программирования. Но это не касается сути вопроса.

Если коротко, то вопрос вот в чем:
Имеется функциональный блок (FBx), помещенный внутри FB2, который в свою очередь помещен внутри FB1. И FB1 помещено внутри программы main. Этот функциональный блок FBx sp@@m отказывается работать так как положено. Он работает но в определенном месте не видя изменения координаты переходит в другой режим. Программа построена таким образом, что каждый цикл программы важный и не записав значение в первом цикле, во втором - "поезду уйдет". Хотелось мне сделать эту программу по-проще и по-надежнее, но ничего умнее как-то не придумал.

Но вот главный вопрос, если я этот FBx помещаю в программу main, то все работает как надо. Почему??!
Повторюсь, начинал я писать программу в CodeSys и там все работало как часы.

Author:  DiVan [ Thu Dec 07, 2017 4:50 pm ]
Post subject:  Re: Нелогическое выполнение программы S7 1200

Как и в обычном Степе для контроля прохождения программы использую:
- вспомогательные триггеры, взводимые событием дохода до этой ветки - либо битом, либо фронтом по взводу или спаду бита
- счётчики - показывающие количество раз прохода до этой ветки
- команду MOVE для скидывания контрольного слова, в основное меркерное поле, сообщающее о прохождении данной ветки.
Quote:
Image

Image

У каждого контрллера могут быть свои особенности ограничения - в том числе и по вложенности вызовов блоков.
На какой версии Портала и на каком языке написана программа ?
В Портале 14 можно в одном блоке использовать написание веток на разных языках через изменение свойств блока.
Quote:
Но вот главный вопрос, если я этот FBx помещаю в программу main, то все работает как надо. Почему??!
Повторюсь, начинал я писать программу в CodeSys и там все работало как часы.
Без анализа твоего творения невозможно дать ответ.
Я написал программу для STM32... не понимаю почему она не загружается в S7-1200 ? ... Ведь в Дисковери она работает как надо !!!

Author:  AlekMalek [ Mon Dec 11, 2017 6:07 pm ]
Post subject:  Re: Нелогическое выполнение программы S7 1200

Спасибо за ответ, DiVan. Удалось наладить свою программу. Нашел в чем была проблема. Проблема не зависела от вложенности блоков, но от внутренних переменных.
Использую Портал 14.

Page 1 of 1 All times are UTC + 3 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/