Разработка проекта «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.
Дерзайте.