Макро и значения регистров
Макро и значения регистров
Добрый день.
Согласно инструкции можно в макросах получать значения тегов и регистров ПЛК и записывать их в регистры памяти панели.
Работаю с панелью DOP-100. Значения самих тегов прекрасно получаются и отображаются панелью, но ни одной командой записи не могу поместить их в регистры $ памяти панели. Даже если указывать явный адрес регистра ПЛК. При этом с внутренними тегами и адресами панели все работает и присвоить регистру ПЛК значения из памяти панели можно - это работает. Тоже справедливо и с адресами рецептов: из HMI в PLC записать могу, а обратно нет.
UPD
Решено.
Скачал новую версию dopsoft, в аннотациях описано исправление коммуникации с AS серией ПЛК. Новый dopsoft обновил прошивку панели до DOP-107WV 65536 Colors - Version: 1.0102. Все заработало. Проблема была в кривой прошивке панели версии 1.0100
Согласно инструкции можно в макросах получать значения тегов и регистров ПЛК и записывать их в регистры памяти панели.
Работаю с панелью DOP-100. Значения самих тегов прекрасно получаются и отображаются панелью, но ни одной командой записи не могу поместить их в регистры $ памяти панели. Даже если указывать явный адрес регистра ПЛК. При этом с внутренними тегами и адресами панели все работает и присвоить регистру ПЛК значения из памяти панели можно - это работает. Тоже справедливо и с адресами рецептов: из HMI в PLC записать могу, а обратно нет.
UPD
Решено.
Скачал новую версию dopsoft, в аннотациях описано исправление коммуникации с AS серией ПЛК. Новый dopsoft обновил прошивку панели до DOP-107WV 65536 Colors - Version: 1.0102. Все заработало. Проблема была в кривой прошивке панели версии 1.0100
- Вложения
-
- Screenshot_4.jpg (31.24 КБ) 990 просмотров
-
- Screenshot_3.jpg (54.02 КБ) 990 просмотров
-
- Screenshot_2.jpg (50.53 КБ) 990 просмотров
Последний раз редактировалось EricFlat 18 авг 2020, 19:35, всего редактировалось 1 раз.
Re: Макро и значения регистров
Макросы MOV, BMOV, ArrayCopy в помощь.
Re: Макро и значения регистров
Код: Выделить всё
BMOV($1, TAG1, 1)
BMOV($2, ({EtherLink1}1@D450), 1)
BMOV($3, ([TAG1]), 2)
BMOV($4, ({EtherLink1}1@D450), 2)
$25 = ArrayCopy($5, 0, [TAG1], 0, 1)
$26 = ArrayCopy($6, 0, {EtherLink1}1@D450, 0, 1)
$7 = TAG1 (SIGNED)
$8 = [TAG1] (SIGNED)
$9 = ([TAG1]) (SIGNED)
$10 = TAG1 (DW)
$12 = [TAG1] (DW)
$14 = ([TAG1]) (DW)
причем ArrayCopy возвращает 1, как удачное копирование, но в регистре все равно 0
Re: Макро и значения регистров
Попробуйте через MOV, но через Macro Wizar в редакторе макросов.
И, на всякий случай, а как вы смотрите значения регистров $ ?
И, на всякий случай, а как вы смотрите значения регистров $ ?
Re: Макро и значения регистров
На конструкцию типа MOV(Var1, Var2) по синтаксису ругается, а визард при выборе MOV предлагает использовать именно конструкцию Var1 = Var2.
Доллары смотрю в тех же полях ввода, что и регистр ПЛК на экране. Настройки полей одинаковые, везде Word Unsigned Decimal
- Вложения
-
- Screenshot_2.jpg (56.68 КБ) 948 просмотров
Re: Макро и значения регистров
Код: Выделить всё
BMOV($1, TAG1, 1)
BMOV($2, ({EtherLink1}1@D450), 1)
BMOV($3, ([TAG1]), 2)
BMOV($4, ({EtherLink1}1@D450), 2)
$25 = ArrayCopy($5, 0, [TAG1], 0, 1)
$26 = ArrayCopy($6, 0, {EtherLink1}1@D450, 0, 1)
$7 = TAG1 (SIGNED)
$8 = [TAG1] (SIGNED)
$9 = ([TAG1]) (SIGNED)
$10 = TAG1 (DW)
$12 = [TAG1] (DW)
$14 = ([TAG1]) (DW)
Re: Макро и значения регистров
Код: Выделить всё
BMOV($1, TAG1, 1)
BMOV($2, ({EtherLink1}1@D450), 1)
BMOV($3, ([TAG1]), 2)
BMOV($4, ({EtherLink1}1@D450), 2)
$25 = ArrayCopy($5, 0, [TAG1], 0, 1)
$26 = ArrayCopy($6, 0, {EtherLink1}1@D450, 0, 1)
$7 = TAG1 (SIGNED)
$8 = [TAG1] (SIGNED)
$9 = ([TAG1]) (SIGNED)
$10 = TAG1 (DW)
$12 = [TAG1] (DW)
$14 = ([TAG1]) (DW)
[/quote]
В макрос цикла экрана
Re: Макро и значения регистров
Может тут проблема именно с тегами? Поскольку у меня есть проект, который работает весь на макросах практически. Причем через эту панель (макросы) идёт обмен между плк и сервоприводом. Макросы строк по 80. И там я и энергонезависимый тоже использую. Никаких проблем.
Как костыль можно попробовать сначала в обычный регистр из тега сохранить, а потом уже из этого регистра в энергонезависимый закинуть.
Как костыль можно попробовать сначала в обычный регистр из тега сохранить, а потом уже из этого регистра в энергонезависимый закинуть.
Re: Макро и значения регистров
Так это Вы в эмуляторе пробуете? Мож оно в эмуле не работает, а в "железе" всё будет норм?