產(chǎn)品分類(lèi)品牌分類(lèi)
-
西門(mén)子PLC模塊 西門(mén)子CPU 西門(mén)子DP電纜 西門(mén)子模塊 西門(mén)子變頻器 西門(mén)子電源 西門(mén)子連接器 西門(mén)子軟啟動(dòng) 西門(mén)子軸卡 西門(mén)子數(shù)控系統(tǒng) 西門(mén)子工控機(jī) 西門(mén)子PLC 西門(mén)子觸摸屏 西門(mén)子交換機(jī) 西門(mén)子導(dǎo)軌 西門(mén)子驅(qū)動(dòng)器 西門(mén)子NCU備件 ET200 DP接頭 S7-1500 S7-400 S7-300 1200 200SMART 200CN PLC 電線電纜
西門(mén)子電纜6ES7902-3AB00-0AA0技術(shù)支持
西門(mén)子電纜6ES7902-3AB00-0AA0
程序編程
可以通過(guò)SFB/FB 14 "GET",從遠(yuǎn)程CPU中讀取數(shù)據(jù)。
S7-300:在REQ的上升沿處讀取數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)ID、ADDR_1和RD_1。在每個(gè)作業(yè)結(jié)束之后,可以分配新數(shù)值給ID、ADDR_1和RD_1參數(shù)。
S7-400:在控制輸入REQ的上升沿處啟動(dòng)SFB。在此過(guò)程中,將要讀取的區(qū)域的相關(guān)指針(ADDR_i)發(fā)送到伙伴CPU。遠(yuǎn)程伙伴返回此數(shù)據(jù)。在 下一個(gè)SFB/FB調(diào)用處,已接收的數(shù)據(jù)被復(fù)制到組態(tài)的接收區(qū)(RD_i)中。必須要確保通過(guò)參數(shù)ADDR_i和RD_i定義的區(qū)域在長(zhǎng)度和數(shù)據(jù)類(lèi)型方面 要相互匹配。
通過(guò)狀態(tài)參數(shù)NDR數(shù)值為1來(lái)指示此作業(yè)已完成。只有在前一個(gè)作業(yè)已經(jīng)完成之后,才能重新激活讀作業(yè)。遠(yuǎn)程CPU可以處于RUN或STOP工作狀態(tài)。如果 正在讀取數(shù)據(jù)時(shí)發(fā)生訪問(wèn)故障,或如果數(shù)據(jù)類(lèi)型檢查過(guò)程中出錯(cuò),則出錯(cuò)和警告信息將通過(guò)ERROR和STATUS輸出表示。
通過(guò)使用SFB/FB 15 "PUT",可以將數(shù)據(jù)寫(xiě)入到遠(yuǎn)程CPU。
S7-300:在REQ的上升沿處發(fā)送數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)ID、ADDR_1和SD_1。在每個(gè)作業(yè)結(jié)束之后,可以給ID、ADDR_1和SD_1參數(shù)分配新數(shù)值。
S7-400:在控制輸入REQ的上升沿處啟動(dòng)SFB。在此過(guò)程中,將指向要寫(xiě)入數(shù)據(jù)的區(qū)域(ADDR_i)的指針和數(shù)據(jù)(SD_i)發(fā)送到伙伴CPU。 遠(yuǎn)程伙伴將所需要的數(shù)據(jù)保存在隨數(shù)據(jù)一起提供的地址下面,并返回一個(gè)執(zhí)行確認(rèn)。必須要確保通過(guò)參數(shù)ADDR_i和SD_i定義的區(qū)域在編號(hào)、長(zhǎng)度和數(shù)據(jù)類(lèi) 型方面相互匹配。
如果沒(méi)有產(chǎn)生任何錯(cuò)誤,則在下一個(gè)SFB/FB調(diào)用時(shí),通過(guò)狀態(tài)參數(shù)DONE來(lái)指示,其數(shù)值為1。只有在最后一個(gè)作業(yè)完成之后,才能再次激活寫(xiě)作業(yè)。遠(yuǎn)程 CPU可以處于RUN或STOP模式。如果正在寫(xiě)入數(shù)據(jù)時(shí)發(fā)生訪問(wèn)故障,或如果執(zhí)行檢查過(guò)程中出錯(cuò),則出錯(cuò)和警告信息將通過(guò)ERROR和STATUS輸出 表示。
打開(kāi)SIMATIC 315 PN-1的OB1,在OB1中依次調(diào)用FB14,F(xiàn)B15如圖12、圖13所示:
圖12 FB14調(diào)用
表2.FB14參數(shù)說(shuō)明 :
參數(shù) | 描述 | 數(shù)據(jù)類(lèi)型 | 存儲(chǔ)區(qū) | 描述 |
REQ | bbbbb | BOOL | I、Q、M、D、L | 上升沿觸發(fā)調(diào)用功能塊 |
ID | bbbbb | WORD | M、D、常數(shù) | 地址參數(shù)ID |
NDR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),接收數(shù)據(jù)成功 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 接收到新數(shù)據(jù) |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代碼 |
S7-300: | IN_OUT | ANY | M、D I、Q、M、D、 | 從S7-200 SMART的數(shù)據(jù)地址中讀取數(shù)據(jù);V區(qū)數(shù)據(jù)對(duì)應(yīng)DB1。 |
S7-300: | IN_OUT | ANY | S7-300:M、D | 本站接收數(shù)據(jù)地址 |
下載完成后,可點(diǎn)擊“激活連接狀態(tài)"按鈕,查看連接狀態(tài),如下圖所示,則表示組態(tài)的連接已經(jīng)成功建立。
圖11.連接已建立
2.11 如果出現(xiàn)如下圖所示的情況,則說(shuō)明連接沒(méi)有建立,請(qǐng)檢查網(wǎng)線的連接、IP地址等。
圖12.連接未建立
3、編寫(xiě)PLC程序,調(diào)用通訊塊
3.1 組態(tài)連接建立成功后,需要調(diào)用通訊功能塊PUT和GET進(jìn)行數(shù)據(jù)交換。S7-300用于通訊連接的功能塊位于標(biāo)準(zhǔn)庫(kù)中,如下圖所示:
圖13.PUT GET指令位置
3.2調(diào)用PUT指令,本例中本地S7-300 CPU將DB10.DBB0開(kāi)始的10個(gè)字節(jié)寫(xiě)入通信伙伴CPU 的DB11.DBB0開(kāi)始的10個(gè)字節(jié)中。
圖14.PUT指令
參數(shù) | 說(shuō)明 |
REQ | 上升沿觸發(fā),一次上升沿發(fā)送一次數(shù)據(jù) |
ID | 連接ID(參看圖8) |
ADDR_1 | 指向伙伴CPU接收地址區(qū)域 |
SD_1 | 指向本地CPU發(fā)送地址區(qū)域 |
DONE | 發(fā)送完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 3 PUT管腳說(shuō)明
3.3調(diào)用GET指令,本例中將通信伙伴CPU的DB20.DBB0開(kāi)始的10個(gè)字節(jié)讀入到本地S7-300 CPU的DB21.DBB0開(kāi)始的10個(gè)字節(jié)中。
圖15.GET指令
參數(shù) | 說(shuō)明 |
REQ | 上升沿觸發(fā),一次上升沿讀取一次數(shù)據(jù) |
ID | 連接ID(參看圖8 |
ADDR_1 | 指向伙伴CPU發(fā)送地址區(qū)域 |
RD_1 | 指向本地CPU接收地址區(qū)域 |
DONE | 接收完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 4 GET管腳說(shuō)明
3.4 S7-300 CPU做S7通訊的客戶端時(shí),伙伴CPU無(wú)需組態(tài)編程,準(zhǔn)備好相應(yīng)的數(shù)據(jù)區(qū)即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU屬性的連接機(jī)制中勾選"允許來(lái)自遠(yuǎn)程對(duì)象的PUT/GET通信訪問(wèn)",如下圖所示: