vs2013不用mscomm vn控件控件,可以编写mfc程序控制plc吗,有没有简单的例子提供学习一下,拜托了

PLC论坛-论坛 2004年5月 主题列表-中华工控网-Gkong.com
中华工控网
论坛 2004年5月主题列表  
您可以使用 Ctrl+F 键来在本页搜索您需要的主题,。
(174/-5-5 |
(32/-3-27 |
(30/-5-6 |
(70/-5-21 |
(981/1-5-31 |当前页面:&&&&&在DELPHI中使用MSCOMM控件对OMRON
PLC进行监控
在DELPHI中使用MSCOMM控件对OMRON
PLC进行监控
人气:4554
摘要:本文介绍了在Delphi编程方式下采用Mscomm控件实现工业现场数据交换的方法,并给出一个编程的例子。
1 前言  Delphi 是当今世界上最优秀的WINDOWS开发工具之一,它的可视化开发环境让用户在windows平台上快速开发出32位的windows应用程序,它以其良好的图形用户接口(GUI)、面向对象的程序设计和结构化的事件与驱动编程模式,使得编程效率提高,现场应用功能大大增强。殴姆龙株式会是全球知名的自动化控制和电子设备制造厂商,掌握着世界领先的自动化控制核心技术。OMRON公司的C200H系列具有可靠性高、功能强大、编程方便等优点,在工业控制中占据着很重要的地位。本文就Windows95操作系统下用Delphi3.0开发数控上浆机的监控程序为例,具体探讨使用MSComm控件对OMRON PLC进行串行通信的实现方法。整个通讯电路结构框图如下: 2. MSComm控件简介  Microsoft
Communication Control (简称MSComm)是Microsoft公司提供的简化Windows下进行串行通讯编程的ActiveX控件.      ActiveX是Windows下进行应用程序开发的崭新技术,它的核心内容是组件对象模型COM。 ActiveX控件包括一系列的属性、方法和事件,使用ActiveX控件的应用程序和ActiveX控件之间的工作方式是客户/服务器方式,即应用程序通过ActiveX控件提供的接口来访问ActiveX控件的功能。  MSComm控件实际上是一些Windows
API函数的有机集成,它以属性和事件的形式提供了对Windows通讯驱动程序API函数接口,为应用程序提供了通过串行接口收发数据的简便方法。因此,程序员只需在程序中设置和监视MSComm控件的属性和事件即可完成对串口的编程。MSComm控件提供了两种处理通讯的方法:一是事件驱动方法;一是查询方法。2.1事件驱动法  OnComm事件是MSComm控件提供的唯一的事件,当有数据到达端口或端口状态发生改变或有通讯错误时,都将触发OnComm事件,以获取和处理这些通讯事件和通讯中产生的错误,通过查询CommEvent属性值,可以获得关于通讯事件和通讯错误的完整信息,进而进行处理。这是一种功能很强的处理串行口错误的方法,具有程序响应及时,可靠性高的优点。2.2查询法  MSComm控件的CommEvent属性返回通讯中产生的事件和错误类型,由控件自动检测和跟踪通信状态后设置。然后由控制软件进行分析和处理。3. OMRON
PLC串行通信协议本例使用RS-232连接实现上位机链接.(1:1连接)要启动上位机链接通讯,必须预先在PC设置好下述参数通讯方式设置通讯方式为上位机链接通讯(缺省设置)RS-232端口:置DM6645的位12~15为0节点号设置当使用1:1连接时,设PC节点号为00RS-232端口:置在DM6648的位00~07中标准端口设置RS-232端口:置在DM6645的位00~03(0:标准;1:用户)下表列出标准设置FCS(帧检查顺序码)  当传送一个帧时,在定界符或终止符前面安排一个FCS码,以检查传送时是否存在数据错误。FCS是一个转换成2个ASCII字符的8位数据。这8位数据为从帧开始到帧正文结实(FCS芝前)所有数据执行“异或”操作的结果。每次接受到一帧,计算FCS,与帧中所包含的FCS作比较从而检查帧中间的数据错误。3、编程实现3.1初始化Mscomm控件。  首先生成一个Form取名为Mainform。从VCL中拖取一个Mscomm放在Mainform上。在Mainform中将串行口打开。程序如下:procedure TMainForm.FormCreate(Sender: TObject);var
temp,loop:begin
mscomm1.RTSEnable:=
mscomm1.NullDiscard:=
mscomm1.InputLen:=0;
if mscomm1.PortOpen=false then
mscomm1.PortOpen:=
mscomm1.DTREnable:=
mscomm1.OutBufferCount:=0;
mscomm1.InBufferCount:=0;
loop:=ReadDM(0000);
loop:=trunc(0.25*loop)
Label35.Caption:=IntToStr(Trunc(loop));
//显示温度
maintimer.Enabled:=
temp:=ReadDM(0010);
temp:=trunc(0.25*temp)
Label33.Caption:=inttostr(temp);
//显示温度设置上限
Label39.Caption:=inttostr(readCNTSV(0100) div 60);
//显示设置时间
Label41.Caption:=分;
YNPanel.SendToB
RadioButton1.Checked:=
WriteDM(6600,0101);Mscomm的其它属性可以取默认属性。3.2数据的发送和接收  现场采集的数据存放在PLC中的DM区中。监控程序通过串口提取或修改DM区的数据。提取数据:function
TMainForm.ReadDM(value:string):var
loop1,loop2,loop3,loop4:
outdata,indata:
loop:string[20];begin
while i<3 do
indata:=mscomm1.I
outdata:=@00RD+value+0001+fcs(@00RD+value+0001)+*+char(13);
mscomm1.Output:=
sleep(10);
indata:=mscomm1.I
if (loop[6]=0) and (loop[7]=0) then
(ord(loop[0])=15) then
if ((ord(loop[8])-57)<=0) then
loop1:=ord(loop[8])-48
loop1:=ord(loop[8])-55;
if ((ord(loop[9])-57)<=0) then
loop2:=ord(loop[9])-48
loop2:=ord(loop[9])-55;
if ((ord(loop[10])-57)<=0) then
loop3:=ord(loop[10])-48
loop3:=ord(loop[10])-55;
if ((ord(loop[11])-57)<=0) then
loop4:=ord(loop[11])-48
loop4:=ord(loop[11])-55;
result:=loop1*4096+loop2*256+loop3*16+loop4;
result:=0;
result:=0; 发送数据:function
TMainForm.WriteDM(value1:value2:string):var
outdata,indata:
loop:string[20];begin
indata:=mscomm1.I
outdata:=@00WD+value1+value2+0001+fcs(@00WD+value1+value2+0001)+*+char(13);
mscomm1.Output:=
sleep(10);
indata:=mscomm1.I
if (loop[6]=0) and (loop[7]=0) then
考虑到文章的篇幅有限,程序就简要介绍到这里。4、结束语  基于以上方法,笔者成功地开发了数控上桨机监控系统。该系统具有用户界面友好,操作和维修方便、简单,系统健壮等优点。参考文献1.《Pc/Pentium 实用技术指南》(美)Peter Norton 著,张载鸿、张昆藏译,张昆藏、段爱民审核,清华大学出版社、西蒙与舒斯特国际出版公司。
2.《DELPHI2.0从入门到精通》徐新华著,龙门书局科学出版社。3.OMRON 公司 C200HX/ C200HG/ C200HE编程手册。
更多内容请访问 中国工控网()
手机扫描二维码分享本页
工控网APP下载安装
工控速派APP下载安装
提点建议:
,请填写评语后直接提交。
&&匿名留言
看过的用户还看过
扫描二维码关注微博
扫描二维码关注微信VB.NET Shop
Sorry, these pages use frames, but unfortunatelay your
browser doesn't support them.有没有大佬知道如何在 VS2010MFC
MSComm控件
实现串口通信的HEX发送和HEX显示 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
有没有大佬知道如何在 VS2010MFC
MSComm控件
实现串口通信的HEX发送和HEX显示
20:27:35  
有没有大佬知道如何在 VS2010MFC&&MSComm控件& &实现串口通信的HEX发送和HEX显示& &,求程序,感激不尽。
08:49:32  
不要做伸手party,这个习惯不好
13:00:47  
要完成hex文件的打开与读取操作
可以使用VS2010中的file控件。
至于显示,你可以做一个text box来显示
高级工程师
发表于 7&天前  
这样的例子很多啊,,百度搜索一下就可以了,,可以参考VC的串口编程,,一般源码里面都会有
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司思路,编写一个能与 CAN
总线通信的上位机MFC软件
[问题点数:40分,结帖人fengfeng985]
本版专家分:1
结帖率 33.33%
CSDN今日推荐
本版专家分:41715
2012年4月 VC/MFC大版内专家分月排行榜第二
2012年5月 VC/MFC大版内专家分月排行榜第三
本版专家分:1
本版专家分:6389
本版专家分:1
本版专家分:41715
2012年4月 VC/MFC大版内专家分月排行榜第二
2012年5月 VC/MFC大版内专家分月排行榜第三
本版专家分:1
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐

我要回帖

更多关于 activex控件怎么安装 的文章

 

随机推荐