咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-04-08 17:11:41 |來源:網絡轉載
1、硬件的連接及其設置
1.1TOLEDO8142儀表異歩串行口以及計算機的連線方式
TOLEDO8142儀表采用Intel8031微處理器作為主處理鬍,并且通過儀表內部的軟件實現儀表的自檢、參數設定、系統(tǒng)校驗、凈重計算顯示與打印輸出等功能。8031微處理器設有RXD(接收數據)和TXD(發(fā)送數據)的通訊引腳,可以方便地組成RS-232串行接口。
TOLEDO8142儀表的RS-232-C串行接口,其邏輯電平是:"-3V—-15V"為邏輯1,“+3V—+15V”為邏輯0,但"-3V-+3V"之間不作定義電平,打印通訊口JN(DB-25)有關RS-232-C異歩串行接口聽引腳定義如下所示:
(1)發(fā)送數據(TXD)
(2)接收數據(RXD)
(3)涓除數據(CTS)此信號可控制8142發(fā)送數據,如果此線保持-12VDC,8142將無清除發(fā)送信號,也不允許發(fā)送數據,此線不必保持12VDC以允許發(fā)送,如果需要也可保持。
(4)數據設備就緒(DST)本輸入線電平可增至QVDC,持續(xù)時間300毫秒的脈神以啟動數據傳送。如果輸出為連續(xù)方式,狀態(tài)字C中用于打印按鈕的第三位將改變。
(5)邏輯弛(LogicGroundGNd)
(6)數據終端就緒(DTR)此輸出信號在8142表通電時為+12VDC。
1.2.8142稱重儀表的設置
8142稱重儀表串行接口數據輸岀方式設為命令方式,并且允許ASCII命令字符遠距輸入。這樣當計算機由串行接口發(fā)送一個打印字符合給8142稱重儀表的串行接口后,8142稱重儀表由串行接口向計算機發(fā)送重量數據。
1.3.計算機RS-232-C異步串行接口各引腳定義。
雖然RS-232Y定義25腳的信號標準,但實現異步通信時僅要9個電壓信號(其中2個數據信號、6個控制信號、1個信號弛線)。PC,XT機除支持ElA電壓接口外,還支持20mA電流環(huán)路接口,另需4個電流信號,故它采用DB-25型連接口,與DCE(DateCommunicationEquipment數據通信設備)配置的DB-25型連接器是對應的,在此不再冗述。然而,AT機串行口取消了電流環(huán)接口,采用DB-9型連接器(陽插頭),其信號需要重新排列,若與DB-25型連接器的DCE設備相接,必須使用專門的電纜,其對應關系是特殊的,DB-9型連接器各引腳定義如下所示,
(1)載波檢測(DCD)
(2)振鈴指示(RI)
(3)請求發(fā)送(RTS)輸出線電平一般為T2VDC,在請求數據發(fā)送后,輸出電壓變?yōu)?12VDC,持續(xù)時間約為500毫秒。
TOLEDO8142儀表與計算機RS-232-C串口連接線只需三線傳送數據即可。
2.接口程序(其中包括接口中斷初始化及數據接收和保存)
2.1.接口中斷初始化(RS-232-C異步串行口通訊程序設計與分析)
以往異步通信編程都是查詢I/O方式的。它們共同的特點是CPU每次與UART交換數據之前,都要不斷弛監(jiān)視線路狀態(tài)寄存器的某些狀態(tài)位。這使CPU的使用效率大為降低。另外,一旦檢測到狀態(tài)就緒,尤其是接收器數據寄存器就緒,CPU應立即予以接收,否則會引起超越錯(發(fā)送處理是CPU—方控制其傳輸速率,故不易帶來麻煩)?;蛘撸谡=邮軤顟B(tài)下,若接受的字符又送屏幕顯示,但波特率為1200或以上,則BIOS屏幕卷頁功能(INT10H的AH=7子功能)將來不及處理,使顯示緩存溢出。上述向題均起因于異步通信的查詢I/O方式,使用下面所要講的通信中斷I/O方式即可順利解決這些問題。
2.2.異步通信中斷程序模式
下面按照前面所述的通信中斷程序的特殊性,并結合一殺中斷處理的編程原則和方法,提出異歩通信中斷編程模式。
2.2.1通信中斷初始化流程
該初始化流通常安排在整個通信程序(包括主程序和中斷程序)之后,僅裝入內存后運行一次。它的工作應包括下面幾歩,
①修改中斷向量表按使用的串行口COH1或COM2,接管中斷0CH或中斷0BH,使新的中斷向量指向自行編制的通信中斷程序。
②確定UART操作方式設置中斷允許寄存器相應位的允許或禁止(選擇中斷源類型),并允許中斷操作(1MODEM控制寄存器OUT2有效D3=0)。
③確定UART通信協議設置通信波特率及數據傳輸格式。
④但開放通信中斷對8259A-5中斷控制器的屏蔽寄存器編程,允許中斷IRQ4或IRQ3O
⑤通信程序運行初始化結束轉入主程序處理。
注意:為確保通信中斷可靠運行,在上述第⑴一⑷步過程中,應關閉中斷。完成初始化之后再開放中斷。
2.2.2,通信中斷子程序
該子程序是中斷處理的核心。它通??煞殖扇缦氯危?br />
⑴判斷發(fā)生中斷的中斷源類型通過讀取中斷標識寄存器的標詛位,查找到相應中斷子程序的入口弛址。
⑵各個中斷源類型相應的中斷處理流程由于不同的中斷源類型,其處理過程也不同:
如接收器數據寄存器就緒中斷(D2D1D0=100),則從UART數據寄存器讀取送到接收隊列;
如發(fā)送器保持寄存器中斷(D2D1D0=010),則從發(fā)送隊列諛取字符寫到UART保持寄存器;
如接收器線路狀態(tài)中斷(D2D1D0=110),則從UART線路狀態(tài)寄存器讀取狀態(tài)進行分析,根據錯誤或間斷,作出相應的處理;
如MODEM狀態(tài)變化中斷(D2D1D0=000),則從UART的HODEM狀態(tài)寄存器讀取狀態(tài)進行分析,根據狀態(tài)變化,作出相應的處理。
(3)判斷有否尚待處理的中斷,毎種中斷源類型處理后要繼續(xù)判別中斷標識寄存器的最低位是否為0。若為0,再輸入標識位指示的相應的中斷處理。否則,結束中斷處理(通常發(fā)中斷結東命令E0I到中斷控制器),并以IRET返回中斷的通信子程序。
2.3數據接收、顯示和保存
重量數據是由中斷接中程序從RS-232接中取得并保存在接收數據緩沖區(qū)中的,當有數據從RS-232接口進入計算機時,就會觸發(fā)上面所說的通信中斷子程序,此子程序將所得到的數據存入接收數據緩神區(qū)中保存,數據接收程序就節(jié)取此緩沖區(qū)中的重量數據,并從系統(tǒng)中讀取當時的系統(tǒng)時間,將這兩個數據轉換為可顯示的ASCII碼字符,并顯示于顯示區(qū)中,當鍵盤沒有任何輸入事件發(fā)生時,重復上面的數據顯示進程。當發(fā)生健盤輸入事件時,檢查是否是按下了F2鍵,如果不是返回上述進程,如果是F2槌則進入數據保存進程,數據保存進程是將數據保存于一臨時數據庫中,此數據庫只有一個字段,即重量字段,將此數據庫打開并將文件指針指于數據庫笫一字段前,寫入在前面取得的重量數據,最后關閉數據庫文件即可。
3數據分時采樣、分析及計算程序
3.1數據的分時采樣:當重量數據被傳送到計算機并保存后,進行計時。當達到預定時間段時間當前重量保存。系統(tǒng)共保存61個分時重量值。
3.2數據分析計算:由于出現情況十分復雜程序中采用了多個數據補償算法,敘述十分繁瑣。在此給岀分析及計算的算法模型,算法模型如下,
由于系統(tǒng)保存有61個分時釆樣數據重量值,它們之間都為一個時間單位。這樣每隔31個數據就有30個單位時間間隔。這樣用笫31采樣數據減第一個,笫32采樣減笫2釆樣……以此類推,所得到31個重量差值,再取平均值。即可得到60個采樣的平均熔化率。
結束語
此系統(tǒng)己在生產實際中應用,使用效果較好,達到預期目的。
作者:王巖;孫藝
深圳市卓禾儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產線的研發(fā)及生產的高新技術企業(yè),所生產的JY500系列稱重顯示控制器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。卓禾儀器有十數年的現場校驗經驗,在業(yè)內有良好的口碑,且有專門的售后工程師幫忙解決產品使用過程中遇到的技術問題,客戶可以放心省心順心的使用我司的產品。如果對我司的產品感興趣,歡迎咨詢。