PDA

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



alexx12
10.03.2010, 10:32
по мере написания и поэтапной отладки проекта появился такой глюк: при добавлении в глобальные переменные новой переменной с ЛЮБЫМ именем она принимает значение переменной из области дискретных входов (в приложенном проекте на визуализации ЛЮБАЯ новая кнопка(переключатель) с присвоением значения НОВОЙ глобальной переменной принимает значение кнопки "плитка +1") подскажите почему и что не так?

alexx12
10.03.2010, 12:11
помогите чем сможете. застрял и работа дальше не идет.

Николаев Андрей
10.03.2010, 14:23
1. Зачем Вы блоки делаете в Global?
Как Вы определяете, что срабатывает не та переменная...
Если можно чуть подробнее, а не ссылками на визуализацию...

alexx12
10.03.2010, 14:42
1.если я правильно понимаю то, чтобы блоки были доступны из разных Pou, я их объявляю в Global. (может я не прав)
2. объявляю новую переменную в Global, а изменить ее значение в программе не могу. путем поиска обнаружил, что эта переменная (тип Bool) меняет свое значение от другой переменной (кнопка"плитка+1") и только от нее. объявил еще одну переменную- результат такой же. в чем дело не пойму. окно визуализации просто для отладки программы.
может быть причина в том, что работаю в режиме эмуляции пока нет в наличии контроллера?

Николаев Андрей
10.03.2010, 15:57
зачем весь блок, ведь вам нужна одна - две переменные - результат блока...
похоже на наложение памяти, но у вас не так много переменных...

alexx12
10.03.2010, 23:19
Думал может дома будет работать-такая же беда. интересно, это глюк Codesys или мой? уже вызывает опасение где (и главное как) это еще вылезет. Уважаемый Николаев Андрей, может совет какой будет? И еще: посоветуйте как личше объявить ФБ? Если я их не объявлю в global буду ли я получать корректный результат работы ФБ из любого POU? Спасибо.

alexx12
11.03.2010, 08:35
перенес все ФБ из global вроде заработало. Интересно, есть ли какие ограничения на колличество и тип переменных в global? И почему CODESYS ничего не сообщает, если это ограничение достигнуто?

young_fox
05.12.2011, 23:28
Та же проблема, ввожу глобальные переменные разных типов, даже ни где их не переопределяю, а они меняют свое значение после одного рабочего цикла так, что его даже изменить невозможно. Возникают вопросы:
Эта проблема связана с ограничением на количество глобальных переменных? Со сложностью или объемом программы? Или же с проблемами Codesys? И не возникнет ли эта проблема при эксплуатации ПЛК, не приведет ли к выходу из строя оборудования?

Николаев Андрей
06.12.2011, 00:02
За частую эта проблема связана с написанием программы.
То, чтобы Retain прям в процессе выполнения программы менялся не слышал.

young_fox
09.12.2011, 01:28
У меня при запуске программы меняются глобальные константы....
Каким образом программа, в которой нет присвоения глобальными константам может изменить их...

swerder
09.12.2011, 09:37
а вы бы программу прикрепили, а то штатные телепаты уже в отпуск ушли

Игорь Петров
09.12.2011, 16:01
Иногда бывает сбой ОС, портится файл инкрементальной компиляции. Помогает: Проект – Очистить все – Компилировать все.

iman
15.12.2011, 09:10
перенес все ФБ из global вроде заработало. Интересно, есть ли какие ограничения на колличество и тип переменных в global? И почему CODESYS ничего не сообщает, если это ограничение достигнуто?
Так вот мы не давно запустили проект, и там было если не ошибаюсь
20 - 25 GLOBAL переменных. Все работает отлично (Притом через визуализацию).