Разработка проекта «Water Tank». Продолжение.
После того, как мы создали визуальное представление нашего
проекта, необходимо придать функциональность. Для этого потребуются некоторые
знания в программировании. В частности понятия переменных, типах ит.д.
Приступим, открываем свойство «PUMP1», добавим в имеющийся
список свойств, свойство «Command».
Немного о тегах. В программе IWS используются так называемые теги,
если посмотреть другие языки программирования – имя переменной, которая имеет
свой тип. Типы в IWS бывают: Boolean
(логические), Integer (целые), Real
(вещественные) и String
(строковые).
В поле «Tag» создадим имя тега «pump1», т.е. создадим
переменную «pump1» тип присвоим «Boolean» логический.
В появившемся окне «New Tag», Name присвоим «pump1», Type «Boolean», Web Data «Local».
Т.е. имя «pump1»,
тип «Boolean», параметры сети «Local». В свойство объекта «Expression» введем «not pump1». Not – это зарезервированное слово на
языке программирования IWS, означает отрицание, в данном случае отрицание переменной.
Спросите, для чего она мне нужна?
Если в поле «Expression» введу только имя переменной, тогда процесс будет выполняться
один раз. Почему? Потому-то у свойства «Command», есть функции при нажатии
кнопки, такие как «On Down», «On Up» и т.д. Смотрите рисунок.
Таким образом, с переменной можно выполнить различные
задачи.
К примеру, необходимо нажать на объект, чтобы у нас переменная
выполнила определенную поставленную задачу, для этого используем функцию «On
Down», если я хочу, чтобы при удержании клавиши мыши выполнило другую операцию,
для этого я выберу функцию «On While», чего рассказывать лучше сами
проэкспериментируйте с данными функциями объекта.
Далее в свойстве «Сolors» в поле «Tag/Expression:» введу имя переменной, которую мы уже создали «pump1».
Для справки, свойство «COLORS» находится в панели
инструментов, имеет пиктограмму .
Так как у нас переменная «pump1» имеет логическую
составляющую, принимает два значения: true и false,
т.е. 1 и 0. Соответственно в «Change Limit» 0 и 1.
Надеюсь, что понятно, если не понятно, есть мануал «Help»
программы, клавиша до боле знакома «F1», правда на английском языке, поэтому может создать трудности
в чтении.
Остается только проверить наш проект. Запускаем и смотрим.
Значит, насос в отключенном состоянии будет иметь вид
красного цвета, а при нажатии на объект соответственно зеленый.
Таким образом, оператору будет виден процесс работы.
Давайте добавим в наш проект дополнительное визуальное
представление. Для этого в библиотеке (CTRL + A), выберем две стрелку «arrows»,
смотрите рисунок.
Я специально взял именно такого типа стрелок. У одной из них,
уже имеется свойство «Colors», а у другой только объект рисунок.
Начнем с нижней. Открываем свойство стрелки, убираем в поле
«Tag/Expression» имя переменной «DigitalValue_»,
заменяем на наш «pump1». Запускаем приложение и смотрим что получилось.
Значит при включенном состоянии насоса №1, стрелка обретет
красный цвет.
Давайте с вами, усовершенствуем нашу стрелку, чтобы при
включенном состоянии насоса, он мигал. Для этого в строке «Blink» выставим параметр «Slow или Fast», т.е. медленное или быстрое
мерцание.
Запускаем и смотрим.
Перейдем к другой стрелке. Выберем свойство объекта второй
стрелки.
Ничего кроме «Symbol» нет, поэтому добавим к нему другое свойство объекта «Position».
- пиктограмма находятся на панели
инструментов.
В поле «Show on condition»
вводим переменную «pump1».
Таким образом, когда позиция будет положительной, т.е. pump1 =1, в окне рабочей области данный
элемент будет активен.
Чтобы убедиться в этом, запускаем приложение. В первом
случае насос выключен.
Во втором случае насос включен, активизировалась вторая
стрелка за счет функции свойства «Position».
Для еще более эффектности, в свойство «Position» добавим переменную «DigitalValue_»,
данная переменная является системной переменной, изначально я ее не создавал,
она встроена в программу.
Для этого в поле «Show on condition» введу оператор «and» - объединение двух переменных. В целом будет «pump1 and DigitalValue_».
Запустив программу, наша стрелка начнет мигать или
правильнее мерцать.
Теперь, все тоже самое, что описал выше примените к насосу
№2.
Дерзайте.
|