歐姆龍plc使用通信協(xié)議宏與三菱plc通訊(1)
在現(xiàn)代工業(yè)中,plc通信聯(lián)網(wǎng)功能的應(yīng)用日益廣泛。在實(shí)際生產(chǎn)現(xiàn)場(chǎng),各個(gè)工位上可能使用不同廠家生產(chǎn)的plc,它們之間通信聯(lián)網(wǎng)一直是工程上的一個(gè)難題。歐姆龍plc所特有的通信協(xié)議宏功能可以很好地解決這個(gè)問題[1] 。歐姆龍中小型plc,如cqm1h、c200hα、cj1、cs1等機(jī)型,均支持通信協(xié)議宏功能,可以實(shí)現(xiàn)與其他廠家的plc通信。協(xié)議宏通信方式編程簡單、易于實(shí)現(xiàn),是不同廠家plc通信的一種簡便易行的方法。
本文選用歐姆龍的c200he-cpu42型plc,使用通信協(xié)議宏,與三菱的fx2n-64mr型 plc進(jìn)行通信。歐姆龍plc為上位機(jī),三菱 plc則為下位機(jī)。
網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,主機(jī)c200he-cpu42作為上位機(jī),使用c200hw-com06-ev1型通信板,通信板上帶有rs-232c與rs-422a/485串行通信口各一個(gè),都支持通信協(xié)議宏功能[2]。三菱fx2n-64mr作為下位機(jī),機(jī)體上加裝fx2n-485-bd串行通信功能擴(kuò)展板,支持三菱計(jì)算機(jī)鏈接(computer bbbb)通信協(xié)議[3]。1臺(tái)上位plc最多可連接16臺(tái)下位plc,上位plc與下位plc通過rs-485串行端口連接。通信過程中,上位plc首先發(fā)出指令并啟動(dòng)通信,下位plc收到指令并執(zhí)行,然后將執(zhí)行結(jié)果返回上位plc。下位plc之間不能進(jìn)行直接通信。

圖1 網(wǎng)絡(luò)結(jié)構(gòu)
歐姆龍的通信協(xié)議宏由通信序列(sequence)組成,由pmcr指令調(diào)用,與帶有rs-232c或rs-422a/485端口的各種外圍設(shè)備交換數(shù)據(jù)。通信協(xié)議宏支持軟件(cx-protocol)的對(duì)話式菜單使通信序列易于登記。軟件支持x-on和x-off、rts和cts等控制方法,允許傳送任何帶有校驗(yàn)碼(如sum,lrc或crc)和幀長度的數(shù)據(jù)信息。一個(gè)接收陣列(matrix),最多可以設(shè)置15種類型的期望的接收信息,而每個(gè)期望接收信息都可以包含確定下一步要執(zhí)行的過程和出現(xiàn)信息接收錯(cuò)誤時(shí)要執(zhí)行的故障處理命令[4]。
三菱計(jì)算機(jī)鏈接通信協(xié)議用于計(jì)算機(jī)與plc之間的通信,計(jì)算機(jī)發(fā)出讀寫plc數(shù)據(jù)的命令幀,plc收到后自動(dòng)生成和返回響應(yīng)幀,但是計(jì)算機(jī)程序仍需用戶編寫[3]。上位計(jì)算機(jī)通過安裝在各臺(tái)plc 上的串行通信功能擴(kuò)展板連接多臺(tái)plc構(gòu)成網(wǎng)絡(luò)。專用通信協(xié)議有兩種格式(bbbbat 1和bbbbat 4),區(qū)別在于字符串最后是否添加cr/lf碼。本文采用bbbbat 1通信格式。
地址決定計(jì)算機(jī)訪問哪一臺(tái)plc,同一網(wǎng)絡(luò)中各plc的地址不能重復(fù),設(shè)定范圍為00h~0fh。plc號(hào)用來識(shí)別plc的cpu類型。指令用來指定操作的類型,如讀、寫等操作,由2個(gè)ascii碼組成。校驗(yàn)碼是從地址開始,校驗(yàn)碼之前的所有字符的十六進(jìn)制數(shù)的ascii碼求和,取和的低兩位數(shù)據(jù)的ascii碼。
計(jì)算機(jī)與plc之間的數(shù)據(jù)流有3種形式:計(jì)算機(jī)從plc中讀數(shù)據(jù)、計(jì)算機(jī)向plc寫數(shù)據(jù)和plc向計(jì)算機(jī)寫數(shù)據(jù)。本文用到了前兩種數(shù)據(jù)流形式。
(1)計(jì)算機(jī)從plc讀數(shù)據(jù)操作
命令:enq+地址+plc標(biāo)識(shí)號(hào)+指令+等待時(shí)間+字符區(qū)域a+校驗(yàn)碼
響應(yīng):stx+地址+ plc標(biāo)識(shí)號(hào)+字符區(qū)域b+etx+校驗(yàn)碼 (正確時(shí))
nak+地址+ plc標(biāo)識(shí)號(hào)+錯(cuò)誤代碼 (錯(cuò)誤時(shí))
計(jì)算機(jī)收到響應(yīng)信號(hào)后發(fā)出確認(rèn)信號(hào):ack+地址+ plc號(hào)或nak+地址+ plc號(hào)
(2)計(jì)算機(jī)向plc寫數(shù)據(jù)操作
命令:enq+地址+plc標(biāo)識(shí)號(hào)+指令+等待時(shí)間+字符區(qū)域c+校驗(yàn)碼
響應(yīng):ack+地址+ plc標(biāo)識(shí)號(hào) (正確時(shí))
nak+地址+ plc標(biāo)識(shí)號(hào)+錯(cuò)誤代碼 (錯(cuò)誤時(shí))
字符區(qū)域中,a為要讀取的存儲(chǔ)區(qū)的開始位置和字節(jié)數(shù);b為返回的存儲(chǔ)區(qū)的值;c為要寫入的存儲(chǔ)區(qū)的開始位置和數(shù)值。校驗(yàn)碼用來校驗(yàn)數(shù)據(jù)是否正確。
歐姆龍plc與三菱plc通信之前,先要生成通信協(xié)議宏。下面以從三菱plc的x位元件組讀數(shù)據(jù)和向三菱plc的y位元件組寫數(shù)據(jù)為例,介紹協(xié)議宏組態(tài)方法:
(1)創(chuàng)建通信協(xié)議宏
根據(jù)三菱計(jì)算機(jī)鏈接通信協(xié)議的格式要求,在cx-protocol軟件上創(chuàng)建工程,如圖2所示。創(chuàng)建“read”和“write”兩個(gè)通信序列(sequence)。接收陣列(matrix)用于接收響應(yīng)數(shù)據(jù)。

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

歐姆龍的通信協(xié)議宏由通信序列(sequence)組成,由pmcr指令調(diào)用,與帶有rs-232c或rs-422a/485端口的各種外圍設(shè)備交換數(shù)據(jù)。通信協(xié)議宏支持軟件(cx-protocol)的對(duì)話式菜單使通信序列易于登記。軟件支持x-on和x-off、rts和cts等控制方法,允許傳送任何帶有校驗(yàn)碼(如sum,lrc或crc)和幀長度的數(shù)據(jù)信息。一個(gè)接收陣列(matrix),最多可以設(shè)置15種類型的期望的接收信息,而每個(gè)期望接收信息都可以包含確定下一步要執(zhí)行的過程和出現(xiàn)信息接收錯(cuò)誤時(shí)要執(zhí)行的故障處理命令[4]。
三菱計(jì)算機(jī)鏈接通信協(xié)議用于計(jì)算機(jī)與plc之間的通信,計(jì)算機(jī)發(fā)出讀寫plc數(shù)據(jù)的命令幀,plc收到后自動(dòng)生成和返回響應(yīng)幀,但是計(jì)算機(jī)程序仍需用戶編寫[3]。上位計(jì)算機(jī)通過安裝在各臺(tái)plc 上的串行通信功能擴(kuò)展板連接多臺(tái)plc構(gòu)成網(wǎng)絡(luò)。專用通信協(xié)議有兩種格式(bbbbat 1和bbbbat 4),區(qū)別在于字符串最后是否添加cr/lf碼。本文采用bbbbat 1通信格式。
地址決定計(jì)算機(jī)訪問哪一臺(tái)plc,同一網(wǎng)絡(luò)中各plc的地址不能重復(fù),設(shè)定范圍為00h~0fh。plc號(hào)用來識(shí)別plc的cpu類型。指令用來指定操作的類型,如讀、寫等操作,由2個(gè)ascii碼組成。校驗(yàn)碼是從地址開始,校驗(yàn)碼之前的所有字符的十六進(jìn)制數(shù)的ascii碼求和,取和的低兩位數(shù)據(jù)的ascii碼。
計(jì)算機(jī)與plc之間的數(shù)據(jù)流有3種形式:計(jì)算機(jī)從plc中讀數(shù)據(jù)、計(jì)算機(jī)向plc寫數(shù)據(jù)和plc向計(jì)算機(jī)寫數(shù)據(jù)。本文用到了前兩種數(shù)據(jù)流形式。
(1)計(jì)算機(jī)從plc讀數(shù)據(jù)操作
命令:enq+地址+plc標(biāo)識(shí)號(hào)+指令+等待時(shí)間+字符區(qū)域a+校驗(yàn)碼
響應(yīng):stx+地址+ plc標(biāo)識(shí)號(hào)+字符區(qū)域b+etx+校驗(yàn)碼 (正確時(shí))
nak+地址+ plc標(biāo)識(shí)號(hào)+錯(cuò)誤代碼 (錯(cuò)誤時(shí))
計(jì)算機(jī)收到響應(yīng)信號(hào)后發(fā)出確認(rèn)信號(hào):ack+地址+ plc號(hào)或nak+地址+ plc號(hào)
(2)計(jì)算機(jī)向plc寫數(shù)據(jù)操作
命令:enq+地址+plc標(biāo)識(shí)號(hào)+指令+等待時(shí)間+字符區(qū)域c+校驗(yàn)碼
響應(yīng):ack+地址+ plc標(biāo)識(shí)號(hào) (正確時(shí))
nak+地址+ plc標(biāo)識(shí)號(hào)+錯(cuò)誤代碼 (錯(cuò)誤時(shí))
字符區(qū)域中,a為要讀取的存儲(chǔ)區(qū)的開始位置和字節(jié)數(shù);b為返回的存儲(chǔ)區(qū)的值;c為要寫入的存儲(chǔ)區(qū)的開始位置和數(shù)值。校驗(yàn)碼用來校驗(yàn)數(shù)據(jù)是否正確。
歐姆龍plc與三菱plc通信之前,先要生成通信協(xié)議宏。下面以從三菱plc的x位元件組讀數(shù)據(jù)和向三菱plc的y位元件組寫數(shù)據(jù)為例,介紹協(xié)議宏組態(tài)方法:
(1)創(chuàng)建通信協(xié)議宏
根據(jù)三菱計(jì)算機(jī)鏈接通信協(xié)議的格式要求,在cx-protocol軟件上創(chuàng)建工程,如圖2所示。創(chuàng)建“read”和“write”兩個(gè)通信序列(sequence)。接收陣列(matrix)用于接收響應(yīng)數(shù)據(jù)。

本文標(biāo)簽:歐姆龍plc使用通信協(xié)議宏與三菱plc通訊(1)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《歐姆龍plc使用通信協(xié)議宏與三菱plc通訊(1)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“歐姆龍plc使用通信協(xié)議宏與三菱plc通訊(1)”的更多資訊










