西門子S7-1200與G120變頻器的Modbus RTU通訊
發布日期:
2023-05-18

一、S7-1200與(yu) 變頻器的連接

1.1本例程的係統配置

本例程中用到的硬件:S7-1200(CPU 1214C)、G120 ( 控製單元CU240B-2 )、一台裝有TIA Portal軟件的PC機、CM1241模塊、電源模塊、標準RJ45網線。

1.2 硬件連接

1.2.1硬件連線

本例程中的硬件間的結構如下圖所示:

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

圖1-1

1.2.2 PLC與(yu) 控製單元通信端口之間的連接

用電纜將CU240B-2 Modbus 通訊接口與(yu) PLC通信模塊連接起來,如下圖所示。

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

圖1-2

二、變頻器設置

2.1 地址設置

可以通過控製單元上的地址開關(guan) ,也可以通過參數 P2021 或 STARTER 中“Control Unit / Communication / Field bus”頁麵來確定變頻器的 Modbus-RTU 地址。

隻有所有地址開關(guan) 都設為(wei) “OFF”(0)時,P2021 或 STARTER 中的設置才有效。否則,Modbus-RTU 地址為(wei) 地址開關(guan) 所設置的地址。

2.2 參數設置

除了設置地址之外,還需要對其他一些變頻器的通信參數進行設置,才可以進行MODBUS通信。具體(ti) 需要設置的參數如表2-1所示:

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

表2-1

三、PLC組態和編程

3.1 創建項目

首先創建一個(ge) 項目,點擊創建新項目,輸入名稱,路徑等信息。

3.2 硬件組態

按照新手上路的提示首先選擇設備和網絡,進行硬件組態。

點擊添加新設備,添加相應型號的設備,修改設備名稱,選擇版本號,點擊添加。

在彈出的設備與(yu) 網絡的右側(ce) 硬件目錄中,找到通信模塊-點到點-CM1241(RS485),加入CM1241通信模塊。

雙擊設備視圖中的RS485端口,設置端口組態。

在左側(ce) 的項目樹-設備-在線訪問-Broadcom NetXtreme。。。(本例程PC機所使用的網卡),雙擊更新可使用的設備,搜索到連接的設備。

3.3 編程

在左邊的設備中找到S7-1200/程序塊,打開主程序(Main[OB1])。在右邊的指令欄裏選擇通信/通信處理器/MODBUS,添加MB_COMM_LOAD和MB_MASTER。

在彈出的調用選項中,定義(yi) 一個(ge) 背景數據塊。

使用同樣的方法,再加入一個(ge) MB_MASTER模塊,同樣定義(yi) 背景數據塊。

分別設置MB_COMM_LOAD和MB_MASTER模塊。

其中,MB_COMM_LOAD與(yu) MB_MASTER指令的參數說明,請參考表3-1,表3-2。

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

表3-1 MB_COMM_LOAD指令的參數

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

表3-2 MB_MASTER指令的參數

3.4 下載

編譯,確認無誤後,點擊下載。在彈出的“擴展的下載到設備”中,選擇PG/PC接口類型,以及PG/PC接口。選擇設備,並點擊下載。

在彈出的下載預覽中,查看將要覆蓋的內(nei) 容,選擇統一下載,並點擊下載。

3.5 監視

點擊轉到在線,並點擊啟動監視,此時即可通過PLC給變頻器進行MODBUS通信。

四、MODBUS通信控製變頻器

4.1 使用MODBUS通信控製變頻器啟停

如下圖所示,打開Tag_1,使能MB_MASTER。使能完成之後,關(guan) 閉Tag_1。

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

圖4-1

如圖4-2,將MODE改為(wei) 1(即寫(xie) 入數據),DATA_ADDR寫(xie) 入40101(主設定值寄存器號),DATA_PTR寫(xie) 入1000(給定值的寫(xie) 入值)。然後REQ使用一個(ge) 脈衝(chong) 沿來發送給定值。此時,變頻器的給定值已經改為(wei) 1000。

然後將DATA_ADDR寫(xie) 入40100(控製字寄存器號),DATA_PTR寫(xie) 入047E(停車),然後REQ使用一個(ge) 脈衝(chong) 沿來發送停車命令。再將DATA_ADDR寫(xie) 入40100(控製字寄存器號),DATA_PTR寫(xie) 入047F(啟動),然後REQ使用一個(ge) 脈衝(chong) 沿來發送啟動命令。

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

圖4-2

注意:

MB_COMM_LOAD使能完成之後,一定要將Tag_1關(guan) 閉,否則MB_MASTER模塊將無法使用。

變頻器啟動位需要一個(ge) 上升沿,所以先給其停車命令,然後發送啟動命令,利用上升沿來啟動變頻器。

4.2 使用MODBUS通信修改和查看變頻器參數

現在,以參數P1120加速時間為(wei) 例,對參數的修改和查看進行講解。

首先,進行讀參數的演示。將MODE輸入改為(wei) 0(即讀參數模式),將DATA_ADDR中寫(xie) 入40322(即加速時間的寄存器號),然後REQ使用脈衝(chong) 沿來發送一個(ge) 讀請求。此時,可以接收到參數P1120中的數據位1000(即加速時間為(wei) 10s)。

然後進行寫(xie) 參數:將MODE輸入改為(wei) 1(即寫(xie) 參數模式),將DATA_ADDR中寫(xie) 入40322(即加速時間的寄存器號),在DATA_PTR中寫(xie) 入500,然後REQ使用脈衝(chong) 沿來發送一個(ge) 寫(xie) 請求。此時,已經將500寫(xie) 入了參數P1120之中,加速時間改為(wei) 5s。

控製單元中的 Modbus 寄存器和對應的參數如下表所示:

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

西門子S7-1200與(yu) G120變頻器的Modbus RTU通訊

表4-1 Modbus 寄存器和對應的參數

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。