Среда v2.3.9.9 плк100 rl прошивка 2.10.5 выкладываю два проекта один компилится нормально второй с ошибкой, почему?
Вид для печати
Среда v2.3.9.9 плк100 rl прошивка 2.10.5 выкладываю два проекта один компилится нормально второй с ошибкой, почему?
1) Удаляем таргет через InstallTarget
2) Ручками стираем папку C:\Codesys\Targets\PLC100.R_L
3) Проставляем таргет заново.
4) Extras - standart configuration в проекте
Вуаля - все работает
огромное "спасибо" за ответ. п.4 вы грохнули конфигурацию -собственно при компиляции которой и возникает ошибка!. и связана эта ошибка вероятно с выравниванием адресации выходов при автоматическом их расчете. пока ничего не работает. побороть это можно только внесением допольнительных регистров в обмен, именно поэтому я привел пример двух конфигураций.
Проект в более полном объеме. Пробовал с доступными таргетами и версиями codesys. Компилится с ошибкой в конфигурации 3454.
за "спасибо" спасибо :)
забирайте проект.
извените пожалуйста, не могли бы повторить, архив не распаковывается
Переименyйте из .rar в .pro
Не получается открыть конфигурацию "Ошибка при чтении конфигурации ПЛК! Файл описания модуля «Module.Root» не найден."
повтор еше раз
спасибо все заработало. хотя я так и не понял почему не компилится проект "ошибка 3454"(см. выше)
Если я правильно понял, Вы создали проект в прошлой версии таргета.
Надо поменять таргет и пересоздать ручками конфигурацию.
Кроме, того избегайте при возможности битовых переменных в собственной конфигурации. Не совсем понятно, но у среды не получается правильно распределить память - приходится идти на ухищрения.
Как вариант - работайте с библиотекой Модбас(взять на plc@owen.ru)
олег, я не совсем понял, у вас получилость скомпилировать "ошибка 3454" или нет. что в этом примере некорректного?
Проблема 3454 заключается в перекрытии IEC адресов - одни накладываются на другие. При создании модулей и подмодулей с PLC Configuration иногда возникает неправильное распределение памяти. Особенно это было заметно на версиях до CoDeSys 2.3.8.1. Сейчас ситуация резко улучшена, но, очевидно иногда возникает. Бороться можно. Варианты
1) Избегаем битовых каналов
2) (как сделал я) Переконфигурируем модули - расположение, разноисм на отдельные мастера, промежаем не нужными - типа константы, статистики
3) Пользуем библиотеки для работы с модбас, овен (не пользуем PLC_Confgiguration)
P.s ошибка у меня возникла при открытии вашего проекта (и первого(маленького) и второго). далее, я попытался воспроизвести на мелком проекте, вручную создав аналог. ошибка не возникла,из чего я заключил, что проблема в таргете. большую конфигурацию времени и желания пересоздавать не было - пришлось пойти на ухищрения :).
Ошибка возникает при распределении именно output адресов конфигурации. А 3454 воспроизвести дело 1 мин- в новом проекте модбас мастер в нем один универсал модбас девайс без регистров или с четным количеством аутпут регистров, за ним овен мастер и вуаля ошибка. Причем во всех таргетах и версиях среды
Если бы было свободное распределение адресов - это не к ПЛК... Стандарт определяет, что адреса должны быть четко прописаны и иметь соответствующе название.
Вам необходимо:
1. Открыть InstallTarget и удалить таргет файл.
2. С помощью данной же утилиты установить необходимую версию (Вы уверенны, что Вы именно нужный Target ставите???)
3. Открыть проект. Перейти в Ресурсах в Target Settings и из всплывающего списка выбрать тип контроллера. Нажать Ок.
4. Далее открываем PLC Configuration и из меню Дополнительно (Extras) делаем команду "стандартная конфигурация".
все, кажется нашел. проблема действительно в устаревших таргетах. только он новый таргет не воспринимает, если установлен параметр "открывать последний проект" в опциях проекта. даже если я этот проект закрыл(файл\закрыть) и создал новый(файл\создать), и дальше уже неважно какой версии и какого контроллера таргет выбирается-ошибка будет повторяться. попробуйте открыть "ошибка 3454" с установленным параметром "открывать последний проект", а затем воспользоваться вашими рекомендациями. здесь таки есть баг.