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

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

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

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

Сообщение smile-dimon » 18 апр 2023, 16:38

smile-dimon писал(а):
да,это я не внимателен,2#100 это моя ошибка.Все биты идут по первому (102) регистру,вернее сказать на 001 регистре есть три состояния- 00100-сост.прибора,00101-первый порог и 00102-второй порог.До решетки это локальные модбас адреса приборов 1-14.
Попробую перефразировать:В определенный момент времени, по задумке, оператор должен выполнить ТО приборов. При ТО естественно должно произойти срабатывание порогов,т.е. при сработке 2го порога всех приборов у оператора появляется кнопка с откладыванием ТО приборов на определенное время,до следующего периода.Если я там прописываю 'else',то кнопка появляется и снова пропадает.А мне необходимо что бы оператор провел ТО всем приборам и нажал кнопку,при этом дата следующего ТО сдвинулась. Кроме того некоторые приборы могут отсутствовать,в ремонте или неисправны.
Как то так,вроде описал.

Еще мне нужно как то отойти от жесткой привязки к дате,вернее к числам/цифрам,раньше это выглядело так:
Код: Выделить всё
short year, month, TO=20
GetData(month, "Local HMI", LW, 9021, 1)
GetData(year, "Local HMI", LW, 9022, 1)
if (year >= 2024) and (month >= 02) then
  SetData(TO, "Local HMI", LW, 0, 1)
end if


тем самым вызывалось окно прохождения ТО,но дату уже не сменишь...после плясок с бубном получилось ее заменить на переменные,но необходимо их вводить в определенных ячейках(RW-21 и RW-22),но у оператора туда доступа не должно быть.И после записи значений year+1 и month+1 необходимо перегружать панель,что бы это окно снова не выскакивало....-сложнААА
Кроме того при при смене прошивки эти ячейки остаются пустые,т.е. окно сразу же появляется и его ни чем не обойти.Приходится для себя делать запасный ход,но это становится не актуально если программу менять удаленно...или необходимо подымать VNC сервер,и с помощью клиента уже донастраивать.
На это задействовано 4 макроса.Как это упростить?
smile-dimon
 
Сообщения: 14
Зарегистрирован: 01 окт 2020, 20:15

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

Сообщение dimensy » 18 апр 2023, 17:14

smile-dimon писал(а):
1. Побитово читать из регистра не очень хорошая идея. Правильней будет прочитать весь регистр, а потом, при необходимости работать с битами
2. Не знаю, но вроде запись при чтении 2#100 неверна. Если это второй бит регистра 100, то должно быть 10002
3. По коду у вас LB-100 выставится в 1 при любом одном положительном бите и обратно уже не сбросится
И скорректируйте вопрос, пожалуйста, я нифига не понял что значит "В идеале бы конечно что бы большинство приборов проверялось на сработку и тем самым LB-100 переходил в true(...кол-во конечно могу подогнать к каждому объекту)"


да,это я не внимателен,2#100 это моя ошибка.Все биты идут по первому (102) регистру,вернее сказать на 001 регистре есть три состояния- 00100-сост.прибора,00101-первый порог и 00102-второй порог.До решетки это локальные модбас адреса приборов 1-14.
Попробую перефразировать:В определенный момент времени, по задумке, оператор должен выполнить ТО приборов. При ТО естественно должно произойти срабатывание порогов,т.е. при сработке 2го порога всех приборов у оператора появляется кнопка с откладыванием ТО приборов на определенное время,до следующего периода.Если я там прописываю 'else',то кнопка появляется и снова пропадает.А мне необходимо что бы оператор провел ТО всем приборам и нажал кнопку,при этом дата следующего ТО сдвинулась. Кроме того некоторые приборы могут отсутствовать,в ремонте или неисправны.
Как то так,вроде описал.

А, ну тогда последняя часть кода может выглядеть так:
Код: Выделить всё
for n=0 to 13
   if nn[n] then
      SetData(On, "Local HMI", LB, 100, 1) //Активируем кнопку
      break //Досрочно выходим из цикла
   end if
next n

Ну а дальше вам нужен макрос обработки нажатия кнопки, в котором вторые биты всех приборов сбросятся. Ну, или можно выборочно сбрасывать бит только у приборов со взведенным вторым битом
dimensy
 
Сообщения: 204
Зарегистрирован: 14 мар 2018, 17:54

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

Сообщение smile-dimon » 18 апр 2023, 17:19

dimensy писал(а):
smile-dimon писал(а):
А, ну тогда последняя часть кода может выглядеть так:
Код: Выделить всё
for n=0 to 13
   if nn[n] then
      SetData(On, "Local HMI", LB, 100, 1) //Активируем кнопку
      break //Досрочно выходим из цикла
   end if
next n

Ну а дальше вам нужен макрос обработки нажатия кнопки, в котором вторые биты всех приборов сбросятся. Ну, или можно выборочно сбрасывать бит только у приборов со взведенным вторым битом


Благодарю за ответ,попробую прервать цикл. Биты у прибора сбрасываются сами после после нормализации значений.
И читать полностью слово пробовал,затем раскладывать на биты,сохранять в панеле-долго,значения не успевают менять на экране.На приборе уже "норма",на экране еще "сработка".
Еще была идея попробовать while-wend,но как то руки не дошли + мне показалось сложнее
smile-dimon
 
Сообщения: 14
Зарегистрирован: 01 окт 2020, 20:15

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

Сообщение dimensy » 18 апр 2023, 17:26

smile-dimon писал(а):Еще мне нужно как то отойти от жесткой привязки к дате,вернее к числам/цифрам,раньше это выглядело так:
Код: Выделить всё
short year, month, TO=20
GetData(month, "Local HMI", LW, 9021, 1)
GetData(year, "Local HMI", LW, 9022, 1)
if (year >= 2024) and (month >= 02) then
  SetData(TO, "Local HMI", LW, 0, 1)
end if


тем самым вызывалось окно прохождения ТО,но дату уже не сменишь...после плясок с бубном получилось ее заменить на переменные,но необходимо их вводить в определенных ячейках(RW-21 и RW-22),но у оператора туда доступа не должно быть.И после записи значений year+1 и month+1 необходимо перегружать панель,что бы это окно снова не выскакивало....-сложнААА
Кроме того при при смене прошивки эти ячейки остаются пустые,т.е. окно сразу же появляется и его ни чем не обойти.Приходится для себя делать запасный ход,но это становится не актуально если программу менять удаленно...или необходимо подымать VNC сервер,и с помощью клиента уже донастраивать.
На это задействовано 4 макроса.Как это упростить?

И опять я не понял, у вас дата ТО хранится в панели? Тогда зачем биты на устройствах. Что за окно прохождения ТО?
dimensy
 
Сообщения: 204
Зарегистрирован: 14 мар 2018, 17:54

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

Сообщение smile-dimon » 18 апр 2023, 17:42

dimensy писал(а):И опять я не понял, у вас дата ТО хранится в панели? Тогда зачем биты на устройствах. Что за окно прохождения ТО?

я вам в личку ответил
Последний раз редактировалось smile-dimon 18 апр 2023, 18:17, всего редактировалось 1 раз.
smile-dimon
 
Сообщения: 14
Зарегистрирован: 01 окт 2020, 20:15

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

Сообщение smile-dimon » 18 апр 2023, 18:16

dimensy писал(а):
И опять я не понял, у вас дата ТО хранится в панели? Тогда зачем биты на устройствах. Что за окно прохождения ТО?


Дата ТО идет от текущей даты,поскольку панель и устройства ставились в одно время,от этого и отсчитывается...биты устройств проще читать и быстрее,без обработки панелью-напрямую на экран.
smile-dimon
 
Сообщения: 14
Зарегистрирован: 01 окт 2020, 20:15

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

Сообщение Kasinio » 19 апр 2023, 13:46

Добрый день!
Подскажите, кто сталкивался с такой проблемой и возможно знает ее решение. На серверной Windows 2019 Standart установили EasyBuilder последней версии для использования компонента cMT Viewer. На заводе используются панели cMT3072XH в количестве 10 штук и необходимо удаленное подключение к ним. Доступ на сервер происходит через доменную авторизацию пользователей и столкнулись с такой проблемой, когда запускаем Viewer под пользователем, который производил установку программного обеспечения мы можем создавать подключения ко всем 10 панелям, но если мы заходим под другой учетной записью и пробуем запускать и добавлять панели в Viewer, после 4 он выдает сообщение о том, что количество соединений ограничено четырьмя.
Это как то можно обойти ?
Kasinio
 
Сообщения: 2
Зарегистрирован: 19 апр 2023, 12:55

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

Сообщение Aptechkin » 19 апр 2023, 13:58

Добрый день!
Помогите с соединением контроллера cMT-CTRL01 с панелью cMT1106X по Ethernet. На контроллере работает программа написания на CoDeSys, в панели лежат пару мнемосхем куда и откуда надо получать передавать данные.
Вопрос в следующем как получать состояние (значения) тэгов с контроллера в панель и передавать состояние (значения) тэгов с панели в контроллер?
Связь нужна по Ethernet.
Есть ли простой способ и пример его реализации?
Aptechkin
 
Сообщения: 5
Зарегистрирован: 14 апр 2023, 20:56

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

Сообщение 8bit » 19 апр 2023, 15:57

Kasinio писал(а):Добрый день!
Подскажите, кто сталкивался с такой проблемой и возможно знает ее решение. На серверной Windows 2019 Standart установили EasyBuilder последней версии для использования компонента cMT Viewer. На заводе используются панели cMT3072XH в количестве 10 штук и необходимо удаленное подключение к ним. Доступ на сервер происходит через доменную авторизацию пользователей и столкнулись с такой проблемой, когда запускаем Viewer под пользователем, который производил установку программного обеспечения мы можем создавать подключения ко всем 10 панелям, но если мы заходим под другой учетной записью и пробуем запускать и добавлять панели в Viewer, после 4 он выдает сообщение о том, что количество соединений ограничено четырьмя.
Это как то можно обойти ?


UM017006E_cMT_Viewer_UserManual_eng.pdf писал(а):Please note that:
1. Each cMT Viewer device can simultaneously connect with 4 cMT Series models.
2. Each cMT Viewer device can simultaneously monitor 50 cMT Series models (under Monitor Mode).
3. Each cMT Series model can simultaneously connect with 3 cMT Viewer devices.


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

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

Сообщение 8bit » 19 апр 2023, 16:00

Aptechkin писал(а):Добрый день!
Помогите с соединением контроллера cMT-CTRL01 с панелью cMT1106X по Ethernet. На контроллере работает программа написания на CoDeSys, в панели лежат пару мнемосхем куда и откуда надо получать передавать данные.
Вопрос в следующем как получать состояние (значения) тэгов с контроллера в панель и передавать состояние (значения) тэгов с панели в контроллер?
Связь нужна по Ethernet.
Есть ли простой способ и пример его реализации?


rusavtomatika.com -> Статьи -> Как подключить ПЛК к панели Weintek ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1172
Зарегистрирован: 20 апр 2020, 19:07

Пред.След.

Вернуться в Weintek

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9