ЖУРНАЛ СТА №3/1999
88 3/99 В ЗАПИСНУЮ КНИЖКУ ИНЖЕНЕРА CTA С нашей точки зрения, целесообразно совместно с сис- темами MMI/SCADA, не имеющими развитых средств рабо- ты с модемом, использовать универсальные телекоммуни- кационные пакеты ProComm Plus for Windows компании DataStorm Technologies и Relay/PC Gold for Windows корпо- рации Relay Technology. Выбор именно этих пакетов обус- ловлен мощностью скрипт-языка и, самое главное, интер- фейсом DDE, позволяющим осуществить информацион- ное взаимодействие с пакетомMMI/SCADA. Пакет ProComm Plus предпочтителен по цене, к тому же для решения задачи достаточно ранних версий, начиная с 1.02, используя ин- терфейс DDE, можно из MMI/SCADA-пакета инициировать соединение и опрос параметров, либо осуществлять это по истечении интервала времени. Такое взаимодействие в не- котором смысле повышает класс, например, пакета Genie за меньшие деньги. А в ряде случаев решения задачи монито- ринга вы вообще можете обойтись без пакета MMI/SCADA и решить все проблемы с отображением и протоколирова- нием данных средствами ProComm Plus. Далее приводится пример взаимодействия пакетов ProComm Plus и Genie. Их запуск осуществляется BAT-фай- лом. Выполнение предварительно скомпилированного скрипта ddeserv.was (результат компиляции — ddeserv.wax) в ProComm Plus инициализируется запуском procomm.gni в Genie (GWRUN). Закрытие procomm.gni в Genie (GWRUN) влечет за собой закрытие ProComm Plus. В примере через каждые полчаса осуществляется запрос температуры и дав- ления с интегратора потока пара Danfoss. Файл monitor.bat C:\PROWIN\PW.EXE C:\GENIE\GWRUN.EXE C:\GENIE\STRATEGY\PROCOMM.GNI Файл ddeserv.was proc main termwrites «PROCOMM Plus started`r`n» l1=$ltime ; Текущее время again: ; Задержка до получаса while l1 > $ltime endwhile ; Новый рубеж по времени l1=$ltime+1800 ; 1800 сек = полчаса i0=0 ddial: hangup ; Положить трубку i0++ ; Счетчик до 5 попыток if i0 == 5 goto again endif ; Проверяем, активно ли PROCOMM.GNI l0 = 0 ddeinit l0 «Genie» «PROCOMM» if l0 == 0 closepw ; Закрыть PROCOMM PLUS else ddeterminate l0 endif ; Соединение transmit «ATDP382904^M» if not waitfor «CONNECT» 40 goto ddial endif ; Запрашиваем и считываем температуру transmit «:01#10^M» if not waitfor «:01#10» 4 goto ddial endif ; Считываем 13 символов if not rget s0 13 2 goto ddial endif ; Удаляем два первых символа strdelete s0 1 2 s1 = s0 ; Строку температуры в s1 ; Запрашиваем и считываем давление transmit «:01#20^M» if not waitfor «:01#20» 4 goto ddial endif if not rget s0 13 2 goto ddial endif strdelete s0 1 2 s2 = s0 ; Строку давления в s2 hangup goto again endproc Стратегия procomm.gni долж- на, как минимум, содержать на- борблоков, показанныйна рис. 1. Связь с параметрами осуществ- ляется средствами DDE-обмена пакета Genie (рис. 2-4). Далее в Display Designer вам доступны температура и давле- ние как отображения парамет- ров DDEC1 и DDEC2. Последний совет: желательно, чтобы модем со стороны прибора имел джамперный сброс/установку, т.к. приборы этот сигнал, как правило, не выставляют. ● Авторы — доценты УГАТУ Телефон: (3472) 23-7876 E-mail: informatic@ugatu.ac.ru Рис. 1. Состав стратегии procomm.gni Рис. 2. Прием температуры Рис. 3. Прием давления Рис. 4. Обратная связь с ProComm
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy