PDA

Просмотр полной версии : ошибка 3454



sergsm
05.06.2009, 15:01
Среда v2.3.9.9 плк100 rl прошивка 2.10.5 выкладываю два проекта один компилится нормально второй с ошибкой, почему?

Малышев Олег
05.06.2009, 16:16
1) Удаляем таргет через InstallTarget
2) Ручками стираем папку C:\Codesys\Targets\PLC100.R_L
3) Проставляем таргет заново.
4) Extras - standart configuration в проекте

Вуаля - все работает

sergsm
09.06.2009, 13:02
огромное "спасибо" за ответ. п.4 вы грохнули конфигурацию -собственно при компиляции которой и возникает ошибка!. и связана эта ошибка вероятно с выравниванием адресации выходов при автоматическом их расчете. пока ничего не работает. побороть это можно только внесением допольнительных регистров в обмен, именно поэтому я привел пример двух конфигураций.

sergsm
09.06.2009, 15:50
Проект в более полном объеме. Пробовал с доступными таргетами и версиями codesys. Компилится с ошибкой в конфигурации 3454.

Малышев Олег
09.06.2009, 16:55
за "спасибо" спасибо :)
забирайте проект.

sergsm
09.06.2009, 17:14
извените пожалуйста, не могли бы повторить, архив не распаковывается

Малышев Олег
09.06.2009, 19:34
Переименyйте из .rar в .pro

sergsm
10.06.2009, 10:41
Не получается открыть конфигурацию "Ошибка при чтении конфигурации ПЛК! Файл описания модуля «Module.Root» не найден."

Малышев Олег
10.06.2009, 11:15
повтор еше раз

sergsm
10.06.2009, 12:04
спасибо все заработало. хотя я так и не понял почему не компилится проект "ошибка 3454"(см. выше)

Малышев Олег
10.06.2009, 15:57
Если я правильно понял, Вы создали проект в прошлой версии таргета.

Надо поменять таргет и пересоздать ручками конфигурацию.

Кроме, того избегайте при возможности битовых переменных в собственной конфигурации. Не совсем понятно, но у среды не получается правильно распределить память - приходится идти на ухищрения.

Как вариант - работайте с библиотекой Модбас(взять на plc@owen.ru)

sergsm
10.06.2009, 16:21
олег, я не совсем понял, у вас получилость скомпилировать "ошибка 3454" или нет. что в этом примере некорректного?

Малышев Олег
11.06.2009, 07:23
Проблема 3454 заключается в перекрытии IEC адресов - одни накладываются на другие. При создании модулей и подмодулей с PLC Configuration иногда возникает неправильное распределение памяти. Особенно это было заметно на версиях до CoDeSys 2.3.8.1. Сейчас ситуация резко улучшена, но, очевидно иногда возникает. Бороться можно. Варианты
1) Избегаем битовых каналов
2) (как сделал я) Переконфигурируем модули - расположение, разноисм на отдельные мастера, промежаем не нужными - типа константы, статистики
3) Пользуем библиотеки для работы с модбас, овен (не пользуем PLC_Confgiguration)

Малышев Олег
11.06.2009, 07:27
P.s ошибка у меня возникла при открытии вашего проекта (и первого(маленького) и второго). далее, я попытался воспроизвести на мелком проекте, вручную создав аналог. ошибка не возникла,из чего я заключил, что проблема в таргете. большую конфигурацию времени и желания пересоздавать не было - пришлось пойти на ухищрения :).

sergsm
11.06.2009, 10:57
Ошибка возникает при распределении именно output адресов конфигурации. А 3454 воспроизвести дело 1 мин- в новом проекте модбас мастер в нем один универсал модбас девайс без регистров или с четным количеством аутпут регистров, за ним овен мастер и вуаля ошибка. Причем во всех таргетах и версиях среды

Николаев Андрей
11.06.2009, 11:37
Если бы было свободное распределение адресов - это не к ПЛК... Стандарт определяет, что адреса должны быть четко прописаны и иметь соответствующе название.
Вам необходимо:
1. Открыть InstallTarget и удалить таргет файл.
2. С помощью данной же утилиты установить необходимую версию (Вы уверенны, что Вы именно нужный Target ставите???)
3. Открыть проект. Перейти в Ресурсах в Target Settings и из всплывающего списка выбрать тип контроллера. Нажать Ок.
4. Далее открываем PLC Configuration и из меню Дополнительно (Extras) делаем команду "стандартная конфигурация".

sergsm
11.06.2009, 15:52
все, кажется нашел. проблема действительно в устаревших таргетах. только он новый таргет не воспринимает, если установлен параметр "открывать последний проект" в опциях проекта. даже если я этот проект закрыл(файл\закрыть) и создал новый(файл\создать), и дальше уже неважно какой версии и какого контроллера таргет выбирается-ошибка будет повторяться. попробуйте открыть "ошибка 3454" с установленным параметром "открывать последний проект", а затем воспользоваться вашими рекомендациями. здесь таки есть баг.