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