侵权投诉

搜索
更多>> 热门搜索:
订阅
纠错
加入自媒体

基于C++Builder API函数的欧姆龙PLC串行通信

2012-11-21 10:53
Radow
关注

1 引言

  计算机串行通信是计算机与控制设备(plc)进行数据传送的基本通信方式,也是实现工业自动控制经常用到的通信模式。每一种通信方式都严格约定了与其对应的通信协议,要确保计算机与plc之间能正常通信,就必须遵照其通信协议编写通信程序。

2 串行通信

  串行通信在工业系统控制的范畴中一直占据着极其重要的地位,串行端口(rs-232)是计算机上的标准配置,常用于连接调制解调器来传输数据,在计算机的硬件设备管理器中可以看到,定义为com1、com2等。常用的串行通信方式有两种,分别是rs-232和rs-485,本文以rs-232方式为例进行介绍。

3 上位机编程

  3.1 c++builder编程

  c++builder是由borland公司推出的产品。它采用c++语言作为开发语言,是面向对象语言,具有可视化编程界面且功能强大。

  3.2 c++builder串行通信相关api函数

  c++builder本身并不提供单独的串行通信组件,而是使用一些windows api的函数来达到此目的。这些函数是由操作系统所提供,可以为程序设计人员提供相当多的执行功能。api中与串行通信相关的函数约有20个,本文将对经常使用的函数作讨论。

  (1) 打开串行端口

  hcomm=createfile(comno,generic_read|generic_write,0,null,open_existing,0,0)

  函数参数定义如下:

  hcomm:createfile()函数的返回值,程序使用此返回值进行相关的串行端口操作。

  comno:定义串行端口号,为com1、com2等。

  generic_read|generic_write:对串行端口的读/写操作。

  0:是否共享串行端口,通常不会将串行端口与其它程序共享,因此设为0,否则为1。

  null:函数的返回值hcomm是否可被子程序继承,此处设为不可继承。

  open_existing:打开端口的方式,串行端口是一种设备,必须指定为open_existing方式。

  0:使用同步或异步方式传输数据,同步方式编程简单,速率快,因此设为0,否则为1。

  0:由于使用串行端口编程,设为0。

  (2) 得到串行端口状态:

  getcommstate(hcomm,&dcb)

  函数参数定义如下:

  hcomm:createfile()函数的返回值。

  dcb:串行端口控制块地址,负责对串行端口参数进行设置,具体参数如下:

  dcb.baudrate:设置串行端口的波特率,有19200kb/s、9600kb/s、4800kb/s几种,一般为:9600kb/s。

  dcb.bytesize:设置串行端口的数据位数,有5、6、7、8几种,欧姆龙plc数据位数为7。

  dcb.parity:设置串行端口的校验位检查,有none、even、odd几种,设为none。

  dcb.stopbits:设置串行端口的停止位数,有1、1.5、2几种, 欧姆龙plc的停止位数为1。

1  2  3  4  5  6  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号