基于C++Builder API函数的欧姆龙PLC串行通信_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于c+builder api函数的欧姆龙plc串行通信1 引言计算机串行通信是计算机与控制设备(plc)举行数据传送的基本通信方式,也是实现工业自动控制常常用到的通信模式。每一种通信方式都严格商定了与其对应的通信协议,要确保计算机与plc之间能正常通信,就必需遵照其通信协议编写通信程序。2 串行通信串行通信在工业系统控制的范畴中向来占领着极其重要的地位,串行端口(rs-232)是计算机上的标准配置,常用于衔接调制解调器来传输数据,在计算机的硬件设备管理器中可以看到,定义为com1、com2等。常用的串行通信方式有两种,分离是rs-232和rs-485,本文以rs-232方式为例举行介绍。3

2、上位机编程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_

3、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

4、:因为用法串行端口编程,设为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.stopb

5、its:设置串行端口的停止位数,有1、1.5、2几种, 欧姆龙plc的停止位数为1。(3) 设置串行端口状态:setcommstate (hcomm,&dcb)函数参数定义与getcommstate()函数相同。(4) 向串行端口写数据:writefile(hcomm,senddata,bs,&lrc,null)函数参数定义如下:hcomm:createfile()函数的返回值。senddata:写数据的地址。bs:写入数据的字节数。lrc:被写入的数据地址。null:写入数据的同步检查,串行端口采纳同步通信时可以设为null。(5) 清除串行端口的错误或将串行端口当前的数据状

6、态送至输入缓冲区:clearcommerror(hcomm,&dwerror,&cs)函数参数定义如下:hcomm:createfile()函数的返回值。dwerror:返回错误信息代码。cs:指向串行端口状态的结构变量。(6) 从串行端口的输入缓冲区读出数据:readfile(hcomm,inbuff,cs.cbinque,&nbytesread,null);函数参数定义如下:hcomm:createfile()函数的返回值。inbuff:指向用来存储数据的地址。cs.cbinque:读取数据的字节数。nbytesread:总的读取字节数。null:假如不举行后台工作,串行端口设为null。(7) 关闭串行端口:closehandle(hcomm)函数参数定义如下:hcomm:createfile()函数的返回值。4 plc通信数据帧介绍计算机与欧姆龙plc通信时,按应答方式举行。由计算机发给plc一组ascii码字符数据,这一组数据成为指令块。plc收到指令块后经分析认为指令正常,则根据指令举行操作,将操作结果返回给计算机。plc返回给计算机的这一组数据称为响应块。若plc收到指令后经分析确认指令不正常,则返回给计算机错误指令块。计算机和plc通信时,欧姆龙plc是被动的,必需先由计算机给plc发出指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论