西門子CPU1217C模塊 西門子CPU1217C模塊
潯之漫智控技術(shù)(上海)有限公司 上海詩(shī)慕自動(dòng)化設(shè)備有限公司
本公司銷售西門子自動(dòng)化產(chǎn)品,*,質(zhì)量保證,價(jià)格優(yōu)勢(shì)
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動(dòng),西門子以太網(wǎng)
西門子電機(jī),西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價(jià)格優(yōu)勢(shì),*,德國(guó)*
說明:
使用下面的連接通信,必須在S7-400的S7程序中調(diào)用通信功能塊 FC50 "AG_LSEND" 和 FC60 "AG_LRECV" 。
- TCP 連接
- ISO-on-TCP 連接 (RFC 1006)
- ISO 傳輸連接
- UDP 連接
- FDL 連接
通訊功能塊 FC50 “AG_LSEND” 和 FC60 “AG_LRECV”的特點(diǎn)
- FC50 和 FC60 是異步通訊功能塊。
- FC50 和 FC60 的運(yùn)行需要幾個(gè) OB1 周期。
- FC50 由輸入?yún)?shù) "ACT"激活。
- 通訊任務(wù)結(jié)束由 “DONE”, "NDR" 或 “ERROR”指示。
- AG_LSEND 和 AG_LRECV 可以通過同一個(gè)連接同時(shí)通訊。
- 新版本的功能塊 FC50 "AG_LSEND" 和 FC60 "AG_LRECV" 可以在 SIMATIC_NET_CP 庫(kù)"CP 400 > Blocks" 里找到。
例程說明
S7 程序包含來自 SIMATIC_NET_CP 庫(kù)的通訊功能塊 FC50 “AG_LSEND”和 FC60 “AG_LRECV”的調(diào)用。 FC50 “AG_LSEND”用于發(fā)送數(shù)據(jù)到 S7 或 S5 站,PC 或者第三方系統(tǒng)。FC60 “AG_LRECV” 用于接收來自 S7 或 S5 站,PC站或第三方系統(tǒng)的數(shù)據(jù)。
例程中通訊功能塊 FC50 "AG_LSEND" 和 FC60 "AG_LRCV" 用于 ISO-on-TCP 連接的通訊。
首先創(chuàng)建 S7-400 站的硬件配置。
注意:
將 MB10 配置為時(shí)鐘標(biāo)志。發(fā)送任務(wù)由該時(shí)鐘標(biāo)志觸發(fā)。保存并編譯 S7-400 站的硬件組態(tài)并裝載到 CPU。
例程中用到了定時(shí)器 T10 。
然后在 NetPro 中為 CPU 配置一種上面提到的通訊連接。如果通訊伙伴也在該 STEP7 項(xiàng)目中一起配置,可以配置一個(gè)*的通訊連接。如果通訊伙伴沒有與 S7-400 站在同一個(gè) STEP7 項(xiàng)目下,可以配置一個(gè)未*的通訊連接。配置通訊連接時(shí),確認(rèn) IP 地址或 Profibus 地址已經(jīng)正確分配。 同樣,確認(rèn) PORT,TSAP,LSAP 已經(jīng)正確分配。這些 用于識(shí)別通訊伙伴間的通訊連接。
FC50 “AG_LSEND”和 FC60 “AG_LRECV”的輸入?yún)?shù)“ID”和“LADDR”必須被*。該參數(shù)在通訊連接的屬性對(duì)話框“常規(guī)”選項(xiàng)卡中設(shè)置。
圖1
STEP7 的程序由塊 OB100, OB1, FB200, DB200, DB201, FC50 和 FC60 組成。
OB100:
OB100 是啟動(dòng)組織塊,當(dāng) CPU 重新啟動(dòng)(暖啟動(dòng))時(shí)運(yùn)行。在這個(gè)組織塊中通過 M1.0 使能*次通訊觸發(fā)器。
OB1:
OB1 循環(huán)組織塊。在這個(gè)組織塊中調(diào)用 FB200 (背景數(shù)據(jù)塊:DB200) ,使用 M0.3“INIT” 作為參數(shù) (INIT_COM)。FB200一旦執(zhí)行則復(fù)位 M0.3。
圖. 02
FB200
FB200 在 OB1 中調(diào)用。在 FB200 中調(diào)用了 FC50 “AG_LSEND” 和 FC60 “AG_LRECV”。
參數(shù)化FC50"AG_LSEND"
在FC50 的輸入?yún)?shù)“ACT”得到一個(gè)上升沿后觸發(fā)發(fā)送任務(wù)。 時(shí)鐘標(biāo)志位 M10.7和變量 “SND_BUSY”及"CONNECTION_BROKEN_SEND"參數(shù)控制發(fā)送任務(wù)的觸發(fā)。當(dāng)發(fā)送任務(wù)正在執(zhí)行時(shí),“SND_BUSY”被置位 ,此時(shí)不能觸發(fā)新的發(fā)送任務(wù),由于功能塊的執(zhí)行是異步的,并可以持續(xù)幾個(gè)周期,所以聯(lián)鎖功能尤其重要。如果不等待*個(gè)發(fā)送工作成功完成或出錯(cuò)終止就不間斷的觸發(fā)新的發(fā)送任務(wù)會(huì)引起通訊過載。 如果連接沒有建立,通訊塊每10s被調(diào)用1次同時(shí)觸發(fā)發(fā)送任務(wù)。
輸入?yún)?shù) “ID” 和 “LADDR”的值必須取自 NetPro中通訊連接的屬性對(duì)話框(參見 圖01)。需要為 FC50 的 “SEND”輸入?yún)?shù)*包含將要發(fā)送數(shù)據(jù)的數(shù)據(jù)區(qū)地址和長(zhǎng)度(發(fā)送緩沖區(qū)), 例如: P#DB201.DBX0.0 BYTE 100。
在“LEN”輸入?yún)?shù)中鍵入要發(fā)送的字節(jié)數(shù),本例中是100。
輸出參數(shù) “DONE”, “ERROR” 和 “STATUS”用于任務(wù)評(píng)估,并且只在同一個(gè)周期內(nèi)有效。
圖.03
圖. 04
當(dāng)發(fā)送任務(wù)成功完成后,“SND_BUSY” 被復(fù)位。 然后可以觸發(fā)下一個(gè)發(fā)送任務(wù)。
圖.05
如果發(fā)送任務(wù)出錯(cuò)終止,“SND_BUSY” 也會(huì)被復(fù)位 ,F(xiàn)C50 輸出參數(shù) “STATUS”的值被保存用于故障分析。
如果 “STATUS”輸出參數(shù)的值是 0x7000Hex (28672Dec),F(xiàn)C50 “AG_LSEND”再次被調(diào)用。