當前位置:機電之家首頁 >> 電工園地>> 論文資料 >> 論文 >> 歐姆龍與三菱PLC之間的通信的實現(xiàn)
歐姆龍與三菱PLC之間的通信的實現(xiàn)

 

1 引言
在現(xiàn)代工業(yè)中,plc通信聯(lián)網(wǎng)功能的應用日益廣泛。在實際生產(chǎn)現(xiàn)場,各個工位上可能使用不同廠家生產(chǎn)的plc,它們之間通信聯(lián)網(wǎng)一直是工程上的一個難題。歐姆龍plc所特有的通信協(xié)議宏功能可以很好地解決這個問題[1] 。歐姆龍中小型plc,如cqm1h、c200hα、cj1、cs1等機型,均支持通信協(xié)議宏功能,可以實現(xiàn)與其他廠家的plc通信。協(xié)議宏通信方式編程簡單、易于實現(xiàn),是不同廠家plc通信的一種簡便易行的方法。
本文選用歐姆龍的c200he-cpu42型plc,使用通信協(xié)議宏,與三菱的fx2n-64mr型 plc進行通信。歐姆龍plc為上位機,三菱 plc則為下位機。

2 網(wǎng)絡結(jié)構(gòu)
網(wǎng)絡結(jié)構(gòu)如圖1所示,主機c200he-cpu42作為上位機,使用c200hw-com06-ev1型通信板,通信板上帶有rs-232c與rs-422a/485串行通信口各一個,都支持通信協(xié)議宏功能[2]。三菱fx2n-64mr作為下位機,機體上加裝fx2n-485-bd串行通信功能擴展板,支持三菱計算機鏈接(computer bbbb)通信協(xié)議[3]。1臺上位plc最多可連接16臺下位plc,上位plc與下位plc通過rs-485串行端口連接。通信過程中,上位plc首先發(fā)出指令并啟動通信,下位plc收到指令并執(zhí)行,然后將執(zhí)行結(jié)果返回上位plc。下位plc之間不能進行直接通信。

圖1 網(wǎng)絡結(jié)構(gòu)

3 歐姆龍通信協(xié)議宏
歐姆龍的通信協(xié)議宏由通信序列(sequence)組成,由pmcr指令調(diào)用,與帶有rs-232c或rs-422a/485端口的各種外圍設備交換數(shù)據(jù)。通信協(xié)議宏支持軟件(cx-protocol)的對話式菜單使通信序列易于登記。軟件支持x-on和x-off、rts和cts等控制方法,允許傳送任何帶有校驗碼(如sum,lrc或crc)和幀長度的數(shù)據(jù)信息。一個接收陣列(matrix),最多可以設置15種類型的期望的接收信息,而每個期望接收信息都可以包含確定下一步要執(zhí)行的過程和出現(xiàn)信息接收錯誤時要執(zhí)行的故障處理命令[4]。

4 三菱計算機鏈接通信協(xié)議
三菱計算機鏈接通信協(xié)議用于計算機與plc之間的通信,計算機發(fā)出讀寫plc數(shù)據(jù)的命令幀,plc收到后自動生成和返回響應幀,但是計算機程序仍需用戶編寫[3]。上位計算機通過安裝在各臺plc 上的串行通信功能擴展板連接多臺plc構(gòu)成網(wǎng)絡。專用通信協(xié)議有兩種格式(bbbbat 1和bbbbat 4),區(qū)別在于字符串最后是否添加cr/lf碼。本文采用bbbbat 1通信格式,如圖2所示。

圖2 bbbbat 1通信格式

地址決定計算機訪問哪一臺plc,同一網(wǎng)絡中各plc的地址不能重復,設定范圍為00h~0fh。plc號用來識別plc的cpu類型。指令用來指定操作的類型,如讀、寫等操作,由2個ascii碼組成。校驗碼是從地址開始,校驗碼之前的所有字符的十六進制數(shù)的ascii碼求和,取和的低兩位數(shù)據(jù)的ascii碼。
計算機與plc之間的數(shù)據(jù)流有3種形式:計算機從plc中讀數(shù)據(jù)、計算機向plc寫數(shù)據(jù)和plc向計算機寫數(shù)據(jù)。本文用到了前兩種數(shù)據(jù)流形式。
(1)計算機從plc讀數(shù)據(jù)操作
命令:enq+地址+plc標識號+指令+等待時間+字符區(qū)域a+校驗碼
響應:stx+地址+ plc標識號+字符區(qū)域b+etx+校驗碼 (正確時)
nak+地址+ plc標識號+錯誤代碼 (錯誤時)
計算機收到響應信號后發(fā)出確認信號:ack+地址+ plc號或nak+地址+ plc號
(2)計算機向plc寫數(shù)據(jù)操作
命令:enq+地址+plc標識號+指令+等待時間+字符區(qū)域c+校驗碼
響應:ack+地址+ plc標識號 (正確時)
nak+地址+ plc標識號+錯誤代碼 (錯誤時)
字符區(qū)域中,a為要讀取的存儲區(qū)的開始位置和字節(jié)數(shù);b為返回的存儲區(qū)的值;c為要寫入的存儲區(qū)的開始位置和數(shù)值。校驗碼用來校驗數(shù)據(jù)是否正確。

5 通信協(xié)議宏組態(tài)
歐姆龍plc與三菱plc通信之前,先要生成通信協(xié)議宏。下面以從三菱plc的x位元件組讀數(shù)據(jù)和向三菱plc的y位元件組寫數(shù)據(jù)為例,介紹協(xié)議宏組態(tài)方法。
5.1 創(chuàng)建通信協(xié)議宏
根據(jù)三菱計算機鏈接通信協(xié)議的格式要求,在cx-protocol軟件上創(chuàng)建工程,如圖3所示。創(chuàng)建“read”和“write”兩個通信序列(sequence)。接收陣列(matrix)用于接收響應數(shù)據(jù)。

圖3 通信協(xié)議宏結(jié)構(gòu)

5.1.1 創(chuàng)建通信序列
在通信序列中設置鏈接字(bbbb word)、傳輸方式控制參數(shù)(control)、應答方法(response)、數(shù)據(jù)接收監(jiān)控時間(timer tr)、數(shù)據(jù)接收完成監(jiān)控時間(timer tfr)、數(shù)據(jù)發(fā)送完成監(jiān)控時間(timer tfs)等內(nèi)容。
5.1.2 創(chuàng)建通信步
在通信序列中創(chuàng)建通信步(step)。每個通信步包括步號(step)、重復計數(shù)器(repeat)、命令(command)、重試(retry)、發(fā)送信息(send message)、接收信息(recv message)、是否響應(response)、下一個執(zhí)行過程(next)以及出錯處理(error)等內(nèi)容。從下位plc讀數(shù)據(jù)的通信步設置方法如圖4所示。

圖4 讀數(shù)據(jù)的通信步設置

5.1.3 創(chuàng)建發(fā)送和接收信息
發(fā)送信息與接收信息必須嚴格按照計算機鏈接通信協(xié)議格式編寫。由“報頭”(header)、“結(jié)束符”(terminator)、“校驗碼”(check code)、“幀長度”(length)、“地址”(address)和“數(shù)據(jù)”(data)等幾部分組成。其中,讀數(shù)據(jù)的發(fā)送信息結(jié)構(gòu)如圖5所示。在發(fā)送信息中,“數(shù)據(jù)”為上位plc向下位plc發(fā)送的具體數(shù)據(jù),由“報頭”、“地址”、“plc標識號”、“指令”、“消息等待時間”、“字符區(qū)域”、“校驗碼”等七部分組成。其中, “h”為報頭,取值enq,其ascii碼為“05h”?!癮”為地址,取值“00”,表示與從機00通信?!癴f”為fx系列plc的標識號?!癰r”為“讀位元件”指令?!癮”為等待時間,對應100ms。“x0004”、“04”表示從x004開始讀取4個位元件的值?!癱”為校驗碼,指定為sum(0)。

圖5 讀數(shù)據(jù)的發(fā)送信息

5.2 創(chuàng)建接收陣列
三菱通信格式比較復雜,而且接收到響應數(shù)據(jù)具有一定的不確定性。因此,在協(xié)議宏程序中使用接收陣列的形式完成數(shù)據(jù)的接收工作。如圖6所示,在接收陣列中設置了3種可能接收到的數(shù)據(jù)信息(receive message),并規(guī)定接收到特殊數(shù)據(jù)信息后要進行的下一步處理方法(next process)。
通信協(xié)議宏組態(tài)結(jié)束后,將其下載到通信板中。

6 通信實現(xiàn)
6.1 三菱plc通信參數(shù)設置
通信格式設置為bbbbat 1,波特率9600bps、偶校驗、7位數(shù)據(jù)位、1位停止位。地址設置范圍00h~0fh。

圖6 接收陣列

6.2 歐姆龍plc通信參數(shù)設置
通信板a端口設定為協(xié)議宏通信方式,其他通信參數(shù)要與下位三菱plc的通信參數(shù)保持一致。
6.3 編寫梯形圖
通信協(xié)議宏的調(diào)用與執(zhí)行程序段如圖7所示,28908為通信板端口a使用標志。pmcr指令的第一操作數(shù)“#1000”、“#1001”為控制字,第一位的“1”表示使用通信板的端口a,后3位數(shù)表示調(diào)用并執(zhí)行的通信序列號。dm0000、dm0200為pmcr指令的第二操作數(shù),所指定的有效通道存放發(fā)送的數(shù)據(jù)。dm0100、dm0300為pmcr指令的第三操作數(shù),存放接收到的數(shù)據(jù)。當pmcr調(diào)用000號通信序列時,從三菱plc的x位元件組讀取數(shù)據(jù),當pmcr調(diào)用001號通信序列時,向下位plc的y位元件組寫入數(shù)據(jù)。

圖7 協(xié)議宏調(diào)用程序

7 結(jié)束語
通信協(xié)議宏具有較強的靈活性,程序的編寫和調(diào)用非常簡單,容易實現(xiàn)不同廠家plc之間的通信。在程序的編制與調(diào)試過程中,一些細節(jié)問題必須予以注意:
(1)在程序中有多條pmcr指令時,使用微分指令避免指令間的沖突;
(2)讀取幾個設備的數(shù)據(jù),使用變量的方式接收數(shù)據(jù);
(3)最好將發(fā)送信息與接收信息寫在不同的通信步中,避免從站斷線導致pmcr指令執(zhí)行標志無法復位。

作者簡介
王鳳杰(1978-) 男 碩士/助教,主要從事自動化方面的教學與科研工作。

參考文獻
[1] 徐世許. 可編程序控制器原理·應用·網(wǎng)絡[m]. 合肥:中國科學技術大學出版社,2000.
[2] omron. c200hw-com01 to com06-e communications board operation manual[z].1997.
[3] mitsubishi.fx communication user manual[z].2001.
[4] omron. cx-protocol operation manual[z].2003.

 

作者:未知 點擊:1711次 [打印] [關閉] [返回頂部]
本文標簽:歐姆龍與三菱PLC之間的通信的實現(xiàn)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《歐姆龍與三菱PLC之間的通信的實現(xiàn)》相關權利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

吳小姐 【求購】  粉碎機  2025-12-5
 【求購】  冶煉用的重...  2025-12-5
柳女士 【求購】  斷路器  2025-12-5
林志揚 【求購】  無石棉墊片  2025-12-4
張一帆 【求購】  首件測試儀  2025-12-4
王飛 【求購】  gf流量計  2025-12-4
 【求購】  全自動印刷...  2025-12-4
 【求購】  LED屏  2025-12-3
VIP公司推薦