Я тоже впервые слышу про скрытые Return. В режиме эмуляции или в контроллере видимо имелось ввиду прогон.
Вроде все нормально у Вас выглядит. Попробуйте масштаб помельче чтобы видеть все поле.
Да и опустили вы в общем-то достаточно чтобы вставить любой блок? Зачем Вам дальше-то?
Если хотите сделать какую-то подпрограмму и запихать ее подальше чтобы не мозолила глаза, просто создайте отдельный ФБ.
Пробовал масштаб другой, даже монитор побольше подключил к ноуту. Попробовал сделать эмуляцию, поставив элемент в нижнюю левую точку.
На самом деле я вначале вниз уперся именно программой(размашисто рисовал))). Потом стал части программы сдвигать правее друг от друга, получше компоновать. Но просто не очень удобно, когда не сверху вниз идет все, а слева направо, потом вниз...путаешься немного. Просто я ранее думал, что белое поле оно бесконечно и можно лишь упираться в количество элементов программы.
На самом деле ограничение сводится к Вашей способности охватить весь проект целиком. Вот она наверняка меньше чем ПЛК может обработать
Кроме того, одни части программы важнее других, над ними приходится "попотеть" и все это время Вы путаетесь во всей это каше которую сам же и заварили.
Поэтому алгоритм обычно делится на подпрограммы (блоки), которые уже потом размещаются в PLC_PRG.
И тогда, как правило, если уже не получается на большом мониторе охватить взглядом весь алгоритм, значит пора подумать какой еще блок выделить в подпрограмму.
Структурный подход, понимашь
Все это все ужжжасно интересно... Но, мне кажется, за всеми этими границами, return и прочими частностями мы забыли о главном: для чего все это?
Приоткройте тайну, Andy : что именно у Вас не получается? Какой техпроцесс Вы пытаетесь автоматизировать? На какой его части Вы "застопорились"?
Можете выложить проект, не стесняйтесь: посмотрим, покритикуем и разработаем наиболее эффективное решение. Так Вы быстрее научитесь, а мы выберемся из этих зарослей багов CodeSys/
Да я бы не сказал, что у меня не получается. Просто стало неожиданностью, что поле программы конечно. До этого на FBD все рисовал и там этой проблемы не было(видимо из-за большей однозначности последнего действия в процессе и отсутствии этого returnа). Рисую проект работы вакуумной камеры. Просто на мой взгляд легче, когда весь проект сверху вниз идет, в этом плане надо было так на FBD и рисовать, просто решил попробовать для интереса CFC. Сейчас просто покучнее все блоки скомпоную.
Касаемо писания отдельных ФБ. Не особо, на мой взгляд, там и места выиграется. Т.к. в основном там логические проверки AND(включается то-то, но должно быть много условий для этого).
При компиляции выводится значение "использовано данных", индексы pou и похожие. Я так понимаю это некое описание объема программы. Дак вот у меня там почти все нули, т.е. моих художест/квадратиков еще крайне мало.... До этого на FBD рисовал(давно правда уже), когда проверял программу в контроллере - там можно было посмотреть загрузку ПЛК...он отдыхал по сути. Т.е. у меня, как мне кажется, не тот объем данных, чтобы закончились ресурсы процессора. По ощущению - это именно некий програмный баг. Только устранить его способом, который описал Валенок, у меня не получилось.
P.S. Если создать новую программу и в нее вставить ТОЛЬКО присваивание х=у, то его тоже не опустить ниже определенной области на экране...