云南西門子S7-1200PLC模塊代理(優(yōu)勢價格)
PLC的用于GD通信的系統(tǒng)功能
S7-400系統(tǒng)中,也可以在程序中控制GD通信。除了全局?jǐn)?shù)據(jù)的周期性傳送可選擇外,可以用下列SFC發(fā)送或接收一個GD包:
●SFC 60 GD_SEND發(fā)送GD包。
●SFC 61 GD_RCV接收GD包。
這些SFC的參數(shù)列在表20-11中。使用這些SFC的先決條件是有一個組態(tài)好的全局?jǐn)?shù)據(jù)表。在編譯這個表之后,在“GD Identifier”欄里,STEP 7可以示出用于參數(shù)設(shè)置的GD環(huán)和GD包的數(shù)。
表20-11 用于GD通信的SFC參數(shù)
在CPU的系統(tǒng)存儲器里,SFC 60 GD_SND登錄GD包并啟動傳送;SFC 61 GD_RCV從系統(tǒng)存儲器里獲取GD包。如果在GD表中為GD包一個比0大的掃描速度,就會產(chǎn)生循環(huán)傳輸。
當(dāng)用SFC 60和SFC 61傳輸?shù)臅r候,對于整個GD包,為了確保數(shù)據(jù)*性,必須在處理期間,在發(fā)送和接收端禁止或延時一個較高優(yōu)先級的中斷和異步錯誤。
SFC不需要成對調(diào)用,也允許“混合”操作。例如,可以使用SFC 60 GD_SND來對GD包的傳送進(jìn)行事件驅(qū)動,隨后循環(huán)接收。
1.必要條件
必須有一個已創(chuàng)建好的項(xiàng)目,必須有一個可用MPI子網(wǎng),S7站已經(jīng)組態(tài)好。CPU至少在站里是可以用的。單擊MPI接口的“Properties”按鈕后,在CPU屬性窗口里的“General”選項(xiàng)卡里(在硬件組態(tài)里雙擊CPU行或者在MPI接口子模塊的行上雙擊)設(shè)置MPI地址并選擇CPU連接的MPI子網(wǎng)。
2.全局?jǐn)?shù)據(jù)表
通過填表來組態(tài)GD通信。在SIMATIC管理器或網(wǎng)絡(luò)組態(tài)里,對于已經(jīng)選擇的MPI子網(wǎng)的圖標(biāo),選擇Options→Define Global Date后彈出一個空的表格。選擇一欄后選擇Edit→CPU。在打開的項(xiàng)目選擇窗口的左半部分選擇站,并在右半部分選擇CPU。單擊“OK”,在全局?jǐn)?shù)據(jù)表里就接收了該CPU。
繼續(xù)以同樣的方法組態(tài)其他參與GD通信里的CPU。一個全局?jǐn)?shù)據(jù)表可以容納多15個CPU欄。
組態(tài)CPU之間的數(shù)據(jù)傳送,在發(fā)送者CPU下選擇*行并要傳送數(shù)據(jù)值的地址(用RETURN終止)。
以Edit→Sender定義這個值為即將發(fā)送值,以帶底紋前綴字符“>”標(biāo)志。在接收者CPU的同樣的行下,輸入要接收數(shù)值的目的地址(“Receiver”屬性設(shè)為默認(rèn))。只能用定時器和計(jì)數(shù)器功能作為發(fā)送者;對于每一個計(jì)時器或計(jì)數(shù)器功能,接收者必須為一個字寬的地址。
一行上可以有幾個接收者,但是發(fā)送者只能有一個(如表20-10所示)。填完后,選擇GD Table→Compile。
編譯完成后(階段一),創(chuàng)建的系統(tǒng)數(shù)據(jù)滿足全局?jǐn)?shù)據(jù)通信要求。如果還要組態(tài)GD狀態(tài)(GD連接的狀態(tài))和掃描速度,必須再次編譯GD表。
3.GD ID
編譯無誤后,STEP 7完成“GD ID”欄。GD ID示出了傳送的數(shù)據(jù)如何構(gòu)建成GD環(huán)、GD包和GD元素。例如,GD ID“GD 2.1.3”對應(yīng)于GD環(huán)2、GD包1、GD元素3。于是可以找到全局?jǐn)?shù)據(jù)表中CPU欄的每個CPU資源配置(GD環(huán)的數(shù)目)。
表20-10 具有狀態(tài)和掃描速度的GD表舉例
4.GD狀態(tài)
編譯完后,通過View→GD Status打開全局?jǐn)?shù)據(jù)表,把用于通信狀態(tài)的地址輸入到全局?jǐn)?shù)據(jù)表里。全體狀態(tài)(GST)示出了表里全部通信連接的狀態(tài)。狀態(tài)(GDS)示出了一個通信連接的狀態(tài)(一個傳送的GD包)。每種情況下的狀態(tài)以雙字給出。
5.掃描速度
在CPU操作系統(tǒng)里,GD通信服務(wù)是運(yùn)行時的一個重要部分,在MPI總線上需要傳送時間。為了使“通信負(fù)荷”小,有必要確定一個“掃描速度”。掃描速度了程序周期的數(shù)目,過了該周期,就接收或發(fā)送數(shù)據(jù)(或者更準(zhǔn)確地說,一個GD包)。
對于一個掃描速度,由于在每個程序周期里,數(shù)據(jù)不能更新,應(yīng)該避免通過GD通信方式發(fā)送對時間要求苛刻的數(shù)據(jù)。
在*次(無錯)編譯完之后,用View→Scan Rates來為每個GD包和每個CPU確定掃描速度(SR)。把掃描速度作為一個標(biāo)準(zhǔn)來設(shè)置,在一個“空的”CPU(沒有用戶程序)里,GD包發(fā)送和接收幾乎每10毫秒進(jìn)行一次。如果加載一個用戶程序,時間間隔會增加。
輸入數(shù)值為1到255之間的數(shù)為掃描速度。注意,掃描速度減小,CPU的通信負(fù)載增加。為了使通信負(fù)載不太大,發(fā)送者CPU設(shè)置掃描速度時,S7-300里的掃描時間要大于60毫秒,S7-400里的掃描時間大于10毫秒。接收方CPU設(shè)置時,掃描時間必須比發(fā)送者CPU的掃描時間短,以避免GD包的丟失。
如果用SFC以事件驅(qū)動的方式發(fā)送或接收GD包,那么設(shè)掃描速度為0,這意味著關(guān)閉相關(guān)GD包的數(shù)據(jù)交換。
組態(tài)GD狀態(tài)和掃描速度后,必須再次編譯GD表。然后在系統(tǒng)數(shù)據(jù)對象里,STEP 7輸入編譯過的數(shù)據(jù)。通過PLC→Downloal,把GD表傳送到連接的CPU時,GD通信才有效。
在傳送包含所有硬件設(shè)置和參數(shù)設(shè)置的系統(tǒng)數(shù)據(jù)對象時,GD通信也會有效。
云南西門子S7-1200PLC模塊代理(優(yōu)勢價格)