• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            netbox

            更新時間:2023-03-20 19:04:07 閱讀: 評論:0

            四方協議-小兔子的外形

            netbox
            2023年3月20日發(作者:寂寞紅)

            其實很早就想寫寫關于Modbus的開發歷程,但牽扯項目較多,不同語言版

            本較多,頭緒繁雜,一時不知從何寫起。最近的醫療項目的通信部分,重新調整

            為Modbus協議,并且內容幾乎涵蓋了Modbus的方方面面(Rtu/Tcp,Slave/Client

            相關開發),所以更堅定了寫Modbus信心,今天忙里偷閑,以時間為序,以項

            目為綱,把Modbus相關開發經歷一一道來。

            一、焦爐四大車通信系統(2002~2005)

            硬件平臺:西門子PLC200

            操作系統:Win2000/XP

            1、主PLC與PC機的通信

            最早主PLC與PC機通信,采用自定義的協議,主PLC中做了一個類似木

            馬的程序來響應PC機下發的讀寫V變量區的指令。這樣就完成了PLC的讀寫

            操作。

            后來西門子PLC的開發軟件進行了升級,提供了ModbusRtuSlave庫,這

            樣只要上位機實現ModbusRtuClient就可以直接讀寫PLC變量區了,之后用VB

            開發了Modbus相應的組件,這樣很長一段內,該系統PC與主PLC就采用了

            Modbus的通信。

            前兩年開發組態軟件,所以西門子PPI協議順禮成章也就知道了,當然PC

            與西門子采用PPI協議是最棒的,因為PLC中不需要寫一行代碼,也無需占用

            程序和變量空間。所以之后Modbus被放棄了,轉而采用了PPI通信協議。

            2、主PLC與從PLC的通信(無線電臺通信)

            剛開始主PLC與從PLC采用自定義協議,最早在首鋼做實驗的時候,只有

            四個從站,并且個數是唯一確定的,所以自定義協議用的很好,效率也很高;但

            是項目推廣后,在其它現場有7個從站的,也有8個,9個的,不確定,并且從

            站要分組,此外通信傳遞內容也更多了,不光位置信息、推焦電流、推焦、平煤

            信號、連鎖信號都要傳遞,最后選擇了Modbus協議。

            但是使用Modbus有幾個問題,第一西門子提供的ModbusSlave不支持廣播

            命令,第二只提供了ModbusSlave程序,從PLC沒有什么問題,但是主PLC卻

            沒有ModbusClient程序。

            對第一個問題,沒有辦法,不支持就算了,只要一個個來寫。(注:后來的

            某一天,西門子MicroWIN開發環境突然出bug了,竟然川軍的功效與作用 看到了部分的西門子

            ModbusSlave源碼,我在此基礎上實現了可支持廣播的ModbusSlave代碼)。

            對第二個問題,只好老老實實的用西門子PLC語句表命令開發Modbus

            Client,只要實現3號和16號命令就可以了,還好,ModbusClient本身協議不

            難,難在PLC的運行機制和PC程序不同,PLC是大循環掃描的,等待數據返

            回時,不能直接等待,否則運行看門狗會超時,總之克服重重困難,終于開發出

            穩定可靠的ModbusClient程序,直到現在,現場的PLC通信仍采用該方式。

            附記:有人會問,為什么沒有采用PPI協議,PLC本身就支持主和從協議啊?

            但太讓人遺憾的是,PPI協議通信節奏太快,目前還沒有無線電臺(普通工業用)

            可以正常實現PPI協議通信。

            該焦爐四大機車相關介紹,可以參見我以前寫的文章:

            /tech/example/detail_?id=4055

            相關專利

            /C10B/2003/

            我開發的Modbus控件介紹

            /yefanqiu/archive/2005中國夢是什么意思 /11/20/

            我開發的PPI控件介紹

            /yefanqiu/archive/2005/11/18/

            二、ABPLC擴展模塊ProSoftMVI56通信模塊(2005年11月)

            在做濟鋼四車項目的時候,由于PLC采用的是ABRsLogix5000系列的

            PLC,上面的端口不支持自由口編程,無法讀取我們定位標尺的數據,所以購買

            了與其合作的ProSoft公司專門生產第三方模塊。ProSoft生產的模塊有很多

            種,由于沒有經驗,很不幸,我們選擇的是MVI56的模塊,而這個模塊卻是全

            部自由編程,不含有任何默認協議。

            該模塊典型的就是一個嵌入式系統,相當一個帶三個串口的386的電腦,

            操作系統為小型的DOS系統(TINYDOS),用C++為其開發程序。

            在開發完我們的紅外定位標尺的讀取程序后,順便也開發一個ModbusRtu

            Client的程序,這樣AB的PLC可以直接和Modbus的設備進行通信了。

            /yefanqiu/archive/2005/11/20/

            三、隧道廣告影像系統(2004~2006)

            隧道廣告影像系統的通信系統,采用12個通信子站(NetBoxII),剛開始

            并沒有任何Modbus協議,直到有一天,客戶提出要控制節目播放的次序、次數

            和播放時間,最后決定在地鐵隧道里,添加一個西門子PLC200系統,由于設備

            早已安裝完成,不可能為PLC布一個五六百米的通信線路,只好利用原通信線

            路,而最上層的通信為TCP,二年級好句摘抄 NetBoxII下一層才是485總線,所以NetBoxII當

            仁不讓的成了通信橋的設備。

            但是,問題來了,上位機PC如何通過TCP與基于485的PLC進行通信?

            最后,決定西門子PLC中安裝ModbusRtuSlave程序,實現一個標準Modbus

            設備,NetBoxII實現ModbusTcp到ModbusRtu的協議轉換。也就是說,在

            NetBoxII中實現ModbusTcpSlave和ModbusRtuClient代碼。

            這樣用BC3.0,DOS平臺下實現了ModbusTcp/Rtu協議轉換功能,實現了

            上位機PC與PLC的通信的要求。

            隧道廣告的相關介紹,可以參見我以前寫的文章:

            /yefanqiu/archive/2006/08/16/

            四、嵌入式組態系統(2006年1月~至今)

            開發組態系統,自然而然的要實現各種通信協議的驅動,所以Modbus協議

            的開發不在話下。

            分別用EVC和VC實現了ModbusRtu/AscII/Tcp的Client通信協議驅動。

            嵌入式組態系統的相關介紹,可以參見我以前寫的文章:

            /yefanqiu/archive/2006/11/29/

            /yefanqiu/archive/2006/11/19/

            /yefanqiu/archive/2006/10/24/

            五、LED影像系統(2006年12月~至今)

            目前關于通信這塊代碼還沒有做,不過已決定用C#開發ModbusRtuClient

            程序和單片機開發的硬件設備進行通信(單片機中實現ModbusRtuSlave,這部

            分有專門的硬件工程師實現),通過Modbus的通信實現LED大屏各種參數的

            配置。

            LED系統相關介紹

            /yefanqiu/archive/2007/05/28/

            六、醫療系統(2007年6月~至今)

            目前這部分正在做,除紅外通信板的ModbusRtuSlave用匯編實現外,其它

            的都用C#語言實現。

            七、ModbusRtu通信協議(3,16號命令)

            1、讀取保持寄存器(單個和多個,以字為最小單位)

            發送命令幀:

            設備地址功能碼地址H地址L數據量H數據量LCRCHCRCL

            Addr03HHoldStartDataNumCRC高位CRC低位

            幀長度:8個字巴金的《家》 節

            設備地址:1~247

            功能碼:3H

            數據地址:0~65535具體范圍與相關設備有關

            數量:1~65535(2的16次)具體范圍與相關設備有關

            校驗碼:CRC16校驗

            返回命令幀:

            設備地址功能碼數據量數據1數據NCRCHCRCL

            Addr13H返回數據的字節數NData(1~N)CRC高位CRC低位

            幀長度:5+N個字節

            設備地址:1~24充實的近義詞 7

            功能碼:3H

            數據量:實際的讀取數據數量

            數據:返回數據的意義

            a=HoldStart

            n=Data小米3路由器 Num-1

            VWa(VB

            a)

            VWa(VB

            a+1)

            …VWa+n(VB

            a+n)

            VWa+n(VBa+n+1)

            Data(1)Data(2)…Data(N-1)Data(N)

            校驗碼:CRC16校驗

            命令有誤:

            1)沒有任何返回

            2)返回異議幀

            設備地址功能碼錯普法手抄報內容 誤信息CRCHCRCL

            Addr183H一個字節的錯誤信息CRC高位CRC低位

            2、設置保持寄存器(多個,以字為最小單位)

            發送命令幀:

            設備

            地址

            功能

            地址H地址L

            數據量

            H

            數據量

            L

            數據字

            節數

            具體

            數據

            CRCHCRCL

            Addr010HHoldStartDataNumbytN1~bytNCRC高位CRC低位

            幀長度:9+bytN個字節

            設備地址:1~247

            功能碼:10H

            數據地址:0~65535具體范圍與相關設備有關

            數量:1~122具體范圍與相關設備有關

            字節數:設置的字節個數bytN=DataNum2

            數據:具體的字節數據

            校驗碼:CRC16校驗

            返回命令幀:

            設備地址功能碼地址H地址L數據量H數據量LCRCHCRCL

            Addr110HHoldStartDataNumCRC高位CRC低位

            幀長度:8個字節

            設備地址:1~247

            功能碼:10H

            數據地址:0~65535具體范圍與相關設備有關

            數量:1~122具體范圍與相關設備有關

            校驗碼:CRC16校驗

            命令有誤:

            1)沒有任何返回

            2)返回異議幀

            地址功能碼錯誤信息CR韓信是怎么死的 CHCRCL

            Addr190H一個字節的錯誤信息CRC高位CRC低位

            八、一點總結

            編寫通信相關的程序,其實協議和開發語言并不重要,重要的是對通信雙方

            的通信設備的特點,性能要有充分了解,這樣才能開發出可靠,高效的通信程序。

            本文發布于:2023-03-20 19:04:07,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1679310247152287.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:netbox.doc

            本文 PDF 下載地址:netbox.pdf

            上一篇:清明踏青
            下一篇:返回列表
            標簽:netbox
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 亚洲一本大道在线| 国产精品疯狂输出jk草莓视频| 国产日产亚洲系列av| 2020精品自拍视频曝光| 午夜射精日本三级| 中文日韩亚洲欧美字幕| WWW丫丫国产成人精品| 亚洲熟女精品一区二区| 99久久99视频只有精品| 国产亚洲精品中文字幕| 国产精品无码mv在线观看| 熟女在线视频一区二区三区 | 日韩国产av一区二区三区精品| 欧美性猛片aaaaaaa做受| 精品一区二区久久久久久久网站 | 成人资源网亚洲精品在线| 少妇又爽又刺激视频| 欧美一区二区三区啪啪| 国产精品亚洲av三区色| japanese精品少妇| 亚洲成人动漫av在线| 国产露脸150部国语对白| 性色av一区二区三区精品| 国产精品久久一区二区三区| 国产欧美亚洲精品a第一页| 国产精品99一区二区三区| 亚洲人成电影在线天堂色| A三级三级成人网站在线视频| 国产色婷婷免费视频| 免费人成网站免费看视频| 青草视频在线观看综合| 少妇午夜福利一区二区三区| 久久人妻精品国产| 日韩国产欧美精品在线| 人妻放荡乱h文| 日韩丝袜亚洲国产欧美一区| 人妻有码中文字幕在线| 国产精品高清中文字幕| 99热国产这里只有精品9| 亚洲精品无码国产片| 无码抽搐高潮喷水流白浆|