环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器

類型分類:
科普知識
數據分類:
線路板連接器

DAQBench在人機界面編程中的應用

發布日期:2022-04-27 點擊率:55 品牌:合信_Co-Trust

人機界面是測控應用系統開發的一個重要部分。DAOBench是凌華科技股份有限公司研發的一套測量和自動化應用的32位ActiveX控件,包括用戶界面、數據分析、信息整合、SCADA/HMI等各種控件及工具。使用DAQBench,用戶可以很容易地開發出復雜的用戶應用系統來顯示信號數據、分析所采集到的數據、快速地與Excel、數據庫或Web做信息整合。運用DAQBench的SCADA/HMI功能,您也可以很快地開發分布式(distributed)人機界面(HMI)應用系統。可以在任何支持ActiveX標準的軟件開發平臺使用,包括Visual Basic、Visual C++、C++Builder、Delphi等。

1、原理

ActiveX控件的妙處在于,控件與應用程序總是能融洽地交互。ActiveX控件提供了三種與應用程序交互的基本機制:屬性(Property)、方法(Method)和事件(Event)。用戶由此三部分來控制控件并開發程序。屬性是描述控件的當前狀態,并影響控件的顯示和行為,屬性值存儲在控件的變量中。方法為定義在控件內的函數(Function),方法的使用與控件所提供的功能有關,通常會影響控件本身或其行為,大多數方法的作用也會受到控件當時屬性的影響。事件是在某些特定情況時,控件所產生的通知事件,事件被傳遞給控件應用程序以執行程序中與此事件連接的函數(Event handler)。

以下舉例說明,如何運用DAQBench控件建立人機界面,以及使用ADLINK的數據采集設備的ActiveX控件進行模擬信號的處理。

我們假設把一個程序分成兩部分:可視部分(前臺顯示操作的界面)和不可視部分(后臺工作的線程)。本文程序的顯示界面非常簡單,僅有一個作圖控件及一個退出按鈕,后臺工作是使用一個虛擬的PCI—9112多功能數據采集卡(不需要安裝真正的板卡)產生采樣數據。程序流程見圖1,在程序的開始,調用PCI—9112控件的方法StartContAI來激活連續的AI, 當采樣完成時,會自動激活PCI—9112控件的事件AiHalfReady 0,在事件響應函數中,通過調用作圖控件的方法PlotChart 0,把采集到的數據傳送給作圖控件。這樣,我們就能不斷地在屏幕上看到采樣數據,直到程序退出。整個程序只有兩條語句需要鍵盤輸入,其余工作都是通過鼠標點擊來完成的。從這個程序您可以感受到用DAQBench的ActiveX控件來做數據采集程序是多么的簡單容易。


圖1 程序原理圖

2、編程

以下將以逐步推進(step by step)的方式,說明如何在微軟的Visual c++6.0下,運用DAQBench的ActiveX控件來完成數據采集的應用。

2.1 程序框架的建立

使用Visual C++的MFC AppWizard來建立一個基于對話框的程序框架。

通過File>>New菜單命令建立一個新的項目,其會打開New的對話框。在Projects頁面中,選擇[MFC AppWizard(exe)]項目類型,在Project name中輸入項目名稱:MZR 點0K。

在Step 1對話框選擇[Dialog based]選項, 點Finish>>點0K。

這樣,應用程序向導會構建一個新的項目和程序的框架,并自動在對話框編輯器中打開程序對話框。

2.2 加載DAQBench控件

把需要的ActiveX控件添加到控件工具欄(Control Toolbar)的步驟如下:

(1) 選擇Project>> Add To Project >>Components And Controls?項目,然后,在接著出現的對話框中,使用鼠標雙擊Registered ActiveX Controls目錄條目。這樣就會打開一系列計算機上已經安裝和注冊的ActiveX控件清單。選擇并插入需要的ActiveX控件到您的項目和控件工具欄中。

(2) 選擇繪圖ActiveX控件(文件名)DAQBench DChart Control—(ADLINK),單擊Insert按鈕,在隨后的對話框中使用鼠標點選OK,接受缺省的類名和文件名。

(3) 選擇數據采集ActiveX控件(文件名)NuDAQ PCI—9112 Control—(ADLINK),單擊Insert按鈕,單擊確定按鈕,單擊OK按鈕,接受缺省的類名和文件名。

(4) 添加完畢,返回Components And Controls Gallery對話框,單擊Close按鈕。

這樣,就在對話框編輯器的控件工具欄中,加進了繪圖控件DAQBench DChart Control和數據采集控件NuDAQ PCI—9112 Control,可以方便地將控件加入到對話框中。

2.3 程序設計

將控件添加到控件工具欄之后,就可以在設計應用程序的用戶界面時使用控件了。開發者可以使用對話框編輯器將控件放置在對話框上。具體操作步驟如下:

刪除窗體上帶TODO消息的靜態文本控件,并刪除確定按鈕。

單擊Controls工具條底部的DChart按鈕,并通過鼠標點擊把它放在對話框中,ActiveX控件可以象標準Windows控件一樣插入對話框,并可調整位置與大小。

選擇Controls工具條底部的PCI—9112按鈕,把它放在對話框中適當的位置,右鍵點擊對話框中的PCI—9112控件,在打開的菜單中選擇屬性(Properties),就會出現一個帶有各種不同屬性字段的屬性頁對話框。通過屬性頁對話框,你可以對這個特定的控件進行設置,具體數值見表1。


表1 控件NuDAQ PCI-9112 Control屬性設置

在用戶使用控件編寫程序之前,要先為該控件設定一個變量名稱。下面為作圖控件和采樣控件設定相應變量:通過快捷鍵Ctrl+W,打開MFC Class Wizard對話框,在Member Variables標簽中將Class name設置為CMZRDlg,通過Add Variables?按鈕給其中的控件標識號添加變量,變量的定義見表2。


表2 對話框中相應控件變量的

定義PCI—9112控件的事件處理函數,通過快捷鍵Ctrl+W,在MFC Class Wizard窗口中,按下Message Maps 標簽并在Object Ids字段中選IDC_PCI9112CTRLI控件,在Messages字段中選AiHalfReady,單擊Add Function按鈕,添加數據采集控件的AiHalfReady消息響應函數,接受缺省的函數名,單擊Edit Code按鈕以定位到該函數,在其中加入下列代碼:

void
CMZRDlg::OnAiHalfReadyPci9112ctrl1(VARIANT FAR*ScaledData,VARIANT FAR*BinaryCodes)
{
//TODO:Add your control notification handler code here
m_Chart.PlotChart(ScaledData);// 將ScaledData中的采樣數據傳遞給作圖控件。
}

在初始化函數中啟動數據采集函數:

定位到對話框初始化函數void CMzRDlg::OnInitDialog(),在其結尾return TRUE;語句之前加入下列語句
BOOL CMZRDlg::OnInitDialog()
{
CDialog::OnInitDialog();
/TODO :Add extra initialization here VARIANT Filename;
m_Pci9112.StartContAI(Filename);//激活連續
return TRUE; //return TRUE unless you set the focus to a control


2.4 程序測試

通過按Ctrl_F5鍵直接在Developer Studio中運行程序,運行結果如圖2所示。


圖2 運行結果

開發環境:本文假設您已經安裝了Visual C++6.0和DAQBench和PCIS—OCX。

DAQBench和PCIS—OCX這兩個軟件可從凌華公司的網站(http://www.adlinktech.com/download area/software.htm)下載。

3、結束語

DAQBench提供了6O余種ActiveX控件,可以幫助您快速地完成量測及自動化控制的應用系統。說的更簡單一點,您可以把DAQBench想像成一套積木,里面的每一塊積木都有特定的形狀。您只要選擇適當的積木, 便可以拼出各式各樣您想要的東西。用DAQBench來開發程序也是這樣,您只要選擇適當的控制元件,將它們拼湊在一起,便可以完成您的應用系統開發。由于ActiveX控件技術具有代碼的可移植性和復用性,具有開發成本低,執行效率佳,程序彈性大,開放性架構易于擴充等優點,DAQBench擁有越來越多的用戶群。

如果使用傳統的API或DLL編程來完成上述功能,至少需要幾百行代碼。對于所有用戶,DAOBench都能使人機界面的開發變得更輕松也更有效率。通過直觀的圖形界面,使用戶很容易用他們自己的HMI來完成更多的工作。非編程人員或只擁有很少編程背景的人員,都能用很少的工作來創建相當有效的系統。使用戶可以專注于解決測量和控制問題,而無需受困于編程過程。

為用戶的操作構建一種有效的人機界面(HMI)純粹是一種個人行為,因為每一種安裝都不一樣,都具有不同的要求、目標及需求。因此為您的操作創建一種合適的人機界面,意味著需先徹底了解您的過程及其周邊系統……然后再從能對它們進行監控及調整的角度來創建對這些過程的反應。選擇何種方式來創建或加強您的HMI,在很大程度上取決于您個人的偏好及能力,永遠都不會有“唯一”的方式。HMI最終將向零編程方向發展。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
主站蜘蛛池模板: 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 纳米二氧化硅,白炭黑,阴离子乳化剂-臻丽拾科技 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | SEO网站优化,关键词排名优化,苏州网站推广-江苏森歌网络 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 全国冰箱|空调|洗衣机|热水器|燃气灶维修服务平台-百修家电 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 客服外包专业服务商_客服外包中心_网萌科技| 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 护栏打桩机-打桩机厂家-恒新重工| 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 |