APP下载

自主改造实现乳剂生产控温系统国产替代

2021-12-09张建荣朱记红

信息记录材料 2021年11期
关键词:板卡字节中断

湛 钊,张建荣,朱记红

(乐凯胶片股份有限公司 河北 保定 071054)

1 引言

彩纸乳剂是卤化银的微晶在明胶中分布的悬浮体。主要原材料是硝酸银、卤化物、明胶和多种补加剂[1]。在彩纸乳剂的生产过程中对生产反应温度的要求十分严格,过高或过低或不稳定的温度将严重影响生产出乳剂的感光性能,特别是乳剂生产中的物理成熟和化学成熟两个工序对温度的要求更加严格。

2 现状分析

2.1 生产现状

目前,乳剂车间生产使用的锅内控温系统为柯达定制开发的控温系统。该系统中关键的温度检测端应用的是PT200输入,RS232接口方式输出的温度变送模块,该模块年代久远且为柯达定制模块,无法从市场上买到替换或升级产品,而且此控温系统完全融合在整体生产控制系统中无法分割。经过20多年的使用,控温系统出现了稳定性欠佳、数据丢失等问题,近期还出现了关键变送模块损坏问题,已不能满足车间稳定生产需求。因此,设备改造势在必行。

2.2 改造目标

通过对原系统问题的深入探讨,发现在维持大的生产控制系统不变的基础上着重解决温度检测输入端稳定性、准确性问题为最佳方案,其中的关键就在于重新设计温度数据检测变送逻辑方式,从而从根本上弃用无法获取的进口变送模块,实现关键设备的国产化替代。

因市场上无合适产品,故自主研发数据通信协议转换板卡,重新搭建温度检测输入端,在满足生产温度控制精度的前提下,消除原控温系统面临崩溃的隐患,降低备件和系统更换的成本,提升生产设备的稳定性和产品质量。

3 方案设计与实施

3.1 系统总体概述

改造后的温度控制系统根据现场可用部件以及原有设备性能综合考虑设计开发,能以最快速度投入生产使用。系统在尽量保留原有控制逻辑的前提下,对测量通信结构和通信方式作出调整,控制系统整体示意图如图1所示,系统通过PT200传感器获取锅内实时温度,采用双传感器并联得到近似PT100采样效果;应用PT100转RS485温度变送器变送温度数据,传输给自做协议转换板卡;通过协议双向转换完成PLC的指令下达和数据接收;PLC完成数据处理,并通过温度控制逻辑控制温度升降执行机构调节锅内温度;各岗位的控制电脑可通过界面可视化操控锅内温度。

图1 控温系统整体示意图Fig1. Overall schematic diagram of temperature control system

系统设计的重点在于温度采集环节和协议转换环节。

3.2 温度采集环节硬件设计

为提高乳剂生产锅内控温系统的稳定性和抗干扰能力,切实保证物料的正常生产性能,设计了冗余的温度监测方案。该方案分别应用现有两个PT200温度传感器,搭建一主一辅两条温度监测线路,最终输入PLC中,可实现主线路和辅线路的自主切换,当主线路故障时,自动切换至辅线路,从而保证生产稳定。

两条线路的搭建逻辑一样,即将PT200温度传感器采集到的数据通过国内定做的PT200温度变送器(精度为0.1℃)转变为标准的4~20 mA信号,之后再通过18位的4~20 mA到RS485转换模块将数据转变为符合MODBUS协议的通用字符串数据,通过RS485总线传回控制室。

3.3 协议转换板卡设计

3.3.1 协议转换板卡硬件设计

如图2所示,协议转换板卡由MCU、通信模块和供电模块三部分组成。通信时,分为指令下达和采集数据上传两部分。PLC下发的指令以特定的字符串格式通过RS232总线进入串口模块1,再转换为TTL电平信号输入MCU的UART1串口;在MCU中指令数据经过解算之后重新编码,形成符合MODBUS协议的特定十六进制指令字符串;指令字符串通过UART2串口以TTL形式传递给RS232串口模块2;转换编码后通过RS232总线进入RS232转RS485模块,进而转换为可通过RS485总线传递的指令数据;最后该指令数据传递给现场的温度采集硬件[2]。采集数据上传的流程基本为沿指令下达路线逆向上传,但在MCU中会将符合MODBUS协议的温度采集数据解算并重新编码为PLC可读取的符合自定义协议的数据字符串上传。

图2 协议转换板卡结构图Fig2. Structure diagram of protocol conversion board

3.3.1.1 板卡MCU选型

MCU与各个组块之间进行数据通信,并对接收数据进行处理转发,是整个终端的核心部分。设计中采用STM32F103ZET6处理器,该款处理器是意法半导体推出的一款性能较强的微控制器。该控制器具有STANDBY和STOP两种低功耗模式,可适应不同情况需求;此外,它集成有多种高性能工业标准接口,并应用32位的Cortex-M3内核,拥有72 MHz的运行频率,广泛应用在工业、医疗等领域[3-4]。

3.3.1.2 板卡通信模块设计

板卡的通信模块部分分为RS232串口通信模块和RS232转RS485转换模块。RS232串口通信模块可将TTL串口格式数据编码为符合RS232格式的串行数据,该模块应用DC3V-5V电源供电;RS232转RS485转换模块负责将符合RS232格式的串行数据转换为RS485总线上传输的串行数据,该模块无需单独供电,可从输入的RS232信号线上取DC3V-5V电压进行供电,如图3所示。

图3 RS232串口模块和RS232转RS485模块Fig3. RS232 serial port module and RS232 to RS485 module

3.3.2 板卡软件设计

3.3.2.1 主程序设计

如图4所示,板卡主程序中先进行芯片初始化,初始化IO口、串口、标志位以及中断和计时器,之后进入主循环。

图4 板卡主程序逻辑图Fig4. Logic diagram of board main program

主循环逻辑主要完成四部分功能:

(1)接收指令并发送采集指令。

(2)接收并缓存温度数据。

(3)解算并格式化温度数据。

(4)发送温度数据回PLC。

2.3.2.2 中断程序设计

(1)UART1中断

UART1中断负责实时等待来自于PLC的通信指令,并确保接收到正确的指令信息存入接收缓存中,程序流程图如图5所示。

图5 UART1中断程序流程图Fig5. Flow chart of uart1 interrupt program

中断被触发后,先判别中断接收状态为“准入”;之后,判别接收缓存标志位Buffer_Data_Com1.Flag_R=0,以确保UART1的接收缓存寄存器组已做好接收准备。之后,将本次中断接收到的数据字节放入接收缓存寄存器数组Buffer_Data_Com1.Buffer_RX的第UART1_Count_R个字节处(UART1_Count_R为接收字节指针地址,初始值为0,Buffer_Data_Com1.Buffer_RX[0]即为数组Buffer_Data_Com1.Buffer_RX中的第一个字节数据)。

开始指令正确性判别,首先判别UART1串口接收的指令包包头为0x23即字符“#”,判别正确后将缓存寄存器数组的指针地址后移一位;之后进行第二条件判别,即数据包第6字节为0x0D且数据包正确接收完成后的指针地址为6,判别正确后表示指令数据包已正确接收,将Buffer_Data_Com1.Flag_R置1,复位指针UART1_Count_R的值为0,成功接收到本次数据包。

若接收到的指令数据包中包含的特征数据有错,则该指令数据包被判别为错误数据包,则应用条件UART1_Count_R>6将UART1_Count_R置0,即舍弃数据包。

(2)UART2中断

UART2中断负责实时等待来自于温度采集模块的温度数据,并确保接收到正确的指令信息存入接收缓存中,程序流程图如图6所示。

图6 UART1中断程序流程图Fig6. Flow chart of uart1 interrupt program

中断被触发后,先判别中断接收状态为“准入”;之后,判别接收缓存标志位Buffer_Data_Com2.Flag_R=0,以确保UART2的接收缓存寄存器组已做好接收准备。之后,将本次中断接收到的数据字节放入接收缓存寄存器数组Buffer_Data_Com2.Buffer_RX的第UART2_Count_R个字节处(UART2_Count_R为接收字节指针地址,初始值为0,Buffer_Data_Com2.Buffer_RX[0]即为数组Buffer_Data_Com1.Buffer_RX中的第一个字节数据)。

开始指令正确性判别,首先判别UART2串口接收的温度数据包包头为0x01,判别正确后将缓存寄存器数组的指针地址后移一位;之后进行第二条件判别,即数据包第2字节为0x03且数据包正确接收完成后数据长度为7字节,判别正确后表示指令数据包已正确接收,将Buffer_Data_Com2.Flag_R置1,复位指针UART2_Count_R的值为0,成功接收到本次数据包。

若接收到的温度数据包中包含的特征数据有错,则该温度数据包被判别为错误数据包,则应用条件UART2_Count_R>7将UART2_Count_R置0,即舍弃数据包。

3.3.3 通信协议解算设计

板卡设计中涉及到的协议格式共4种(如图7):PLC下达的采集指令(COMMAND_PLC)、下达到温度采集模块的采集指令(COMMAND_ToMod)、温度采集模块回传的温度数据(TMP_Source)以及传回PLC的温度数据(TMP_ToPLC)。

图7 通信协议数据格式Fig7. Communication protocol data format

PLC下达的采集指令(COMMAND_PLC)数据包共6个字节,数据内容为固定值。

下达到温度采集模块的采集指令(COMMAND_ToMod)数据包共8个字节,数据内容为固定值。该数据符合MODBUS_RTU协议,首字节为目标地址“0X01”,第二字节为指令字节,第三、第四字节为预读取寄存器首地址,第五、第六字节为读取数据个数,最后两个字节为校验字节,采用CRC校验。

温度采集模块回传的温度数据(TMP_Source)符合MODBUS_RTU协议,首字节为发送方地址,第二字节为反馈指令代码,第三字节为反馈数据寄存器首地址,第四、第五字节为温度数据,第六、第七字节为CRC校验位。

传回PLC的温度数据(TMP_ToPLC)数据为自定义通信协议,共13个字节。前五个字节为固定值,后面跟六位温度数据,最后以“0X0D”为包尾。该温度数据为十进制,遂需将接收到的十六进制数据转换为十进制字符串格式数据,之后分别填入相应的地址内。

4 效果验证

以物理成熟温度控制系统改造完成前后数据为例,物理成熟温度控制改造完后,温度控制系统恢复正常。经过温度标定后得到的生产控温曲线如图8中所示,图中红线和绿线为改造之前系统完好情况下的控温曲线,其中绿线为温度设定曲线,红线为温度控制曲线;图中黄线和蓝线为改造之后控温曲线,其中黄为温度设定曲线,蓝线为温度控制曲线。经对比可见改造后的温度调节性能优良,与系统完好时的控温效果基本相同,甚至更优。改造后的实际控温稳定均值基本与设定值相同,调节最大偏差为0.1℃,可完全满足生产温度需求。

图8 物理成熟控温曲线图Fig8. Temperature control curve of physical maturity

5 总结

乳剂控温系统改造完成后,自动控温波动范围不大于±0.1℃,运行数据可靠稳定,可完全替代原有瓶颈设备。该系统以自做协议转换板卡为核心,替代柯达原厂定制温度转换模块,打破生产设备瓶颈,使车间消除了因此系统损坏而长期停产的隐患。同时该系统的改造成功也提升了生产系统的稳定性,为产品质量提供了有力保证。

猜你喜欢

板卡字节中断
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
简谈MC7字节码
跟踪导练(二)(5)
千里移防,卫勤保障不中断
一种基于光纤数据传输的多板卡软件程序烧写技术
一种通用模拟量及开关量信号采集板卡的设计
AT89C51与中断有关的寄存器功能表解