Проблема с глобальными переменными

Общие вопросы по оборудованию и программному обеспечению Компании ДЭП
Tankist
Сообщения: 7
Зарегистрирован: 19 окт 2006, 11:13

Сообщение Tankist » 19 окт 2006, 11:38

Здравствуйте.

Хранится массив в 96 элементов типа Float в глобальной переменной. Этот массив хранится в ОЗУ и имеет определенные значения. В процессе работы контроллера они могут меняться.
Всего в контроллер загружено 4 проекта. Доступ к этому массиву осуществляется только из первого проекта.
При старте контроллера, всё хорошо, все переменные в массиве лежат как надо и соответствуют заданным в Разработчике значениям. Дальше я произвожу Рестарт Деконта и при запуске, в конце массива (от 10 до 40 элементов) значения элементов становятся неверными, а точнее вообще нереальными числами типа 10 в 38 степени. При следующем рестарте Деконта ситуация не изменяется или становится еще хуже.
Вопрос: в чем проблема? Думаю, что в область хранения этого массива записываются какие-то другие данные. Как исправить это явление?

Tankist
Сообщения: 7
Зарегистрирован: 19 окт 2006, 11:13

Сообщение Tankist » 23 окт 2006, 12:32

Здравствуйте снова. У меня еще вопрос про Регистратор и переменные. Почему при создании локальной переменной, нельзя указать чтоб эта переменная была сохраняемой в ОЗУ? Причем иногда программа позволяет сделать локальную переменную сохраняемой, а иногда не позволяет. От чего это зависит?

Тех. поддержка
Сообщения: 465
Зарегистрирован: 18 ноя 2004, 17:45
Откуда: Компания ДЭП
Контактная информация:

Сообщение Тех. поддержка » 23 окт 2006, 13:17

Tankist писал(а):Здравствуйте снова. У меня еще вопрос про Регистратор и переменные. Почему при создании локальной переменной, нельзя указать чтоб эта переменная была сохраняемой в ОЗУ? Причем иногда программа позволяет сделать локальную переменную сохраняемой, а иногда не позволяет. От чего это зависит?


Если переменная является "входной" для блока, то ее нельзя делать "сохраняемой".
С уважением
Компания ДЭП
Москва, Голубинская ул., 10
+7 (495) 995-00-12

Tankist
Сообщения: 7
Зарегистрирован: 19 окт 2006, 11:13

Сообщение Tankist » 24 окт 2006, 12:43

Евгений Рублев писал(а):Если переменная является "входной" для блока, то ее нельзя делать "сохраняемой".

Она не входная, она локальная. И притом выбор "сохраняемая в ОЗУ" не закоментирован и выбрать его нельзя.
А что на счет проблемы с глобальными переменными?

Тех. поддержка
Сообщения: 465
Зарегистрирован: 18 ноя 2004, 17:45
Откуда: Компания ДЭП
Контактная информация:

Сообщение Тех. поддержка » 24 окт 2006, 14:48

Tankist писал(а):
Евгений Рублев писал(а):Если переменная является "входной" для блока, то ее нельзя делать "сохраняемой".

Она не входная, она локальная. И притом выбор "сохраняемая в ОЗУ" не закоментирован и выбрать его нельзя.


А какая версия Разработчика у Вас стоит? В одной из тестовых такое было, но уже давно исправлено.

Tankist писал(а):А что на счет проблемы с глобальными переменными?


В свойствах проекта Разработчика есть галочка "Контроль границ массива", она стоит? Если нет, поставьте, пересоберите проект и попробуйте еще раз.
С уважением

Компания ДЭП

Москва, Голубинская ул., 10

+7 (495) 995-00-12