EasyBuilder - Скорая помощь новичкам

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Re: EasyBuilder - Скорая помощь новичкам

Сообщение askaev » 27 июн 2014, 11:33

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

Описание соответствующих регистров в главе 22.3 руководства: "user name and password".
Демо-проект, использующий эти регистры: ftp://ftp.weintek.com/MT8000/Project/Pa ... curity.zip


1) скачал этот демо-проект. Пытаюсь его запустить в эмуляторе -- не запускается. Компиляция проходит без ошибок и на этом всё.

2) сделал поле ввода номера пользователя. Открываю демо - там для этого поля указан системный регистр LW-9219. Открываю свой проект, открываю список системных регистров и не нахожу такого номера... идёт 9216 ,а затем сразу 9222. Регистр 9220 соотв.тоже пропущен почему-то. Как быть? А то уже неделю мучаюсь в попытках сделать логин/пароль на окно настроек и всё никак...
ЗЫ: скопировал поле ввода номера пользователя (LW-9219) с демо-проекта в свой проект -- в моём проекте автоматически для этого поля системный регистр изменился на LW-9002 (первый в списке).

Версия EasyBuilder Pro 4.00.01 была. Удалил. Скачал и установил 4.10.3. Не помогло ни с 1-м пунктом, ни со 2-м.
askaev
 
Сообщения: 27
Зарегистрирован: 09 янв 2014, 17:05

Re: EasyBuilder - Скорая помощь новичкам

Сообщение VanMo » 27 июн 2014, 12:00

askaev писал(а):Версия EasyBuilder Pro 4.00.01 была. Удалил. Скачал и установил 4.10.3. Не помогло ни с 1-м пунктом, ни со 2-м.

У Вас что-то явно не то с EasyBuilder - без проблем запускается этот проект.
Возможно это из-за старой версии. Если Вы в ней сохраняли этот проект, попробуйте снова его скачать.
VanMo
 
Сообщения: 377
Зарегистрирован: 16 авг 2011, 09:31

Re: EasyBuilder - Скорая помощь новичкам

Сообщение askaev » 02 июл 2014, 09:58

VanMo писал(а):
askaev писал(а):Версия EasyBuilder Pro 4.00.01 была. Удалил. Скачал и установил 4.10.3. Не помогло ни с 1-м пунктом, ни со 2-м.

У Вас что-то явно не то с EasyBuilder - без проблем запускается этот проект.
Возможно это из-за старой версии. Если Вы в ней сохраняли этот проект, попробуйте снова его скачать.


Да видимо. Создал новый проект. Скопировал туда из демо-проекта поле ввода. Адрес поля сохранился правильным. Далее пришлось из своего старого проекта всё перетаскивать в новый. Теперь аутентификация работает правильно. Спасибо за подсказку!
askaev
 
Сообщения: 27
Зарегистрирован: 09 янв 2014, 17:05

Re: EasyBuilder - Скорая помощь новичкам

Сообщение m3F » 02 июл 2014, 14:11

Добрый день, столкнулся с проблемой при реализации проекта, пока штудирую инструкцию, но может кто из форумчан сталкивался с похожими сложностями и сможет дать дельный совет.
Имеется сеть Modbus RTU, в ней 3 (три) устройства: панель (мастер) и два слейва (буду называть их "первое" и "второе" устройство).
Панель MT8100iE, софт EBPro v4.10.01.
Изображение

Сеть и все устройства работают отлично. Проблемы начинаются, когда отключаем питание второго устройства (оно последнее в сети, терминатор стоит) или откидываем сетевой кабель.
При отключении второго устройства панель перестаёт видеть первое устройство. Такое чувство, что сеть просто виснет при запросах к отключенному второму устройству.
Первоначально реализовывал чтение данных через объект "Числовой дисплей":
Изображение

Если все объекты которые делают опрос второго устройства перекинуть в другое окно (и оно не активно), то при его отключении сеть не ложится, данные читаются и записываются в первое устройство, до момента пока мы не перейдем в окно где есть объекты второго устройства (я так понимаю, просто не делается опрос второго устройства, пока нет его объектов в активном окне).
Пытался обойти программно:
Код: Выделить всё
macro_command main()
short a
GetData(a,"MODBUS RTU",4x,1#6,1)
SetData(a,"Local HMI",RW,100,1)
DELAY(100)
GetDataEx(a,"MODBUS RTU",0x_single_coil,2#203,1)
SetData(a,"Local HMI",RW,100,1)
DELAY(100)
end macro_command

Таже песня, виснем при попытке обратится ко второму устройству. Если убираем команду чтение со второго устройства (GetDataEx), когда питание у него отключено, то все работает без проблем.
Я так понимаю надо делать диагностический опрос второго устройства, если приходит ошибка, то отключать опрос данной устройства, но как это реализовать на панели пока ничего не приходит на ум.

Буду рад, как я уже сказал вначале поста, если кто-то подскажет хотя бы куда копать.
Спасибо.
Аватара пользователя
m3F
 
Сообщения: 7
Зарегистрирован: 01 июл 2014, 19:56

Re: EasyBuilder - Скорая помощь новичкам

Сообщение den_po » 02 июл 2014, 16:42

Требуемые панели данные (данные, необходимые для объектов на текущем экране, триггеров, макросов) запрашиваются последовательно. При этом панель ждёт ответа от слэйва некоторое время. Можно уменьшить значение параметра "время ожидания" в настройках COM-порта.
Для макросов вместо функций SetData/GetData можно использовать SetDataEx/GetDataEx плюс GetError для проверки успешности обмена.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: EasyBuilder - Скорая помощь новичкам

Сообщение m3F » 02 июл 2014, 17:32

Уменьшал "Время ожидания" до 1 сек., аналогично.
Такое чувство, что панель постоянно ждёт от второго устройства ответа. Проверяя через EasyDiagnoser, во время отключения второго устройства, пакеты просто перестают "ходить" по сети.
Функции SetDataEx/GetDataEx и использовал, ситуация не меняется. Хотел реализовать проверку через GetError, но потом решил, что ничего не выйдет. Хотя интересно проходит ли команда GetDataEx вообще (после отключение питания), без ошибки, проверю отпишу.

Вот уже думаю сделать по "Free Protocol", через команды "OUTPORT" и "INPRORT", там и проверку возможно реализовать. Но вопрос будет ли работать.

---
Попробовал выводить Error:
Код: Выделить всё
macro_command main()
short a, b, Err1, Err2
GetDataEx(a,"MODBUS RTU",4x,1#6,1)
SetDataEx(a,"Local HMI",RW,100,1)
GetError(Err1)
SetDataEx(Err1,"Local HMI",RW,150,1)
DELAY(100)
GetDataEx(b,"MODBUS RTU",0x_single_coil,2#203,1)
SetData(b,"Local HMI",RW,200,1)
GetError(Err2)
SetDataEx(Err2,"Local HMI",RW,250,1)
DELAY(100)
end macro_command

При отключении питания 2-ого устройства выводит Err2 = 0, но это из-за того, что просто макрос виснет на выполнении GetDataEx(b,"MODBUS RTU",0x_single_coil,2#203,1).

Еще такой момент, модуль Modbus на втором устройстве записывается отдельно от самого устройства (через ИБП) и когда отключается питание, модуль остается запитан и сигнализирует об ошибке.
Последний раз редактировалось m3F 02 июл 2014, 18:18, всего редактировалось 1 раз.
Аватара пользователя
m3F
 
Сообщения: 7
Зарегистрирован: 01 июл 2014, 19:56

Re: EasyBuilder - Скорая помощь новичкам

Сообщение den_po » 02 июл 2014, 17:57

Делаете GetDataEx/SetDataEx, проверяете код ошибки, если код ненулевой, на некоторое время запросы этому устройству перестаёте отправлять, а другому продолжаете.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: EasyBuilder - Скорая помощь новичкам

Сообщение m3F » 02 июл 2014, 18:20

Попробовал выводить Error:
Код: Выделить всё
macro_command main()
short a, b, Err1, Err2
GetDataEx(a,"MODBUS RTU",4x,1#6,1)
GetError(Err1)
SetDataEx(a,"Local HMI",RW,100,1)
SetDataEx(Err1,"Local HMI",RW,150,1)
DELAY(100)
GetDataEx(b,"MODBUS RTU",0x_single_coil,2#203,1)
GetError(Err2)
SetDataEx(b,"Local HMI",RW,200,1)
SetDataEx(Err2,"Local HMI",RW,250,1)
DELAY(100)
end macro_command


При отключении питания 2-ого устройства выводит Err2 = 0, но это из-за того, что просто макрос виснет на выполнении GetDataEx(b,"MODBUS RTU",0x_single_coil,2#203,1).

Еще такой момент, модуль Modbus на втором устройстве запитывается отдельно от самого устройства (через ИБП) и когда отключается питание, модуль остается запитан и сигнализирует об ошибке.

---Updated 03.07.2014 1:30АМ---
Нашёл документацию на сам Modbus модуль, пишут, что есть внутренняя адресация в самом модуле, парочку из которых для диагностики. Буду пробовать реализовать проверку через них. Что получится отпишу.
Аватара пользователя
m3F
 
Сообщения: 7
Зарегистрирован: 01 июл 2014, 19:56

Re: EasyBuilder - Скорая помощь новичкам

Сообщение den_po » 03 июл 2014, 10:04

m3F писал(а):При отключении питания 2-ого устройства выводит Err2 = 0, но это из-за того, что просто макрос виснет на выполнении GetDataEx(b,"MODBUS RTU",0x_single_coil,2#203,1).

Макрос не виснет, он ждёт ответа столько, сколько сказано в настройках COM-порта, после чего GetError помещает в переменную Err2 значение 2

m3F писал(а):Еще такой момент, модуль Modbus на втором устройстве запитывается отдельно от самого устройства (через ИБП) и когда отключается питание, модуль остается запитан и сигнализирует об ошибке.

В этом случае тем более не должно быть никаких проблем со связью.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: EasyBuilder - Скорая помощь новичкам

Сообщение m3F » 03 июл 2014, 16:03

den_po писал(а):
m3F писал(а):При отключении питания 2-ого устройства выводит Err2 = 0, но это из-за того, что просто макрос виснет на выполнении GetDataEx(b,"MODBUS RTU",0x_single_coil,2#203,1).

Макрос не виснет, он ждёт ответа столько, сколько сказано в настройках COM-порта, после чего GetError помещает в переменную Err2 значение 2

По факту получается, что выполнение макроса стопорится на выполнении этой команды (когда устройство отключено), время ожидания выставлено 1 сек. (выставлял и чуть большее и меньшее). Возможно косяк именно этой панели, раньше делал похожие проекты всё работало без проблем, поэтому даже особо на этот не заострял внимания (правда с данным типом модулей Modbus (MRP21-FBP) и устройством работаю впервые, может имеет место какае-то не совместимость, трудно сказать, так как нет возможности диагностировать сост.).
Как уже писал буду пробовать через регистры самого модуля, что-то сделать (это где-то понедельник). Напишу, что получилось.

P.S. Спасибо Вам за помощь.
Аватара пользователя
m3F
 
Сообщения: 7
Зарегистрирован: 01 июл 2014, 19:56

Пред.След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 5