Страница 1 из 1

ISP Global Symbols

СообщениеДобавлено: 07 ноя 2019, 23:58
Gordzei
Здравствуйте!

Контролер SE.
В таблицу Global Symbols вставил переменные: _D1 D1 WORD 4000, _D2 D2 WORD 5000 - и так 20шт.

В регистрах появляется инициализируемое значение (Initial Value) только, когда происходить загрузка программы в PLC, причем только если PLC в STOP!!! Переводишь в RUN и он работает.

При сбросе PLC по питанию в этих регистрах=0...

Может всех из через MOV прописывать...громоздко как-то.
Как это работает?

Спасибо!

Re: ISP Global Symbols

СообщениеДобавлено: 08 ноя 2019, 01:47
bayk
Инитиал валуе - это способ внести данные в нужные регистры плк припрошивке, если выбрана нужная опция, если её не выбрать, то это значение в регистры не записывается. При этом если регистр не энергонезависимый, то он ведёт себя как и положено - сбрасывается при переходе в стоп или снятии питания. Хотите сохранять эти данные извольте использовать энергонезависимые регистры.
Я использую этот функционал, чтобы при первом прошитии чистого контроллера записать в энергонезависимые регистры примерные настройки все скопом, а не вводить все потом через панель или по одному записью в регистр. А уже после окончания наладки прописываю туда итоговые настройки, чтобы при выходе из строя плк запустить новый без ПНР. Тут главное не забыть снять галку с записи этих параметров в плк, чтоб не упороть существующие и отлаженные настройки.
Вы скорее всего путаете смысл понятия инитиал валуе с записью в регистр параметра при каждом включении. (В дельте такого нет, только энергонезависимые регистры.)

Re: ISP Global Symbols

СообщениеДобавлено: 08 ноя 2019, 09:25
Gordzei
Спасибо!!!

Re: ISP Global Symbols

СообщениеДобавлено: 08 ноя 2019, 22:59
Gordzei
А вот ещё:
Создал ФБ, а в нём 10 таймеров...1-му таймеру в локальных переменных дал адрес: N/A компилятор назначил T0 (из T0~T127/ 100mS), это меня устраивает.
А вот остальные мне нужны по 10mS - T64-T126 (если M1028=1), я их указал явно без объявления в таблицах LOCAL или GLOBAL.
Вопрос: как указать компилятору, чтобы он выбирал из T64~T126?
Если вызовов этого блока несколько, то как эти таймеры объявлять в LOCAL самого блока, или в Global...
И как посмотреть какие ресурсы у меня заняты?
Где посмотреть количество шагов и объём своей программы?

Спасибо!!!

Re: ISP Global Symbols

СообщениеДобавлено: 09 ноя 2019, 07:54
tvent
Gordzei писал(а):Создал ФБ, а в нём 10 таймеров...1

Если таймер должен "щелкать", когда ФБ не активен пользуйтесь Subroutine timer (192-199)
Gordzei писал(а):Если вызовов этого блока несколько, то как эти таймеры объявлять в LOCAL самого блока, или в Global...

Без разницы. Local и Global применяются к идентификаторам (именам) переменных и констант.
То есть, вы можете декларировать имя RR_R с разными адресами и типами данных в нескольких ФБ и POI, если RR_R не было указано в Global.
Gordzei писал(а):Вопрос: как указать компилятору, чтобы он выбирал из T64~T126?

Задать их в Divice Resource Allocation при M1028=1

Gordzei писал(а):И как посмотреть какие ресурсы у меня заняты?

После компиляции в Used Device Report
Gordzei писал(а):Где посмотреть количество шагов и объём своей программы?

Через Veiw - Output Window или нажать соответствующий значок на панели меню.

Re: ISP Global Symbols

СообщениеДобавлено: 11 ноя 2019, 18:16
Gordzei
понял, спасибо!!! работает.