1. 加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200plc作為從站的編程詳解
        發布時間: 2024-01-05 15:36 更新時間: 2024-11-22 08:00
        觀看西門子S7-1200plc作為從站的編程詳解視頻

        S7-1200 支持Modbus RTU通信模式的模塊可作為Modbus RTU從站。以下以 CPU1215C DC/DC/DC和CM1241 RS485為例,介紹S7-1200 Modbus RTU 從站通信組態及編程步驟。

        硬件和軟件需求及所完成的通信任務:

        硬件:① CPU1215C DC/DC/DC (訂貨號:6ES7 215-1AG31-0XB0)② CM1241 RS485 (訂貨號:6ES7 241-1CH30-0XB0)③ PS 307電源(訂貨號:6ES7307-1KA02-0AA0) ④ PC(帶以太網卡) ⑤ TP以太網電纜軟件:① STEP 7 V11 Professional SP2 UPD4 +HSP② ModScan(該軟件是第三方軟件,可以從 Internet 網絡下載)所完成的通信任務:將Modbus RTU從站CPU1215C中地址從DB1.DBW0開始的5 個字中的數據,分別讀取到Modbus RTU主站ModScan中Modbus地址從40001開始的5個字中



        1組態Modbus RTU通信模塊

        在硬件目錄里找到“通信模塊”→“點到點”“CM1241(RS485)”,雙擊或拖拽此模塊至CPU左側即可,如下圖1所示:

        接下來,在“設備視圖”中用鼠標選中CM1241(RS485)模塊,在“屬性”→“端口組態”中配置此模塊硬件接口參數。如下圖2所示:

        以下以傳輸率=9.6Kbps,奇偶校驗=無奇偶校驗,數據位=8位字符,停止位=1,其它保持默認設置為例。

        Zui后在“硬件標識符”里確認一下硬件標識符為271,如下圖3所示

        2添加啟動OB


        在項目樹下選擇“CPU1215C DC/DC/DC”→“程序塊”→“添加新塊”,在彈出的窗口中選擇“OB 組織塊”→ “Startup”,添加啟動OB 100,如下圖4所示

        3調用MB_COMM_LOAD指令

        為使端口一啟動就被設置為Modbus RTU通信模式,可在OB 100中調用“MB_COMM_LOAD”指令。調用“MB_COMM_LOAD”指令時會自動彈出創建相應背景數據塊的界面,如下圖5所示:

        點擊“確認”為該指令創建背景數據塊后,為各輸入/輸出引腳分配地址。尤其需注意MB_DB輸入引腳需指向“MB_SLAVE”指令的背景數據塊,如下圖6所示:

        注意:“MB_COMM_LOAD”指令輸入位“REQ”需使用上升沿觸發。由于OB 100只在S7-1200啟動時執行一次,因此,此例中將“REQ”設為“TRUE”。

        MB_COMM_LOAD指令參數意義如下表1所示:

        引腳

        說明

        EN

        使能端

        REQ

        在上升沿執行該指令

        PORT

        通信端口的硬件標識符

        BAUD

        波特率選擇:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 (注意:所有其它值均無效)

        PARITY

        奇偶檢驗選擇:0-無;1-奇校驗;2-偶校驗

        FLOW_CTRL

        流控制選擇:0-(默認值)無流控制

        RTS_ON_DLY

        RTS延時選擇:0-(默認值)

        RTS_OFF_DLY

        RTS關斷延時選擇:0-(默認值)

        RESP_TO

        響應超時:默認值 = 1000 ms。MB_MASTER 允許用于從站響應的時間(以毫秒為單位)。

        MB_DB

        對 MB_MASTER 或 MB_SLAVE 指令所使用的背景數據塊。

        DONE

        完成位:指令執行完成且未出錯置1

        ERROR

        錯誤位:0-未檢測到錯誤;1-檢測到錯誤。在參數STATUS中輸出錯誤代碼。

        STATUS


        表1 MB_COMM_LOAD指令參數意義


        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415