Макро и значения регистров

EricFlat
Сообщения: 50
Зарегистрирован: 18 июл 2016, 14:17

Макро и значения регистров

Сообщение EricFlat »

Добрый день.
Согласно инструкции можно в макросах получать значения тегов и регистров ПЛК и записывать их в регистры памяти панели.
Работаю с панелью DOP-100. Значения самих тегов прекрасно получаются и отображаются панелью, но ни одной командой записи не могу поместить их в регистры $ памяти панели. Даже если указывать явный адрес регистра ПЛК. При этом с внутренними тегами и адресами панели все работает и присвоить регистру ПЛК значения из памяти панели можно - это работает. Тоже справедливо и с адресами рецептов: из HMI в PLC записать могу, а обратно нет.

UPD
Решено.
Скачал новую версию dopsoft, в аннотациях описано исправление коммуникации с AS серией ПЛК. Новый dopsoft обновил прошивку панели до DOP-107WV 65536 Colors - Version: 1.0102. Все заработало. Проблема была в кривой прошивке панели версии 1.0100
Вложения
Screenshot_4.jpg
Screenshot_4.jpg (31.24 КБ) 192 просмотра
Screenshot_3.jpg
Screenshot_3.jpg (54.02 КБ) 192 просмотра
Screenshot_2.jpg
Screenshot_2.jpg (50.53 КБ) 192 просмотра
Последний раз редактировалось EricFlat 18 авг 2020, 19:35, всего редактировалось 1 раз.

tvent
Сообщения: 869
Зарегистрирован: 11 янв 2011, 17:02

Re: Макро и значения регистров

Сообщение tvent »

Макросы MOV, BMOV, ArrayCopy в помощь.

EricFlat
Сообщения: 50
Зарегистрирован: 18 июл 2016, 14:17

Re: Макро и значения регистров

Сообщение EricFlat »

tvent писал(а):
12 авг 2020, 20:07
Макросы MOV, BMOV, ArrayCopy в помощь.

Код: Выделить всё

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

tvent
Сообщения: 869
Зарегистрирован: 11 янв 2011, 17:02

Re: Макро и значения регистров

Сообщение tvent »

Попробуйте через MOV, но через Macro Wizar в редакторе макросов.
И, на всякий случай, а как вы смотрите значения регистров $ ?

EricFlat
Сообщения: 50
Зарегистрирован: 18 июл 2016, 14:17

Re: Макро и значения регистров

Сообщение EricFlat »

tvent писал(а):
13 авг 2020, 18:32
Попробуйте через MOV, но через Macro Wizar в редакторе макросов.
И, на всякий случай, а как вы смотрите значения регистров $ ?
На конструкцию типа MOV(Var1, Var2) по синтаксису ругается, а визард при выборе MOV предлагает использовать именно конструкцию Var1 = Var2.
Доллары смотрю в тех же полях ввода, что и регистр ПЛК на экране. Настройки полей одинаковые, везде Word Unsigned Decimal
Вложения
Screenshot_2.jpg
Screenshot_2.jpg (56.68 КБ) 150 просмотров

tvent
Сообщения: 869
Зарегистрирован: 11 янв 2011, 17:02

Re: Макро и значения регистров

Сообщение tvent »

EricFlat писал(а):
13 авг 2020, 18:00

Код: Выделить всё

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)
Эти макросы вы куда записали?

EricFlat
Сообщения: 50
Зарегистрирован: 18 июл 2016, 14:17

Re: Макро и значения регистров

Сообщение EricFlat »

tvent писал(а):
15 авг 2020, 05:49
[quote=EricFlat post_id=14107 time=<a href="tel:1597330842">1597330842</a> user_id=1404]

Код: Выделить всё

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]

В макрос цикла экрана

tvent
Сообщения: 869
Зарегистрирован: 11 янв 2011, 17:02

Re: Макро и значения регистров

Сообщение tvent »

EricFlat писал(а):
15 авг 2020, 21:22
В макрос цикла экрана
Ну, тогда не знаю.( Я не Кашперовский))

bayk
Сообщения: 450
Зарегистрирован: 30 май 2015, 21:20

Re: Макро и значения регистров

Сообщение bayk »

Может тут проблема именно с тегами? Поскольку у меня есть проект, который работает весь на макросах практически. Причем через эту панель (макросы) идёт обмен между плк и сервоприводом. Макросы строк по 80. И там я и энергонезависимый тоже использую. Никаких проблем.

Как костыль можно попробовать сначала в обычный регистр из тега сохранить, а потом уже из этого регистра в энергонезависимый закинуть.

el-mech
Сообщения: 15
Зарегистрирован: 09 сен 2015, 16:53

Re: Макро и значения регистров

Сообщение el-mech »

Так это Вы в эмуляторе пробуете? Мож оно в эмуле не работает, а в "железе" всё будет норм?

Ответить