感应加热分布式监控系统串行通信实现

2024-06-16 10:22邢京煜雷馨悦陶斯弦雷钧
客联 2024年3期
关键词:分布式

邢京煜 雷馨悦 陶斯弦 雷钧

摘 要:本文用西门子S7-300 PLC做分布式监控系统的主站,感应加热设备的8个DSP控制单元做从站,主站与从站采用485串行通信进行信息交换。PLC接收来自8个DSP的数据,并且将设定参数传递给DSP。PLC发送电流设定值和频率设定值给DSP,接收DSP发送的电流采集值和功率因数值。PLC采用固定时间间隔200ms中断对一个DSP通信,完成收发,通信是否错误由PLC接收数据过程来判断。由于本通信系统的PLC主站和DSP从站都是项目组开发,因此设计了项目的通信协议,利用标志位控制PLC主站的收发数据过程,判断通信异常情况。感应加热分布式监控系统已投入生产运行,运行结果稳定可靠,采集节拍满足了生产需要。

关键词:分布式;PLC;串行通信

中图分类号:TP273  文献标识码:A

目前感应加热设备在生产中得到广泛的应用,一条加热线有不同的加热工位,在应对多品种加热时,在感应加热工作过程中需要把加热参数设定值传送到加热工位,并且显示和存储采集到的加热数据,便于今后的查询。这不仅仅提升了加热设备的柔性化,而且也为加热设备的信息化提供基础数据。工业控制中广泛应用PLC,文献[1-4]都是基于PLC的监控系统,PLC采集现场数据,工控机显示采集值和设定参数。

一、分布式监控系统设计

感应加热分布式监控系统主要包括感应加热设备、传感器、变送器、DSP、串口触摸屏、PLC、工控机等。(1)本地监控单元:DSP作为感应加热控制系统的核心,主要处理来自PLC的设定值,完成对感应加热设备电量的采集、处理、计算,输出控制量对感应加热设备进行控制。DSP控制单元将电量数据实时传递给监控PLC和工业用串口触摸屏。触摸屏负责感应加热设备的操作(运行、停止等)以及显示电流设定值、频率设定值、电流测量值、功率因数值、故障状态等。(2)远程监控单元:PLC作为分布式监控系统的主站,接收来自8个DSP从站的数据,并且将设定参数传递给DSP。工控机负责显示DSP发送的数据和修改各个感应加热设备的参数。

本课题的8个感应加热设备分别由8个DSP控制单元进行控制,整个分布式系统由PLC进行监控。如图1所示,PLC选用西门子S7-300的CPU315-2PN/DP,带PROFIBUS接口和PROFINET接口。用PROFIBUS转485模块PB-B-RS485连接PLC和DSP。本文作者在参考文献[5]中介绍了工控机通过PROFINET总线连接PLC,实现数据交换。PLC中数据可以通过工控机进行显示和更改。PLC与DSP采用指定的协议格式进行信息交换,并在交换信息时对数据的正确性进行判断,提高通信的可靠性。PLC通过模拟量输入模块采集温度传感器的数据,通过与给定温度比较,计算出电流值,然后给DSP发送该电流值,让DSP调整加热功率,减小温度偏差。PLC采集DSP的反馈数据送工控机进行显示和存储。

二、串行通信协议设计

工控机可以用WINCC、组态王等组态软件或者高级语言编程和S7-300 PLC进行通信,采用西门子专用协议。工控机的应用程序可以利用OPC规范实现监控系统的通信功能[6]。

课题要求PLC发送电流设定值和频率设定值给DSP,接收DSP发送的电流采集值和功率因数值,感应加热分布式监控系统的PLC主站和DSP从站都是项目组开发,因此可以自定义通信协议,项目组设计了2个通信方案和相应的协议。

方案1工作顺序如下:

1)PLC发送电流设定值,协议格式为:报文头(AAH+55H)+长度(04H)+设备编号(XXH)+指令(XXH)+数据(XXXXH)。接收DSP返回值,协议格式为:报文头(BBH +66H)+长度(03H)+设备编号(XXH)+数据(XXXXH),共13个字节。

2)PLC发送频率设定值,接收DSP返回值,共13个字节。

3)PLC发送读DSP电流采集值,协议格式为:报文头(AAH +55H)+长度(02H)+设备编号(XXH)+指令(XXH)。接收DSP电流采集值,协议格式为:报文头(BBH+66H)+长度(03H)+设备编号(XXH)+数据(XXXXH),共11个字节。

4)PLC发送读DSP功率因数值,接收DSP返回值功率因数值,共11个字节。

方案1特点:每次发送或者接收数据字节较少,但是整个通信过程要收发4次,共13+13+11+11=48个字节,通信时间长。

方案2工作顺序如下:

监控PLC发送电流设定值+频率设定值给DSP。协议格式为:报文头(AAH+55H)+长度(05H)+设备编号(XXH)+电流设定值(XXXXH)+频率设定值(XXXXH),共8个字节。

PLC接收到DSP所发数据为PLC发送的电流设定值+PLC发送的频率设定值(设定值可以用于校验)+DSP采集的电流值+DSP计算的功率因数值。协议格式为:报文头(BBH +66H)+长度(09H)+设备编号(XXH)+电流设定值(XXXXH)+频率设定值(XXXXH)+电流返回值(XXXXH)+功率因数值(XXXXH),共12个字节。

方案2特点:整个通信过程收发一次就可以完成,共8+12=20个字节,通信效率高,容易进行通信控制。通信部分解决的好,实时数据采集就越好[7]。

本课题的通信协议选用方案2。

三、串行通信控制设计

本课题中监控PLC通过RS485串行通信网络控制8个DSP,发送指令数据给DSP,然后接收DSP返回的数据。由于所有的节点共用RS485总线,总线上传送的信息容易发送冲突和碰撞。因此必须有严格的通信时序控制,否则8个DSP从机都发送数据,通信就会发生混乱。本课题采用PLC主动发送、DSP响应、然后PLC接收的方式进行主从收发控制。

PLC采用固定时间间隔200ms内对一个DSP通信,完成收发,通信是否错误由PLC接收数据过程来判断。8个DSP轮询一遍用时1.6s。

在程序中需要200ms的时间间隔,PLC提供循环中断OB35实现,其中断时间可以进行设置。每隔200ms调用一次OB35,执行中断块中的程序。在OB35里设置一个标志字节MB1,用MB1中8位分别对应8个DSP发送数据的标志位,1为允许发送,0为禁止发送。MB1的8位在初始化下全部为0;在发送状态下,只能有1个1,其余是0。当PLC发送数据给某个DSP后,把该DSP所对应的MB1标志位置0。MB1初值为二进制00000001,200ms执行与DSP通信后左移一位,PLC根据MB1不同的位,给不同的DSP发送数据。

在调试过程中发现存在PLC与一个DSP多次收发的问题。原因为PLC工作方式是循环扫描、顺序执行,处理速度快,在200ms内能将通信发送程序执行多次,所以要保证200ms内只对一个DSP发送一次数据,还需要一个标志位限定数据只能发送一次。因此再设置一个发送数据完成标志字节MB11,发送前对应的位为1,发送完毕把该位置0,MB11初值为二进制00000001,PLC发一次数据之后,MB11左移一位,不进行第二次发送数据。

PLC发送数据流程如图2所示,利用MB1与MB11共同控制发送功能调用。当MB1=00000001、MB11=00000001时,主程序调用发送功能给DSP1发送数据,模块PB-B-485选择触发发送数据方式,当发送允许标志位Q11.0由0变1时开始发送数据,并且把接收通信状态标志位I15.0置0。当发送数据完成后,即检测到Q11.0上升沿时,MB11中的数据左移一次,MB11=00000010,MB1不变,在200ms内将不会再次调用发送功能给DSP1发送数据,保证在200ms内只执行一次数据发送。200ms后调用OB35使MB1左移一位,MB1=00000010,这时符合与DSP2通信的条件,程序转入与DSP2通信。依次类推,完成与8个DSP的通信。与8个DSP都通信完成后,置MB1=00000001,MB11=00000001,PLC又可以与DSP1通信,这样PLC就循环不断的与8个DSP依次通信。

PLC接收来自8个DSP的数据需要进行存储,而发送的数据也需要存储。S7-300 PLC提供了DB块存储数据,其中DB1存储需要发送的数据,DB2存储接收的数据。DB1数据存储如图3所示,因为在DSP中数据类型为一个字,通信是以字节为单位,因此将一个数据分成高8位和低8位进行存储。利用程序块可以简化程序,建立带参数的发送功能FC0,在调用FC0时只需要将对应的实参传递给形参。当M1.0=1并且M11.0=1时调用FC0,发送数据给DSP1,实参地址DB1.DBB2储存的数据为I1_HIGH,将其传递给FC0块中形参变量I_HIGH。模块PB-B-485选择触发发送数据方式,当发送允许标志位Q11.0由0变1时开始发送数据,并且把接收通信状态标志位I15.0置0。当检测到Q11.0上升沿时,MB11中的数据左移一次,保证在200ms内只执行一次数据发送。

在PLC对某一个DSP发送数据完后,回到OB1中,调用接收数据功能。其接收数据流程如图4所示,根据通信接收协议做通信是否有问题的判断。PLC通过I15.0判断接收是否完成。当I15.0=1时PB-B-RS485处于接受完毕或者发送允许状态,说明接收数据正常,将相应的通信错误标志位置1。如果I15.0=0,再根据MB1的状态可以判断是与哪一个DSP通信不正常,将相应的通信错误标志位置0。当通信正常时可以进行数据传输是否正确的判断,根据上文中提供的通信协议中几个固定的数据字节进行校验,当其中一个数据不对时即可判断为数据传输错误,将相应的通信传输错误标志位置0,表示PLC与该DSP通信数据传输错误。只有数据校验字节全部核对上了,才能将将相应的通信传输错误标志位置1,并且将接收的数据写入相应的存储地址。

DSP控制单元作为分布式监控系统的从站,当PLC发送数据后,8个从站都接收到该数据,接收中断标志位置1,进入接收中断程序,在接收中断程序中比对接收数据的报文头、长度、站号与本站点的是否一致,如果相等,则处理接收的电流值和频率值,并且把允许发送标志位置1,接收中断标志位清0;如果不相等,则不处理接收的电流值和频率值,只把接收中断标志位清0,便于下次中断接收数据。与PLC发送站号比对一致的从站,由于允许发送标志位等于1,因此开始发送数据,发送数据完成后,把允许发送标志位清0。这样完成了从站的一次接收数据和发送数据过程。

上位机监控软件采用WINCC,WINCC的功能强大,能够很好的实现所需的功能,对于本课题中的所需要的数据显示、数据录入提供相应的I/O输入输出域,其中数据的显示格式在属性栏中可以更改,将对应的I/O域与变量管理中所建的外部变量连接。下位机选用的是S7-300 PLC,与WINCC同为西门子公司的产品,装有WINCC的计算机与PLC连接方便。在界面上显示频率设定值、电流设定值、电流返回值、功率因数值、通信错误标志、通信传输错误标志。对于标志错误提示,对应的变量为布尔型,绘制图像时采用指示灯进行动态显示,为真时显示绿色表示正常,为假时显示为红色表示错误。根据显示的状态可以得到PLC与DSP之间的通信状况。

四、结束语

本课题本课题基于工厂的实际项目,以工控机、PLC、DSP为基础,设计开发了感应加热分布式监控系统串行通信。由于本通信系统的PLC主站和DSP从站都是项目组开发,因此设计了项目的通信协议,利用标志位控制PLC的收发过程,判断通信异常情况。系统已投入生产运行,结果稳定可靠,满足了生产需要。

参考文献:

[1]肖本海,郑莹娜,邹世鹏等.全自动冲压生产线组网及分布式监控系统设计[J].机床与液压,2016,44(7):96-104.

[2]杨新德.基于西门子S7系列PLC的机电设备分布式监控系统的实现[J].电工技术,2015,(5):47-48.

[3]翟华,李贵闪,严建文等.基于以太网技术的大型冲压生产线的远程监控系统设计[J].机床与液压,2012,40(1):92-94.

[4]张永喜,金秀,张帆等.利用串行通信实现计算机与PLC协同工作[J].制造技术与机床,2017,(9):47-50.

[5]雷钧,罗敏,陈志楚等.感应回火机床多参数控制系统的设计[J].制造技术与机床,2020,(4):75-78.

[6]韩静,李通.基于PLC的综合监控系统的数据通信技术[J].舰船科学技术,2020,42(20):85-87.

[7]雷钧,罗敏,吴岳敏.基于三菱FXPLC的感应淬火机床与PC机的串行通信实现[J].制造技术与机床,2017,(9):47-50.

猜你喜欢
分布式
分布式光伏发展的四大矛盾
分布式光伏热钱汹涌
基于预处理MUSIC算法的分布式阵列DOA估计
分布式光伏:爆发还是徘徊
西门子 分布式I/O Simatic ET 200AL
家庭分布式储能的发展前景