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

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

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

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

Сообщение Nitc » 30 июн 2022, 16:51

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

не могу, к сожалению.
ещё раз: с удаленным из проекта макросом при обмене через ячейку памяти LW наблюдается "дрожание". я понимаю, что кажется в макросе причина и хочется на него поглазеть :)
но я его удалил, запустил без него, результат такой же.
Существует инструмент EasyBuilder который покажет какие пакеты уходят/приходят на com порт?

Используйте элемент "Функциональная кнопка". Макрос при этом не должен быть периодическим.

такой способ не подходит под задачу. долго объяснять, ладно разберусь сам запуском.
Nitc
 
Сообщения: 11
Зарегистрирован: 05 май 2022, 12:45

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

Сообщение Nitc » 30 июн 2022, 17:07

как сделать?
чтобы при изменении значения оператором с экранной клавиатуры в LW9 нужно изменить бит LB1 с 0 на 1 на время t, где t - либо просто импульс/такт, либо 0,2-0,5сек. после задержки t снова поменять на 0.
Nitc
 
Сообщения: 11
Зарегистрирован: 05 май 2022, 12:45

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

Сообщение ArtemPM » 30 июн 2022, 18:09

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

не могу, к сожалению.

Вы серьезно полагаете, что в вашем макросе, который записывает три параметра в ПЛК по Modbus есть что-то секретное и важное?
На данный момент я могу вам только сообщить, включив свой третий глаз, что у вас несомненно ошибка в пятой строке.
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

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

Сообщение Nitc » 30 июн 2022, 19:34

Вы серьезно полагаете, что в вашем макросе, который записывает три параметра в ПЛК по Modbus есть что-то секретное и важное?

он с паролем, пароля у меня нет, возможно будет, но не сейчас нет. Вы читать умеете? Написано: "не могу, к сожалению" :roll:
И самое важное "в проекте без макроса проблема повторяется". Ещё раз: в проекте без макроса я наблюдаю точно такую же проблему
Предвосхищаю следующий ответ в духе "без макроса не разберемся".
Поэтому отвечу сразу: в проекте без макроса я наблюдаю точно такую же проблему.
Nitc
 
Сообщения: 11
Зарегистрирован: 05 май 2022, 12:45

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

Сообщение ArtemPM » 30 июн 2022, 20:55

Nitc писал(а):Предвосхищаю следующий ответ в духе "без макроса не разберемся".
Поэтому отвечу сразу: в проекте без макроса я наблюдаю точно такую же проблему.

Макрос это хотя бы какая-то отправная точка, на основании которой можно понять что вы делаете не так, потому что по описаниям ваших действий не понятно ровным счетом ни чего из того, что и как вы делаете. Вы копируете LW1 в 40995 и у вас ни чего не получается. Хорошо. Как вы копируете? Какие размерности и типы используете? Какие функции модбаса используете? И еще много разных "как" и "какие".
Видя перед глазами "нерабочий" макрос можно хотя бы отсеять часть их или увидеть вашу фундаментальную ошибку, которая без сомнения есть, потому что такую простую операцию как копирование из LW в регистр модбаса Weintek без проблем выполнял еще во времена EasyBuilder 500 в далекие нулевые.
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

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

Сообщение valdik » 01 июл 2022, 11:24

Доброго времени! Панель МТ8101iE. Есть необходимость изменять цвет шрифта в сообщениях журнала событий (архивный со всеми записями). В журнале реального времени вижу, что до квитирования можно цветами играть, подскажите можно ли сделать это с архивными событиями
valdik
 
Сообщения: 1
Зарегистрирован: 07 июн 2022, 14:26

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

Сообщение Nitc » 03 июл 2022, 15:41

Макрос это хотя бы какая-то отправная точка, на основании которой можно понять что вы делаете не так


Раздобыл содержание макроса. Это селектор который выбирает из какой LW записать для передачи через "глобальная передача данных" в ПЛК.

Код: Выделить всё
macro_command main()
short mode //Значение селектора
short Temp //Температура в ПЛК
short Humid //Влажность в ПЛК
short Consum //Расход в ПЛК
short Temp1 //Температура режима1
short Temp2 //Температура режима2
short Temp3 //Температура режима3
short Humid1 //Влажность режима1
short Humid2 //Влажность режима2
short Humid3 //Влажность режима3
short Consum1 //Расход режима1
short Consum2 //Расход режима2
short Consum3 //Расход режима3

GetData(mode, "Local HMI", RW, 13, 1)
GetData(Temp1, "Local HMI", "SP_Temp1", 1)
GetData(Temp2, "Local HMI", "SP_Temp2", 1)
GetData(Temp3, "Local HMI", "SP_Temp3", 1)
GetData(Humid1, "Local HMI", "SP_Humidity1", 1)
GetData(Humid2, "Local HMI", "SP_Humidity2", 1)
GetData(Humid3, "Local HMI", "SP_Humidity3", 1)
GetData(Consum1, "Local HMI", "SP_Consumption1", 1)
GetData(Consum2, "Local HMI", "SP_Consumption2", 1)
GetData(Consum3, "Local HMI", "SP_Consumption3", 1)

if mode == 0 then
   Temp = Temp1
   Humid = Humid1
   Consum = Consum1
else
   if mode == 1 then
      Temp = Temp2
      Humid = Humid2
      Consum = Consum2
      else
      Temp = Temp3
      Humid = Humid3
      Consum = Consum3
   end if
end if

SetData(Temp, "Local HMI", "SP_Temp", 1)
SetData(Humid, "Local HMI", "SP_Humidity", 1)
SetData(Consum, "Local HMI", "SP_Consumption", 1)

end macro_command


Чтобы понять как работает эта железяка сделал следующее:
1.Создал пустой новый проект.
2.Создал на экране объект А"число" чтение/запись одной переменной по адресу 41984 в ПЛК, адрес 4х формат float.
3.Копирую этот объект -пусть будет Б, и адрес присваиваю LW10.
4.Создаю в "Передача данных Глобальный" новое правило/настройку с параметрами: word, 1 слово, интервал 3.0, Источник Local HMI, адрес LW10. Назначение: modbusRTU (zero...) адрес 4х 41984.
Запускаю онлайн, объект с прямым адресом выдает показание 22, второй объект выдает показание "18".
Реальное значение в ПЛК - 22. Тыкаешь в А - меняешь. меняется в ПЛК, тыкаешь в Б - меняешь, остается "18", а в ПЛК как и было 22.
Что я делаю не так?
Nitc
 
Сообщения: 11
Зарегистрирован: 05 май 2022, 12:45

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

Сообщение ArtemPM » 03 июл 2022, 19:39

Nitc писал(а):Раздобыл содержание макроса. Это селектор который выбирает из какой LW записать для передачи через "глобальная передача данных" в ПЛК.

Начнем с того, что вы изначально некорректно диагностируете и описываете проблему. Данный макрос ни как не взаимодействует с ПЛК. Он лишь переносит данные из одних переменных локальной памяти панели в другие.
Оставьте макрос в покое, он ни при чем.
Nitc писал(а):Чтобы понять как работает эта железяка сделал следующее:
1.Создал пустой новый проект.
2.Создал на экране объект А"число" чтение/запись одной переменной по адресу 41984 в ПЛК, адрес 4х формат float.
3.Копирую этот объект -пусть будет Б, и адрес присваиваю LW10.
4.Создаю в "Передача данных Глобальный" новое правило/настройку с параметрами: word, 1 слово, интервал 3.0, Источник Local HMI, адрес LW10. Назначение: modbusRTU (zero...) адрес 4х 41984.
Запускаю онлайн, объект с прямым адресом выдает показание 22, второй объект выдает показание "18".
Реальное значение в ПЛК - 22. Тыкаешь в А - меняешь. меняется в ПЛК, тыкаешь в Б - меняешь, остается "18", а в ПЛК как и было 22.
Что я делаю не так?

И вот тут мы похоже подходим к сути вашей проблемы. Несоответствие типов. У вас в ПЛК переменные типа float, а значит занимают два регистра типа word, вы же если верить вашим описаниям копируете одно слово, вместо двух.
Возвращаясь к изначальной проблеме. Исходя из ваших слов вы берете переменные LW1,2,3 и записываете их в ПЛК. Если в ПЛК переменные имеют тип float, то вам нужно брать LW1,3,5 и записывать 6 слов, а не 3, как вы делаете.
В общем попробуйте разобраться с типами переменных. Это ваша основная проблема.
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

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

Сообщение Nitc » 04 июл 2022, 02:20

Оставьте макрос в покое, он ни при чем.

1. я 2 раза написал, что удаляю макрос и проблема остается... вы не реагировали... извините что проявил настойчивость показать вам макрос :?

Если в ПЛК переменные имеют тип float, то вам нужно брать LW1,3,5 и записывать 6 слов, а не 3, как вы делаете

2. к RW это так же относится? мало ли, хэлп мягко говоря не особо удачный.
3. При настройке глобальных данных, предоставляется выбор бит или слово. В моем случае при обмене float нужно указать 2 слова? или он наследует свойства при обращении по номеру ячейки в панели?
4. Порядок "источник-назначение" в окошке глобальных данных. Мастер всегда источник, даже когда идет чтение/запись в slave ПЛК? в хэлпе информации нет
5. LB9012 системный бит. Применяю его для контроля работы канал связи ПЛК-панель, он моргает (сигнализирует успешный цикл передачи данных, если я правильно понял). Но в хэлпе нет описания как он работает (временной диаграммы, например). Подскажите как лучше сделать лампу "горит" - связь норма, "потухла" - нет связи с ПЛК, таймаут 3 секунды.
Nitc
 
Сообщения: 11
Зарегистрирован: 05 май 2022, 12:45

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

Сообщение ArtemPM » 04 июл 2022, 03:33

Nitc писал(а):1. я 2 раза написал, что удаляю макрос и проблема остается... вы не реагировали... извините что проявил настойчивость показать вам макрос :?

Я и говорю, что вы непонятно описываете проблему. Изначальный упор у вас шел на макрос. Из ваших слов было понятно, что не работает макрос, который пишет в ПЛК. Вы удаляете макрос и делаете без макроса средствами глобальной передачи, но это всё равно не работает. Точней нужно быть.
Nitc писал(а):2. к RW это так же относится? мало ли, хэлп мягко говоря не особо удачный.

Да
Nitc писал(а):3. При настройке глобальных данных, предоставляется выбор бит или слово. В моем случае при обмене float нужно указать 2 слова? или он наследует свойства при обращении по номеру ячейки в панели?

Указать два слова.
Nitc писал(а):4. Порядок "источник-назначение" в окошке глобальных данных. Мастер всегда источник, даже когда идет чтение/запись в slave ПЛК? в хэлпе информации нет

Источник - откуда копируете. Назначение - куда копируете. Остальное не имеет значение.
Nitc писал(а):5. LB9012 системный бит. Применяю его для контроля работы канал связи ПЛК-панель, он моргает (сигнализирует успешный цикл передачи данных, если я правильно понял). Но в хэлпе нет описания как он работает (временной диаграммы, например). Подскажите как лучше сделать лампу "горит" - связь норма, "потухла" - нет связи с ПЛК, таймаут 3 секунды.

Посмотрите в сторону LB9200-LB9455 если связь осуществляется через COM
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Пред.След.

Вернуться в Weintek

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

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