My Blog! blog.gkong.com   

Tip of my blog

新年快乐!


阅读(11823) 评论(2)
标签(TAG):串口通信

在仪器仪表和工业控制上我们经常都要进行串口编程通信,比如变频器、伺服控制器

、传感器仪表、PLC、串口打印机等很多都提供了串口通信功能。所以工控程序员常握

串口通信编程是必需的。

串口的通信在终端上一般都是RS-232接口,有的也直接提供了RS422或RS485。RS-232

由于是单端通信所以通信距离很小(只有10几米)而且抗干扰能力弱,而RS422和

RS485的信号是差分的,所以通信距离远,RS485还具有组网的功能,对于RS485,我们

还要注意给它加两端加上终端电阻,终端电阻主要用于匹配线路的特征电阻,就相当

于游泳池里的防波墙,在终端处吸收了信号,不让信号返回网络中造成信号混浊。

在串口编程中我们用得最多和易用的是Mscomm控件,但它有一个致命的缺点:

Mscomm.ocx是一个ActiveX控件。也就是说,如果在项目上用上10个串口,就要新建10

个Mscomm控件实例(Mscomm只能在一个对话框中支持 10多个串口实例)。而且

Mscomm.ocx必需在一个窗体对象中创建才行,在MFC中只能在dialog, MainFrame,View

等继承自CWnd类的窗体对象中才能创建。VB、C#其实也是一样道理。

所以当我们想在一个独立线程中(比如后台监测线程)加入串口通信代码时,Mscomm
就不能用。而只能用WIN API 或者其它的串口类库,WIN API固然最灵活和最高效,但

他的难度也最大,我在维护一个日本人用VC++5.0&MFC 写的一个工控程序就是完全不

用第三方控件和类库,完全是纯MFC代码。里面的和伺服控制器通信的代码就是用API

写的。但在工控行业,往往是项目的开发时间往往总是太小,一般情况下,最好就不

要再做前人已经做好的轮子了。

我在多年的工作中试用过不小串口类库,发现,Pcomm是一个不错的选译。现把我的一个关于用Pcomm和PLC进行通信测试的代码共享,希望对大家有一点帮助。

上位机IDE VC++2005 /MFC8.0
下位机:FX1s-30MR + 一个串口通信模块

注1:如果不买串口驼信模块,用PLC的编程口也可,本人已测试过,但编程口的通信协议没有直接用串口模块来得方便。

注2:由于我只是用该程序测试用,所以要想看运行的效果,请执行“Debug”模式,并且打开输出窗口(Output dialog)才能看到Pcomm的实际执行结果。


注3:Pcomm可在google中搜到;你也可在项目的 PcommLib中找到并有详尽的说明。
下载页面

 

by 进化中的兔子 发表于:2007/7/23 14:10:30
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

(1)PL2303是USB转串口的芯片的驱动程序,而mscomm是微软的串口ActiveX控件,两者没有直接关系。不过PL2303的驱动安装不方便,推荐你用“FTDI”芯片的USB转串口线,我们公司一直使用,非常稳定的品牌是:Z-TEK,也就是力特电子出的,特点是稳定、高速、驱动程序做得非常好(因为用的是FTDI芯片的原因)

(2)你的问题可以在我的这篇BLOG文中找到答案:http://blog.gkong.com/more.asp?name=zjcsharp&id=109677

by zjcsharp 发表于:2010/9/3 9:10:24
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

PL2303 usb1.1驱动与mscomm兼容吗

by 869572982@qq.com(游客) 发表于:2010/9/2 16:03:08
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

你好!
我正需要,请给我发一份,谢谢
liuwei.8606@163.com

by liuwei_8606(游客) 发表于:2008/9/17 15:01:47
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

高手,向你致敬,麻烦给我发一份,可以吗?谢谢

zzh3860057@yahoo.com.cn

by zhzzhz 发表于:2008/7/11 15:52:42
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

目前在做这方面的项目,麻烦给我发一份,谢谢

lxming0510@yahoo.com.cn

by luoman0510 发表于:2008/7/2 3:13:29
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

我的博客上已提供了一个PCOMM串口通信库的用例。

by zjcsharp 发表于:2008/6/23 10:35:11
回复:串口编程 - 摆脱MScomm的局限和API的复杂度的最好
引用 | 举报回复

Hi,能否给我发一个,你的帖子的确让我这个编程菜鸟吓着了。jw.han@163.com,非常感谢。

by mixer(游客) 发表于:2008/6/23 0:27:35
回复:串口编程 - 摆脱MScomm的局限和API的复杂度的最好
引用 | 举报回复

你好 我也是初学者 感谢你的帮助
·ccwtn1@sina.com

by fglll(游客) 发表于:2008/6/16 22:26:35
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

你好,不知道能否发我一份,我做的毕业设计就是这个,谢谢,谢谢!zjkjjindi521@163.com

by 阿橘(游客) 发表于:2008/4/30 16:20:42
回复:串口编程 - 摆脱MScomm的局限和API的复
引用 | 举报回复

你好 我是初学者 感谢你的帮助

vipxiaogang@sina.con

by bluebaby(游客) 发表于:2008/4/15 23:43:07
[上一页] [1] [2] [下一页]
My subject | 我的主题

New entries | 新发表

Messages Board | 留言板


Guest Comments | 新评注


Blogger Login | 登陆栏
Blog Infomation | 信息栏
博客名称:嵌入式系统&虚拟仪器 日志总数:450 评论数量:277 访问次数:1781245 建立时间::2005年10月25日
Blog Infomation | 搜索栏
Blog Infomation | 收藏栏

XML RSS 2.0

嵌入式系统&虚拟仪器
© COPYRIGHT 2004 ALL RIGHTS RESERVED http://www.gkong.com

中华工控网 | 联系我们 | 工控论坛首页 | 工控博客首页 | 博客注册 | 博客登陆

工控博客管理联系邮箱:工控博客服务邮箱

中华工控网 © Copyright 2013. All rights reserved.