西門子plc s7-1200的直接和間接尋址功能(2)
下面小編為大家介紹西門子plc s7-1200的直接和間接尋址功能讀取和寫入數(shù)組中元素值的指令,字段讀取和字段寫入。同時(shí),簡(jiǎn)要分析了該程序的設(shè)計(jì)。接下來(lái),使用Field Read來(lái)實(shí)現(xiàn)此功能。在程序設(shè)計(jì)過(guò)程中,您可能需要使用循環(huán)跳轉(zhuǎn)指令。 示例:假設(shè)您需要從一組數(shù)據(jù)中找到最大值,并記錄最大值是該數(shù)據(jù)集中的第一個(gè)數(shù)據(jù)。
步驟1:添加一個(gè)全局DB塊,并在DB塊中創(chuàng)建一個(gè)名為data 1的變量。數(shù)據(jù)類型是一個(gè)變量數(shù)組,用于存儲(chǔ)要查找的最大數(shù)據(jù)。同時(shí),創(chuàng)建一些相應(yīng)的變量,如下所示。
步驟2:初始化相應(yīng)的內(nèi)存,并將存儲(chǔ)的最大值的內(nèi)存值設(shè)置為最小,這些程序如下:
步驟3:寫入判斷數(shù)據(jù)的比較是否完成。當(dāng)執(zhí)行次數(shù)等于設(shè)定次數(shù)時(shí),表示完成,并且可以跳過(guò)最大值搜索的程序,讓程序跳轉(zhuǎn)到上一次執(zhí)行,該程序如下所示:
介紹了讀取和寫入數(shù)組中元素值的指令,字段讀取和字段寫入。同時(shí),簡(jiǎn)要分析了該程序的設(shè)計(jì)。接下來(lái),使用Field Read來(lái)實(shí)現(xiàn)此功能。在程序設(shè)計(jì)過(guò)程中,您可能需要使用循環(huán)跳轉(zhuǎn)指令。
例子說(shuō)明:假設(shè)您需要從一組數(shù)據(jù)中找到最大值,并記錄此最大值是此數(shù)據(jù)集中的第一個(gè)數(shù)據(jù)。
步驟1:添加一個(gè)全局DB塊,并在DB塊中創(chuàng)建一個(gè)名為data_1#的變量,該數(shù)據(jù)類型是一個(gè)變量數(shù)組,用于存儲(chǔ)需要找到的最大數(shù)據(jù), 如下所示 。
該程序僅供參考,我希望將來(lái)每個(gè)人都可以使用此功能。
在上一節(jié)中,我使用梯形圖編寫了一個(gè)取最大值的程序。但是,在s7-1200西門子plc中,也支持SCL編程。使用SCL編程將為一些復(fù)雜的數(shù)據(jù)處理帶來(lái)極大的便利。仍然使用前面的示例作為示例來(lái)說(shuō)明如何使用SCL編寫程序?qū)崿F(xiàn)。舉例說(shuō)明: 假設(shè)您需要從一組數(shù)據(jù)中找到最大值,并記錄此最大值是此數(shù)據(jù)集中的第一個(gè)數(shù)據(jù)。 使用SCL編程來(lái)完成這個(gè)例子,這里我們需要使用兩個(gè)語(yǔ)句 (1)有條件判斷的陳述 IF(條件)THEN(執(zhí)行聲明) 萬(wàn)一; 解析:如果滿足條件,則執(zhí)行THEN之后的語(yǔ)句。 示例:IF“DATA_A”< 100 HEN “DATA_A”:=“DATA_A”+1; 萬(wàn)一; 如果DATA_A的值小于100,則DATA_A的值等于其自身加1。 (2)循環(huán)執(zhí)行聲明 FOR(執(zhí)行變量):=(起始值)TO(結(jié)束值)BY(自增量)DO(后面要執(zhí)行的語(yǔ)句); END_FOR; 解析:從執(zhí)行循環(huán)到執(zhí)行,每個(gè)循環(huán)一次,“執(zhí)行變量”的值根據(jù)“自增量”改變,直到執(zhí)行“結(jié)束值”,循環(huán)執(zhí)行停止。 示例:FOR“count”:=0 TO 4 BY 1 DO “數(shù)據(jù)[COUNT]”=10; END_FOR; 將值10填入值Data中Data [0]到Data [4]的五個(gè)元素中,在第一個(gè)循環(huán)中填入10到Data [0],在第二個(gè)循環(huán)中填入10。數(shù)據(jù)[1],反過(guò)來(lái)。 在理解了這兩個(gè)語(yǔ)句之后,我們可以設(shè)計(jì)一個(gè)程序,在這里我們可以將它構(gòu)建為功能塊(FB)以供將來(lái)使用。
步驟1:添加全局db塊并在全局db塊中創(chuàng)建稱為數(shù)據(jù)的數(shù)組。您可以根據(jù)需要設(shè)置元素的數(shù)量,如下圖所示,數(shù)組的數(shù)目設(shè)置為5。
步驟2:添加FB塊并選擇編程語(yǔ)言作為SCL編程語(yǔ)言。然后在FB接口中定義相應(yīng)的變量如下:
步驟4:在OB1中調(diào)用功能塊。由于使用了FB,因此需要在調(diào)用時(shí)分配相應(yīng)的后臺(tái)DB,如下圖所示:
總結(jié):以上內(nèi)容就是小編為大家介紹的西門子plc s7-1200的直接和間接尋址功能,如果您有這方面的任何需求,歡迎大家咨詢?nèi)莞须姎?,我們將給您最真誠(chéng)的服務(wù)。
標(biāo)題:西門子plc s7-1200的直接和間接尋址功能(2) 地址:http://www.yisiweijiaoyu.cn/hangye/2878.html