VC++PLC_serial.doc


文档分类:高等教育 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5
文档列表 文档介绍
VC环境下三菱PLC与微机的串行通信
周万里曾文火
(江苏科技大学机械与动力工程学院,江苏镇江 212003)
摘要:主要介绍三菱FX系列PLC与上位机之间的通讯协议,并采用CSerial类来实现串行通信,本文给出了程序设计方法和部分源代码。
关键字:串行通信 PLC CSerial
引言
可编程控制器(PLC)是集计算机技术、自动控制技术、通信技术为一体的新型自动控制装置。由于体积小、可靠性高以及组态灵活等优点,PLC在工业控制领域得到了广泛的应用。将PC机与可编程控制器组合起来,充分利用PC机强大的人机接口功能、丰富的应用软件和低廉的价格来共同实现管理、控制一体化成为一个新的发展趋势。本文重点介绍在Windows 2000环境下如何利用VC来实现PC机与三菱PLC之间的串行通讯。
三菱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)的校验码。当下位机接收到信息后,用同样的方法计算出接收信息的校验码,如果两个校验码相同,则说明传送正确。
FX2系列与计算机之间的通信是以主机发出的初始命令,PLC对其做出响应的方式进行通信的。共有0、1、7、8四种命令,上位机实现对PLC的读写和强行置位。通过ENQ、ACK和NAK,上位机协调与PLC的通信应答。
编程口操作命令类型
串行通信是计算机与其他机器之间进行通信的一种常用方法,在Windows操作系统中提供了实现各种串行通信的API函数。通过SC-09编程电缆或FX-232-BD通讯模块,可以将PC机和计算机串行通信口RS-232连接起来,可以实现PC机对PLC的RAM区数据进行读、写操作。根据PLC本身所具有的特性,计算机可对PLC进行以下4种类型的操作:

VC++PLC_serial 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wc69885
  • 文件大小0 KB
  • 时间2015-09-19