Просмотр полной версии : Хитрые имена переменных.
Завел несколько глобальных битовых переменных. Из них некоторые получили названия: AVAR_SMAZKI, DVIG_SHPINDEL, RAZR_PODACH. При запуске эмуляции выяснилось, что происходит самопроизвольная установка в единицу битов AVAR_SMAZKI и RAZR_PODACH. А на DVIG_SHPINDEL вообще ругается INVALID:16#02. Пришлось их переименовать в: AVA_SMAZKI, DVIGA_SHPINDEL и RAZRE_PODACH. К чему бы это. Я читал про зарезервированные имена, но здесь же только их фрагменты.
Думаю, связано это не с именами, а с кривым управлением набором этих переменных. Например, в проектных файлах можно обнаружить давно удалённые глобальные идентификаторы.
Ввел еще несколько регистров UINT для опроса модулей расширения по маске, и опять та же канитель.
REGOUT_SHKAF:UINT:=0;
REGINT1_PULT:UINT:=0
REGINT2_PULT:UINT:=0;
REGOUT_PULT:UINT:=0
При эмуляции они инициализируются значениями 4,5,6,7. Если им менять названия, то значения тоже меняются.
Так же у меня не происходит передача значения в функциональный блок MASK_INPUT.
Выкладываю проект, подскажите, кто, чем может начинающему.
lara197a
28.02.2012, 14:22
У Вас нет пояснений в программе. Никто не знает чего Вы хотите.
UINT Вам зачем?
Работайте с INT или WORD.
REGOUT_SHKAF:UINT:=0;
REGINT1_PULT:UINT:=0
REGINT2_PULT:UINT:=0;
REGOUT_PULT:UINT:=0
При эмуляции они инициализируются значениями 4,5,6,7.
учитывая то, что 3 из 4х только лишь объявлены в программе и более нигде не используются, нулевые их значения при запущенной эмуляции не выглядят странным фактом. где вы взяли 4567?
Пишу программу дальше, такой странной инициализации уже не наблюдаю, теперь все правильно, вижу нули. Странно как-то все это.
Вы не одиноки: http://www.owen.ru/forum/showthread.php?t=12123
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot