Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Wago 750-842 + CoDeSys + WinCC

 Ответить Ответить
Автор
Сообщение
ivanset Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - ivanset Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Wago 750-842 + CoDeSys + WinCC
    Опубликовано: 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;

Проблема в том, что иногда (после рестарта ПЛК) в данных переменных появляються некоторые значения... Может кто знает как устроена память, в которой храняться эти переменные и как эту память стирать?

Заранее спасибо.

Наверх
gggg Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 24 Декабрь 2004
Online Status: Offline
Публикации: 321
Свойства публикации Свойства публикации   Ответить, цитируя автора - gggg Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2006 06:33

мне кажется это потому что у вас переменная 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

так вот

Наверх
ivanset Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - ivanset Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2006 11:06
Сделал Project\Check\Overlapping Memoriy Areas. Исправил адресацию, теперь ничего не перекрывается в области памяти, но значения в переменных всеравно остались. А как стереть энергонезависимую память?
Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2006 11:55

Первоначально опубликовано ivanset

А как стереть энергонезависимую память?

“Online” “Reset (cold)”

Igor Petrov
Наверх
ivanset Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - ivanset Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2006 14:46
Сделал reset (cold), но несколько переменных всеравно не обнулились. С чем это может быть связано и как это исправить?
Наверх
ivanset Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - ivanset Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2006 19:08

.... а также при попытке изменить значения в данных переменных (Write values Ctrl+f7) во многих переменных появляються совсем не те значения, которые я ввожу. И еще: некоторые переменные показывают *** INVALID: 16#0F ***. Объясните плиз в чем тут дело. В контроллере или в Кодесис?

Наверх
gggg Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 24 Декабрь 2004
Online Status: Offline
Публикации: 321
Свойства публикации Свойства публикации   Ответить, цитируя автора - gggg Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Июль 2006 06:14

Инвалиды у меня тоже были, появлялись они у меня в  режиме эмуляции при уже установленном Таргет на ПЛК, а когда я работал реально с ПЛК то этой проблемы не было

Наверх
ivanset Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 25
Свойства публикации Свойства публикации   Ответить, цитируя автора - ivanset Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Июль 2006 10:19

Ну с Инвалидами ладно, - как-нить справимся. Но что делать с тем, что при попытке изменить значения в переменных появляються совсем не те значения, которые я ввожу? Вощем дело в адресации %MD0...%MD100, потому что когда я убераю эту адресацию все работоет отлично.

... проверку на перекрывающиеся области памяти сделал - ничего не перекрывается.

Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Июль 2006 11:14
Вообще область памяти M может использоваться для размещения диагностических данных модулей ввода-вывода. Т.е. стоит глубже капнуть документацию на данный контроллер, возможно эти адреса просто заняты.
Igor Petrov
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz