三菱PLC与上位机串行通信的实现

2019-10-23 14:09周兆松
中国新技术新产品 2019年16期
关键词:上位机

周兆松

摘  要:三菱公司生产制造的PLC因其具有较高的应用性、灵活性和接口功能等优势特点,使其在我国工业控制等诸多领域中得到了普及。而为了能够进一步提高PLC的应用效能,需要保证PLC与上位机之间具有较好的通信效果。为此,该文将以三菱PLC作为主要研究对象,重点围绕其与上位机的串行通信进行简要分析研究。

关键词:三菱PLC;上位机;串行通信

中图分类号:TP271                  文献标志码:A

0 引言

为了实现PLC与上位机的串行通信,可以在充分利用PLC对各项信息数据进行集中采集之后,根据实际操作需要直接利用上位机完成各项相关信息数据的传输、分析处理、清晰显示等工作,并下达具体的控制命令,使工作人员可以与PLC之间形成高效的人机交互,实时完成监督管控工作。

1 系统硬件组成分析

该文所采用的PLC与上位机分别为三菱公司自主研发制造的FX系列PLC以及PC计算机。作为上位机的PC计算机将通过SC-09电缆连接三菱PLC这一下位机。在通信模式中则选择使用自由端口模式,电缆的两端分别与计算机串口和三菱PLC串行通信协议下的编程口相互连接。利用该通信模式使工作人员可以根据实际情况灵活读写PLC寄存器。

2 三菱PLC与上位机的串行通信协议

在三菱PLC与上位机串行通信的过程中,选择使用的串行通信格式为RS-232。通过参考相关资料可知,在RS-232串行通信协议下,波特率为9 600 b/s,并采用偶校验。上位机和PLC之间采用主从应答的方式,作为下位机的三菱PLC负责接收和响应由PC上位机传输而来的读写命令,上位机在对数据进行读取时,PLC将直接接收经由通信接口从PC上位机中传输的数读取命令,此时三菱PLC在对这一命令进行及时响应后将会立即向上位机反馈数据。同样在通信接口的作用下,上位机将直接对所获得的数据进行读取。而在写数据操作中,经由通信接口将上位机的写数据命令传输至三菱PLC中后,如果PLC没有对其进行正确响应,此时这一错误将及时由PLC进行返回。作为上位机的PC计算机在和三菱PLC进行串行通信传输的过程中,无论是数据传输还是接收,均以帧为单位。一般情况下,数据帧包括起止符STX与ETX、命令字与首地址、数据区与和校验。其中从起始符末尾字节逐渐累加至结束符的总和为累加和,取其ASCII码所得和的最低二位数。在对传输资料是否开始进行准确判断时,主要采用对应着起始符的16进制数位0×02,下位机需要完成的数据读取、写数据等动作指令即为命令字。下位机在接收到PC计算机发送的读元件指令时,其对应的命令码即为"0"Chr(2),目标设备则为X、Y、M、S、T、C、D。而下位机在成功接收到从上位机传输而来的写元件命令时,其目标设备与下位机读元件命令操作中的目标设备完全一致,但对应的命令码则为"1"Chr(3)。

3 三菱PLC与上位机的串行通信实例

3.1 三菱PLC配置

三菱PLC在与上位机进行串行通信时,首先需要根据实际情况合理设定通信格式。以采用D8120通信格式为例,其采用偶校验、数据长度与停止位分别为7位和2位,同时将波特率设定为9 600 b/s。通过利用RS-232完成校验码的自动添加,使用不添加CR+LF的专用协议格式1,并将站号设定为0。在站点号的设定中,其设定范围的起止点分别为00H与0FH,即设定范围为0~15。

3.2 上位机程序流程

选用PC计算机作为上位机,选用三菱PLC作为下位机,在串行通信过程中,为有效提高通信传输速率,获得更好的通信效果,该文以Windows为应用背景,选择使用基于Visual Basic的专用通信控件,对三菱PLC和上位机的串行通信程序进行设计。在该文设计的上位机程序当中,当串口及通信参数完成初始化操作后,需要对三菱PLC与PC计算机之间是否进行通信予以精准判断,如果二者不进行串行通信,将直接退出该流程并关闭串口。否则需要将串口打开,并对PC计算机是否需要向三菱PLC下达写操作指令进行相应判断。如果判断PC计算机不需要下达写操作指令,则需要自动开启定时器,发送软元件数据对命令帧进行准确读取,此时在时间延迟下对上位机相关指令处理程序进行灵活调用即可退出流程并将串口关闭。如果判断PC计算机需要向三菱PLC下达写操作命令,此时需要发送软元件数据写入命令帧,在时间延迟下对上位机相关指令处理程序进行调用即可。利用基于Visual Basic的专用通信控件对上位机程序进行编写,有助于简化软件编程。并且该文设定的三菱PLC与上位机的串行通信应用环境为Windows系统,该系统当中也运用了包括按钮与文本框等在内的一系列控件,也在一定程度上为上位机程序的编写提供了便利。值得注意的是,主程序在初始化的过程中,同时需要进行串口的初始化,在结合实际情况完成通信参数的设置并合理选择相应的串行通信端口以外,其余各项关于串口的参数均采用默认值。

在该文设计的三菱PLC与PC计算机的串行通信程序中,将命令按钮添加至通信窗口当中。操作人员点击命令按钮控件,将会直接触发SendCmd_Click()事件,此时在这一事件中,不仅需要完成发送写控制命令字的任务,还需要通过运用定时器控件Timer1当中的时间中断事件Timer1_Timer()定时将对三菱PLC数据进行精准读取的命令发送出去。而三菱PLC在接收到由上位机传输得到的数据读取命令后,将会运用查询方式对其进行及时响应。即对输入缓冲区接收终止字符成功与否进行准确判断,由此完成接收数据的相应处理操作。如果在三菱PLC当中将D8121设定为PLC站号,則此时对应的站号应为“00”,作为上位机的PC计算机需要将三菱PLC计算机站号被设定为“FF”。假设将读取位状态指令设定为“BR”,此时“0”代表着PC计算机告诉三菱PLC的响应请求时间,即上位机在将动作指令传输至三菱PLC后,后者将立即对其进行响应。此时起始元件的读取号为“M139”,起始符末尾2位“01”即表示PLC只读取一个元件数。

4 结语

该文通过对三菱PLC与上位机的串行通信进行分析可知,结合实际情况,在对PLC与上位机进行合理选用与配置的基础上,灵活运用基于Visual Basic的专用通信控件,构成一个高效、完善的通信系统,能够有效完成PLC与上位机之间的通信传输任务,获得较高的传输速率与通信质量。有助于工作人员对现场控制器即PLC进行实时控制,在高效、简洁的人机界面中完成相应监控操作。

参考文献

[1]刘云.基于PC与PLC的测控系统通信设计与实现[J].电脑知识与技术,2017,13(24):208-209,211.

[2]张枫,张伟,钟星.基于CC2530的环境监测系统与上位机间串行通信设计[J].福建电脑,2017,33(4):128-129.

[3]张宁.基于VB的上位机与PLC的通信及应用[J].科技与企业,2015(13):82.

猜你喜欢
上位机
基于单片机的无线液位监测系统
基于单片机的远程控制智能浇水系统