Wago 750-842 + CoDeSys + WinCC |
Ответить |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 20 Апрель 2006 Категория: Ukraine Online Status: Offline Публикации: 25 |
Опубликовано: 20 Июль 2006 18:46 |
Всем доброго дня! Есть ПЛК WAGO 750-842, написанная программа (нижний уровень) на CoDeSys и верхний уровень на WinCC, OPC Server - CoDeSys.OPC.02. В программе используется ряд переменных (объявлены в VAR_GLOBAL RETAIN), которые необходимо отображать на верхнем уровне (Эти переменные не привязаны к входным/выходным модлулям) переменные объявляю так: var1 AT %MX0.0 : BOOL; var2 AT %MX0.1 : BOOL; var3 AT %MX0.2 : BOOL; var4 AT %MD0 : DWORD; var5 AT %MD1 : DWORD; var6 AT %MD2 : DWORD; Проблема в том, что иногда (после рестарта ПЛК) в данных переменных появляються некоторые значения... Может кто знает как устроена память, в которой храняться эти переменные и как эту память стирать? Заранее спасибо. |
|
Действительный член Присоединился: 24 Декабрь 2004 Online Status: Offline Публикации: 321 |
|
мне кажется это потому что у вас переменная var4 AT %MD0 : DWORD; совпадает с первыми тремя по адресному пространству - нулевому слову памяти. Сделайте проверку на перекрывающиеся области памяти в Кодесис Project\Check\Overlapping Memoriy Areas, и Вы увидете что эти области у Вас перекрываются. тем более раз у вас они объявлены как РЕтайн, в них остаются сохраненные данные, которые были перед отключением. как память устроена - написано в руководстве по КОдесис, скачайте его на сайте Пролог, если у вас нет, кстати на стр. 10-33, очень хорошо показано как она распределена. надо внимательно объявлять адреса, не забывать что если у вас переменная будет объявлена переменная с адресом AT %MW1, то она попадет в область переменной var4 AT %MD0 : DWORD; так как здесь двойное слово и она содержит в себе адреса слов MW0 MW1, или байтов MB0 MB1 MB2 MB3, или битов в диапазоне MX0.0 - MX3.15 так вот |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 20 Апрель 2006 Категория: Ukraine Online Status: Offline Публикации: 25 |
|
Сделал Project\Check\Overlapping Memoriy Areas. Исправил адресацию, теперь ничего не перекрывается в области памяти, но значения в переменных всеравно остались. А как стереть энергонезависимую память?
|
|
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
|
“Online” “Reset (cold)” |
|
Igor Petrov
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 20 Апрель 2006 Категория: Ukraine Online Status: Offline Публикации: 25 |
|
Сделал reset (cold), но несколько переменных всеравно не обнулились. С чем это может быть связано и как это исправить?
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 20 Апрель 2006 Категория: Ukraine Online Status: Offline Публикации: 25 |
|
.... а также при попытке изменить значения в данных переменных (Write values Ctrl+f7) во многих переменных появляються совсем не те значения, которые я ввожу. И еще: некоторые переменные показывают *** INVALID: 16#0F ***. Объясните плиз в чем тут дело. В контроллере или в Кодесис? |
|
Действительный член Присоединился: 24 Декабрь 2004 Online Status: Offline Публикации: 321 |
|
Инвалиды у меня тоже были, появлялись они у меня в режиме эмуляции при уже установленном Таргет на ПЛК, а когда я работал реально с ПЛК то этой проблемы не было |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 20 Апрель 2006 Категория: Ukraine Online Status: Offline Публикации: 25 |
|
Ну с Инвалидами ладно, - как-нить справимся. Но что делать с тем, что при попытке изменить значения в переменных появляються совсем не те значения, которые я ввожу? Вощем дело в адресации %MD0...%MD100, потому что когда я убераю эту адресацию все работоет отлично. ... проверку на перекрывающиеся области памяти сделал - ничего не перекрывается. |
|
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
|
Вообще область памяти M может использоваться для размещения диагностических данных модулей ввода-вывода. Т.е. стоит глубже капнуть документацию на данный контроллер, возможно эти адреса просто заняты.
|
|
Igor Petrov
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |