商鋪名稱:上海斌勤電氣技術有限公司
聯系人:康奎(先生)
聯系手機:
固定電話:
企業郵箱:192061030@qq.com
聯系地址:上海市松江區三新北路1800弄(松江電子商務園區)
郵編:201501
聯系我時,請說是在焊材網上看到的,謝謝!
西門子S7-1200與變頻器的連接
SIEMENS西門子
希殿電氣技術(上海)有限公司
聯系人:康經理
1 S7-1200與變頻器的連接
1.1本例程的系統配置
本例程中用到的硬件: S7-1200(CPU 1214C)、G120 ( 控制單元CU240B-2 )、一臺裝有TIA Portal軟件的PC機、CM1241模塊、電源模塊、標準RJ45網線。
1.2 硬件連接
1.2.1硬件連線
本例程中的硬件間的結構如下圖所示:
圖1-1
1.2.2 PLC與控制單元通信端口之間的連接
用電纜將CU240B-2 Modbus 通訊接口與PLC通信模塊連接起來,如下圖所示。
圖1-2
2 變頻器設置
2.1 地址設置
可以通過控制單元上的地址開關,也可以通過參數 P2021 或 STARTER 中“Control Unit / Communication / Field bus”頁面來確定變頻器的 Modbus-RTU 地址。
只有所有地址開關都設為“OFF”(0)時,P2021 或 STARTER 中的設置才有效。否則,Modbus-RTU 地址為地址開關所設置的地址。
2.2 參數設置
除了設置地址之外,還需要對其他一些變頻器的通信參數進行設置,才可以進行MODBUS通信。具體需要設置的參數如表2-1所示:
表2-1
參數 | 描述 |
P0015 = 21 |
變頻器宏程序 選擇 I/O 配置 |
p2030 = 2 |
現場總線協議選擇 2: Modbus |
p2020 |
現場總線波特率 設置范圍是 4800 bit/s … 187500 bit/s,出廠為 19200 bit/s |
p2024 |
Modbus 計時
|
p2029 |
現場總線錯誤統計 指現場總線接口上接收錯誤的統計、顯示 |
p2040 |
過程數據監控時間 指沒有收到過程數據時發出報警的延時。 注: 該時間必須根據從站數量、總線波特率加以調整,出廠為 100 ms。 |
3 PLC組態和編程
3.1 創建項目
首先創建一個項目,點擊創建新項目,輸入名稱,路徑等信息。
圖3-1
3.2 硬件組態
按照新手上路的提示首先選擇設備和網絡,進行硬件組態。
圖3-2
點擊添加新設備,添加相應型號的設備,修改設備名稱,選擇版本號,點擊添加。
圖3-3
在彈出的設備與網絡的右側硬件目錄中,找到通信模塊-點到點-CM1241(RS485),加入CM1241通信模塊。
圖3-4
雙擊設備視圖中的RS485端口,設置端口組態,本例程配置如下圖。
圖3-5
在左側的項目樹-設備-在線訪問-Broadcom NetXtreme。。。(本例程PC機所使用的網卡),雙擊更新可使用的設備,搜索到連接的設備。
圖3-6
3.3 編程
在左邊的設備中找到S7-1200/程序塊,打開主程序(Main[OB1])。在右邊的指令欄里選擇通信/通信處理器/MODBUS,添加MB_COMM_LOAD和MB_MASTER。
圖3-7
在彈出的調用選項中,定義一個背景數據塊。
圖3-8
使用同樣的方法,再加入一個MB_MASTER模塊,同樣定義背景數據塊。
圖3-9
分別按照圖3-10、圖3-11設置MB_COMM_LOAD和MB_MASTER模塊。
圖3-10
圖3-11
其中,MB_COMM_LOAD與MB_MASTER指令的參數說明,請參考表3-1,表3-2。
表3-1 MB_COMM_LOAD指令的參數
參數 | 聲明 | 數據類型 | 存儲區 | 說明 |
REQ | Input | BOOL | I、Q、M、D、L | 在上升沿執行指令 |
PORT | Input | UINT | I、Q、M、D、L 或常量 |
通信端口的 ID: 在設備組態中插入通信模塊后,端口 ID 就會顯示在 PORT 框連接的下拉列表中。 也可以在變量表的“常量” (Constants) 選項卡中引用該常量。 |
BAUD | Input | UDINT | I、Q、M、D、L 或常量 |
波特率選擇: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, 115200 所有其它值均無效。 |
PARITY | Input | UINT | I、Q、M、D、L 或常量 |
奇偶校驗選擇: 0 – 無 1 – 奇校驗 2 – 偶校驗 |
FLOW_CTRL | Input | UINT | I、Q、M、D、L 或常量 |
流控制選擇: 0 –(默認值)無流控制 1 – 通過 RTS 實現的硬件流控制始終開啟(不適用于 RS485 端口) 2 - 通過 RTS 切換實現硬件流控制 |
RTS_ON_DLY | Input | UINT | I、Q、M、D、L 或常量 |
RTS 延時選擇: 0 -(默認值)到傳送消息的第一個字符之前,激活 RTS 無延時。 1 至 65535 – 到傳送消息的第一個字符之前,“激活 RTS”以毫秒為單位的延時(不適用于 RS-485 端口)。應用 RTS 延時必須與 FLOW_CTRL 選擇無關。 |
RTS_OFF_DLY | Input | UINT | I、Q、M、D、L 或常量 |
RTS 關斷延時選擇: 0 –(默認值)傳送最后一個字符到“取消激活 RTS”之間沒有延時。 1 至 65535 – 在發送消息的最后一個字符到“取消激活 RTS”之間以毫秒為單位的延時(不適用于 RS-485 端口)。應用 RTS 延時必須與 FLOW_CTRL 選擇無關。 |
RESP_TO | Input | UINT | I、Q、M、D、L 或常量 |
響應超時: “MB_MASTER”允許等待從站響應的時間(毫秒) 如果從站在此時間內沒有響應,則“MB_MASTER”將重復該請求,或者在發送了指定數目的重試后終止請求并返回錯誤。 5 ms 至 65535 ms(默認值 = 1000 ms)。 |
MB_DB | Input | VARIANT | D | “MB_MASTER”或“MB_SLAVE”指令的背景數據塊的引用。 在程序中插入“MB_SLAVE”或“MB_MASTER”之后,數據塊標識符會顯示在 MB_DB 框連接的下拉列表中。 |
DONE | Output | BOOL | I、Q、M、D、L | 指令的執行已完成且未出錯。 |
ERROR | Output | BOOL | I、Q、M、D、L |
錯誤: 0 – 未檢測到錯誤 1 – 表示檢測到錯誤。 在參數 STATUS 中輸出錯誤代碼。 |
STATUS | Output | WORD | I、Q、M、D、L | 端口組態錯誤代碼 |
表3-2 MB_MASTER指令的參數
參數 | 聲明 | 數據類型 | 存儲區 | 說明 |
REQ | Input | BOOL | I、Q、M、D、L |
請求輸入: 0 – 無請求 1 – 請求將數據發送到 Modbus 從站 |
MB_ADDR | Input | UINT | I、Q、M、D、L 或常量 |
Modbus RTU 站地址: 默認地址范圍: 0 至 247 擴展地址范圍: 0 至 65535 值“0”已預留,用于將消息廣播到所有 Modbus 從站。 只有 Modbus 功能代碼 05、06、15 和 16 支持廣播。 |
MODE | Input | USINT | I、Q、M、D、L 或常量 |
模式選擇: 指定請求類型: 讀取、寫入或診斷: 有關詳細信息,請參見 Modbus 功能表。 |
DATA_ADDR | Input | UDINT | I、Q、M、D、L 或常量 | 從站中的起始地址: 指定 Modbus 從站中將供訪問的數據的起始地址。 可在 Modbus 功能表中找到有效地址。 |
DATA_LEN | Input | UINT | I、Q、M、D、L 或常量 | 數據長度: 指定要在該請求中訪問的位數或字數。 可在 Modbus 功能表中找到有效長度。 |
DATA_PTR | Input | VARIANT | M、D | 指向 CPU 的數據塊或位存儲器地址,從該位置讀取數據或向其寫入數據。 對于數據塊,必須使用“標準 - 與 S7-300/400 兼容”訪問類型進行創建。 |
DONE |
Output |
BOOL | I、Q、M、D、L |
0: 事務未完成 1: 事務完成,且無任何錯誤 |
BUSY | Output | BOOL | I、Q、M、D、L |
0: 當前沒有“MB_MASTER”事務正在處理中 1: "MB_MASTER" 事務正在處理中 |
ERROR | Output | BOOL | I、Q、M、D、L |
0: 無錯誤 1: 出錯,錯誤代碼由參數 STATUS 來指示 |
STATUS | Output | WORD | I、Q、M、D、L | 執行條件代碼 |
3.4 下載
編譯,確認無誤后,點擊下載。在彈出的“擴展的下載到設備”中,選擇PG/PC接口類型,以及PG/PC接口。選擇設備,并點擊下載。
圖3-12
在彈出的下載預覽中,查看將要覆蓋的內容,選擇統一下載,并點擊下載。
圖3-13
3.5 監視
點擊轉到在線,并點擊啟動監視,此時即可通過PLC給變頻器進行MODBUS通信。
圖3-14
4 MODBUS通信控制變頻器
4.1 使用MODBUS通信控制變頻器啟停
如下圖所示,打開Tag_1,使能MB_MASTER。使能完成之后,關閉Tag_1。
圖4-1
如圖4-2,將MODE改為1(即寫入數據),DATA_ADDR寫入40101(主設定值寄存器號),DATA_PTR寫入1000(給定值的寫入值)。然后REQ使用一個脈沖沿來發送給定值。此時,變頻器的給定值已經改為1000。
然后將DATA_ADDR寫入40100(控制字寄存器號),DATA_PTR寫入047E(停車),然后REQ使用一個脈沖沿來發送停車命令。再將DATA_ADDR寫入40100(控制字寄存器號),DATA_PTR寫入047F(啟動),然后REQ使用一個脈沖沿來發送啟動命令。
圖4-2
注意:
MB_COMM_LOAD使能完成之后,一定要將Tag_1關閉,否則MB_MASTER模塊將無法使用。
變頻器啟動位需要一個上升沿,所以先給其停車命令,然后發送啟動命令,利用上升沿來啟動變頻器。
4.2 使用MODBUS通信修改和查看變頻器參數
現在,以參數P1120加速時間為例,對參數的修改和查看進行講解。
首先,進行讀參數的演示。將MODE輸入改為0(即讀參數模式),將DATA_ADDR中寫入40322(即加速時間的寄存器號),然后REQ使用脈沖沿來發送一個讀請求。此時,可以接收到參數P1120中的數據位1000(即加速時間為10s)。
圖4-3
然后進行寫參數:將MODE輸入改為1(即寫參數模式),將DATA_ADDR中寫入40322(即加速時間的寄存器號),在DATA_PTR中寫入500,然后REQ使用脈沖沿來發送一個寫請求。此時,已經將500寫入了參數P1120之中,加速時間改為5s。
圖4-4
控制單元中的 Modbus 寄存器和對應的參數如下表所示:
表4-1 Modbus 寄存器和對應的參數
關鍵詞
G120,CU240B-2,CU240E-2,Modbus RTU