久久精品人妻一区二区蜜桃-欧美精品人妻一区二区免费视频-久久精品免费一区二区喷潮-久久精品中文闷骚内射-精品bbw-精品久久无码中文字幕-小小水蜜桃3视频高清在线观看-日韩免费一级aaa片毛太久-欧美激情肉欲高潮无码鲁大师-欧美影片一区二区三区-亚洲精品无码av无码专区一本,波多野吉衣一区二区三区在线观看,囯精品人妻无码一区二区三区99,包哟哟在线观看免费观看

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器

類型分類:
科普知識
數據分類:
PLC可編程控制器

用VC++開發微機與OMRON PLC間的一種通訊程序

發布日期:2022-04-26 點擊率:67 品牌:歐姆龍_Omron

    [摘  要] 
    本文介紹了一個使用Visual C++編寫的通信程序,主要實現微機與OMRON PLC間的通信,并對它們間的通信協議作了闡述。 
[關鍵詞] 
    PLC  鏈接通信  通訊控制 
1、前言
    可編程控制器是一種數字運算操作的電子系統,專為在工業環境下應用而設計。它采用了可編程序的存儲器,用于其內部存儲程序,執行邏輯運算、順序控制、定時、計數和算術操作等面向用戶的指令,并通過數字式或模擬式輸入輸出控制各種類型的機械的生產過程。可編程控制器及其有關外部設備,都按易于與工業控制系統聯成一個整體、易于擴充其功能的原則設計。早期的PLC以數字量的順序控制為主,提供了簡單的慢速的通信功能(只支持RS232、RS485、多采用Modbus協議),現在的PLC不僅具有邏輯運算、順序控制、定時、計數和算術操作,而且還具有A / D、D / A轉換,數值計算和數據處理等功能。它既可以對開關量進行控制,也可以對模擬量進行控制,隨著PLC功能不斷擴充,它還有通訊聯網功能,舉例C200HX / HG / HE的OMRON PLC的CPU內的RS - 232C端口和外設端口支持通信功能就有與編程設備(如編程器,LSS,或SSS (中文版))進行通信、與個人計算機和其它外設進行上位機鏈接通信、與個人計算機和其它外設進行RS - 232C、與其它PC進行1:1、再有是與裝有NT鏈接接口的可編程終端(PT)進行NT鏈接通信(1:1、1:N),本課題就是基于OMRON PLC的鏈接通信(有通信協議),用VC++開發的上位機與PLC間的通信。   
2、OMRON PLC的通信協議
    目前,隨著PLC的快速發展,越來越多的PLC生產廠商開發了它與計算機的通信功能(主要是利用計算機串口進行通信),本文是以C200HE PLC為例,作詳細闡述,本文的通信協議采用的是上位機鏈接通信。上位機鏈接通信通過在上位機與PLC之間交換命令和應答實現的。在一次交換中傳輸的命令和應答數據稱為一幀,一個幀最多可包含131個數據字符。 
    命令幀格式 
    從上位機發送一個命令時,按下示的格式排列命令數據

@符號必須置于每個命令的開頭,節點號是用來辨識每一臺PLC的節點,在本文中,它設置PLC的DM6558單元中,識別碼設置兩字符的命令代碼,設置通信是讀寫PLC的哪個寄存器單元,例讀寫IR / SR區時它的識別碼設置分別為RR和WR,讀寫DM區分別為RD和WD。正文設置命令參數,包括所要讀寫PLC寄存器單元的起始地址和字數。FCS是設置兩字符的幀檢查順序碼,是一個轉換成2個ASCII字符的8位數據,這8位數據為從幀開始到正文結束(即FCS之前)所有數據執行“異或”操作的結果。終止符設置“*”和回車(CHR $(13))兩字符,表示命令結束。命令幀可以有最多131個字符長。一個等于或大于132字符的命令必須分成若干幀。命令分段,使用回車定界符(CHR $(13))。 
    應答幀格式

識別碼和正文取決于接收到的上位機聯結命令,結束碼表示命令完成的狀態(即是否有錯誤發生),當應答超過132字符,它必須分成若干幀。結束碼是應答幀中表示PLC應答的信息。例結束代碼為00表示正常結束,13表示FCS錯誤,14表示格式錯誤,15表示入口碼數據錯誤,18表示幀長度錯誤,A3表示傳輸數據時因FCS錯誤引起終止,A8表示傳輸數據時因幀長度錯誤引起終止。 
    本文的上位機命令幀包括讀寫PLC單元中的數據的命令。讀命令幀為:@01RR0100000141* + CHR $(13),意思是上位機讀取節點為1的PLC中的IR0100單元中的內容。寫命令幀為:@01WR0100000171* + CHR $(13),意思是寫一個數到節點為1的PLC的IR0100單元中。 
3、系統結構圖
    下圖是計算機與PLC通信的組成系統圖

上位計算機與多個PLC進行通信,必須連接一個RS232 / 422電平轉換器,RS422采用平衡發送接收方式,它具有傳輸距離長、抗干擾能力強和多點通信能力,最多可以接32臺PLC,如圖1所示,每一臺PLC都必須掛一個COM06單元進行RS422方式連接,所有的PLC與計算機間的通訊采用的是PLC上位機鏈接通信協議。
3.1 硬件設置 
    RS232 / 422轉換器的設置開關撥到422方式,OMRON PLC上的COM06通信板單元同樣設置為422方式和四線制。 
3.2 參數設置 
    上下位機的通信波特率設置為9600,數據格式設置為E,7,2。 
3.3 節點設置 
    在PLC的DC6558單元中設置節點號00(初始值)~ 31(號機)。 
4、用Visual C++6.0編寫串行通信程序
    本文的上位機鏈接通信程序是用Visual C++6.0編寫的,主要是利用VC++中的一個通信控件來實現的。 
    首先利用MFC AppWizard ( exe ) 建立一個基于對話框,支持Activex控件,命名為Transcomn的應用程序。然后在對話框中加入一些控件,其中那個電話形狀的控件必須是在系統中注冊過的Microsoft Communications Control,由它進行通訊時首先得設置它的一些屬性如下。

屬  性     設 定 值           說         明
CommPort       1          通訊協議為 PLC 上位機鏈接
                          通信,利用微機的串口1
InputMode      0           接收數據類型為文本形式
Rthreshold     1          每接收一個字符就產生一個事件
Settings   9600, E, 7, 2      參數依次為波特率、
                               奇偶檢驗數據位數、停止位數

5、程序編寫
    在程序中需添加的代碼如下: 
    // TranscommDlg.cpp:implementation file 
    BOOL CTranscommDlg::OnInitDialog () 
    { 
    最后要在ClassWizard中添加變量和響應函數如下。

    控制名稱         控制 ID對          應變量或函數
通訊地址文本框     ID - ADDRESS           m_address
 DM 區文本框         ID - DM              m_dmbox
 LR 區文本框         ID - LR              m_lrbox
 HR 區文本框         ID - HR              m_hrbox
 IR 區文本框         ID - IR              m_irbox
 應答幀文本框      ID - RESPONSE          m_response
   通訊控件         ID - MSCOMM           M - comm.
 發送命令按鈕        ID - SEND            OnSend ( )

// TODO:Add extra initialization here 
    // 打開通信端口1 
    m_comm..SetCommPort&n

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多