Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Средства операторского интерфейса
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Weintek MT8150X Оператор Case

 Ответить Ответить
Автор
Сообщение
kait-volga Смотреть выпадающим
Новичок
Новичок


Присоединился: 13 Декабрь 2011
Online Status: Offline
Публикации: 2
Свойства публикации Свойства публикации   Ответить, цитируя автора - kait-volga Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Weintek MT8150X Оператор Case
    Опубликовано: 13 Декабрь 2011 10:37
Добрый день. 
Может кто сталкивался с такой ситуацией в макросах панели 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
Наверх
kait-volga Смотреть выпадающим
Новичок
Новичок


Присоединился: 13 Декабрь 2011
Online Status: Offline
Публикации: 2
Свойства публикации Свойства публикации   Ответить, цитируя автора - kait-volga Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Декабрь 2011 13:51
Всем спасибо за активное обсуждение Thumbs Up Решение найдено: в конце каждого CASE надо добавить BREAKE. Хотя в мануале написано, что break - опционально, да и в примерах только в одном case.
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz