JAGNEXSMAX在日本,国产成人久久婷婷精品流白浆,国产一区二区三区四区五区加勒比,极品熟妇大蝴蝶20P

        wlmissyou
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 66 個
        工控威望: 169 點(diǎn)
        下載積分: 1325 分
        在線時間: 127(小時)
        注冊時間: 2017-06-11
        最后登錄: 2025-07-18
        查看wlmissyou的 主題 / 回貼
        樓主  發(fā)表于: 2020-08-14 18:34
        一、 概述
                本文描述的程序文件可以在西門子300 400通過CPU本體以太網(wǎng)口,以開放式通信方式實(shí)現(xiàn)MODBUS TCP 主站通信。
        本程序特點(diǎn):
        1.     無需官方授權(quán)。
        2.     實(shí)現(xiàn)MODBUS RTU 功能號1、2、3、4、5、6、15、16。
        3.     支持單臺CPU下多網(wǎng)口通信,一個連接使用一套程序,互不干擾。
        4.     可單條或多條輪詢指令 離線,即從站掉電,可手動讓其離線,減少輪詢時間。
        5.     程序量再大也不必?fù)?dān)心CPU掃描時間,因?yàn)槲催\(yùn)行的指令會跳過。
        6.     每條指令單獨(dú)返回錯誤信息。
        7.     不必?fù)?dān)心程序塊和數(shù)據(jù)塊多,支持多重背景。
        8.     程序組態(tài)直觀,簡單,方便,靈活。
        二、硬件支持
                所有支持關(guān)于通信網(wǎng)絡(luò)施工,盡量選擇西門子以太網(wǎng)綠皮電纜及,你胡弄網(wǎng)絡(luò),網(wǎng)絡(luò)就胡弄你,所以質(zhì)量可靠的硬件是保證通信正常的前提。通信網(wǎng)絡(luò)的布線要保證EMA電磁兼容性,遠(yuǎn)離強(qiáng)電及強(qiáng)磁場。
        三、硬件組態(tài)
                現(xiàn)以CPU315-2 PN/DP為例進(jìn)行硬件組態(tài)說明
        1.     添加機(jī)架及CPU315-2 PN/DP到機(jī)架,雙擊PN-IO-1如圖:

        2.     常規(guī)屬性頁,點(diǎn)CPU以太網(wǎng)接口屬性按鈕。

        3.     加入子網(wǎng),沒有的話新建。設(shè)置IP地址和子網(wǎng)掩碼,如果需要路由則還需要設(shè)置網(wǎng)關(guān)。單擊確定完成,保存并編譯硬件組態(tài)。

        四、   開放式以太網(wǎng)通信組態(tài)
        1.     開放式以太網(wǎng)通信向?qū)У陌惭b
        開放式以太網(wǎng)通信向?qū)荢TEP7安裝光盤根目錄的Optional ComponentsOC Wizardsetup.exe。正常安裝就可以,此向?qū)к浖恍枰跈?quán)。
        2.   運(yùn)行開放式以太網(wǎng)通信向?qū),塊上右鍵,選OC Wizard
        3.    這里點(diǎn)OK
        4. 這里可以新建,改變,復(fù)制開放式通信連接,我們選擇新建,點(diǎn)擊Next。
        5.    我們這里選擇TCP native,點(diǎn)Next。
        6.    我們是與第三方通信,所以我們選擇B設(shè)備為不是S7-CPU。點(diǎn)擊Next。
        7.    1.Connection ID:連接ID可以任意,但不能重復(fù),ID號記下來,在程序中會用到。2.Connection name:連接名稱可以任意。3Active:主動,我們這里選擇PLC主動建立連接。4.Used interface:這里選擇使用的接口,我們選擇CPU315/317,5.這里填寫從站IP地址。6.點(diǎn)擊Next。
        8.    這里我們要填寫從站的TCP通信端口號,通常從站的端口號為502。點(diǎn)擊Next。
        9.    這里是建立開放式通信的連接指針數(shù)據(jù)塊,可以任意。點(diǎn)擊Next。
        10.    這里是建立好連接的列表,點(diǎn)擊Next。
        11.    這里問你是否還配置其它的連接,點(diǎn)Finish。
        12.    點(diǎn)“是”關(guān)閉向?qū)А?br />13.    這是向?qū)Ы⒌耐ㄐ胚B接用的數(shù)據(jù)塊,具體說明見其說明文檔。
        五、      程序說明及使用方法
        1.     您得到的程序如圖:
        這是由STEP7歸檔后文件,應(yīng)使用STEP7恢復(fù)命令,恢復(fù)后會看到項(xiàng)目已經(jīng)打開。
        2.     程序工作原理
        3.     程序塊功能說明:
        MbusPointerDB:用戶數(shù)據(jù)塊?梢允菃蝹數(shù)據(jù)塊,也可以是多個數(shù)據(jù)塊。從站返回的數(shù)據(jù)保存在這個數(shù)據(jù)里,向從站寫入的數(shù)據(jù)也在這個數(shù)據(jù)塊里。
        MbusBufferDB:緩沖區(qū)數(shù)據(jù)塊。一個緩沖區(qū)數(shù)據(jù)塊對應(yīng)一個通信連接。將要發(fā)送的數(shù)據(jù)在這里進(jìn)行校驗(yàn)操作,接收回的數(shù)據(jù)同樣在這里校驗(yàn)操作。
        MBTcpMaserMsg:主站輪詢指令功能塊。可以單個塊運(yùn)行,也可以多個塊輪流運(yùn)行。根據(jù)輸入?yún)?shù)決定把哪些用戶數(shù)據(jù)放入緩沖區(qū)數(shù)據(jù)塊,再將從站返回數(shù)據(jù)放回用戶數(shù)據(jù)塊。注意:同一時刻只允許一個主站輪詢指令工作,否同返回06錯誤。
        MBTcpMasterCtrl:主站通信控制功能塊。一個通信控制功能塊對應(yīng)一個通信連接。主要功能為發(fā)送和接收與從站的通信的報文。
        4.     功能塊參數(shù)說明
        MBTcpMasterCtrl

        MBTcpMasterCtrl





        功能腳名稱類型數(shù)據(jù)類型說明允許值,說明
        OpenIEConActiveINPUTBOOL開放式通信連接是否激活真為啟用,假為不啟用
        OpenIeIDINPUTWORD開放式通信連接標(biāo)識符前面向?qū)傻腎D號
        SendTimeINPUTTIME發(fā)送前定時此值為指令的間隔時間
        RcvTimeOutINPUTTIME接收信息時的超時時間,通常為1S值可以很大,但沒有必要
        MbusBufferDBINPUTBLOCK_DB緩沖區(qū)數(shù)據(jù)塊如:DB3000
        MbusBufferDbNOINPUTINT緩沖區(qū)數(shù)據(jù)塊號如:3000,需與上面一致,但沒有DB字母
        OpenIEConConnectIN_OUTANY開放式通信連接指令的連接說明指針見例程
        LicenseOUTPUTBOOL

        OpenIEConDoneOUTPUTBOOL
        建立連接時0: 作業(yè)尚未開始或仍在運(yùn)行 1: 無錯執(zhí)行作業(yè)
        OpenIEConBusyOUTPUTBOOL
        建立連接時1:作業(yè)尚未完成0:作業(yè)完成
        OpenIEConErrorOUTPUTBOOL
        建立連接時1:處理作業(yè)期間出現(xiàn)錯誤。STATUS返回有關(guān)錯誤類型的詳細(xì)信息
        OpenIEConStatusOUTPUTWORD
        建立連接時錯誤信息
        OpenIEDisconDoneOUTPUTBOOL
        斷開連接時0: 作業(yè)尚未開始或仍在運(yùn)行 1: 無錯執(zhí)行作業(yè)
        OpenIEDisconBusyOUTPUTBOOL
        斷開連接時1:作業(yè)尚未完成0:作業(yè)完成
        OpenIEDisconErrorOUTPUTBOOL
        斷開連接時1:處理作業(yè)期間出現(xiàn)錯誤。STATUS返回有關(guān)錯誤類型的詳細(xì)信息
        OpenIEDisconStatusOUTPUTWORD
        斷開連接時錯誤信息
        WorkingSlaveOUTPUTINT正在與從站通信的從站地址可能值為1到247
        DoneOUTPUTBOOL完成標(biāo)志位通信連接后,一直為真


        MBTcpMasterMsg

        MBTcpMasterMsg
        功能腳名稱類型數(shù)據(jù)類型說明允許值,說明
        InstructionActiveINPUTBOOL真為激活指令,假為不激活指令
        NewRequestINPUTBOOL讀寫請求位每一個新的讀寫請求必須使用脈沖觸發(fā)
        SlaveINPUTINT從站地址1到247
        ReadWriteINPUTINT0=讀,1=寫1. 開關(guān)量輸出和保持寄存器支持讀和寫功能
        2. 開關(guān)量輸入和模擬量輸入只支持讀功能
        AddrINPUTDINT讀寫從站的數(shù)據(jù)地址選擇讀寫的數(shù)據(jù)類型
        00001 至 0xxxx - 開關(guān)量輸出
        10001 至 1xxxx - 開關(guān)量輸入
        30001 至 3xxxx - 模擬量輸入
        40001 至 4xxxx - 保持寄存器
        400001 至 465535 - 保持寄存器
        CountINPUTINT數(shù)據(jù)個數(shù)通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))
        Modbus主站可讀/寫的最大數(shù)據(jù)量為120個字(是指每一個 MBUS_MASTER_MSG 指令)
        MbusBufferDBINPUTBLOCK_DB緩沖區(qū)數(shù)據(jù)塊如:DB3000
        MbusPointerDBINPUTBLOCK_DB用戶數(shù)據(jù)塊如:DB2000
        MbusPointerBYTEINPUTINT用戶數(shù)據(jù)塊字節(jié)地址1. 如果是讀指令,讀回的數(shù)據(jù)放到數(shù)據(jù)區(qū)這個字節(jié)開始的區(qū)域中
        2. 如果是寫指令,要寫出的數(shù)據(jù)從這個字節(jié)開始的數(shù)據(jù)區(qū)取出
        DoneOUTPUTBOOL完成位此位為脈沖信號,需要保持信號,用戶自行加起保停程序,完成位為啟動,讀寫請求位為停止即可。
        ErrorOUTPUTINT通信錯誤0無錯誤
        3接收超時
        4輸入?yún)?shù)錯誤
        5 Modbus通信未激活
        6忙,正在處理其它請求
        7接收的數(shù)據(jù)CRC校驗(yàn)錯誤
        8接收的數(shù)據(jù)長度與預(yù)長長度不符
        9響應(yīng)錯誤,響應(yīng)不是請求的操作
        10發(fā)送出錯
        11接收出錯
        14本指令未啟用
        101從站不支持請求的功能
        102從站不支持?jǐn)?shù)據(jù)地址
        103從站不支持此種數(shù)據(jù)類型
        104從站設(shè)備故障
        105從站接收的信息,但響應(yīng)被延遲
        106從站忙,拒絕了該消息
        107從站拒絕了消息
        108從站存儲器奇偶錯誤
        MbusSendStatusOUTPUTWORD
        見發(fā)送指令規(guī)范
        MbusRevStatusOUTPUTWORD
        發(fā)接收指令規(guī)范
        MbusBufferDB
        緩沖區(qū)數(shù)據(jù)塊是一個400(不可小于400)個字節(jié)數(shù)據(jù)塊,可以復(fù)制,可改符號,可改絕對地址。
        MbusPointerDB
        用戶數(shù)據(jù)塊用戶可自行定義,無要求。
        六、      程序注意
        例程內(nèi)有PLC上電初始化脈沖(FirstScanOn),見OB1最下方程序及OB100。指令使用此脈沖初始化。指令內(nèi)使用符號尋址,所以絕對地址可更改。
        其它指令的符號地址和絕對地址都可更改。
        當(dāng)功能號為5時,用戶數(shù)據(jù)塊的字節(jié)地址的第0位有效。
        當(dāng)功能號為1,2,15時,用戶數(shù)據(jù)塊的字節(jié)地址的從第0位開始有效。
        程序無法在仿真器內(nèi)工作。
        七、      程序高級應(yīng)用
        1.    當(dāng)有多臺從站執(zhí)行相同操作時,如讀取相同數(shù)據(jù)寄存器。這時可將指令的完成位連接到讀寫請求位,將從站地址和用戶數(shù)據(jù)塊字節(jié)號做成變量,使用完成位改變這兩個變量,就可以實(shí)現(xiàn)單指令輪詢多主站。
        2.    當(dāng)用通信控制設(shè)備啟停等操作時,或多從站時快速刷新單個從站數(shù)據(jù)時,要求響應(yīng)時間快一些,而有些程序沒有這方面考慮。本程序在應(yīng)對此方面可以將單一輪詢指令的激活位置真,其它指令置假(用上升沿,僅一個掃描即可),這時不管其它指令在什么狀態(tài)都會將連接使用權(quán)讓出,優(yōu)先讓激活的指令運(yùn)行。
        八、      不足之處
        這里共享出所有已經(jīng)編好的例程,由于硬件有限,只有在winAC和cpu315中經(jīng)過通信驗(yàn)證,如果網(wǎng)友使用其它通信模塊有問題,我們會根據(jù)問題完善程序。通信程序?yàn)槿δ?4天運(yùn)行版,24天后可對PLC進(jìn)行清除復(fù)位,程序繼續(xù)可用。如項(xiàng)目需要無限時版,指令屬性內(nèi)有聯(lián)系方式。
         本文未盡事宜,歡迎來電了解。
        [ 此帖被wlmissyou在2020-08-16 10:31重新編輯 ]
        附件: S7MBTEST.zip (1147 K) 下載次數(shù):264
        網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
        附件: 西門子300 400 開放式通信實(shí)現(xiàn)MODBUS TCP通信.docx.zip (1057 K) 下載次數(shù):310
        網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
        本帖最近評分記錄:
      1. 下載積分:+5(yuaiwu) 感謝分享!
      2. 下載積分:+1(程宏鵬程萬里) 感謝分享!
        wlmissyou
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 66 個
        工控威望: 169 點(diǎn)
        下載積分: 1325 分
        在線時間: 127(小時)
        注冊時間: 2017-06-11
        最后登錄: 2025-07-18
        查看wlmissyou的 主題 / 回貼
        1樓  發(fā)表于: 2020-09-04 12:10
        這么好的東西,怎么沒有人頂
        wlmissyou
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 66 個
        工控威望: 169 點(diǎn)
        下載積分: 1325 分
        在線時間: 127(小時)
        注冊時間: 2017-06-11
        最后登錄: 2025-07-18
        查看wlmissyou的 主題 / 回貼
        2樓  發(fā)表于: 2020-10-25 22:15
        引用
        引用第7樓cdxjfj于2020-10-25 10:52發(fā)表的 Re:S7-300 400 PN口在STEP7環(huán)境下開放式以太網(wǎng)通信 實(shí)現(xiàn)MODBUS TCP主站 .. :
        這個要頂頂,謝謝樓主。從站通訊呢?樓主來個從站通訊解決方案吧

        從站還沒有創(chuàng)作出來