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

圖1 控溫系統整體示意圖Fig1. Overall schematic diagram of temperature control system
系統設計的重點在于溫度采集環節和協議轉換環節。
為提高乳劑生產鍋內控溫系統的穩定性和抗干擾能力,切實保證物料的正常生產性能,設計了冗余的溫度監測方案。該方案分別應用現有兩個PT200溫度傳感器,搭建一主一輔兩條溫度監測線路,最終輸入PLC中,可實現主線路和輔線路的自主切換,當主線路故障時,自動切換至輔線路,從而保證生產穩定。
兩條線路的搭建邏輯一樣,即將PT200溫度傳感器采集到的數據通過國內定做的PT200溫度變送器(精度為0.1℃)轉變為標準的4~20 mA信號,之后再通過18位的4~20 mA到RS485轉換模塊將數據轉變為符合MODBUS協議的通用字符串數據,通過RS485總線傳回控制室。
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”為包尾。該溫度數據為十進制,遂需將接收到的十六進制數據轉換為十進制字符串格式數據,之后分別填入相應的地址內。
以物理成熟溫度控制系統改造完成前后數據為例,物理成熟溫度控制改造完后,溫度控制系統恢復正常。經過溫度標定后得到的生產控溫曲線如圖8中所示,圖中紅線和綠線為改造之前系統完好情況下的控溫曲線,其中綠線為溫度設定曲線,紅線為溫度控制曲線;圖中黃線和藍線為改造之后控溫曲線,其中黃為溫度設定曲線,藍線為溫度控制曲線。經對比可見改造后的溫度調節性能優良,與系統完好時的控溫效果基本相同,甚至更優。改造后的實際控溫穩定均值基本與設定值相同,調節最大偏差為0.1℃,可完全滿足生產溫度需求。

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