用户中心

资讯 > PLC与PAC

FX系列可编程控制器与计算机通信的实现

www.cechina.cn2008.01.04阅读 8022

   1  引言

  可编程控制器PLC是以微处理器为核心,综合计算机技术、自动控制技术和通信技术发展起来的一种通用工业自动控制装置,它具有可靠性高、体积小、功能强、程序设计简单、灵活通用、维护方便以及抗干扰能力强等优点,因而广泛应用于电力、冶金、能源、化工、交通等领域,但是大多数中小型PLC的显示功能较差,人机交互操作不便,管理人员不能及时了解现场情况,尤其是在现场调试中,为弥补PLC在这些方面的不足控制工程网版权所有,在实际控制系统中,通常采用PLC作为下位机实现对生产过程的控制,以计算机作为上位机实现工艺流程参数显示、控制参数设置等功能,使PLC和计算机相互结合,充分发挥PLC在开关量、模拟量控制和计算机在管理、监控等方面的优势,以实现优势互补,极大提高控制系统的性价比。

  实现计算机和PLC控制系统的关键是两者之间的通信,一般情况下,用户可以采用现有的组态软件实现监控,但该方法成本较高,为此本文介绍了在Visual Basic 6.0的环境下,实现计算机与三菱FX系列PLC的串行通信方法。

  2  PLC与计算机的通信端口连接

  FX系列PLC的编程接口采用RS-422标准,而计算机的串行口采用RS-232C标准,因此采用接口模块FX-232AW将RS-422标准转换为RS-232C标准。如图1所示,计算机、PLC与FX-232AW之间采用反馈与交叉相结合的连接图。

FX系列可编程控制器与计算机通信的实现如图

  图1  FX-232AW接口引线连接图

  引脚2、3:将引脚2、3交叉互连,使PLC与上位机之间能发送和接收数据。

  引脚4、5:将引脚4、5反馈短接,对计算机发送数据来说,PLC总是处于数据准备就绪状态www.cechina.cn,计算机在任何时候都可以将数据送到PLC中。

  引脚6、20:将引脚6、20交叉互连,对计算机来说就必须检测PLC是否处于准备就绪状态控制工程网版权所有,即检测引脚6是否为高电平。当引脚6为高电平时,表示PLC准备就绪,可以接收数据,这时计算机就可以向PLC发送数据了;反之,当引脚6为低电平时,PLC与计算机则不能通信。

  3  计算机与PLC之间的通信协议

  FX系列PLC与计算机的通信模式有两种:

  PLC与计算机采用专有协议(dedicated protocol)通信,这种方式无须编写梯形图www.cechina.cn,计算机直接读写PLC;

  PLC与计算机无协议通信,这种方式需要编写梯形图,并使用串行数据传送指令RS。这里介绍专有通信协议。

  FX系列PLC与计算机专有通信协议提供有数据读取、控制命令写入、控制PLC启/停和网络测试等功能,该协议有两种格式:format1和format4。两种协议的区别在于字符串中是否添加CR/LF码,采用哪种格式的协议由PLC中的特殊数据寄存器D8120决定,计算机向PLC传送的字符串格式如图2所示,在该字符串中,可由D8120来决定是否添加和校验码,此外format4需要在字符串末尾添加CR/LF。计算机与FX系列PLC之间采用主从应答通信方式,PLC内部不需要额外的通信程序,只要将所需数据放在数据寄存器中即可。每个数据寄存器都有相应的物理通信地址,通信时计算机直接对物理通信地址进行操作。

FX系列可编程控制器与计算机通信的实现如图

  图2  字符串格式

  控制代码(Control Code)主要用来控制每步数据的传送。以format 1为例,当要对PLC进行读操作时,计算机发出请求报文,该报文以ENQ码开头,并包括了报文中的所有字段,其中有字符域A。PLC对计算机的请求作出响应,以STX码开头,以ETX码结尾,该报文不包括操作指令字段和消息等待时间。当计算机收到PLC发出的响应报文,计算机发出确认报文或未确认报文,该报文只包括有控制代码、站号、PC号和错误码Error CodeCONTROL ENGINEERING China版权所有,如图3所示。

FX系列可编程控制器与计算机通信的实现如图

  图3  计算机从PLC读操作报文协议

  计算机与PLC间通过报文来交换信息,这些信息在交换过程中需要遵守一些约定。当要对PLC进行写操作时,计算机同样发出请求报文,该报文以ENQ码开头,包括了报文中的所有字符字段,其中有字符区域C,PLC对计算机的请求作出响应,返回确认报文或未确认报文,如图4所示:

FX系列可编程控制器与计算机通信的实现如图

  图4  计算机向PLC写操作报文协议

  站号(Station NO.)用来决定计算机访问哪一台PLC,在FX系列PLC中,站号范围从00H到0FH,特殊辅助寄存器D8121可用于设置站号。

  PC号(PC NO.)用来识别PLC上的CPU,对于FX系列PLC,该值为FFH。

  指令(Command)用来指定要进行的读写操作,每个命令字都由两个ASCII码表示。

  消息等待时间(Message Wait)指从计算机发出指令到成为接收状态所需的时

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688