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