湛 釗,張建榮,朱記紅
(樂凱膠片股份有限公司 河北 保定 071054)
彩紙乳劑是鹵化銀的微晶在明膠中分布的懸浮體。主要原材料是硝酸銀、鹵化物、明膠和多種補加劑[1]。在彩紙乳劑的生產(chǎn)過程中對生產(chǎn)反應(yīng)溫度的要求十分嚴格,過高或過低或不穩(wěn)定的溫度將嚴重影響生產(chǎn)出乳劑的感光性能,特別是乳劑生產(chǎn)中的物理成熟和化學(xué)成熟兩個工序?qū)囟鹊囊蟾訃栏瘛?/p>
目前,乳劑車間生產(chǎn)使用的鍋內(nèi)控溫系統(tǒng)為柯達定制開發(fā)的控溫系統(tǒng)。該系統(tǒng)中關(guān)鍵的溫度檢測端應(yīng)用的是PT200輸入,RS232接口方式輸出的溫度變送模塊,該模塊年代久遠且為柯達定制模塊,無法從市場上買到替換或升級產(chǎn)品,而且此控溫系統(tǒng)完全融合在整體生產(chǎn)控制系統(tǒng)中無法分割。經(jīng)過20多年的使用,控溫系統(tǒng)出現(xiàn)了穩(wěn)定性欠佳、數(shù)據(jù)丟失等問題,近期還出現(xiàn)了關(guān)鍵變送模塊損壞問題,已不能滿足車間穩(wěn)定生產(chǎn)需求。因此,設(shè)備改造勢在必行。
通過對原系統(tǒng)問題的深入探討,發(fā)現(xiàn)在維持大的生產(chǎn)控制系統(tǒng)不變的基礎(chǔ)上著重解決溫度檢測輸入端穩(wěn)定性、準(zhǔn)確性問題為最佳方案,其中的關(guān)鍵就在于重新設(shè)計溫度數(shù)據(jù)檢測變送邏輯方式,從而從根本上棄用無法獲取的進口變送模塊,實現(xiàn)關(guān)鍵設(shè)備的國產(chǎn)化替代。
因市場上無合適產(chǎn)品,故自主研發(fā)數(shù)據(jù)通信協(xié)議轉(zhuǎn)換板卡,重新搭建溫度檢測輸入端,在滿足生產(chǎn)溫度控制精度的前提下,消除原控溫系統(tǒng)面臨崩潰的隱患,降低備件和系統(tǒng)更換的成本,提升生產(chǎn)設(shè)備的穩(wěn)定性和產(chǎn)品質(zhì)量。
改造后的溫度控制系統(tǒng)根據(jù)現(xiàn)場可用部件以及原有設(shè)備性能綜合考慮設(shè)計開發(fā),能以最快速度投入生產(chǎn)使用。系統(tǒng)在盡量保留原有控制邏輯的前提下,對測量通信結(jié)構(gòu)和通信方式作出調(diào)整,控制系統(tǒng)整體示意圖如圖1所示,系統(tǒng)通過PT200傳感器獲取鍋內(nèi)實時溫度,采用雙傳感器并聯(lián)得到近似PT100采樣效果;應(yīng)用PT100轉(zhuǎn)RS485溫度變送器變送溫度數(shù)據(jù),傳輸給自做協(xié)議轉(zhuǎn)換板卡;通過協(xié)議雙向轉(zhuǎn)換完成PLC的指令下達和數(shù)據(jù)接收;PLC完成數(shù)據(jù)處理,并通過溫度控制邏輯控制溫度升降執(zhí)行機構(gòu)調(diào)節(jié)鍋內(nèi)溫度;各崗位的控制電腦可通過界面可視化操控鍋內(nèi)溫度。

圖1 控溫系統(tǒng)整體示意圖Fig1. Overall schematic diagram of temperature control system
系統(tǒng)設(shè)計的重點在于溫度采集環(huán)節(jié)和協(xié)議轉(zhuǎn)換環(huán)節(jié)。
為提高乳劑生產(chǎn)鍋內(nèi)控溫系統(tǒng)的穩(wěn)定性和抗干擾能力,切實保證物料的正常生產(chǎn)性能,設(shè)計了冗余的溫度監(jiān)測方案。該方案分別應(yīng)用現(xiàn)有兩個PT200溫度傳感器,搭建一主一輔兩條溫度監(jiān)測線路,最終輸入PLC中,可實現(xiàn)主線路和輔線路的自主切換,當(dāng)主線路故障時,自動切換至輔線路,從而保證生產(chǎn)穩(wěn)定。
兩條線路的搭建邏輯一樣,即將PT200溫度傳感器采集到的數(shù)據(jù)通過國內(nèi)定做的PT200溫度變送器(精度為0.1℃)轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)的4~20 mA信號,之后再通過18位的4~20 mA到RS485轉(zhuǎn)換模塊將數(shù)據(jù)轉(zhuǎn)變?yōu)榉螹ODBUS協(xié)議的通用字符串?dāng)?shù)據(jù),通過RS485總線傳回控制室。
3.3.1 協(xié)議轉(zhuǎn)換板卡硬件設(shè)計
如圖2所示,協(xié)議轉(zhuǎn)換板卡由MCU、通信模塊和供電模塊三部分組成。通信時,分為指令下達和采集數(shù)據(jù)上傳兩部分。PLC下發(fā)的指令以特定的字符串格式通過RS232總線進入串口模塊1,再轉(zhuǎn)換為TTL電平信號輸入MCU的UART1串口;在MCU中指令數(shù)據(jù)經(jīng)過解算之后重新編碼,形成符合MODBUS協(xié)議的特定十六進制指令字符串;指令字符串通過UART2串口以TTL形式傳遞給RS232串口模塊2;轉(zhuǎn)換編碼后通過RS232總線進入RS232轉(zhuǎn)RS485模塊,進而轉(zhuǎn)換為可通過RS485總線傳遞的指令數(shù)據(jù);最后該指令數(shù)據(jù)傳遞給現(xiàn)場的溫度采集硬件[2]。采集數(shù)據(jù)上傳的流程基本為沿指令下達路線逆向上傳,但在MCU中會將符合MODBUS協(xié)議的溫度采集數(shù)據(jù)解算并重新編碼為PLC可讀取的符合自定義協(xié)議的數(shù)據(jù)字符串上傳。

圖2 協(xié)議轉(zhuǎn)換板卡結(jié)構(gòu)圖Fig2. Structure diagram of protocol conversion board
3.3.1.1 板卡MCU選型
MCU與各個組塊之間進行數(shù)據(jù)通信,并對接收數(shù)據(jù)進行處理轉(zhuǎn)發(fā),是整個終端的核心部分。設(shè)計中采用STM32F103ZET6處理器,該款處理器是意法半導(dǎo)體推出的一款性能較強的微控制器。該控制器具有STANDBY和STOP兩種低功耗模式,可適應(yīng)不同情況需求;此外,它集成有多種高性能工業(yè)標(biāo)準(zhǔn)接口,并應(yīng)用32位的Cortex-M3內(nèi)核,擁有72 MHz的運行頻率,廣泛應(yīng)用在工業(yè)、醫(yī)療等領(lǐng)域[3-4]。
3.3.1.2 板卡通信模塊設(shè)計
板卡的通信模塊部分分為RS232串口通信模塊和RS232轉(zhuǎn)RS485轉(zhuǎn)換模塊。RS232串口通信模塊可將TTL串口格式數(shù)據(jù)編碼為符合RS232格式的串行數(shù)據(jù),該模塊應(yīng)用DC3V-5V電源供電;RS232轉(zhuǎn)RS485轉(zhuǎn)換模塊負責(zé)將符合RS232格式的串行數(shù)據(jù)轉(zhuǎn)換為RS485總線上傳輸?shù)拇袛?shù)據(jù),該模塊無需單獨供電,可從輸入的RS232信號線上取DC3V-5V電壓進行供電,如圖3所示。

圖3 RS232串口模塊和RS232轉(zhuǎn)RS485模塊Fig3. RS232 serial port module and RS232 to RS485 module
3.3.2 板卡軟件設(shè)計
3.3.2.1 主程序設(shè)計
如圖4所示,板卡主程序中先進行芯片初始化,初始化IO口、串口、標(biāo)志位以及中斷和計時器,之后進入主循環(huán)。

圖4 板卡主程序邏輯圖Fig4. Logic diagram of board main program
主循環(huán)邏輯主要完成四部分功能:
(1)接收指令并發(fā)送采集指令。
(2)接收并緩存溫度數(shù)據(jù)。
(3)解算并格式化溫度數(shù)據(jù)。
(4)發(fā)送溫度數(shù)據(jù)回PLC。
2.3.2.2 中斷程序設(shè)計
(1)UART1中斷
UART1中斷負責(zé)實時等待來自于PLC的通信指令,并確保接收到正確的指令信息存入接收緩存中,程序流程圖如圖5所示。

圖5 UART1中斷程序流程圖Fig5. Flow chart of uart1 interrupt program
中斷被觸發(fā)后,先判別中斷接收狀態(tài)為“準(zhǔn)入”;之后,判別接收緩存標(biāo)志位Buffer_Data_Com1.Flag_R=0,以確保UART1的接收緩存寄存器組已做好接收準(zhǔn)備。之后,將本次中斷接收到的數(shù)據(jù)字節(jié)放入接收緩存寄存器數(shù)組Buffer_Data_Com1.Buffer_RX的第UART1_Count_R個字節(jié)處(UART1_Count_R為接收字節(jié)指針地址,初始值為0,Buffer_Data_Com1.Buffer_RX[0]即為數(shù)組Buffer_Data_Com1.Buffer_RX中的第一個字節(jié)數(shù)據(jù))。
開始指令正確性判別,首先判別UART1串口接收的指令包包頭為0x23即字符“#”,判別正確后將緩存寄存器數(shù)組的指針地址后移一位;之后進行第二條件判別,即數(shù)據(jù)包第6字節(jié)為0x0D且數(shù)據(jù)包正確接收完成后的指針地址為6,判別正確后表示指令數(shù)據(jù)包已正確接收,將Buffer_Data_Com1.Flag_R置1,復(fù)位指針UART1_Count_R的值為0,成功接收到本次數(shù)據(jù)包。
若接收到的指令數(shù)據(jù)包中包含的特征數(shù)據(jù)有錯,則該指令數(shù)據(jù)包被判別為錯誤數(shù)據(jù)包,則應(yīng)用條件UART1_Count_R>6將UART1_Count_R置0,即舍棄數(shù)據(jù)包。
(2)UART2中斷
UART2中斷負責(zé)實時等待來自于溫度采集模塊的溫度數(shù)據(jù),并確保接收到正確的指令信息存入接收緩存中,程序流程圖如圖6所示。

圖6 UART1中斷程序流程圖Fig6. Flow chart of uart1 interrupt program
中斷被觸發(fā)后,先判別中斷接收狀態(tài)為“準(zhǔn)入”;之后,判別接收緩存標(biāo)志位Buffer_Data_Com2.Flag_R=0,以確保UART2的接收緩存寄存器組已做好接收準(zhǔn)備。之后,將本次中斷接收到的數(shù)據(jù)字節(jié)放入接收緩存寄存器數(shù)組Buffer_Data_Com2.Buffer_RX的第UART2_Count_R個字節(jié)處(UART2_Count_R為接收字節(jié)指針地址,初始值為0,Buffer_Data_Com2.Buffer_RX[0]即為數(shù)組Buffer_Data_Com1.Buffer_RX中的第一個字節(jié)數(shù)據(jù))。
開始指令正確性判別,首先判別UART2串口接收的溫度數(shù)據(jù)包包頭為0x01,判別正確后將緩存寄存器數(shù)組的指針地址后移一位;之后進行第二條件判別,即數(shù)據(jù)包第2字節(jié)為0x03且數(shù)據(jù)包正確接收完成后數(shù)據(jù)長度為7字節(jié),判別正確后表示指令數(shù)據(jù)包已正確接收,將Buffer_Data_Com2.Flag_R置1,復(fù)位指針UART2_Count_R的值為0,成功接收到本次數(shù)據(jù)包。
若接收到的溫度數(shù)據(jù)包中包含的特征數(shù)據(jù)有錯,則該溫度數(shù)據(jù)包被判別為錯誤數(shù)據(jù)包,則應(yīng)用條件UART2_Count_R>7將UART2_Count_R置0,即舍棄數(shù)據(jù)包。
3.3.3 通信協(xié)議解算設(shè)計
板卡設(shè)計中涉及到的協(xié)議格式共4種(如圖7):PLC下達的采集指令(COMMAND_PLC)、下達到溫度采集模塊的采集指令(COMMAND_ToMod)、溫度采集模塊回傳的溫度數(shù)據(jù)(TMP_Source)以及傳回PLC的溫度數(shù)據(jù)(TMP_ToPLC)。

圖7 通信協(xié)議數(shù)據(jù)格式Fig7. Communication protocol data format
PLC下達的采集指令(COMMAND_PLC)數(shù)據(jù)包共6個字節(jié),數(shù)據(jù)內(nèi)容為固定值。
下達到溫度采集模塊的采集指令(COMMAND_ToMod)數(shù)據(jù)包共8個字節(jié),數(shù)據(jù)內(nèi)容為固定值。該數(shù)據(jù)符合MODBUS_RTU協(xié)議,首字節(jié)為目標(biāo)地址“0X01”,第二字節(jié)為指令字節(jié),第三、第四字節(jié)為預(yù)讀取寄存器首地址,第五、第六字節(jié)為讀取數(shù)據(jù)個數(shù),最后兩個字節(jié)為校驗字節(jié),采用CRC校驗。
溫度采集模塊回傳的溫度數(shù)據(jù)(TMP_Source)符合MODBUS_RTU協(xié)議,首字節(jié)為發(fā)送方地址,第二字節(jié)為反饋指令代碼,第三字節(jié)為反饋數(shù)據(jù)寄存器首地址,第四、第五字節(jié)為溫度數(shù)據(jù),第六、第七字節(jié)為CRC校驗位。
傳回PLC的溫度數(shù)據(jù)(TMP_ToPLC)數(shù)據(jù)為自定義通信協(xié)議,共13個字節(jié)。前五個字節(jié)為固定值,后面跟六位溫度數(shù)據(jù),最后以“0X0D”為包尾。該溫度數(shù)據(jù)為十進制,遂需將接收到的十六進制數(shù)據(jù)轉(zhuǎn)換為十進制字符串格式數(shù)據(jù),之后分別填入相應(yīng)的地址內(nèi)。
以物理成熟溫度控制系統(tǒng)改造完成前后數(shù)據(jù)為例,物理成熟溫度控制改造完后,溫度控制系統(tǒng)恢復(fù)正常。經(jīng)過溫度標(biāo)定后得到的生產(chǎn)控溫曲線如圖8中所示,圖中紅線和綠線為改造之前系統(tǒng)完好情況下的控溫曲線,其中綠線為溫度設(shè)定曲線,紅線為溫度控制曲線;圖中黃線和藍線為改造之后控溫曲線,其中黃為溫度設(shè)定曲線,藍線為溫度控制曲線。經(jīng)對比可見改造后的溫度調(diào)節(jié)性能優(yōu)良,與系統(tǒng)完好時的控溫效果基本相同,甚至更優(yōu)。改造后的實際控溫穩(wěn)定均值基本與設(shè)定值相同,調(diào)節(jié)最大偏差為0.1℃,可完全滿足生產(chǎn)溫度需求。

圖8 物理成熟控溫曲線圖Fig8. Temperature control curve of physical maturity
乳劑控溫系統(tǒng)改造完成后,自動控溫波動范圍不大于±0.1℃,運行數(shù)據(jù)可靠穩(wěn)定,可完全替代原有瓶頸設(shè)備。該系統(tǒng)以自做協(xié)議轉(zhuǎn)換板卡為核心,替代柯達原廠定制溫度轉(zhuǎn)換模塊,打破生產(chǎn)設(shè)備瓶頸,使車間消除了因此系統(tǒng)損壞而長期停產(chǎn)的隱患。同時該系統(tǒng)的改造成功也提升了生產(chǎn)系統(tǒng)的穩(wěn)定性,為產(chǎn)品質(zhì)量提供了有力保證。