- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACR控制器上位机程序开发(MFC)
Parker为ACR系列控制器提供了ComACRSrvr.dll动态链接库供我们开发其上位机程序。下面对使用MFC开发上位机程序做一个简要说明。
首先,将ACR-View软件安装到PC机上。这里我们使用的ACR-View软件版本号为5.5.5。MFC开发工具为VC++6.0英文版。
新建工程
下面我们新建一个MFC工程,我们为工程起名为“ACR9000”。如图1-1所示:
图1-1
单击“OK”按钮,我们这里建立一个基于对话框的工程。根据向导完成工程创建。
添加动态链接库
我们先要找到ComACRSrvr动态链接库文件。
我们在安装ACR-View时,软件会自动在 “C:\WINDOWS\system32”文件夹下安装“ComACRsrvr.dll”及“ComACRsrvr.tlb”文件,我们将这两个文件复制到
刚才新建的MFC工程所在的文件夹中。这里我们将这两个文件复制到“E:\VC\ECET”(工程所在路径见图1-1)文件夹中。如图2-1示:
图2-1
下面添加动态链接库:
在MFC开发环境中,选择“View”菜单下的“ClassWizard”,弹出“MFC ClassWizard”对话框,单击该对话框右上角的“Add Class”按钮,从中选择“From a type library”。如图2-2所示:
图2-2
在弹出的“Import from Type Library”对话框中,选择刚才添加的“ComACRSrvr.dll”或“ComACRSrvr.tlb”文件,单击“打开”按钮,如图2-3示:
图2-3
弹出“Confirm Classes”对话框。如图2-4示:
图2-4
该对话框列出了ComACRSrvr动态链接库为我们开放的接口,我们从中选择需要用到的接口。
注:ComACRSrvr为我们开放了四个接口
IStatus:用于控制器中数据的读取
IUtility:用于程序的上传、下载
ITerminal:用于发送、接收字符串数据
IControl:用于对控制器中的数据赋值,发送控制指令
详细的接口说明请参考ComACRSrvr.pdf手册
这里我们添加IStatus及IControl接口,这两个接口也是最常用的。MFC会自动生成“ComACRsrvr.h”及“ComACRsrvr.cpp”文件。单击“OK”按钮,完成动态链接库的添加。
方法2:采用Import加载类库文件。
在StdAfx.h加入下面这条语句:
#import ..\ComACRsrvr.tlb no_namespace named_guids
注:要将ComACRsrvr.tlb文件放到工程文件的外面。如下图示:
初始化工作
我们可以参考Parker为我们提供的demo程序,比如MFCJOG,打开“Find In Files”对话框,在“Find what”中输入“**ADDAD**”,来查看编程人员自己添加的内容。
下面我们开始编写自己的MFC程序
在CACR9000App类的InitInstance()成员函数中添加下段代码:
AfxOleInit();
如图3-1所示:这一步是COM组件初始化所必须的。
图3-1
2.添加ReadStatus类
为了方便我们读取控制器中的数据,Parker为我们提供了ReadStauts类。ReadStatus.cpp及ReadStatus.h文件可以在Parker提供的demo程序中找到,并将其拷贝到工程所在文件夹(ACR9000)下。下面我们把这两个文件加入到自己的工程中。
依次选择菜单项“Project”-“Add To Project”-“Files”,如图3-2示:
图3-2
从弹出的对话框中选则ReadStatus.cpp及ReadStatus.h文件并选中,单击“OK”按钮,如图3-3示:
这样ReadStatus类就加入到我们的工程中。
图3-3
3.添加头文件
在ACR9000Dlg.cpp文件中包含“ReadStatus.h”文件。如图3-4示:
#include ReadStatus.h
图3-4
在ACR9000Dlg.h文件中包含“ComACRsrvr.h”文件及ReadStatus类的声明。如图3-5示:
#include ComACRsrvr.h
class ReadStatus;
图3-5
4.创建对象
首先,在CACR9000Dlg类中添加三个指针型成员变量,分别指向IControl、IStatus接口及ReadStatus对象:如图3-6所示:
IControl* m_Cntl;
IStatus* m_Stat;
ReadStatus * m_workerEvent;
图3-6
方法2:创建智能指针对象:
在CACR9
您可能关注的文档
- 《7015-ISO9000术语及推行益处》.doc
- 《7031-北大MBA原文案例库》.doc
- 《70款国外创意logo标志设计欣赏.PPT》.doc
- 《7338B-7938C-NSK角接触球轴承参数》.doc
- 《7432_PCB_Designs_FINAL》.pdf
- 《750m3高炉技术操作规程》.doc
- 《7647.Linux信息安全实用教程》.pdf
- 《770-002 OE Standalone Edtion Hello world》.pdf
- 《7710Z-SCC-9000_TC》.pdf
- 《78208_33663_8通风与空调系统管材、管件和部件》.ppt
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
文档评论(0)