资讯详情
三菱PLC与PC机通过编程口实现串行通信
发布者:milihong  发布时间:2021-12-10 15:14:31

三菱FX系列PLC在我国应用十分广泛,是目前国内市场上占有率较高的几种PLC机型之一。根据三菱公司提供的技术资料,在用户系统中,要实现PLC与Pc机串行通信,一般还需购买FX-232-BD通信模块;而PLC自身所带的编程口在下载完程序后处于闲置状态。因此,若能直接利用编程口实现PLC与PC机串行通信,将有利于节约资源。

      PLC主要面向生产现场,具有使用方便、可靠性高和抗干扰能力强等优点。PC机直接面向用户,在数据处理、图像显示和打印报表等方面具有显著优势。将PC机与PLC以上、下位机的形式联合起来应用,可以更有效地发挥各自优势,互补应用上的不足。

      LabVIEW是美国NI公司开发的一个基于计算机的虚拟仪器开发平台。强大而灵活的仪器控制功能是LsbVIEW区别于其他编程语言的主要特点,LabVIEW在数据采集、仪器控制、过程监控和自动测试等领域有着广泛的应用。

②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作为开发平台设计了相应的通信程序。实验结果表明,该通信方式方便简单、稳定可靠,具有广泛的应用前景。

 

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”。

版权声明:机电一体化网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系电话:0571-87774297。
企业信息
杭州瑞菱自动化设备有限公司
会员级别:工业云会员
------------ 联系方式 ------------
联系人:高先生(先生)
联系电话:0571-28281044
联系手机:18058140004
传真号码:0571-63666349
企业邮箱:rlzdh2@qq.com
网址:milihong.jdzj.com
邮编:311300
地址:杭州市临安区苕溪南街金岸大厦1002
今日最新资讯
热门资讯
0571-87774297