Technical Articles

技術文章

當前位置:首頁  >  技術文章  >  西門子 S7-1200 數組分析

西門子 S7-1200 數組分析

更新時間:2023-06-16      點擊次數:808

ARRAY類型是由數目固定且數據類型相同的元素組成的數據結構。ARRAY類型的定義和使用需要注意以下幾點:


一. DB中創建,如圖1所示:


圖片

圖1 Array在DB中的創建


二. FC的InOut中創建,如圖2所示:


圖片

圖2 Array在FC形參中的創建


三. 數組作為實參,如圖3所示:


圖片

圖3 Array作為FC的實參


四. FC程序中使用數組元素,使用形參,如圖4所示:


圖片

圖4 FC程序中使用形參


五. FC程序中使用數組元素,下標為變址尋址,使用形參,如實現以下功能,將0-7這8個數,送入數組下標為0-7的8個元素,如圖5-7所示:


(1)FC形參設置,如圖5所示:


圖片

圖5 FC形參設置


(2)程序編制,如圖6所示:


圖片

圖6 程序詳情


(3)SCL的版本,如圖7所示:


圖片

圖7 SCL版本的程序


六. 在程序中直接使用數組元素,如圖8所示:


圖片

圖8 程序中直接使用數組元素


七. 在程序中直接使用數組元素,下標為變址尋址,如實現以下功能,將0-7這8個數,送入數組下標為0-7的8個元素,如圖9-11所示:


(1)數據塊定義,如圖9所示:


圖片

圖9 DB1的定義


(2)程序編制,如圖10所示:


圖片

圖10 程序詳情


(3)SCL的版本,如圖11所示:


圖片

圖11 SCL版本程序



Array【*】使用實例



實現以下功能:使用FC的Input定義數組Array[*] of Int,求變長數組元素的總和,可以按照以下步驟來完成。


一. 使用Array[*] ,必須使用如圖12所示的指令,計算數組元素的上下限,從而得出元素個數:


圖片

圖12 指令位置


二. 定義變量,如圖13所示。賦初始值,計算上下限,如圖14所示:


圖片

圖13 定義形參


三、計算上下限程序,如圖14所示:


(1)輸入Array[*]類型的變量;


(2)所求上下限的維數;


(3)該維數下的下限/上限,DINT類型。


圖片

圖14 計算上下限


四. 求和程序,如圖15所示:


圖片

圖15 求和的程序


五. SCL的版本,如圖16所示:


圖片

圖16 SCL版本程序


六. OB1中調用實參為不同數組元素個數的數組,如圖17所示:


圖片

圖17 OB1調用程序



Array of FB的使用實例



實現以下功能:FB3多次調用FB4,在FB3內部循環調用,減少程序量。FB4的兩個Input:Start,Stop,一個InOut:Run,建立Array[0..7] of FB4。同時建立變量 Array[0..7] of Struct,作為對應FB4的輸入和輸出,如圖18所示:


圖片

圖18 程序詳情


15001764191
歡迎您的咨詢
我們將竭盡全力為您用心服務
459323129
關注微信
版權所有 © 2025 上海茂碩機械設備有限公司  備案號:滬ICP備18010475號-1
主站蜘蛛池模板: 邯郸市| 长丰县| 丰都县| 芒康县| 靖西县| 缙云县| 江达县| 高尔夫| 博兴县| 玛多县| 五原县| 扶余县| 湘潭市| 晴隆县| 出国| 郎溪县| 灵川县| 稻城县| 西和县| 兴海县| 西昌市| 崇州市| 泗阳县| 通化县| 轮台县| 高要市| 长宁区| 扶风县| 罗田县| 内丘县| 比如县| 汉沽区| 南乐县| 襄垣县| 攀枝花市| 平陆县| 依兰县| 保康县| 佛冈县| 九台市| 常宁市|