用vb实现欧姆龙plc及计算机间的串行通信

用vb实现欧姆龙plc及计算机间的串行通信

ID:20703876

大小:61.50 KB

页数:7页

时间:2018-10-15

用vb实现欧姆龙plc及计算机间的串行通信_第1页
用vb实现欧姆龙plc及计算机间的串行通信_第2页
用vb实现欧姆龙plc及计算机间的串行通信_第3页
用vb实现欧姆龙plc及计算机间的串行通信_第4页
用vb实现欧姆龙plc及计算机间的串行通信_第5页
资源描述:

《用vb实现欧姆龙plc及计算机间的串行通信》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、用VB实现欧姆龙PLC及计算机间的串行通信  1引言  在工业控制领域中,plc作为一种稳定可靠的控制器得到广泛的应用。但它也有自身的一些缺点,即数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。而计算机恰好能弥补plc的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面。将plc与计算机结合,可使系统达到既能及时地采集、存储数据,又可处理和使用好数据,两者结合的关键是plc与计算机之间的通信。本文以omron公司的cpmia小型plc为例,详细的讨论了plc与计算

2、机通信的原理和用vb如何实现plc与计算机的通信。  2通行原理与方法  上位机要能够通过plc监控下层设备的状态,就要实现上位机与plc间的通信,一般工业控制中都是采用rs232c实现。上位机首先向plc发送查询数据的指令(实际上是查询plc中端子的状态和dm区的值等),plc接收了上位的指令后,进行校验(fcs校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。否则,plc拒绝向上位机传送数据。上位接收到plc传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。  由

3、于cpm1a没有提供串行通信口,我们利用其提供的外设端口实现通信。plc与计算机之间的连接是通过omron提供的专用电缆cqm1-cif01来实现的,其硬件连接图如图1所示。    3plc与计算机间的通信规约  计算机与plc间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。首先,计算机向plc发出命令帧,然后,plc作出响应,向计算机发送回响应帧。其中命令帧和响应帧的格式如下:  (1)命令帧格式。为了方便计算机和plc的通讯,cpm1a对在计算机连接通信中交换的命令和响应规

4、定了相应的格式。当计算机发送一个命令时,命令数据主准备格式如图2所示。    其中@放在首位,表示以@开始,设备号为上位机识别所连接的plc的设备号。识别码为命令代码,用来设置用户希望上位机完成的操作,fcs为帧检验代码,一旦通信出错,通过计算fcs可以及时发现。结束符为“*”和cr回车符,表示命令结束。  (2)响应帧格式。由plc发出的对应于命令格式的响应帧格式如图3所示。    其中,异常码可以确定计算机发送的命令是否正确执行。其它的与正文中的含义相同。正文仅在有读出数据时有返回。  4通信程序的设

5、计  为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与plc的通信,计算机向plc发出命令发起通信,plc自动返回响应。本文中采用vb来编写计算机与plc间的通讯程序。在vb中提供了通信控件—应用通信控件(mscomm),实现通过串行端口传送和接受的功能。  下面介绍mscomm控件的属性:  *commport:设定通信连接端口代号,程序必须指定所要使用的串行端口号,WINOOWs系统使用所设定的端口与外界通信。  *portopen:设定通信口状

6、态,若为真,通信端口打开,否则关闭。  *settings:设定通信口参数,其格式是”bbbb,p  ,d,s”,其中bbbb为通信速率(波特率),p为通信检查方式(奇偶校验),d为数据位数,s为停止位数,其设定应与plc的设定一致。  *input:将对方传送至输入缓冲区的字符读入到程序。  *output:将字符写入输出缓冲区。  *inbuffercount:传回接收缓冲区中的字符数。  *outbuffercount:传回输出缓冲区中的字符数。  *inputlen:设定串行端口读入字符串的长度。

7、  *inputmode:设定接收数据的方式。  *rthreshold:设定引发接收事件的字符数。  *commevent:传回oncomm事件发生时的数值码  *oncomm事件:无论是错误或事件发生,都会触发此事件。  (1)控件参数的初始化。  初始化程序如下:  mscomm.comport=2`使用串口com2  mscomm.settings=“9600,e,7,2”`波特率9600,偶校验,7位数据位,2位停止位  mscomm.portopen=true`打开通信端口,准备通信  (2)

8、计算校验码fcs,计算fcs的vb自定义函数如下:  functionfcs(byvalinputstrasstring)asstring  dimslen,i,xorresultasinteger  dimtempfesasstring  slen=len(inputstr)`求输入字符串长度  xorresult=0  fori=1toslen  xorresult=xorresultxorasc(mid$(inputst

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。