VB-与三菱FX-PLC通信

VB-与三菱FX-PLC通信

ID:43463751

大小:630.51 KB

页数:57页

时间:2019-10-03

VB-与三菱FX-PLC通信_第1页
VB-与三菱FX-PLC通信_第2页
VB-与三菱FX-PLC通信_第3页
VB-与三菱FX-PLC通信_第4页
VB-与三菱FX-PLC通信_第5页
资源描述:

《VB-与三菱FX-PLC通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用VB6.0实现PC与三菱PLC的通信哈尔滨李松颖本文介绍的PC与三菱FX系列PLC通信,是通过PLC的编程口与PC机的串口进行的,采用SC-09编程电缆作为计算机与PLC通信的连线。电缆的9芯D形插头连接在计算机串口上,另一端连接PLC的RS-422编程口。编写PC的通信程序可采用汇编语言、各种高级语言,也可以采用工控组态软件或直接采用PLC厂家的通信软件。本文采用VB6.0软件,它必须依据所连接PLC的通信规程来编写通信协议,所以先简单介绍FX系列PLC的通信协议。一、FX系列PLC的通讯协议1.数据传输格式FX系列PLC采用异步格式,由1位起始位、7位数据位、

2、l位偶校验位及l位停止位组成,波特率为9600bps,字符为ASCiⅡ码。2.通信命令FX系列PLC有4条通信命令,即读命令、写命令、强制通命令、强制断命令。表1中,X为输入继电器;Y为输出继电器;M为辅助继电器;S为状态元件;T为定时器;C为计数器;D为数据寄存器。3.通信控制字符FZ系列PLC采用面向字符的传输规程,用到5个通信控制字符,如表2所示。4.报文格式PC机向PLC发送的报文格式如表3所示。其中,STX为开始标志;ETS为结束标志;CMD为命令的ASCⅡ码:SUMH、SUML为从CMD到ETX按字节求累加和,溢出不计。由于每字节十六进制数变为两字节ASC

3、Ⅱ代码,故校验和为SUMH与SUMI。PLC向PC机发送的应答报文格式如表4所示。二、PC通信程序的编写1.通信口初始化,MSComm控件简介:VB带有专门管理串行通讯的MSComm控件。只需设置几个主要参数就可以实现PLC与PC间的串行通讯。要完成通信必须设置MSComm的相关属性值,即通信口初始化,其步骤如下:(1)CoinmPort:设置或传回通信连接端口代号。(2)Settings:设置初始化参数。以字-符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等4个参数。(3)PortOpen:设置或传回通信连接端口的状态。(4)Input:从输入寄存器传回并移

4、除字符。(5)Output:将一个字符串写入输出寄存器。(6)InputLen:指定由串行端口读入的字符串长度。(7)InBufferCount:传回在接收寄存器中的字符数。2.通讯程序举例首先,在窗体开始设计之前,添加MSComm控件和按钮、文本框、标签等。(1)PC从PLC中读取数据假设PC要从PLC中读入从D123开始的4个字节的数据(占用两个数据寄存器:D123、D124),其报文如表5所示。根据三菱FX系列PLC编程口通信协议,地址算法为address=address×2+1000h将地址123转换成十六进制为7Bh,因此首地址为:address=addre

5、ssx2+1000h=7Bhx2+1000h=10F6h.再转换成ASCII码为31h,30h,46h,36h校验和SUM=30H+31H+30H+46H+36H+30H+34H+03H=174H,溢出部分不计,故SUMH为"7",SUML为"4",相应的ASCⅡ码为“37H”和“34H”。PLC的应答报文格式如表6所示。(2)把数据写入PLC例如,向PLC的D123数据寄存器写入数据“1234ABCD”的报文格式如表7所示三菱FX系列PLC编程口通信协议总览 三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。通讯

6、格式:命令 命令码 目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1"  X,Y,M,S,T,C,DFORCE ON CMD " 7" X,Y,M,S,T,CFORCE OFF CMD  "8"  X,Y,M,S,T,C传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII 16进制代码: ENQ 05H 请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式:STX CMD DATA .

7、..... DATA ETX SUM(upper) SUM(lower)例子:STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34HSUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始 命令 首地址 位数 终 和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D1

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

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

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