Добрый день. Может кто сталкивался с такой ситуацией в макросах панели Weintek MT8150X.. Не работают операторы множественного выбора "Select Case". При любом значении уходит на "case else" (если он присутствует), хотя значение совпадают с "Case". При написании того же функционала конструкциями IF - THEN - ELSE, все работает, с теми же значениями.
Даже указывал значение константой, не читая с регистра. Вывел индикаторами все используемые регистры для контроля значений, все совпадает, а результата - "0". EasyBuilder 8000 4.50.
К примеру:
macro_command main()
bool button_visible_stop// видимость кнопки Остановить
bool button_visible_confirm// видимость кнопки Игнорировать/Подтвердить
unsigned short data_in// ввод данных информационных сообщений из ПЛК
unsigned short window_num// задает номер всплывающего окна
GetData(data_in, "MODBUS RTU", 4x, 14, 1)
select case data_in
case 0
button_visible_confirm=true// видимость кнопки
bool button_visible_stop=false//
window_num=100//открывает окно ручного запуска
case 1
button_visible_confirm=false// видимость кнопки
bool button_visible_stop=true//
window_num=36//номер открываемого окна
case else
window_num=50//номер открываемого окна
end select
SetData(window_num, "Local HMI", LW, 100, 1)
SetData(button_visible_confirm, "Local HMI", LB, 100, 1)
SetData(button_visible_stop, "Local HMI", LB, 101, 1)
end macro_command