孫 媛,郭 鍵
(北京物資學(xué)院,北京101149)
濕法聚氨酯合成革是天然皮革的最佳替代品,它是將聚氨酯、樹(shù)脂的DMF(耳甲基甲酰胺)溶液添加各種助劑,制成漿料,浸漬或涂覆于基材上,然后放入與DMF具有親和性,而與聚氨酯、樹(shù)脂不親和性的水中,DMF被水置換,聚氨酯樹(shù)脂逐漸凝固,從而形成多孔性的薄膜(微孔聚氨酯粒面)。該薄膜被稱為貝斯(Bass),薄膜經(jīng)表面處理裝飾后,如離型紙法工藝貼膜制成不同種類,風(fēng)格各異的聚氨酯合成革。溫濕度及DMF濃度的控制,影響著產(chǎn)品質(zhì)量,在整個(gè)生產(chǎn)過(guò)程中需要實(shí)時(shí)監(jiān)控,然而如果用人工直接檢測(cè),接觸或吸入DMF溶劑對(duì)人體的肝臟造成急慢性損害,為了減少DMF溶劑會(huì)對(duì)人體的傷害,提高產(chǎn)品的溫濕度和DMF監(jiān)測(cè)精度,在設(shè)備改造的基礎(chǔ)上引入微機(jī)進(jìn)行自動(dòng)控制,整個(gè)控制由基于AT89C52單片機(jī)采集器與控制中心的PC機(jī)組成監(jiān)控網(wǎng)絡(luò)系統(tǒng),各采集器完成溫濕度和DMF濃度的采集,數(shù)據(jù)的存儲(chǔ)、調(diào)整、顯示、上傳和接收等,從而完成整個(gè)生產(chǎn)過(guò)程的智能控制,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和維護(hù),遠(yuǎn)離DMF對(duì)人體的傷害,提高產(chǎn)品質(zhì)量。
濕法聚氨酯合成革工藝加工設(shè)備有制漿設(shè)備、含浸槽、凝固槽、水洗槽、烘箱、冷卻、卷取裝置、DMF回收裝置等,在整個(gè)生產(chǎn)工藝中,在重要的環(huán)節(jié)安裝采集器,各采集器位置如圖1所示。
將各采集器作為監(jiān)控網(wǎng)絡(luò)的節(jié)點(diǎn),與PC主機(jī)組成基于RS485的網(wǎng)絡(luò)系統(tǒng)。標(biāo)準(zhǔn)RS-485作為一種多點(diǎn)、差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范現(xiàn)已成為業(yè)界應(yīng)用最為廣泛的標(biāo)準(zhǔn)通信接口之一。這種通信接口允許在簡(jiǎn)單的一對(duì)雙絞線上進(jìn)行多點(diǎn)、雙向通信,它所具有的噪聲抑制能力、數(shù)據(jù)傳輸速率、電纜長(zhǎng)度及可靠性是其他標(biāo)準(zhǔn)無(wú)法比擬的。但是計(jì)算機(jī)本身不具有專用的RS-485通信口。由于RS-485與RS-232的工作電平不相同,工作方式與控制機(jī)理也有差別,利用現(xiàn)成的串口來(lái)實(shí)現(xiàn)RS-485通信時(shí),還需要對(duì)硬件與軟件進(jìn)行相應(yīng)的設(shè)計(jì)。在串口采用了RS-232/RS485轉(zhuǎn)換卡,在溫度采集器中將MAX487與AT89C52單片機(jī)串行接口的TXD(發(fā)送)與RXD(接收)相連,可將TTL電壓轉(zhuǎn)換成RS485差分電壓與PC微機(jī)MAX485連接,完成了硬件的電平轉(zhuǎn)換功能。由此可見(jiàn),接口轉(zhuǎn)換器在單片機(jī)和PC機(jī)之間起橋梁作用,在硬件上是實(shí)現(xiàn)通信的關(guān)鍵所在,系統(tǒng)結(jié)構(gòu)如圖2所示。
圖1 濕法生產(chǎn)線自動(dòng)控制采集點(diǎn)
圖2 系統(tǒng)總體結(jié)構(gòu)
安裝在每個(gè)采集點(diǎn)的結(jié)構(gòu)是一樣的,其原理圖如圖3所示,主要由溫濕度和DMF濃度檢測(cè)兩組信號(hào)輸入、通信接口電路、鍵盤(pán)、LCD顯示器、E2PROM 24C16等組成。
圖3 節(jié)點(diǎn)采集器結(jié)構(gòu)
(1)本系統(tǒng)中DMF濃度檢測(cè)是脈沖表,單片機(jī)直接對(duì)脈沖表的脈沖輸出信號(hào)進(jìn)行采集。溫濕度傳感器通過(guò)差分A/D轉(zhuǎn)換為數(shù)字信號(hào)輸入單片機(jī)。
(2)采用虛擬串行總線技術(shù),用單片機(jī)I/O口線擴(kuò)展了串行接口器件LCD液晶顯示器和8K E2PROM 24C16。LCD用來(lái)顯示表數(shù)據(jù)以及顯示發(fā)布的短信息等,所采用的液晶顯示模塊,內(nèi)置顯示RAM和驅(qū)動(dòng)控制器,通過(guò)串行方法與單片機(jī)AT89C52相連。用24C16來(lái)存放有關(guān)的初始化信息、溫濕度和DMF濃度等信息。
(3)通過(guò)單片機(jī)的P0口線串行擴(kuò)展了簡(jiǎn)易鍵盤(pán),實(shí)現(xiàn)人機(jī)交互。鍵盤(pán)為4×4結(jié)構(gòu),其中有功能鍵和數(shù)字鍵,采用層次結(jié)構(gòu)管理鍵盤(pán)。
(4)通過(guò)MAX487完成單片機(jī)與RS-485總線連接。
采集器工作過(guò)程如下:上電復(fù)位自檢后,開(kāi)始運(yùn)行,指示燈閃爍表示程序開(kāi)始正常運(yùn)行,初始化LCD、溫濕度傳感器、DMF濃度、密碼、鍵盤(pán)、串口。然后進(jìn)入主程序循環(huán),首先記錄溫濕度,DMF脈沖表數(shù)據(jù),然后將上述兩種數(shù)據(jù)存入24C16中,查詢鍵盤(pán),通過(guò)串口響應(yīng)PC機(jī)通信命令與主控PC機(jī)之間進(jìn)行數(shù)據(jù)傳輸。采集報(bào)警(溫濕度、DMF超過(guò)警戒線)相關(guān)情況,有警情發(fā)出告警信號(hào)。記錄溫濕度、DMF的數(shù)據(jù),并且顯示表讀數(shù)。設(shè)置密碼,修改密碼。與PC機(jī)之間接收和發(fā)送數(shù)據(jù)。修改本機(jī)地址等。
采用MAX706作為系統(tǒng)看門狗電路可有效的防止程序跑飛。經(jīng)過(guò)分析,整個(gè)程序運(yùn)行的時(shí)間周期為22.5ms,恰好解決了鍵盤(pán)和傳感器觸點(diǎn)抖動(dòng)的問(wèn)題。
但是當(dāng)系統(tǒng)掉電時(shí)并不能保證24C16中的數(shù)據(jù)安全,這是單片機(jī)系統(tǒng)最頭痛的問(wèn)題。讀寫(xiě)24C16的時(shí)間大約是600us,占整個(gè)程序運(yùn)行時(shí)間的3%左右。假設(shè)恰好在讀寫(xiě)24C16的時(shí)候系統(tǒng)掉電,則數(shù)據(jù)的安全將不能保證。經(jīng)過(guò)對(duì)24C16功能的仔細(xì)研究最終找到了可行的辦法。初始化時(shí),將相同的數(shù)據(jù)分別存入到24C16的3頁(yè)存儲(chǔ)區(qū)同一地址中,以后每次寫(xiě)操作時(shí)都分別向這3頁(yè)寫(xiě)入相同的數(shù)據(jù)。而讀操作時(shí),將3頁(yè)的數(shù)據(jù)分別讀到RAM區(qū),進(jìn)行比較。由于系統(tǒng)掉電時(shí)只可能影響到其中1頁(yè)數(shù)據(jù)。將3個(gè)數(shù)據(jù)比較,如果三者相同,說(shuō)明數(shù)據(jù)是安全的。否則啟動(dòng)校正程序,將兩個(gè)相同的數(shù)據(jù)拷貝到不同的那一頁(yè)。這種自我修復(fù)功能十分有效。
PC機(jī)與節(jié)點(diǎn)采集器(AT89C52單片機(jī))的串行通信程序由兩部分組成:一部分是PC機(jī)的通信程序,另一部分是單片機(jī)的通信程序。這兩部分雖然在不同的機(jī)器上編寫(xiě)和運(yùn)行,但它們要做的工作是對(duì)應(yīng)的。一個(gè)發(fā)送時(shí),另一個(gè)一定接收;反之,一個(gè)接收時(shí),另一個(gè)一定發(fā)送,而且對(duì)應(yīng)發(fā)送和接收的字符都相等,否則失去通信的意義。因此,為了保證數(shù)據(jù)通信的可靠性,要制定通信協(xié)議,然后各自根據(jù)協(xié)議分別編制程序。
在PC機(jī)與多采集器(AT89C52單片機(jī))通信時(shí),為了識(shí)別不同的采集器,一定要識(shí)別數(shù)據(jù)幀和地址幀,PC機(jī)和多單片機(jī)之間才能進(jìn)行正確的通信。但PC機(jī)的串行通信沒(méi)有這一功能,其串行口發(fā)送的數(shù)據(jù)可設(shè)為與單片機(jī)串行格式匹配的11位格式,其中第9位是奇偶位。這11位數(shù)據(jù)幀由1位起始位、8位數(shù)據(jù)位、1位奇偶校驗(yàn)位和1位停止位組成,其格式為:
其中,TB8是可編程位,通過(guò)使其為0或?yàn)?而將數(shù)據(jù)和地址幀區(qū)別開(kāi)來(lái)。
起始位 D0 D1 D2 D3 D4 D5 D6 D7奇偶位 停止位
而AT89C52單片機(jī)多機(jī)通信的典型數(shù)據(jù)幀格式為:
起始位 D0 D1 D2 D3 D4 D5 D6 D7 TB8停止位
比較上面兩種數(shù)據(jù)格式可知:它們的數(shù)據(jù)位長(zhǎng)度相同,不同的僅在于奇偶校驗(yàn)位和TB8。如果通過(guò)軟件的方法可以編程PC機(jī)的串口通信的奇偶校驗(yàn)位,使得在發(fā)送地址時(shí)為“1”,發(fā)送數(shù)據(jù)時(shí)為“0”,則PC機(jī)的串行口通信的奇偶校驗(yàn)位就可以完全模擬單片機(jī)多機(jī)通信的TB8位。對(duì)于這一點(diǎn)是不難辦到的,可以用軟件來(lái)實(shí)現(xiàn),在本系統(tǒng)中PC機(jī)是用VB的通信控件MSComm的Settings屬性實(shí)現(xiàn)的。
PC主機(jī)與各采集器的通信方式采用輪詢模式,輪詢模式是在以一個(gè)設(shè)備為主機(jī)(PC主機(jī))而其他設(shè)備為從機(jī)(采集器)的拓?fù)浣Y(jié)構(gòu)中采用的。多點(diǎn)系統(tǒng)必須在多個(gè)站點(diǎn),而不是僅僅兩個(gè)之間進(jìn)行協(xié)調(diào),因此在這種情況下,要確定哪一個(gè)站點(diǎn)有權(quán)使用信道。一般認(rèn)為,VB6.0的通信控件MSComm只能實(shí)現(xiàn)雙機(jī)通信,而無(wú)法實(shí)現(xiàn)對(duì)分布式采集器節(jié)點(diǎn)機(jī)群的控制,因此在PC機(jī)允許的串行通信幀格式中利用奇偶校驗(yàn)來(lái)模擬產(chǎn)生多機(jī)系統(tǒng)中必須的地址/數(shù)據(jù)使能位,才能實(shí)現(xiàn)對(duì)分布式采集器群的控制。通過(guò)對(duì)VB6.0環(huán)境下的串行通信控件MSComm屬性以及串行信息幀格式的深入研究,提出了直接利用串行通信控件MSComm的有關(guān)屬性,保證串行通信幀的奇偶位隨傳送地址或數(shù)據(jù)的變化而動(dòng)態(tài)變化??赏ㄟ^(guò)動(dòng)態(tài)設(shè)定MSComm控件的Settings屬性中的奇偶方式P值,以串行通信幀中奇偶位的變化來(lái)模擬多機(jī)通信時(shí)地址/數(shù)據(jù)使能位,當(dāng)發(fā)送地址幀時(shí)保證奇偶校驗(yàn)位為“1”,發(fā)送數(shù)據(jù)幀時(shí)保證奇偶校驗(yàn)位為“0”。
其屬性設(shè)置為:
(1)MSComm1.Settings=“9600,m,8,1”‘波特率9600bps,MARK狀態(tài)(地址使能位),8位數(shù)據(jù)位,1位停止位
(2)MSComm1.Settings=“9600,s,8,1”‘波特率9600bps,SPACE狀態(tài)(數(shù)據(jù)使能位),8位數(shù)據(jù)位,1位停止位
(3)InBufferCount:傳回在接收寄存器中的字符,InBufferCount屬性設(shè)為0,用來(lái)清除寄存器。
(4)InputMode:設(shè)置或傳回Input屬性取回?cái)?shù)據(jù)的形式。
ComInputModeText:0以文字形式取回
ComInputModeBinary:1以二進(jìn)制形式取回
發(fā)送數(shù)據(jù)過(guò)程:
發(fā)送端口號(hào) → 發(fā)送從機(jī)地址 → 發(fā)送命令及數(shù)據(jù) → 等待 → 接收從機(jī)回應(yīng) → 判斷地址 → 完成
接收數(shù)據(jù)過(guò)程:
發(fā)送端口號(hào)→發(fā)送從機(jī)地址→發(fā)送命令→等待→接收從機(jī)地址及數(shù)據(jù)→判斷地址→判斷校驗(yàn)和→完成
節(jié)點(diǎn)采集器采用的是AT89C52單片機(jī),用匯編語(yǔ)言編程,多采集器與主機(jī)之間的通信,通過(guò)串行口中斷來(lái)實(shí)現(xiàn)。采集器有很多個(gè),采用單片機(jī)的多機(jī)通信來(lái)實(shí)現(xiàn),主要靠主從機(jī)之間正確地設(shè)置與判斷單片機(jī)的多機(jī)通信控制位SM2和發(fā)送接收第9位(地址/數(shù)據(jù)識(shí)別位)來(lái)進(jìn)行。
采用串行口工作方式3的多機(jī)通信方式,首先給各從機(jī)定義地址編號(hào),主機(jī)用此地址識(shí)別從機(jī)。初始化時(shí)置所有從機(jī)SM2位為1,使之都處于監(jiān)聽(tīng)狀態(tài)。當(dāng)主機(jī)發(fā)送一地址幀時(shí),所有從機(jī)接收地址幀,與本機(jī)地址比較,地址不符維持SM2=1的監(jiān)聽(tīng)狀態(tài)。地址相符時(shí)置SM2=0,轉(zhuǎn)入接收主機(jī)發(fā)送的命令,然后再根據(jù)該命令類別進(jìn)行數(shù)據(jù)的接收或者發(fā)送,從而實(shí)現(xiàn)主機(jī)與被巡從機(jī)之間通信,通信完畢SM2=1,恢復(fù)監(jiān)聽(tīng)狀態(tài)。
采集器單片機(jī)串口通信初始化:
(1)串行數(shù)據(jù)的傳送采用串行口中斷。中斷允許寄存器IE,中斷允許,開(kāi)串口。
(2)串行口控制寄存器SCON為方式3,允許接收。
(3)定時(shí)器T1作波特率發(fā)生器使用,定時(shí)器選用自動(dòng)重裝載方式,即方式2。TL1作計(jì)數(shù)用,自動(dòng)重裝載值放在TH1內(nèi)。定時(shí)器初始值為:
(4)初始化時(shí)串行口處于接收狀態(tài),將MAX487的發(fā)送接收使能端設(shè)為接收狀態(tài)。
(5)啟動(dòng)定時(shí)器。
多機(jī)通信的從機(jī)中斷服務(wù)程序如圖4所示。
圖4 采集器多機(jī)通信從機(jī)中斷服務(wù)程序
在沒(méi)有收到PC機(jī)發(fā)送的命令之前,所有的采集器都處于監(jiān)聽(tīng)狀態(tài),即接收地址幀狀態(tài)(SM2=1),對(duì)應(yīng)的PC機(jī)是發(fā)送地址幀狀態(tài)(MARK狀態(tài)),當(dāng)接收到的地址與本采集器地址相符時(shí),只有本采集器進(jìn)入接收數(shù)據(jù)幀狀態(tài)(SM2=0),相應(yīng)的PC進(jìn)入發(fā)送或接收數(shù)據(jù)幀狀態(tài)(SPACE狀態(tài)),控制其開(kāi)始接收命令,命令又分為兩大部分,有發(fā)送命令和接收命令兩大類:①若是發(fā)送命令,將采集器的地址回發(fā)給PC機(jī),然后根據(jù)命令發(fā)送給PC機(jī)相應(yīng)的數(shù)據(jù);②若是接收命令,同樣也將本采集的地址回發(fā)給PC機(jī),然后接收PC機(jī)發(fā)給本采集器的數(shù)據(jù),處理完數(shù)據(jù)之后,例如檢驗(yàn)和校驗(yàn)之后,將數(shù)據(jù)存入24C16中,以備采集器中相應(yīng)的程序調(diào)用。
本采集器完成與PC機(jī)的數(shù)據(jù)交互之后,恢復(fù)監(jiān)聽(tīng)狀態(tài)(SM2=1),與其他采集器一樣等待PC機(jī)的巡檢。
制革行業(yè)污染嚴(yán)重,制革使用的溶劑對(duì)人體有傷害,因此為了減少環(huán)境污染和對(duì)人體的傷害,最好采取密閉生產(chǎn)的方式。我國(guó)制革企業(yè)一般都是規(guī)模小的民營(yíng)企業(yè),設(shè)備大多數(shù)是日本進(jìn)口,也有部分是臺(tái)灣大陸制造的,由于這些企業(yè)資金有限,很多時(shí)候明知污染嚴(yán)重,還需要人工直接接觸,監(jiān)控生產(chǎn)?;谝陨锨闆r本系統(tǒng)在原有的設(shè)備基礎(chǔ)上,用較少的資金,進(jìn)行設(shè)備改造,力求生產(chǎn)線在中控室集中控制,達(dá)到密閉自動(dòng)生產(chǎn)的目的,選擇RS-485總線方式作為測(cè)控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),降低了系統(tǒng)復(fù)雜性,減少了成本,采用AT89C52單片機(jī)作為采樣節(jié)點(diǎn)的微處理機(jī),能夠完成對(duì)采樣點(diǎn)數(shù)據(jù)的控制。該設(shè)計(jì)方法已經(jīng)成功調(diào)試,并運(yùn)行良好,實(shí)現(xiàn)了高精度、可靠性強(qiáng),并有效地降低了成本,對(duì)類似的數(shù)據(jù)采集有借鑒作用。
[1]趙建領(lǐng).51單片機(jī)開(kāi)發(fā)與應(yīng)用技術(shù)詳解[M].北京:電子工業(yè)出版社,2009.
[2]李朝青.單片機(jī)原理及串行外設(shè)接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2008.
[3]沈文斌.嵌入式硬件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例詳解[M].北京:電子工業(yè)出版社,2005.
[4]劉樂(lè)善.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2004.
[5]Behrouz Forouzan.數(shù)據(jù)通信與網(wǎng)絡(luò)[M].北京:機(jī)械工業(yè)出版社,2001.
[6]范逸之.利用VB實(shí)現(xiàn)串并行通信技術(shù)[M].北京:清華大學(xué)出版社,2000.