VC 环境下三菱 PLC 与微机的串行通信周万里 曾文火(江苏科技大学 机械与动力工程学院,江苏 镇江 212003)摘 要:主要介绍三菱 FX 系列 PLC 与上位机之间的通讯协议,并采用 CSerial 类来实现串行通信,本文给出了程序设计方法和部分源代码。关键字:串行通信 PLC CSerial0 引言可编程控制器(PLC)是集计算机技术、自动控制技术、通信技术为一体的新型自动控制装置。由于体积小、可靠性高以及组态灵活等优点,PLC 在工业控制领域得到了广泛的应用。将PC 机与可编程控制器组合起来,充分利用 PC 机强大的人机接口功能、丰富的应用软件和低廉的价格来共同实现管理、控制一体化成为一个新的发展趋势。本文重点介绍在 Windows 2000 环境下如何利用 VC 来实现 PC 机与三菱 PLC 之间的串行通讯。1三菱 PLC 与计算机之间通信协议FX2 系列 PLC 与计算机之间的通信采用 RS-232 标准,其传输速率固定为 9600bps,奇偶校验位采用偶校验。数据格式如表 1 所示。数据以帧为单位发送和接收。一个多字符帧由图 1 所示的五部分组成,其中和校验值是将命令码 STX——ETX 之间的字符的 ASCII 码(十六进制数)相加,取得所得和的最低二位数。STX 和 ETX 分别表示该字符帧的起始标起和结束标志。图 1 数据帧格式 (1)起始字元(STX):ASCII 码的起始字元 STX 对应的 16 进制数位 0x02。无论命令信息还是回应信息,它们的起始字元均为 STX,接收方以此来判知传输资料的开始。(2)命令号码:为两位 16 进制数。所谓命令号码是指上位机要求下位机所执行的动作类别,例如要求读取或写入单点状态、写入或读取暂存器资料、强制设定、运行、停止等。在回应信息中,下位机会将上位机接收到的命令号码原原本本的随同其它信息一同发送给上位机。(3)元件首地址:对应要操作的元件的相应的地址。如从 D123 单元中读取数据时,要把它对应的地址:0x10F6 发送给 PLC。(4)元件个数:一次读取位元件或字元件的数量。(5)结束字元(ETX):ASCII 码的结束字元 ETX 对应的 16 进制数为 0x03。无论命令信息还是回应信息,它们的结束字元均为 ETX,接收方以此来判知此次通讯已结束。(6)校验码(Checksum):校验码是将 STX-ETX 之间的 ASCII 字元的 16 进制数值以“LRC(Longitudinal Redundancy Check)”法计算出 1 个 Byte 长度(两个 16 进制数值 00-FFH)的校验码。当下位机接收到信息后,用...