


3. PLC對高速數(shù)據(jù)交換區(qū)的訪問
PLC使用FC21 T r a n s f e r訪問高速數(shù)據(jù)交換區(qū)。其中: E n a b l e —— 啟動傳送;Funct——WORD類型,等于3是讀取操作,等于4是寫入操作;S7Var——Any類型,指定PLC存儲地址;IVAR1——INT類型,指定高速數(shù)據(jù)交換區(qū)的訪問地址;IVAR2——INT 類型,指定信號量;Error——BOOL類型,等于1則程序出錯;ErrCode——出錯時存儲錯誤代碼。程序如下:
CALL"Transfer"
Enable :=TRUE
Funct :=B#16#3
S7Var :=P#L 0.0 INT 7
IVAR1 :=1000
IVAR2 :=1001
Error :=#error
ErrCode:=#errcode
A n y類型中分別指定起始地址、數(shù)據(jù)類型和重復(fù)次數(shù)。P#L0.0 INT 7解釋為起始地址L0.0,數(shù)據(jù)類型INT,重復(fù)次數(shù)7。IVAR1=1000高速數(shù)據(jù)交換區(qū)的訪問地址是$A_DBB[1000]。
上文程序從$A_DBB[1000]起始讀取7個整數(shù),存儲到L0.0起始的7個INT即LW0到LW7。
4. 字節(jié)順序
NC和PLC的字節(jié)順序是不同的。NC字節(jié)順序:16位高8位在后,低8位在前;32位高16位在后,低16位在前。PLC字節(jié)順序與之相反。FC21運行時會根據(jù)數(shù)據(jù)類型轉(zhuǎn)換字節(jié)順序,使傳輸?shù)臄?shù)值保持正確。在編程時要注意這一點。例如:LW0存儲16進制數(shù) 270E,LB0存儲27,LB1存儲0E;傳送到$A_DBW[0],則$A_DBB[0]存儲0E,$A_DBB[1]存儲27。
5. 信號量
信號量確保N C和P L C之間如有一方對一段地址連續(xù)訪問, 則禁止另一方訪問這段地址。信號量在FC21的IVAR2 中指定,VAR2=1001即指定$A_DBB[1001]為信號量。
使用信號量時的讀寫過程:PLC——只有在信號量等于1時對數(shù)據(jù)區(qū)讀寫,讀寫完成后把信號量置0,由FC21執(zhí)行。NC——只有在信號量等于0時對數(shù)據(jù)區(qū)讀寫, 讀寫完成后把信號量置1 。使用同步動作執(zhí)行。例如WHENEVER $A_DBB[1001]==1DO RDISABLE ,當(dāng)信號量等于1時讀入禁止。
6. 從PLC向NC傳送BOOL信號
為了使BOOL信號傳送到NC,可把多個BOOL信號保存在字節(jié)變量中,然后向NC傳送這個字節(jié)變量。NC使用位指令檢測相應(yīng)的位。
例如:PLC把某開關(guān)信號賦值給L0.3,然后通過FC21把LB0傳送給$A_DBB[0]。NC使用位指令檢測第三位,即($A_DBB[0]B_AND'B00001000'),如果開關(guān)BOOL量等于1,($A_DBB[0]B_AND 'B00001000')不等于0;如果開關(guān)BOOL量等于0,( $A_DBB[0] B_AND'B00001000')等于0。
從PLC與NC傳送數(shù)組或結(jié)構(gòu):傳送數(shù)組在S7Var中把數(shù)組的起始地址、數(shù)據(jù)類型和數(shù)據(jù)長度指定即可。由于NC和PLC字節(jié)順序不同,對于結(jié)構(gòu)則應(yīng)對其內(nèi)部各變量逐個按其類型傳送。PLC編程時結(jié)構(gòu)和數(shù)組可直接賦值給ANY類型的參數(shù),但變量類型為BYTE,有可能在字節(jié)順序上出錯。
7. NC向PLC任意傳送數(shù)據(jù)的試驗
NC向PLC傳送數(shù)據(jù),首先NC把數(shù)據(jù)寫入數(shù)據(jù)交換區(qū),然后PLC從數(shù)據(jù)交換區(qū)讀取數(shù)據(jù)。PLC要想取得數(shù)據(jù)首先要知道數(shù)據(jù)的起始位置、數(shù)據(jù)量,讀到哪里,這些信息必須在編寫PLC程序時在FC21參數(shù)S7Var和IVAR1指定。
使NC向PLC任意位置傳送數(shù)據(jù)的方法如下:首先NC把需要傳送的數(shù)據(jù)寫入數(shù)據(jù)交換區(qū)并寫入數(shù)據(jù)的起始位置,然后在數(shù)據(jù)交換區(qū)指定位置建立一個ANY結(jié)構(gòu)指定PLC地址數(shù)據(jù)、類型和數(shù)量;PLC調(diào)用1個FC21讀取數(shù)據(jù)的起始位置和ANYA結(jié)構(gòu);PLC調(diào)用第2個FC21以第1個FC21讀取的起始位置和ANYA為參數(shù)讀取。
圖4所示為把所需傳送數(shù)據(jù)的地址存在1002,在交換區(qū)1004到1013處建立一個ANY結(jié)構(gòu),1000設(shè)為信號量。圖5所示為兩次調(diào)用FC21。圖6所示為臨時變量表,第1次調(diào)用的FC21 的P#L0.0 INT 7涵蓋了變量c t r、Departure和Destination。在第2次調(diào)用FC21時使用這些變量。
圖4
圖5
圖6
8. 結(jié)語
如果您有機床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com
- 2025年1月 新能源汽車銷量情況
- 2024年12月 新能源汽車產(chǎn)量數(shù)據(jù)
- 2024年12月 基本型乘用車(轎車)產(chǎn)量數(shù)據(jù)
- 2024年12月 軸承出口情況
- 2024年12月 分地區(qū)金屬切削機床產(chǎn)量數(shù)據(jù)
- 2024年12月 金屬切削機床產(chǎn)量數(shù)據(jù)
- 2024年11月 金屬切削機床產(chǎn)量數(shù)據(jù)
- 2024年11月 分地區(qū)金屬切削機床產(chǎn)量數(shù)據(jù)
- 2024年11月 軸承出口情況
- 2024年11月 基本型乘用車(轎車)產(chǎn)量數(shù)據(jù)
- 2024年11月 新能源汽車產(chǎn)量數(shù)據(jù)
- 2024年11月 新能源汽車銷量情況
- 2024年10月 新能源汽車產(chǎn)量數(shù)據(jù)