VB与三菱PLC串行通信详解:MSCOMM.OCX控件与FX2N-64MR应用

需积分: 6 3 下载量 157 浏览量 更新于2024-09-17 收藏 188KB DOC 举报
在本文档中,主要讨论的是如何通过Visual Basic (VB) 6.0与三菱PLC(具体型号为FX2N-64MR)进行串行通信。VB和PLC通讯通常采用两种方法:一是利用Windows API函数,二是使用VB自带的通信控件MSCOMM.OCX。本篇教程倾向于后者,因为MSCOMM.OCX控件提供了更便捷的编程接口和丰富的数据处理功能。 连接设备方面,使用SC-09电缆作为连接线,将计算机串口与PLC的RS-422编程口相连。通信参数设置为9600波特率、偶校验、7位数据位和1位停止位。数据传输采用多字符帧结构,由起始符(STX)、命令字、首地址、数据区和结束符(ETX)组成。每部分都有特定含义: 1. 起始符 (STX): ASCII码0x02,用于指示传输数据的开始,无论发送还是接收都使用此字符作为标志。 2. 命令号码: 由两个16进制数字组成,代表上位机(即计算机)对下位机(PLC)的操作请求,如读取/写入单点状态、暂存器数据等。 3. 元件首地址: 指定要操作的PLC内部元件的地址,如读取D123单元的数据时,需要发送对应地址0x10F6。 4. 元件个数: 明确一次操作涉及的元件数量。 5. 结束符 (ETX): ASCII码0x03,作为通信帧的终止标志,接收方借此判断通信是否完成。 6. 校验码 (Checksum): 使用LRC(纵向冗余检查)算法计算STX到ETX之间所有ASCII字符的16进制数值之和的低两位,用于验证数据传输的准确性。接收方计算收到的信息的校验码并与发送方进行比对,确认无误。 三菱FX系列PLC与计算机通信遵循主从模式,即由上位机(计算机)发起命令,PLC根据命令做出响应。由于PLC没有主动请求的能力,通信流程通常是单向的,即从上位机到下位机。了解并掌握这些细节对于编写VB程序与三菱PLC有效交互至关重要,包括设置正确的通信参数、构建和解析数据帧以及处理可能的错误校验。这在工业自动化、过程控制等应用中具有实际价值。