6ES7315-2AH14-0AB0型号规格
(1)格雷码转换和逆转换指令 这类指令有2条:GRY (FNC170)和GBIN (FNC171),常用于处理光电码盘编码盘的数据。(D)GRN(P)指令的功能是将二进制数转换为格雷码,(D)GBIN(P)指令则是GRY的逆变换。如图3-89所示,GRY指令是将源操作数[S.]中的二进制数变成格雷码放入目标操作数[D.]中,而GBIN指令与其相反。它们的源操作数可取任意数据格式,目标操作数为KnY、KnM、KnS、T、C、D、V和Z。、16位操作时占5个程序步,32位操作时占9个程序步。
图 格雷码转换和逆转换指令的使用
(2)模拟量模块读写指令 这类指令有2条:RD3A (FNC176)和WR3A (FNC177),其功能是对FXON-3A模拟量模块输入值读取和对模块写入数字值。如图3-90所示,[m1.]为特殊模块号K0~K7,[m2.]为模拟量输入通道K1或K2,[D.]为保存读取的数据,[S.]为指定写入模拟量模块的数字值。指令均为16位操作,占7个程序步。
日本三菱公司的FX系列PLC在我国应用十分广泛,是目前****上占有率较高的几种PLC机型之一。根据三菱公司提供的技术资料,在用户系统中,要实现PLC与Pc机串行通信,一般还需购买FX-232-BD通信模块;而PLC自身所带的编程口在下载完程序后处于闲置状态。因此,若能直接利用编程口实现PLC与PC机串行通信,将有利于节约资源。
PLC主要面向生产现场,具有使用方便、可靠性高和抗干扰能力强等优点。PC机直接面向用户,在数据处理、图像显示和打印报表等方面具有显著优势。将PC机与PLC以上、下位机的形式联合起来应用,可以更有效地发挥各自优势,互补应用上的不足。
LabVIEW是美国NI公司开发的一个基于计算机的虚拟仪器开发平台。强大而灵活的仪器控制功能是LsbVIEW区别于其他编程语言的主要特点,LabVIEW在数据采集、仪器控制、过程监控和自动测试等领域有着广泛的应用。
1 系统硬件构成
三菱FX系列PLC自带的编程口是RS-422接口,而PC机的串行通信口则是RS-232C接口,两者之间需要通过SC-09适配电缆才能通信。不同设备上相同类型的通信接口的引脚定义可能存在差异。PC机与三菱FX系列PLC上的通信接口引脚定义如图1所示。
图1 接口引脚定义
RS-422和RS-232C是两种不同标准的串行数据接口,两者的主要差别在于信号传输方式不同。RS-232C标准利用信号线与公共地线之间的电压差进行信号传输,采用的是单向传输方式;RS-422标准则是利用传输线之间信号的电压差进行传输的,采用的是差动传输方式。SC-09电缆实现了这两种不同的信号传输方式之间的转换,其内部电路如图2所示。
图2 SC-09电缆内部电路
2 通信协议
PC机与PLC之间有两种通信方式:一种是PC机具有优先权而PLC始终被动响应Pc机发来的命令;另一种则是PLC具有优先权,将命令发送给PC机,并接收来自PC机的响应。本文采用的是前一种通信方式。
为实现Pc机与FX系列PLC编程口之间的通信,系统采用的是编程口专用通信协议。
2.1 控制字符
在PC机与FX系列PLC的串行通信中,数据是以帧为单位发送和接收的。其中,控制字符ENQ(05H)、ACK(06H)和NAK(15H)可以构成单字符帧心1,其余的字符帧在发送或接收时都必须用控制字符STX(02H)和ETX(03H)分别作为该帧的起始标志和结束标志。
各控制字符的意义如表1所示。
表1 控制字符意义
2.2 命令代码
PC机对PLC相应软元件的操作是通过“0”、“1”、“7”、“8”四个命令符来实现的,各命令符的含义如表2所示。
表2 命令字符含义
2.3 命令帧
一个完整的命令帧由控制字符STX(02H)、命令码(CMD)、数据段、控制字符ETX(03H)以及和校验码五部分组成。其中,和校验码是从命令码到控制字符ETX的所有字符的ASCII码(十六进制)相加所得结果的*低两位数。
①PC机“读”命令帧
“读”命令帧由报文开始标志、命令码、软元件首地址、软元件数据长度(字节数)、报文结束标志以及和校验码组成。
当通信正确时,PLC返回的应答帧由报文开始标志、数据段、报文结束标志以及和校验码组成;通信出错时,PLC应答“NAK”。
②PC机“强制ON”命令帧
PC机“强制ON”命令帧由报文开始标志、命令码(37H)、软元件地址、报文结束标志以及和校验码组成。接收命令正常时,PLC应答“ACK”;接收出错时,PLC应答“NAK”。
③PC机“强制OFF”命令帧
PC机“强制OFF”命令帧由报文开始标志、命令码(38H)、软元件地址、报文结束标志以及和校验码组成。接收命令正常时,PLC应答“ACK”;接收出错时,PLC应答“NAK”。
④PC机“写”命令帧
PC机“写”命令帧由报文开始标志、命令码、软元件首地址、软元件数据长度(字节数)、待写入软元件的数据、报文结束标志以及和校验码组成,如图3所示。写入正常时,PLC应答“ACK”;写入出错时,PLC应答“NAK”。
图3 “写”命令帧
3 LabVIEW程序设计
在LabVlEW编程中,系统利用虚拟仪器软件规范VISA(virtual instrument software architecture)实现串行通信。VISA本身并不具有仪器编程能力,它通过调用相应设备驱动器的高层应用程序编程接口(API)进行编程。
首先对端口进行配置,然后发送“ENQ”信号给PLC请求通信,在收到PLC返回的“ACK”信号后,PC机连续对PLC进行“读取”和“写入”操作,通信结束后关闭端口。PC机和PLC串行通信的程序结构如图4所示。
图4 串行通信程序流程图
3.1 串口初始化
串口按照Fx系列PLC的标准通信参数进行配置:①波特率为9 600 bit/s;②数据比特为7位;③奇偶校验方式采用偶校验;④停止位为1位。
3.2 请求通信
开始通信时,PC机发送“ENQ”指令查询PLC是否准备好,同时也检查PC机到PLC的连接是否正确。当接收到字符后,若PLC处在RUN状态,则要等到本次扫描周期结束时才应答;若PLC处在STOP状态,则马上应答。通信正常时,PLC应答“ACK”;通信出错时,应答“NAK”。
3.3 读取PLC软元件状态
程序首先通过VISA写入节点发送命令字符“0”读取PLC相应软元件的状态,然后VISA读取节点获得PLC返回数据。写入和读取的字符串都是十六进制形式的。通过对读取的字符串的拆分可获得相应软元件每一位的状态,从而起到监视PLC的作用。
3.4 数据写入PLC软元件
程序首先通过VISA写入节点发送命令字符“1”对相应的软元件进行写入操作,然后VISA读取节点获得PLC返回的应答帧,若写入正确,PLC应答“ACK”;若写入错误,PLC应答“NAK”。将写入数据传送至PLC软元件所对应的地址,即可对软元件的任意位进行实时操作。数据写入PLC的程序框图如图5所示。
图5 数据写入PLC的程序框图
3.5 关闭串口
通信结束后,需使用VISA关闭节点关闭串口设备,否则程序会一直占用串口资源,导致其他程序无法访问。
4 结束语
以PC机和PLC分别构成上、下位机的监控系统在工业控制中应用广泛。本文通过编程口直接实现三菱PLC与PC机之间的串行通信,无需使用通信模块,既节省了成本又简化了系统,具有较大的实用价值。同时,结合相关硬件,本文以LabVlEW作为开发平台设计了相应的通信程序。实验结果表明,该通信方式方便简单、稳定可靠,具有广泛的应用前景。