P#DB11.DBX240.0什么數(shù)據(jù)類型,要怎樣使用
劉玉蓉
發(fā)布于2014-10-28 17:42
13
0
標簽:
我在調用CFS1,讀取系統(tǒng)時鐘的時候,在塊的-CDT處,賦予了這個地址,在DB塊中也聲明了DBX240.0的數(shù)據(jù)類型是DATE_AND_TIME,但是,我復制別的程序中的這個塊就沒問題,但自己寫就顯示紅色,有錯誤
問題補充:
那為什么我復制過來的就沒有問題,而我完全按照我所復制的那個原來的正確的程序寫的就報錯呢?我確定數(shù)據(jù)塊的聲明和符號表的聲明都是對的。還有,此處為什么要用指針呢?我直接用DB11.DBX240.0寫在地指出也報錯?
佳答案
首先DATE_AND_TIME是復合數(shù)據(jù)類型,必須要預先定義,其變量只能在全局數(shù)據(jù)塊中聲明,可以作為參數(shù)或邏輯塊的局部變量。檢查你定義的數(shù)據(jù)塊DB11是否為共享數(shù)據(jù)塊類型(Shared Block)。如果自己在調用CFS1時參數(shù)顯示紅色,表示沒有給形式參數(shù)賦予實參,而系統(tǒng)塊沒有其背景數(shù)據(jù)塊,必須指定實際值,可以是共享數(shù)據(jù)塊中某個地址,為避免錯誤,在使用數(shù)據(jù)塊之前,必須建立數(shù)據(jù)塊,并在塊中定義變量(包括變量符號名、數(shù)據(jù)類型以及初始值等)。數(shù)據(jù)塊中變量的順序及類型決定了數(shù)據(jù)塊的結構,變量的數(shù)量決定了數(shù)據(jù)塊的大小。而且數(shù)據(jù)塊建立后,還必須同程序塊一起下載到CPU中,才能被程序塊訪問。
指針(POINTER)是指向一個變量的地址,即用地址作為實參,如P#DB11.DBX240.0表示指向數(shù)據(jù)塊DB11的數(shù)據(jù)塊字節(jié)240中位號為0的位地址指針,用指針數(shù)據(jù)類型可以處理批量處理模擬量、數(shù)據(jù)復制數(shù)據(jù)尋址比較簡單