SCL編程
劉玉蓉
發(fā)布于2014-12-03 17:10
6
0
標簽:
DB_NO(數(shù)據(jù)塊號)的內(nèi)容為: array[0..99] of real ,我想編寫一個FB塊可以從這里面獲取浮點數(shù)值,可以從DBB_NO(數(shù)據(jù)偏移個數(shù))開始的連續(xù)NUM個數(shù),然后復制到FB的OUT接口(data1,data2,data3,data4... ...data32)上。
輸出的接口是一個個的REAL,不是ARRAY(并且CFC不兼容array輸出),array可以帶檢索號,容易實現(xiàn)for賦值。而且data1(REAL)的起始地址在FB的背景DI位置是需要尋址的,類似STL的 LAR1 P##Address, data1就是D [ar1,p#0.0] +AR1這樣就可以實現(xiàn)LOOP語句對data2,3,4...賦值。SCL怎么來實現(xiàn)呢?
圖片說明: 1,123
佳答案
SCL是類似PASCAL的高級語言,不存在像你說的可以讀取變量的地址,它的編程方法都是以變量名尋址的。你說的在STL中是常見的,在SCL中用一步循環(huán)即可搞定。
我覺得你的OUT接口也不用尋址,因為你已經(jīng)在定義時給出了每個輸出變量了,那么它們在背景DB塊的地址已經(jīng)固定了,不再改變,你可以直接對每個輸出變量賦值。