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

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

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

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

Сообщение VanMo » 15 дек 2014, 16:06

IIeroniux писал(а):Скажите, сам макрос написан верно? Без ошибок?

Верно.
IIeroniux писал(а):Кстати, нюанс - у меня стоит свежая пятая версия EB Pro (и проект выполнен в нем же). Откатится на четвертую?

Думаю, стоит попробовать. В пятой версии есть какие-то проблемы, попробую разобраться.
VanMo
 
Сообщения: 377
Зарегистрирован: 16 авг 2011, 09:31

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

Сообщение madlih » 26 дек 2014, 10:37

Добрый день!
Есть небольшие проблемки с макросами и использованием GetData
Вообщем есть проект, в одном из окон кнопка, запускающая макрос (по сути он инииализирует калибровку датчика, а потом в цикле каждую секунду проверяет результат калибровки, если результат - идет калибровка то цикл идет на новую петлю, если закончена калибровка то выход)

Код: Выделить всё
while(calibrating)
   GetDataEx(is_calibrating, "MODBUS TCP/IP (Ethernet)", "MMLIQ_zero_in_progress", 1) // запрашиваем статус калибровки
   GetError(Err)
   SetData(err, "Local HMI", "ErrorCode", 1)
   
   if Err==0 then
      if is_calibrating==16384   then  // статус -- идет калибровка
         state_zeroing=2
      else   //если другой статус -- выходим из макроса присвоив переменной calibrating=false
         calibrating=false
         state_zeroing=0   
      end if
      SetData(state_zeroing, "Local HMI", "State_Zero_MMLIQ", 1)
   end if
   
cycles=cycles+1

if cycles > zero_time then  //если время выполнения макроса превысило заданное значение то выход из макроса
   calibrating=false
end if
DELAY(1000)         
wend


Если применить этот код то мгновенно происходит выход из цикла, и макрос продолжает работу после while по сути записывает успешный результат и завершается, хотя должен выполняться секунд 30, GetError возвращает 0
Если использовать вместо GetDataEx(is_calibrating, "MODBUS TCP/IP (Ethernet)", "MMLIQ_zero_in_progress", 1) --> // GetData(is_calibrating, "MODBUS TCP/IP (Ethernet)", "MMLIQ_zero_in_progress", 1), то в принципе работает если связь стабильна, но я так полагаю в случае неверного чтения макрос попросту вылетает или зависает, т.е. его выполнение останавливается.

Может кто нибудь сталкивался?

З.Ы. Поиском по форуму искал нашел несколько сообщений со схожей проблемой, но решения так и не нашел.
madlih
 
Сообщения: 12
Зарегистрирован: 18 июл 2012, 15:51

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

Сообщение den_po » 26 дек 2014, 11:10

А что оказывается в is_calibrating после вызова GetDataEx?
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

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

Сообщение madlih » 26 дек 2014, 11:28

den_po писал(а):А что оказывается в is_calibrating после вызова GetDataEx?

is_calibrating равен нулю. То есть я могу сделать вывод что GetDataEx ничего не считала, ну или я не дождался

P/S/ f нет прошу прошения, какое то значение считывается, сейчас найду расшифровку. Т. Е алгоритм обрабатывается корректно, вопрос снят
madlih
 
Сообщения: 12
Зарегистрирован: 18 июл 2012, 15:51

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

Сообщение madlih » 27 дек 2014, 09:36

Вообщем значение читается, только вот непонятно одно: GetDataEx считывает значение 28365, GetData считывает 16384 - что в принципе я и ожидаю
Догадок нет ...
madlih
 
Сообщения: 12
Зарегистрирован: 18 июл 2012, 15:51

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

Сообщение den_po » 29 дек 2014, 10:52

А какие типы у MMLIQ_zero_in_progress и is_calibrating?
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

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

Сообщение madlih » 30 дек 2014, 08:41

den_po писал(а):А какие типы у MMLIQ_zero_in_progress и is_calibrating?

MMLIQ_zero_in_progress - адресная метка, тип word (адрес 30126)
переменную is_calibrating я определил как unsigned short

из документации к устройству, тип данных по адресу 30126 - integer, но в той же документации написано:type integer - unsigned 16bit integers ranging from 0 to 65535
madlih
 
Сообщения: 12
Зарегистрирован: 18 июл 2012, 15:51

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

Сообщение gelios_oleg » 04 янв 2015, 14:49

Добрый день! Не могу найти в EasyBuilder8000 4.65.16 (рус) блок Дата/Время. Его нет как такового или куда он запрятан?
gelios_oleg
 
Сообщения: 7
Зарегистрирован: 03 янв 2015, 15:48

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

Сообщение zms2003 » 06 янв 2015, 21:01

Здравствуйте. Приобрел панель W8100ie. Есть проблемка... разбираюсь с журналом работ.
в офлайн симуляторе все работает на ура.
при загрузке в панель журнал работ не отображается.
на эти же элементы повешены события. журнал событий регистрируется и отображается. танцы с бубном ни к чему не приводят...
обязательно ли вводить логин/пароль чтобы задействовать журнал работ? (я этого не делаю поскольку элементы не закрыты) да и офлайн симулятор не ругается и спокойно все регистрирует...
отключение регистрации событий также не приводят к появлению журнала работ.
В чем может быть проблема?
Внешний накопитель пока не использую
zms2003
 
Сообщения: 1
Зарегистрирован: 05 дек 2014, 20:59

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

Сообщение den_po » 12 янв 2015, 11:09

gelios_oleg писал(а):Добрый день! Не могу найти в EasyBuilder8000 4.65.16 (рус) блок Дата/Время. Его нет как такового или куда он запрятан?

Он запрятан в EasyBuilder Pro. А в EB8000 можно реализовать подобное вручную - набором объектов Numeric и Word Lamp.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Пред.След.

Вернуться в Weintek

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

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

cron