上海西門子6ES7517-3APOO-OABO
海斌勤電氣技術有限公司(西門子代理)
康 奎(業務經理)發布
接模塊,伺服,電機,變頻器等。
1、 SIMATIC S7 系列PLC:ART S7-200 S7-200、S7-1200、S7-300、S7-400、ET-200
2、 邏輯控制模塊 LOGO!230RC、230RCO、230RCL、24RC、24RCL等
3、 SITOP直流電源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A可并聯.
4、HMI 屏TD200 TD400C K-TP OP177 TP177,MP277 MP377,
SIEMENS 交、直流傳動裝置
1、 交流變頻器 MICROMASTER系列:MM420、MM430、MM440、G110、G120MIDASTER系列:MDV
2、全數字直流調速裝置 6RA23、6RA24、6RA28、6RA70、6SE70系列
SIEMENS 數控 伺服
SINUMERIK:801、802S 、802D、802D SL、810D、840D、611U、S120
及伺報電機,力矩電機,直線電機,伺服驅動等備件銷售。
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 計時
-
索引 0:最大從站應答延遲:
在該時間后,從站應答主站。
-
索引 1: 字符延時:
指一個 Modbus 消息幀內,單個字符之間允許的最大延遲時間。 (即 Modbus 1.5 個字節標準的處理時間)
-
索引 2: 報文延時:
指 Modbus 報文之間允許的最大延時。(即 Modbus 3.5 個字節標準的處理時間)
|
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
上海西門子6ES7517-3APOO-OABO