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

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

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

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

Сообщение fomindanil » 19 июн 2020, 11:32

Здравствуйте, такой вопрос, можно ли нажатием кнопки менять часть элементов на экране, например чтобы одни объекты исчезали, а другие появлялись. Но чтобы это все было на одном окне, чтобы окно не менялось.
fomindanil
 
Сообщения: 11
Зарегистрирован: 24 апр 2020, 08:46

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

Сообщение pkl58 » 19 июн 2020, 16:40

Можно, но не все элементы.
pkl58
 
Сообщения: 35
Зарегистрирован: 25 окт 2016, 08:55

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

Сообщение 8bit » 19 июн 2020, 17:38

fomindanil писал(а):Здравствуйте, такой вопрос, можно ли нажатием кнопки менять часть элементов на экране, например чтобы одни объекты исчезали, а другие появлялись. Но чтобы это все было на одном окне, чтобы окно не менялось.


В свойствах элемента на вкладке "Безопасность" можно задать регистр для управления видимостью объекта
hide-show.png
hide-show.png (15.13 КБ) Просмотров: 6048
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

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

Сообщение Роман » 25 июн 2020, 12:48

Здравствуйте.
Разбираюсь с панелью MT8051iP

Сейчас одна панель выполняет функцию сервера ModBus Rtu. К ней подключается несколько таких же панелей в режиме slave.
Возник вопрос: как проконтролировать что slave-панели подключены?
Если пытаться читать регистры из slave-панелей по модбасу в макросе, то макрос зависает, если slave-панель не отвечает/выключена.

С уважением,
Роман
Роман
 
Сообщения: 5
Зарегистрирован: 25 июн 2020, 12:36

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

Сообщение 8bit » 26 июн 2020, 09:16

Роман писал(а):Здравствуйте.
Разбираюсь с панелью MT8051iP

Сейчас одна панель выполняет функцию сервера ModBus Rtu. К ней подключается несколько таких же панелей в режиме slave.
Возник вопрос: как проконтролировать что slave-панели подключены?
Если пытаться читать регистры из slave-панелей по модбасу в макросе, то макрос зависает, если slave-панель не отвечает/выключена.


покажите код макроса, который зависает при неотвечающем slave
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

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

Сообщение Роман » 26 июн 2020, 09:54

8bit писал(а):покажите код макроса, который зависает при неотвечающем slave


Код: Выделить всё
i = 0
   while i < nmb_slave
   i = i + 1
   var0 = i + 1
   SetData(var0, "Local HMI", LW, 10000, 1)
   GetData(P_max_tmp, "MODBUS RTU (Adjustable)", 4x, var0#31, 1)
   GetError(err)
   if err == 0 then
      P_max[i] = P_max_tmp
   else
      fl_err = 1
   end if
wend
Роман
 
Сообщения: 5
Зарегистрирован: 25 июн 2020, 12:36

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

Сообщение АЛМ » 26 июн 2020, 13:19

В строке

GetData(P_max_tmp, "MODBUS RTU (Adjustable)", 4x, var0#31, 1)

Попробуйте заменить

GetData на GetDataEx
АЛМ
 
Сообщения: 36
Зарегистрирован: 14 фев 2014, 23:27

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

Сообщение Роман » 26 июн 2020, 13:24

АЛМ писал(а):В строке

GetData(P_max_tmp, "MODBUS RTU (Adjustable)", 4x, var0#31, 1)

Попробуйте заменить

GetData на GetDataEx


Спасибо! По неопытности не доглядел.
Роман
 
Сообщения: 5
Зарегистрирован: 25 июн 2020, 12:36

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

Сообщение 8bit » 26 июн 2020, 16:59

Роман писал(а):
АЛМ писал(а):В строке

GetData(P_max_tmp, "MODBUS RTU (Adjustable)", 4x, var0#31, 1)

Попробуйте заменить

GetData на GetDataEx


Спасибо! По неопытности не доглядел.


в примере modbus сервер висит на COM3, поэтому и регистры для COM3
1) можно мониторить раз в 2-3 секунды и знать наличии хотя бы одного клиента:
- системный бит LB-9057 (MODBUS сервер (COM 3) получает запрос)
- системное слово LW-9574 (Число полученных данных в байтах)
- системное слово LW-9280 (Код функции запроса)
- системное слово LW-9282 (Количество регистров в запросе)
GetDataEx_04.png
GetDataEx_04.png (32.63 КБ) Просмотров: 5977

Системные регистры касательно modbus сервера описаны в главе 22.3.12 Руководства пользователя EasyBuilder

2) Функция GetDataEx (описание в мастере функций + страница 597 Руководства пользователя EasyBuilder глава 18.7.2 Функции ПЛК)
GetDataEx.png
GetDataEx.png (9.06 КБ) Просмотров: 5977


"Receives data from the PLC and continues executing next command even if there’s no response from this device."
"Получает данные от ПЛК и продолжает выполнять следующую команду, даже если от этого устройства нет ответа."
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

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

Сообщение 8bit » 26 июн 2020, 17:45

Роман писал(а):Здравствуйте.
Разбираюсь с панелью MT8051iP

Сейчас одна панель выполняет функцию сервера ModBus Rtu. К ней подключается несколько таких же панелей в режиме slave.
Возник вопрос: как проконтролировать что slave-панели подключены?
Если пытаться читать регистры из slave-панелей по модбасу в макросе, то макрос зависает, если slave-панель не отвечает/выключена.

С уважением,
Роман


еще алгоритмически можно: заставить кажого slave писать инкремент в свой регистр мастера
например: slave1 -> LW-101, slave2 -> LW-102, slave3 -> LW-103
и уже в макросе следить за этими LW и видеть изменения или их отсутствие уже по каждому slave'у
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

Пред.След.

Вернуться в Weintek

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

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