"Ошибка 3612: Превышено максимальное количество POU (1023)! Компиляция прервана
Ошибка 3612: Превышено максимальное количество POU (1023)! Компиляция прервана"
Эта ошибка появилась после того как я добавил библиотеку оскад и использовал функциональный блок с этои библиотеки.
Здравствуйте!
Я делал так:
- Откройте отдельно библиотеку oscat
- выставьте ненужным вам функциям и функциональным блокам Excluse from build (только не все можно отключить многие функции и функциональные блоки связаны между собой, это вы увидите из компиляции или смотрите исходный код или завсимости)
- компиляция
- сохранение
- удалите и заново добавьте библиотеку oscat в ваш проект
Да, спасибо большое! Я уже удалил все ненужное и все равно не могу уложиться в 1024 Kb.
Может я думаю использовать многие элементы из библиотеки оскад.
Может кто нибудь знает как можно выдернуть из библиотеки функциональный блок? Чтоб отдельно от библиотеки можно было использовать это функ-ый блок?
Спасибо за интересный вопрос.
Максимальное количество POU задается в настройках целевой системы (Target settings), на странице Memory Layout. Избежать ошибок при компиляции можно, увеличив Maximum number of POU's, например, до 2048. К сожалению, не для всех контроллеров это можно сделать. Но, к примеру, на 750-841 можно.
Почему неиспользуемые библиотечные блоки занимают, тем не менее, столь ограниченный ресурс, это другой вопрос, который стоит задать разработчикам CoDeSys. На практике бывает полезно "вытащить" из библиотеки несколько блоков, чтобы использовать их в проекте. Это можно сделать, экспортировав их из библиотеки, а затем импортировав в свой проект. Открываем библиотеку как отдельный проект в Codesys, выбираем нужные блоки из дерева объектов и, щелкая на них правой кнопкой мыши, выбираем в контекстном меню пункт Export object... Или же выбираем в основном меню Project -> Export... и в появившемся списке отмечаем нужные блоки. После этого сохраняем их в файл с расширением EXP, который импортируем в свой проект, выбрав Project -> Import...
Разумеется, сказанное верно только для внутренних библиотек с открытым кодом, к которым относится OSCAT. Внешние библиотеки, а также библиотеки с закрытым кодом, требуется подключать к проекту полностью.
Инженер-системотехник
+7 (916) 477 3925
Спасибо вам большое Максим! Очень благодарен за ваш ответ!
К сожалению у меня 750-881, он не позволяет увеличив Maximum number of POU's.
Но решил проблему вытащив блок из библиотеки оскад.
Здравствуйте!
Подскажите пожалуйста.
При загрузки проекта в контроллер выдает сообщение:
"Последний онлайн сервис был завершен некорректно!
Номер сервиса: 48, Номер ошибки: 80
Файл "default.prg" не записался."
Всю голову сломал уже. Пробовал "default.prg" заливать через ftp в папку PLC. Но проблема не решилась.
У меня похожее было один раз при загрузке очень большой программы. Кто знает, в чем причина - фрагментация памяти или что еще... Помогало стереть программу из контроллера (например, по ftp), перезагрузить его, и тогда заливалось.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме