廈門海為科技有限公司

        請上傳logo 請上傳logo

        國產PLC—Haiwell(海為)PLC與三菱PLC通訊介紹

        2013-11-18 15:26:30 haiwell 2568

        作者:海為用戶  王工

        概述:本文主要介紹了海為PLC與三菱FX2N系列進行通訊的實驗情況。

        關鍵字:海為PLC  FX2N  自由通訊  CRC校驗

        第一部分:研究情況簡介

        2012年的時候,我任某公司技術部部長,期間有個客戶需要與公司的某防護裝置進行通訊,需要使用海為PLC讀取三菱PLC上的某些數據。為此就對海為PLC與三菱PLC通訊問題展開實驗研究。

        海為PLC通訊特點介紹:Haiwell PLC各種型號的主機都內置Modbus RTU/ASCII協議、自由通訊協議以及海為公司的HaiwellBus高速通訊協議。HaiwellBus高速通訊協議屬于海為PLC與海為PLC內部通訊協議,因此不能使用。能應用到對外通訊的是Modbus協議以及自由通訊協議。

        三菱PLC通訊特點介紹:三菱PLC對外通訊為無協議自由通訊,用于與計算機,條形碼閱讀器,打印機等帶有RS232接口的設備進行全雙工方式的串行數據通訊。

        F64C4BDA-5B8F-4121-941B-046D8A1100B4.png

        如上圖所示,FX2N通過232IF與海為PLC的通訊擴展模塊相連,采用無協議通訊方式,帶CRC校驗,最多一次發送512字節,接收256字節數據,通訊口資料格式設置為9600,N 8 2 RTU。

        具體性能如下:

        有效通訊距離:15米,實際試驗過。

        數據響應時間:傳輸的數據越多,掃描周期越長,傳輸相應越慢。當前程序掃描周期為26ms,傳送0數據時為17ms,CRC校驗用時14ms。傳送一個字需要占用2ms。

        5B89AD75-4165-4899-8AAE-15F43B7CD520.png

        發送的數據如上圖所示,FX2N的D199存放數據D200,D201,D202的CRC校驗碼,接收端PLC將接收到的D200,D201,202進行CRC校驗,若數據一致則說明通訊正常,允許接收數據。若不一致,則認為出現干擾,拒絕接收。D212中存放的是一個以秒為周期進行變化的十進制數據,若接收端PLC在2秒的時間內接收到的D211中的數據沒發生變化,則認為通訊中斷。

        第二部分:FX2N通訊程序介紹

        1B4660CF-E23B-44bd-8B22-43014113BB3A.png

        EACCFD2E-510C-4740-873F-6721BC7822B0.png

        程序說明:該部分設置通訊格式和其他情況,具體情況參照通訊用戶手冊。本案例中取消發送報文,發送報尾,接收報頭,接收報尾,否則海為PLC接收的數據為亂碼。

        B545564A-8752-4d39-9F04-FBF729EA4857.png

        程序說明:激活發送指令,如果設置位M8012,則會發生發送數據響應不及時,部分時刻傳輸數據丟失的情況。M101繼電器用于下文TO指令傳送中。

        24DAFF36-AFF1-494b-A5AE-2457D07010BB.png

        程序說明:設置發送字節數,要發送的數據

        9FEB1DEA-1028-469a-8086-6B4BC1056A98.png

        程序說明:對D200進行以10ma為周期的數據變化,以模擬數據變化。

        C4645BC1-3B05-4c0d-A68E-7094F0CA1B95.png

        程序說明:指令傳送

        0E0C196D-7959-48f3-9064-A862D64748D7.png

        9C80ECC0-67DC-4be3-8D1E-95F6E945463B.png

        DC8F686C-578A-456c-87CB-C963DDC241E1.png

        06B0D11F-A371-4b4a-9592-24B6166F58B5.png

        程序說明:以上為CRC校驗程序,介紹略。

        89E015C1-F035-4664-843C-A6595480C9B9.png

        程序說明:發送數據。

        第三部分:海為通訊程序介紹

        lQLPJxaJnktriMLNAsXNApyw5Bs2BkcxxysC4opJ3oAnAA_668_709.png

        lQLPJxaJnktriKfNAfvNAsywuegBsMaHv8YC4opJ3YAsAA_716_507.png

        lQLPJxaJnktriQTM7M0CUrA9OPKePFSXawLiiknewNIA_594_236.png

        程序說明:如果1秒接收的數據相同,則認為通訊中斷。

        第四部分:調試心得

        在調試中,最大的困難來源于三菱PLC程序,需要編寫相當長的通訊指令以及CRC校驗程序,雖然在網絡上搜索到了上述程序的實例,但是編寫成自己的程序并且調試完畢,仍然花費了很長的時間。別人調試好的程序到你手里不一定能用,需要你再次調試。CRC校驗程序到底是怎么回事至今不明白,反正是抄寫來了,而且能用,幸好沒有抄錯。

        海為PLC在進行通訊的時候就兩條指令,自由通訊指令COMM以及CRC校驗指令,簡單的不能再簡單,其他的程序都是很簡單的輔助程序。

        在三菱PLC與海為PLC通訊成功的基礎上,為公司幾款主流安全防護設備用海為PLC增加了Modbus通訊功能。不僅組態王,易控等組態軟件可以與公司設備通訊,其他廠家設備中的PLC也可以與公司設備進行通訊,使得公司設備的應用更加靈活,更受用戶青睞。

        lQLPJxaJnktriUPNAhHNAlawQnescTpGQfkC4opJ3oAnAQ_598_529.png

        海為PLC在組網通訊上確實是一大亮點,三菱PLC做這個通訊的時候寫了233條指令,用了三四天的功夫。海為PLC只用了2個指令。可以說海為PLC的出現讓通訊程序不再是難題。


        微信技術客服:08:30-21:00
        0592-3278716
        關注我們

        海為公眾號

        海為云APP