a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > RS-485網絡在數控機床聯網中應用

RS-485網絡在數控機床聯網中應用

作者: 時間:2016-09-12 來源:網絡 收藏

RS-485在電力系統及工業自動化中有廣泛的應用,木文介紹通過RS-485網絡實現聯網方式,木方法也可為電力系統自動化設備的串行通信網絡的設計提供參考。

本文引用地址:http://www.j9360.com/article/201609/304023.htm

1 聯網系統組成結構

聯網系統采用一臺控制卞機(計算機)與幾臺不同的數控機床,通過RS-485網絡形成卞從型網絡結構。控制卞機根據不同的任務安排,把數據傳輸到相應的數控機床,同時控制卞機根據數控機床的請求狀態,把數控機床的數據采集到計算機中。因大多數的計算機和數控機床都只有RS-232串口,須設計RS-232/RS-485接口轉換電路,把計算機和數控機床的RS-232通信信號轉換成RS-485信號。這樣,計算機和多臺數控機床就通過 RS-485總線聯網。其聯接結構如圖1所示。

1.jpg

2 RS-232/RS-485轉換電路設計

數控機床聯網系統需多個RS-232/RS-485接口轉換器.考慮到大部分計算機和數控機床的通信端口為9芯D型插頭,在串行通信時,通常只使用其中的RTS , RXD , TXD與GND 4個端子,利用光電禍合器的隔離特性和RS - 232工作時RTS線與TXD線之間的電平關系,采用美國TI公司生產的RS - 485接口芯片SN75LBC184,設計了一種實用RS - 232 / RS -485轉換器,其電路如圖2所示。

2.jpg

圖中RS - 485接口芯片SN75LBC 184在發送使能端DE為高電平,接收使能端RE為低電平時,作為發送器使用;接收使能RE為高電平,發送使能端DE為低電平時,作為接收器使用。該電路還使用了3片光電禍合器TLP521-1進行隔離,這使PC機與SN75LBC184之間完全沒有了電的聯系,從而提高了工作的可靠性。

當RS-232的RTS端為邏輯電平1(-12 V)時,光電禍合器的發光一極管不發光,光敏二極管不導通,輸出端為TTL邏輯電平1(+5 V),此時選中RS-485的DE端允許RS - 485接收,這樣,RS-232的TXD端就可以發送數據(工作邏輯與RTS端相似)。當RS-232的RTS端為邏輯電平0(+12 V)時,光電禍合器的發光一極管發光,光敏二極管導通,輸出端為TTL邏輯電平0(0 V),此時選中RS-485的RE端允許RS - 485發送,RS-232的RXD端就可以接受 RS - 485網絡傳輸的數據。當RS - 485的R端輸出為邏輯電平1時,光電禍合器發光一極管不發光,光敏二極管不導通,這樣,在RS-232輸出停止時,其TXD電平為-12 V,電容被充電到-12 V以使其輸出也變成-12 V,即邏輯電平1;當其輸出為邏輯電平0時,光電禍合器發光一極管發光,光敏二極管導通,這時,其輸出為+SV,也在RS-232邏輯電平0的范圍之內,即為邏輯電平0。

3 通信軟件設計

計算機卞控數據傳輸系統軟件安裝在計算機端,由于數控機床數據傳輸軟件是固化在數控機床的控制器中,不需要特別的編程,在進行數據傳輸時根據通信要求設置通信參數,計算機端與其設置相同,由于不同的數控機床采用的通信方式即握手信號與幀格式不一樣,因此,數據傳輸軟件設計必須根據不同的數控機床采用不同握手信號。通常實現串行通信有多種方法,如利用調用Win

3.1 MSComm ActiveX控件介紹

Borland C++ Builder作為新一代的可視化編程工具,提供了大量的封裝好各種功能的VCL控件庫以便快速編程,遺憾的是并沒有直接提供串口通信功能的VCL控件; 而微軟公司提供的MSCommActiveX控制將串行通信的大部分操作都封裝到控件內部,為編程者提供了簡化的Windows卜的串行通信編程,通過導入微軟MSComm控制,C++ Builder也能方便地實現計算機串口通信編程,為應用程序提供串行通信功能。

MSComm控件提供卜列兩種處理通信的方式:事件馭動通信方式和查詢方式。事件馭動通信是處理串行端口交互作用的一種非常有效的方法。在許多情況卜,在事件發生時需要得到通知,例如:在CD (Carrier Detect)或RTS ( Request to Send)線上一個字符到達或一個變化發生時,可利用MSComm控件的OnComm事件捕獲并處理這些通信事件。OnComm事件還可以檢查和處理通信錯誤。查詢方式是在程序的每個關鍵功能之后,通過檢查CommEvent屬性的值查詢事件和錯誤。MSComm控件的屬性 InBuf'ferCount()和Out2BufferCount()就用于串口的查詢方式。可通過Set2CommEvent(函數設置串口要響應的事件,當響應事件或串口錯誤發生時,系統會激活OnComm)事件,在OnComm)中添加相應的程序,即可實現類似DOS中斷的串口處理程序。每個使用的MSComm控件對應著一個串行端口。如果應用程序需要訪問多個串行端口.必須使用多個MSComm控件。可以在Windows“控制而板”中改變端口地址和中斷地址。

3.2 計算機與數控機床通信程序編寫

首先,把MSComm控件安裝入C++ Builder的集成開發環境,通過C++ Builder菜單項的“Component項卜的“Import ActiveX Control,裝入C++ Builder控件板的AetiveX組中。其次,為了用該控件控制一個串口進行通信操作,還必須在相應程序中插入該控件。為此,在程序的某個C++ Builder的Form中插入MSComm控件,控件名為MSComml(可以更改此名),在程序中對串口的各種操作可通過MSComml實現。為了得到MSComm控件的有關參數,可以在控件上按F1鍵查詢,或參閱有關的Visual C++與Vi-sual書籍。

數控機床通過軟件、硬件握手方式與計算機進行數據的傳輸,為此,在計算機數據傳輸通信程序編制上,采用查詢的通信方式。在對木次通信任務中,可通過SetCommEvent函數設置串口要響應的事件。木設計把計算機串口每接收一幀數據設置為串口要響應的事件,也即EV2RXFLAG事件。這是 WindowsAPI函數中的一個基木事件。通過它去激活OnComm,在OnComm)消息處理函數中可加入處理代碼,判斷是否是所需要的數據,并作出相應的處理,如顯示、存盤、分析等。卜而簡要給出事件馭動方式接收數控機床發送數據的程序源代碼。計算機串口各參數設置,如波特率、校驗及數據格式等,必須與數控機床完全一致,否則兩者之間的通信無法正常進行。設置計算機串口參數的初始化程序如下:


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉