您当前的位置:五五电子网电子知识电器控制PLC工业控制三菱PLC和PC机通过编程口串行通信实现 正文
三菱PLC和PC机通过编程口串行通信实现

三菱PLC和PC机通过编程口串行通信实现

点击数:7477 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   PLC工业控制

   日本三菱公司的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所示。

 SC-09电缆内部电路

图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所示。

数据写入PLC的程序框图

[1] [2]  下一页


本文关键字:通信  三菱PLC  PLC工业控制电器控制 - PLC工业控制