pc与plc串行通讯在vb6.0 下的功能实现

pc与plc串行通讯在vb6.0 下的功能实现

ID:21757320

大小:58.00 KB

页数:6页

时间:2018-10-24

pc与plc串行通讯在vb6.0 下的功能实现_第1页
pc与plc串行通讯在vb6.0 下的功能实现_第2页
pc与plc串行通讯在vb6.0 下的功能实现_第3页
pc与plc串行通讯在vb6.0 下的功能实现_第4页
pc与plc串行通讯在vb6.0 下的功能实现_第5页
资源描述:

《pc与plc串行通讯在vb6.0 下的功能实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、PC与PLC串行通讯在VB6.0下的功能实现PC与PLC串行通讯在VB6.0下的功能实现论文:本文对FX系列PLC的通讯协议进行了具体的先容,并以VB为开发工具实现了PC机与FX系列PLC的串行通讯。关键词:PLC;串行通讯;VB6.0Abstract;ThispaperintroducesthecommunicationprotocolofFXseriesPLCandachievesserialcommunicationbetweenPCandFXserialPLC.Keywords;PLC;SerialCommunica

2、tion;VB6.01前言PLC以卓越的可靠性和方便的可编程性广泛应用于产业控制领域。实现PC机与PLC通讯的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗***术等多种功能,为PLC提供良好的人机界面。本文具体先容了FX系列PLC的通讯协议,并在Windows环境下,使用VB6.0开发通讯程序,实现了PC机与FX系列PLC之间的串行通讯。2PC机与PLC实现通讯的条件带异步通讯适配器的PC机与PLC只有满足如下条件,才能互联通讯:(1)带有异步通讯接口的PLC才能与带异步通讯适配器的PC机互联。还要

3、求双方采用的总线标准一致,否则要通过总线标准变换单元变换之后才能互联。(2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。(3)要对PLC的通讯协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通讯程序。PLC中配有通讯机制,一般不需用户编程。3PC机及与FX系列PLC的串行通讯3.1硬件连接PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-422的变换,3.2FX系列PLC的通讯协议在PC机中必须依据互联的PLC的通讯协议来编写通讯程序,因此先先容FX系列PLC的通讯协

4、议。(1)数据格式FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波特率为9600bps,字符为ASCII码。格式如下:(2)通讯命令FX系列PLC有4个通讯命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示。表中X输进继电器;Y输出继电器;M辅助继电器;S状态元件;T定时器;C计数器;D数据寄存器。(3)通讯控制字符FX系列PLC采用面向字符的传输规程,用到5个通讯控制字符,如下表所示。*当PLC对PC机发来的ENQ不理解时,用NAK回答。(4)报文格式PC机向PLC发送的报

5、文格式如下:其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII码;SUMH,SUML为从CMD到ETX按字节求累加和,溢出不计。由于每字节十六进制数变为两字节ASCII代码,故校验和为SUMH与SUML。数据段格式与含义如下:*写命令的数据段有数据,读命令的数据段则无数据。读/写字节数为01H~40H(1~64)个。PLC向PC机发送的应答报文格式如下:*对读命令的应答报文数据段为要读取的数据,一个数据占两个字节,分上位下位:对写命令的应答报文无数据段,而用ACK及NAK作为应答内容。(5)传输

6、过程PC机与FX系列PLC之间采用应答方式通讯,传输出错则组织重发。其传输过程如下:PLC根据PC机的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PLC一方编写程序。4利用VB6.0编写通讯程序下面以一个简单的例子来说明编写通讯程序的要点。假设PC机要求从PLC中读进从D123开始的4个字节的数据(D123,D124),其传输应答过程及报文如下(图略可向索取):命令报文中10F6H为D123的地址,04H表示要读进4个字节的数据。校验和SUM=30H+31H+30H+46H+36H+30H+34H+03H

7、=174H,溢出部分不计,故SUMH为'7',SUML为4,相应的ASCII码为37H,34H。应答报文中4个字节的十六进制数,其相应的ASCII码为8个字节,故应答报文长度为12个字节。根据PC机与FX系列PLC的传输应答过程编制出如下所示的通讯程序流程图略。利用VB的MSComm控件,按照流程图可以编写如下通讯程序实现PC机与FX系列PLC之间的串行通讯以完成数据的读取。MSComm控件可以采用轮询或事件驱动的方法从端口获取数据。在这个例子中使用了轮询方法。(1)通讯口初始化PrivateSubInitialize()M

8、SComm1.CommPort=1MSComm1.Settings=″9600,E,7,1″MSComm1.InBufferSize=1024MSComm1.OutBufferSize=1024MSComm1.InputLen=0MSComm1.InputMode=

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

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

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