APP下载

感应淬火机床能量监控系统PLC 程序设计

2023-11-15陈志楚

制造技术与机床 2023年11期
关键词:淬火中断上位

雷 钧 陈志楚 罗 敏

(湖北汽车工业学院电气与信息工程学院,湖北 十堰 442002)

汽车零部件为了得到较高的硬度,多采用淬火工艺,感应加热在汽车零部件生成中应用广泛[1-3]。本文把采集到的感应淬火机床能量相关数据进行显示和存储,便于监控感应淬火过程和数据查询[4-6]。

1 监控方案设计

感应淬火机床能量监控系统数据采集如图1 所示,主要包括上位机、S7-1212PLCPLC、传感器和变送器等。感应加热电源把交流整流成直流后,直流电流和直流电压经对应的传感器和变送器变为0~10 V 电压进入PLC 的A/D。PLC 将实时采集的0~10 V 转换为数字量,并进行标度变换,然后计算加热时间、加热功率、加热能量等数据。上位机淬火机床监控系统对感应淬火过程进行监控,上位机和PLC 用Profinet 连接,通信采用西门子S7 协议。PLC 把计算结果用通信方式送入上位机淬火机床监控系统。上位机接收PLC 的数据,把数据进行处理后,进行显示和存储,上位机也发送相关数据给PLC。

图1 能量监控系统数据采集

2 感应加热数据计算

感应加热电源把输入交流经整流后变换为直流,直流电压为U,电流为I,淬火机床的直流功率P为

淬火机床的直流能量Q为

PLC 处理的是离散数据,计算不了式(2)中的时间积分,可以用求和代替积分,能量Q为

式中:T为采样周期;k为采样序号;P(i)为第i次的直流功率。

3 上位机与PLC 通信数据设计

上位机与PLC 的通信内容包括上位机读取PLC 的数据和上位机写入PLC 的数据,为此设计了PLC 的DB1 作为交换数据的数据块,见表1,这样方便上位机读写PLC 的多个单元,节省通信时间[2]。

表1 通信内容表

通道号数值为1~8;启动信号用到的位信号有:NO.0=0 为加热停止;NO.0=1 为加热启动;NO.1=1为开始记录;NO.1=0 为停止记录;NO.2=0 为控制模式;NO.2=1 为监视模式。报警信号用到的位信号为:NO.0 为欠电压;NO.1 为过电压;NO.2 为欠电流;NO.3 为过电流;NO.4 为欠时间;NO.5 为过时间;NO.6 为欠能量;NO.7 为过能量。报警信号按位操作0 是正常、1 是不正常。为了保证数据保留1 位小数的精度,电压、电流、功率和加热时间这些数据是PLC 经过计算得到的小数扩大10 倍变为整数,上位机除以10 进行处理。加热时间上限、下限、设定值是一位小数,上位机乘以10 后写入到PLC。

DB1.DBD66 为1 表示加热时间优先,即加热时间到设定值就停止加热;DB1.DBD66 为0 表示能量优先,即加热能量到设定值就停止加热。加热时间和加热能量只能2 选1。

当程序刚开始运行时,上位机写入PLC 的电源参数设定值。淬火设备在应对多品种淬火时,需要选择对应的工艺参数文件[3]。当通道号发生变化时,上位机从当前工艺文件中读取对应的工艺参数设定值,发指令把参数写入到PLC。上位机每隔固定时间就读取PLC 的相关数据。

4 PLC 控制程序设计

除了DB1 的数据外,本文在PLC 控制梯形图程序中所用变量含义、数据类型、存储器地址见表2。本文主要设计了主程序OB1 和1 ms 循环中断程序OB30,控制程序整体流程如图2 所示。在OB1 中启动/停止1 ms 循环中断程序,采集电流、电压等数据并进行标度变换,对电压、电流、加热时间和加热能量等数据进行报警处理。在OB30 中,计算加热时间、加热功率和加热能量。

表2 PLC 变量表

图2 控制程序整体流程图

4.1 循环中断程序

本课题之所以不用PLC 定时器而用循环中断计算加热时间,是因为PLC 采用循环扫描工作方式,定时时间不可能每次都一样,而循环中断的时间精度会高一些。取采样周期T为1 ms,即PLC 循环中断的间隔时时间是1 ms,在PLC 程序计算中,加热时间用的是累加时间,功率和能量计算更准确。

PLC 程序计算加热时间如图3 所示,每中断1 次,加热时间MD6 加1 ms,DB1.DW14 是给上位机读取的加热时间,单位为s,保留1 位小数,因此MD6 的数据除以1 000 得到以秒为单位的加热时间,然后扩大10 倍变为整数给DB1.DW14,见式(4)。同理,根据式(1),计算功率见式(5),计算加热功率程序如图4 所示,计算功率MD12 单位是W,上位机读取功率DB1.DW10 单位是0.1 kW。

图3 计算加热时间程序

图4 计算加热功率程序

根据式(3),每中断1 次,功率DB1.DW10乘以1 ms 得到瞬时能量MD32,单位是0.1 kW·ms。累积能量MD36=MD36+MD32,单位是0.1 kW·ms。上位机读取能量DB1.DW12 单位是kJ,因此需要MD36 除以1 000,如图5 所示。

图5 计算能量程序

4.2 标度变换程序

电流和电压传感器的信号0~10 V 输入到PLC的模拟量输入通道1 和2,对应的地址是IW64 和IW66,需要转换为对应的工程量,传感器转换量程表见表3,标度变换公式见式(6)。图4 和式(5)的MD170 和MD190 就是电压和电流的实际工程量。电压标度变换PLC 程序如图6 所示,用PLC 的转换操作指令NORM 和SCALE。DB1.DW4是给上位机读取的电压,单位是V,保留1 位小数,因此MD170 的数据扩大10 倍变为整数给DB1.DW4。

表3 传感器转换量程表

图6 电压标度变换程序

4.3 判断报警程序

判断报警程序就是判断电压、电流、加热时间、加热能量是否超出设定范围。PLC 程序用按位或1指令把报警信号的相应位置1 来报警;用按位与0指令把报警信号的相应位置0 来清除报警。

对于电压和电流的报警检测:需要加热启动后延时3 s 后检测电压和电流的下限报警,否则开始加热就会出现下限报警,因为整流和A/D 转换需要时间,那时电压和电流的检测值会低于下限。开始加热就可以检测电压和电流的上限报警。如图7 所示,M10.0 导通后3 s 后M11.0 导通。电压上下限报警程序如图8 所示,M10.0 导通后如果电压值DB1.DBW4 大于电压上限DB1.DBD18,则报警信息DB1.DBW16 的第1 位就置1 表示过电压,报警信息的其他位保持不变,因此用了按位或指令,DB1.DBW16 和0002H 相或;如果电压值小于电压上限,则报警信息的第1 位就置0 表示正常,报警信息的其他位保持不变,因此用了按位与指令,DB1.DBW16 和FFFDH 相与。M11.0 导通后如果电压值小于电压下限DB1.DBD22,则报警信息DB1.DBW16 的第0 位就置1 表示欠电压,DB1.DBW16 和0001H 相或;如果电压值大于电压下限,则报警信息的第0 位就置0 表示正常,DB1.DBW16和FFFEH 相与。

图8 电压上下限报警程序

由于加热时间和加热能量是累积值,因此需要加热停止时才能进行下限报警检测,开始加热就可以进行上限报警检测,并且加热时间和能量一旦有报警就不会消除。能量上下限报警程序如图9 所示,DB1.DBD66 为1,M10.0 导通后如果能量值DB1.DW12 大于能量上限DB1.DBD54,则报警信息DB1.DBW16 的第7 位就置1 表示过能量,DB1.DBW16 和0080H 相或;M10.0 关断后如果能量值小于能量下限,则报警信息的第6 位就置1 表示欠能量,DB1.DBW16 和0040H 相或。

图9 能量上下限报警程序

4.4 启动/停止循环中断程序

如图10 所示,用M10.0 从0 到1 的上升沿启动1 ms 循环中断,SET_CINT 指令的CYCLE 是循环中断的循环时间,此处设置为1 000 μs(1 ms),接着把MD6、MD32、MD36 和DB1.DBW16 清0。如图11 所示,用M10.0 从1 到0 的下降沿停止1 ms循环中断,CYCLE 设置为0。

图10 启动循环中断程序

图11 停止循环中断程序

5 运行结果

本文所设计的PLC 控制程序经现场运行,工作正常,计算准确,上位机与PLC 的DB1 数据交互正确。用西门子PLC 编程软件TIA Portal 监控程序运行情况,DB1 监控数据如图12 所示,电压500.8 V,电流200.6 A,功率100.4 kW,加热时间12.6 s,能量1 267 kJ,符合实际计算值。电压和电流上下限设定在正常值的±10%范围内[7],电压上限550 V,下限450 V;电流上限220 A,下限180 A。控制方式为加热时间,设定100 s,能量上限10 500 kJ,下限9 500 kJ。从监控数据可以看出无报警,因此报警信息DB1.DBW16 为0。如图13 所示,电压586.0 V,电流234.8 A,超过了各自的上限,因此DB1.DBW16 二进制为0000000000001010B,10 进制为10,为过电压、过电流报警。

图12 DB1 监控数据1

猜你喜欢

淬火中断上位
实战“淬火”
特斯拉 风云之老阿姨上位
跟踪导练(二)(5)
千里移防,卫勤保障不中断
淬火的目的
淬火
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
新型高频淬火及表面强化技术与应用