安全生产
首页资讯供应求购招商招聘展会社区
长期信息合作请联系:QQ66821730
PLC技术首页-->PLC基础plc应用PLC文案资料PLC手册国标规程plc资料下载技术培训人才招聘职业认证产品商情论坛
PLC搜索
我 要 找
标题 内容 作者
PLCRSS订阅PLC技术信息
电工技术资料 您的位置: 机电之家-->plc技术资料栏目首页-> PLC基础 -> PLC通信 --> 在VC++中利用ActiveX控件开发串行通信程序
阅读plc技术相关资料
在VC++中利用ActiveX控件开发串行通信程序
本文作者 不详 摘自 机电之家

 摘  要:探讨在使用Visual C++编程时利用Microsoft Communications Control控件编写串行通信程序的方法,并给出了例程,具有一定的实用意义。
    关键词:Visual C++ 串行通信 ActiveX
    在开发微机控制系统的过程中,我们经常需要通过RS-232串行接口与外部设备进行通信。例如分级控制系统中上位机与下位机的数据交换以及数据采集系统中计算机与数字仪表的通信等。在DOS时代,编写串行通信程序是一件相当复杂的工作,程序员需要具备相当的硬件知识,对可编程串行通信接口芯片的内部寄存器定义、工作方式、指令字等相关内容有所了解,才有可能着手编写程序,大量的时间和精力都花在了如何与硬件打交道上,而不是花在我们的主要目的——获取与处理数据上;在Windows下,Win32API提供了使用CreateFile/WriteFile等文件I/O函数进行串行口操作的方法,但是在实现上仍然是相当烦琐的。幸运的是,Windows平台先进的ActiveX技术使我们在对串行口编程时不再需要处理烦琐的细节。利用已有的ActiveX控件,我们只需要编写少量的代码,就可以轻松高效地完成任务。本文以Windows 98下用Visual C++6.0开发PT650C秤重显示器的通信模块为例,探讨了使用Microsoft Communications Control控件进行串行通信的方法。
1 ActiveX控件介绍
    ActiveX是Windows下进行应用程序开发的崭新技术,它的核心内容是组件对象模型COM(Component Object Model)。ActiveX控件包括一系列的属性、方法和事件,使用ActiveX控件的应用程序和ActiveX控件之间的工作方式是客户/服务器方式,即应用程序通过ActiveX控件提供的接口来访问ActiveX控件的功能。

    Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法,一是查询法。

1.1 事件驱动法
    在使用事件驱动法设计程序时,每当有新字符到达,或端口状态改变,或发生错误时,MSComm控件将解发OnComm事件,而应用程序在捕获该事件后,通过检查MSComm控件的CommEvent属性可以获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。
1.2 查询法
    这种方法适合于较小的应用程序。在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性以检查执行结果或者检查某一事件是否发生。例如,当程序向串行设备发送了某个命令后,可能只是在等待收到一个特定的响应字符串,而不是对收到的每一个字符都立刻响应并处理。
    MSComm控件有许多重要的属性,其中首要的几个如表1所示。
表1
属性
说明
CommPort 设置/获取控件对应的串行口
Settings 设置/获取波特率、校验方式、数据位、停止位
PortOpen 打开/关闭通信口
Input 读取数据
Output 发送数据
2 编程实现
    在使用MSComm控件开发PT650C秤重显示器通信程序时,采用了事件驱动法,主要是在comEvReceive(接收到数据)事件发生时响应并获取缓冲区中的数据。以下具体介绍实现方法。
    打开Visual C++6.0集成开发环境,创建一个基于对话框的MFC应用程序项目,命名为MyCOM,记住在设置项目选项时必须选上ActiveX Controls,其他的按照缺省设置。完成这一步后,选择菜单项Project/Add to Project/Components and Controls……,将弹出一个对话框以选择系统中已有的组件(Components)和控件(Controls)。选择Registered ActiveX Controls文件夹下的Microsoft Communications Control项并按下Insert按钮,将MSComm控件支持加入到本项目中。这时将生成一个名为CMSComm的C++类,并且在对话框编辑器里的工具栏将出现MSComm控件图标。CMSComm类是由MSComm控件导出的一系列接口函数构成的,利用它将可以访问MSComm控件的属性(Property)和方法(Method)。
    假设PT650C秤重显示器接在计算机COM1口上,那么打开资源编辑器,在程序主对话框(资源ID为IDD_MYCOM_DIALOG)上面放置一个MSComm控件,并用Class Wizard为该对话框类添加对应该控件的成员变量m_wnd COM1。由于PT650C秤重显示器与计算机进行串行通信时采用7个数据位、1个停止位、偶校验方式,并且波特率为2400/4800/9600可选,这里我采用9600波特率,在对话框编辑器中设置MSComm控件的属性如下:
ID:IDC_COM1(资源ID)
CommPort:1 (COM1)
Settings:9600,e,7,1(波特率9600,偶校验,7个数据位,1个停止位)
RThreshold:(每接收到1个字符就触发一个接收数据事件)
SThreshold:0(不触发发送缓冲区空事件)
InputLen:1(每次读操作从缓冲区中取一个字符)

[本文共有 3 页,当前是第 1 页] <<上一页 下一页>>

 在VC++中利用ActiveX控件开发串行通信程序相关资料
  • GPRS无线变频器通信解决方案
  • 三菱CNC如何实现主轴换挡
  • 基于嵌入式网络模块的HTTP数据采集方案
  • 日立PLC在中央空调节能系统中的应用
  • ATMEL AT91SAM9261便携式手持应用解决方案
  • 三旺串口服务器致力于智能小区解决方案
  • 罗升企业推出嵌入式存储—整体解决方案(一)
  • 石油行业数据采集组网解决方案
  • 超远距离的视频监控系统应用解决方案
  • 罗升企业推出嵌入式存储-整体解决方案
  • ⊕这地方投资政策最优
    ⊕上千份机电行业研究报告
    ⊕机电项目招商啦
    ⊕谁把我买了?
    ⊕机电行业展会大全
    ⊕十万企业抢登行业网址大全
    机电之家会议开通
    ⊕每日最新求购信息
    ⊕电工技术资料为了谁?
    ⊕机电设备维修与管理
    机电之家(中国)plc技术资料中心资讯版权声明:
    1、凡注明“机电之家采编”字样的所有作品均系本网原创,版权归机电之家所有,任何媒体摘编或享用本作品,需注明文章来源。违反声明者,本网将追究其相关法律责任。
    2、凡本网注明“来源:XXX网(非本网)”的作品,均转载自其他媒体,目的在于传达更多资讯,本网不承担相关法律责任。

    3、如在资讯、广告等方面想与本网合作,请致电:0571-87774297。Email:donemi@hz.cn

    ·工程项目经理培训
    ·欧姆龙PLC编程维护培训
    ·杭州西门子PLC应用培训
    ·模具加工设计培训
    ·变频器维修培训
    ·安全员认证培训
    ·电工培训


    ·招聘项目管理人员
    ·首席技术执行官
    ·自控工程师
    ·数控编程学徒
    ·总工程师

    最新商业情报
    代理
    [代理] 寻求地区代理
    [代理] 电工产品诚招代理..
    采购
    [采购] 电动车控制器外壳
    [采购] 高品质缓冲器
    论坛最新话题
    ·超级搞笑的安全事故
    ·电工技术资料flash大全
    ·最新的搞笑图片
    ·工控行业应用软件下载
    合作网站:
    | 中国机电网机电之家安全生产网 | 机电论文 | 机电论坛 | 机电设备贸易 | 机电网址大全 | 浙江机电网 | 陕西机电网 | 变频器技术网 |
    中国电工网 | 电工网 |环球会展网机电产品网 | 机电人才网 | 中国工控网 | 五金工具网 | 安全生产网 | 甘肃机电网 | PLC技术网 |
    友情连接:
    | 中国机电网 | 哆来咪网 | 中国工控网 | 行业培训网 | 中国工程机械网 | 机电一体化网 | 行业下载网 | 行业国标网 | 商业情报站 |
    关于我们 | 联系我们 | 广告联系 | 付款方式 | 使用帮助 | PLC技术网 | 会员助手 | 友情链接
    电话:0571-87774297(杭州) 传真:0571-87774298(杭州)点击这里给我发消息66821730(技术) 点击这里给我发消息58733127(审核)
    机电之家 PLC技术网 站所共享的PLC知识,PLC技术,PLC应用,PLC行情分析,PLC学习资料,PLC国标规程,PLC维修知识,
    PLC国家标准,PLC操作规程,PLC岗位职责,PLC管理制度,PLC工作总结,PLC实习报告,PLC考试题库,
    等都是来自会员发表或 网上收集整理。如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。
    企业登陆可自行免费发布资料,本站代发布邮箱为88ctv@163.com
    Copyright 2007 plc.jdzj.com Inc All Rights Reserved.PLC技术网
    chinaplc.net 联合建设
    技术支持:PLC技术网 mailto:88ctv@163.com
    免费发布信息主办:浙江-杭州-PLC技术网网络运营部安全生产