6ES7214-2AS23-0XB8現貨供應
6ES7214-2AS23-0XB8
(1)用高速計數器功能采集,只要確保高速計數最高工作頻率高于脈沖頻率,就不會丟失脈沖。
(2)用定時中斷及脈沖采集子程序采集,只要確保采集時間間隔小于脈沖頻率的倒數就不會丟失脈沖。
(3)永外中斷(有中斷功能的輸入)及脈沖采集子程序采集,也要確保中斷響應速度足夠快,才不會丟失脈沖。
(4)如果脈沖頻率不高,如每20次/s以下,一般的輸入點直接進行采集,問題也不大
指針的類型包括16位指針、32位指針、Pointer(6Byte)和Any(10Byte)。16位指針用于定時器、計數器、程序塊的尋址;32位指針用于I/Q/M/L/數據塊等存儲器中位、字節(jié)、字以及雙字的尋址,其中第0~2位表示位地址(0~7)、第3~18位為字節(jié)地址,其余位未定義;Pointer和Any一般應用在復雜數據類型(比如Date_and_Time /Array/bbbbbb等)在FB、FC之間的傳遞。而Any可以看做是對Pointer的延伸,因為由10Byte組成的Any中Byte4~Byte9就是一個Pointer。
了解指針的格式十分重要,為正確使用指針,應閱讀如下內容:
1、 "SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 參數類型
2、文檔:1008用于S7-300 和S7-400 的語句表(STL)編程
3、文檔:F0215,S7-300和S7-400尋址 1.2為什么語句 LAR1 P##Pointerbbbbb 在一個函數(FC)中是無效的,然而,同樣的語句在一個功能塊(FB)中是有效的?
在FC被調用時,復雜數據類型例如指針是被復制到調用者的臨時變量區(qū)中,在FC內部對此V區(qū)地址直接取址放入到地址寄存器AR1或AR2是不被編譯器規(guī)則接受的(導致MC7寄存器信息過長),也就是說在FC內部通過P#進行地址寄存器取址僅能支持Temp臨時變量。因此如果需要在FC中操作指針等復雜輸入輸出變量地址需要使用累加器進行中轉。
考慮到程序的一致性、遵守編譯器規(guī)則和STL手冊中LAR1指令說明,建議用戶使用如下指令操作:
L P##Pointerbbbbb
LAR1 1.3 STEP 7 中哪些操作會覆蓋DB/DI寄存器或者地址寄存器AR1/AR2的內容?
下面說明了可能引起DB/DI寄存器或者地址寄存器AR1/AR2內容改變的一些操作:
DB寄存器和AR1受到影響的操作
1. 使用完整的DB路徑(如L DB20.Val)或者調用FC/FB時使用DB塊完整地址作為其參數,則DB寄存器內容被覆蓋。
例如在OB1中調用FC1后,DB寄存器變成20。
OPN DB1
Call FC1
bbbbb(bit):DB20.DBX0.2
因此在編程的時候,OPN 指令打開數據塊,通過DBX x.y的方式訪問其中內容, 但是如果在打開數據塊后DB寄存器的內容被修改了,則DBX x.y的方式訪問變量則 會訪問到錯誤的地址??梢酝ㄟ^使用符號尋址的方式或者使用完整路徑編程避免,當 然重新使用 OPN指令也是可以的。
2. 調用FC時使用bbbbbb, array, structure ,UDT作為其形參或者調用FB時使用bbbbbb, array, structure 或者UDT作為其in out形參,在FC/FB程序中訪問這些地址則AR1寄存器內容被覆蓋,因此當使用AR1進行間接尋址時需要注意AR1內容的正確性。AR2地址寄存器和DI寄存器在FB中作為參數和靜態(tài)變量的基址尋址使用。AR2和DI如果被修改,會影響FB的參數訪問,如果希望在FB中使用DI寄存器或者地址寄存器AR2,必須預先保存它們中的內容,并在使用后恢復它們,例如:
TAR2 #AR2_SAVE; //AR2寄存器狀態(tài)保存到#AR2_SAVE
L DINO;
T #DB2_SAVE; //DI寄存器狀態(tài)保存到#DB2_SAVE
LAR2 #AR2_SAVE; //AR2寄存器恢復到使用前狀態(tài)1.4 如何得到多重背景FB中的變量在背景DB里的絕對偏移量呢?
OPN DI [#DB2_SAVE]; //DI寄存器恢復到使用前狀態(tài)
可以用下面的方法處理:
TAR2 (得到多重背景FB在背景DB里的偏移地址)
AD DW#16#00FFFFFF (屏蔽掉存儲區(qū)ID,可參考32位指針格式)
L P##Variable (得到變量在多重背景FB里的地址)
+D (多重背景FB的偏移地址與變量在多重背景FB里地址相加,即得到實際絕對偏移量)
LAR1
上述語句就是就得到了變量在背景DB中的絕對偏移量,從而供后續(xù)程序處理。 1.5如何在程序中使用ANY 型指針? 簡要說明如下:
L P##bbbbb //指向存儲地址指針bbbbb首地址
//這個參數是一個Any類型,P##bbbbb指向參數bbbbb的值所在地址,這就是指針的指針
LAR1 //裝載到地址寄存器AR1中。
L W [AR1,P#4.0] //打開DB塊
// 由Any類型結構知道Any類型的Byte4、Byte5存放的數據塊號
T #BLOCK_NO
OPN DB [#BLOCK_NO] //如果是DB塊,打開的DB塊。
L W [AR1,P#2.0] //判斷ANY指針中數據長度
// Any類型的Byte2、Byte3是重復系數,如P#DB1.DBX0.0 Byte 8后面的Byte 8
_001:T #DATA_LEN //通常此處做loop循環(huán)!!
L D [AR1,P#6.0] //找出需要計算數據區(qū)的開始地址
// Any類型Byte6~Byte9是32位區(qū)域地址
變頻器剛啟動時輸出直流母線電壓是多少?一般看按照經驗 直流母線電壓=1.35*輸入電壓 如果變頻器的啟動時間設置的很小 變頻器的直流母線電壓就會變化很大.
直流母線就是在變頻器中承載整流后將交流變成直流,在逆變器中是將直流轉變?yōu)榻涣?。在變頻器中用銅排的母線形式安裝連接在一起,形成直流公共母線變頻驅動系統(tǒng)。
萬用表測量變頻器進線電壓,測量變頻器直流母線電壓(DC+/DC-終端,正常情況下約為進線電壓的1.35倍,400輸入電壓直流母線電壓約為540(帶負載時),不帶負載時電壓會更高)。
變頻器母線電壓不就是整流后的電壓嗎?220的就是310V左右吖,380的就是540V左右吖。正常來說,這個電壓空載和滿載是沒有什么變化的,除非有PFC電路
共用直流母線的原理就是將變頻器分解為兩個部件,即整流器部分與逆變器分開。如此:一臺較大整流裝置可以供應多臺逆變裝置,每一臺逆變器的直流母線均并聯在一起。因此,逆變器反饋的能量可以彼此互相利用。所有逆變器能量不足的部分再由整流橋補充,由電網供電。因此這種應用方式節(jié)電率最高。(共用直流母線技術如圖1所示)
變頻器主回電路應用交流
一、變頻器主回路圖