欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種提升軟PLC代碼執(zhí)行速度的方法與流程

文檔序號(hào):40509268發(fā)布日期:2024-12-31 13:18閱讀:13來(lái)源:國(guó)知局
一種提升軟PLC代碼執(zhí)行速度的方法與流程

本發(fā)明涉及軟plc代碼執(zhí)行,具體涉及一種提升軟plc代碼執(zhí)行速度的方法。


背景技術(shù):

1、提高程序的執(zhí)行效率是所有代碼開(kāi)發(fā)者共同追求的目標(biāo)。效率是指當(dāng)前程序的運(yùn)行速度、對(duì)系統(tǒng)資源的利用程度等。高效率的c語(yǔ)言程序一般表現(xiàn)為代碼緊湊、執(zhí)行速度快、占用空間小、程序可讀性強(qiáng)等方面。然而程序執(zhí)行速度與占內(nèi)存空間往往是相互矛盾的兩個(gè)方面,一些情況下需要以犧牲內(nèi)存空間的代價(jià)來(lái)?yè)Q取效率的提升。

2、在嵌入式軟plc系統(tǒng)中,程序的執(zhí)行速度尤為重要,現(xiàn)有文獻(xiàn)“王磊,李鑫.淺析嵌入式程序的優(yōu)化[j].電腦知識(shí)與技術(shù),2012,8(01):192-193+196”針對(duì)嵌入式系統(tǒng)的特點(diǎn),提出了對(duì)變量的處理、適量使用宏定義、對(duì)數(shù)組的處理、以及盡量避免使用除法等代碼優(yōu)化方面,來(lái)提高系統(tǒng)的性能,但是,其只針對(duì)c語(yǔ)言程序的部分代碼優(yōu)化進(jìn)行效率提升,優(yōu)化效果的提升十分有限,因此有待于進(jìn)一步提升執(zhí)行效率。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明的目的在于提供一種提升軟plc代碼執(zhí)行速度的方法,解決以下技術(shù)問(wèn)題:

2、如何提升程序的執(zhí)行效率。

3、本發(fā)明的目的可以通過(guò)以下技術(shù)方案實(shí)現(xiàn):

4、一種提升軟plc代碼執(zhí)行速度的方法,包括以下步驟:

5、s01:仿真程序下載完成后,遍歷整個(gè)plc仿真文件,通過(guò)函數(shù)指針數(shù)組的方式,記錄所有調(diào)用的應(yīng)用函數(shù)指針;

6、s02:在程序執(zhí)行時(shí),遍歷函數(shù)指針數(shù)組,讀取應(yīng)用函數(shù)指針,執(zhí)行相應(yīng)的應(yīng)用函數(shù);

7、s03:判斷文件是否解析結(jié)束,若是,則結(jié)束;若否,則重復(fù)步驟s02,直至文件解析結(jié)束。

8、在本發(fā)明更進(jìn)一步的方案中:步驟s01-s03在軟plc系統(tǒng)中的具體實(shí)現(xiàn)方法為:

9、s11:先使用typedef自定義一個(gè)指向函數(shù)的指針類型;

10、s12:然后定義一個(gè)funct?i?onptr類型的數(shù)組,數(shù)組中的每個(gè)元素都可以存儲(chǔ)一個(gè)滿足這些條件的函數(shù)的地址;

11、s13:通過(guò)record_funct?i?on_ca?l?l()函數(shù)存儲(chǔ)函數(shù)指針并增加計(jì)數(shù);

12、s14:通過(guò)rep?l?ay_ca?l?l?s()函數(shù)調(diào)用記錄的應(yīng)用函數(shù)指針。

13、在本發(fā)明更進(jìn)一步的方案中:在步驟s13中,在調(diào)用應(yīng)用函數(shù)時(shí),通過(guò)record_funct?i?on_ca?l?l()函數(shù)得到儲(chǔ)存函數(shù)指針的集合。

14、在本發(fā)明更進(jìn)一步的方案中:在步驟s14中,所述應(yīng)用函數(shù)指針指向不同的應(yīng)用函數(shù),調(diào)用這些應(yīng)用函數(shù)的方法包括數(shù)組索引。

15、在本發(fā)明更進(jìn)一步的方案中:步驟s11-s14在嵌入式軟plc系統(tǒng)代碼中的使用方法為:

16、s21:在scan_l?adder_entry()解析函數(shù)中,在應(yīng)用函數(shù)后增加record_funct?ion_ca?l?l()函數(shù)記錄調(diào)用的應(yīng)用函數(shù)指針;

17、s22:在prog_process()處理程序函數(shù)中,首先解析遍歷一遍仿真文件,獲得記錄的函數(shù)指針數(shù)組,然后調(diào)用rep?l?ay_ca?l?l?s()函數(shù)去遍歷函數(shù)指針。

18、在本發(fā)明更進(jìn)一步的方案中:所述應(yīng)用函數(shù)包括以下執(zhí)行步驟:

19、sa:在mcu中找到一塊空閑的數(shù)據(jù)空間,仿真程序下載完成后,先解析一遍仿真程序,待調(diào)用的應(yīng)用函數(shù)解析出來(lái)操作數(shù)據(jù)類型后,將操作數(shù)據(jù)類型保存在前述空閑的數(shù)據(jù)空間;

20、sb:在執(zhí)行調(diào)用的應(yīng)用函數(shù)時(shí),直接從空閑的數(shù)據(jù)空間中讀取操作數(shù)據(jù)類型,執(zhí)行數(shù)據(jù)操作;

21、sc:判斷應(yīng)用函數(shù)的調(diào)用是否結(jié)束,若是,則結(jié)束;若否,則重復(fù)sb,直至調(diào)用結(jié)束。

22、在本發(fā)明更進(jìn)一步的方案中:步驟sa-sc在軟plc系統(tǒng)中的具體實(shí)現(xiàn)方法為:

23、步驟sa:首先找出mcu中足夠的空閑空間,并用指針p_s_prog指向起始位置;

24、步驟sb:使用record_type()函數(shù)寫入type并增加p_s_prog指針;

25、步驟sc:通過(guò)rep?l?ay_type()函數(shù)讀取p_s_prog當(dāng)前指向的值

26、步驟sd:通過(guò)reset_prog_po?i?nter()函數(shù)重置p_s_prog指針。

27、在本發(fā)明更進(jìn)一步的方案中:步驟sa-sd在軟plc應(yīng)用函數(shù)中涉及數(shù)據(jù)操作部分的操作步驟為:

28、sm:在原來(lái)的數(shù)據(jù)操作函數(shù)plc_readdata16()中添加record_type()函數(shù)記錄操作數(shù)據(jù)類型值;

29、sn:新建s_plc_readdata16()函數(shù)用于替換plc_readdata16()函數(shù)進(jìn)行數(shù)據(jù)讀取。

30、本發(fā)明的有益效果:

31、本發(fā)明的提升軟plc代碼執(zhí)行速度的方法,針對(duì)軟plc系統(tǒng)執(zhí)行效率較低問(wèn)題,首先通過(guò)“空間換時(shí)間”方法省去執(zhí)行應(yīng)用函數(shù)時(shí)的解析過(guò)程,進(jìn)而提升代碼執(zhí)行速度,并在此基礎(chǔ)上,通過(guò)“二次編譯”方法省去應(yīng)用函數(shù)執(zhí)行過(guò)程中的解析操作數(shù)據(jù)類型的過(guò)程,進(jìn)一步提升代碼執(zhí)行速度;通過(guò)減少程序解析步驟的思想,使得軟plc的執(zhí)行效率有較高提升。



技術(shù)特征:

1.一種提升軟plc代碼執(zhí)行速度的方法,其特征在于,包括以下步驟:

2.根據(jù)權(quán)利要求1所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,步驟s01-s03在軟plc系統(tǒng)中的具體實(shí)現(xiàn)方法為:

3.根據(jù)權(quán)利要求2所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,在步驟s13中,在調(diào)用應(yīng)用函數(shù)時(shí),通過(guò)record_function_call()函數(shù)得到儲(chǔ)存函數(shù)指針的集合。

4.根據(jù)權(quán)利要求2所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,在步驟s14中,所述應(yīng)用函數(shù)指針指向不同的應(yīng)用函數(shù),調(diào)用這些應(yīng)用函數(shù)的方法包括數(shù)組索引。

5.根據(jù)權(quán)利要求2所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,步驟s11-s14在嵌入式軟plc系統(tǒng)代碼中的使用方法為:

6.根據(jù)權(quán)利要求1所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,所述應(yīng)用函數(shù)包括以下執(zhí)行步驟:

7.根據(jù)權(quán)利要求6所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,步驟sa-sc在軟plc系統(tǒng)中的具體實(shí)現(xiàn)方法為:

8.根據(jù)權(quán)利要求7所述的提升軟plc代碼執(zhí)行速度的方法,其特征在于,步驟sa-sd在軟plc應(yīng)用函數(shù)中涉及數(shù)據(jù)操作部分的操作步驟為:


技術(shù)總結(jié)
本發(fā)明公開(kāi)了一種提升軟PLC代碼執(zhí)行速度的方法,涉及軟PLC代碼執(zhí)行技術(shù)領(lǐng)域,包括以下步驟:仿真程序下載完成后,遍歷整個(gè)PLC仿真文件,通過(guò)函數(shù)指針數(shù)組的方式,記錄所有調(diào)用的應(yīng)用函數(shù)指針;在程序執(zhí)行時(shí),遍歷函數(shù)指針數(shù)組,讀取應(yīng)用函數(shù)指針,執(zhí)行相應(yīng)的應(yīng)用函數(shù);對(duì)于應(yīng)用函數(shù),在MCU中找到一塊空閑的數(shù)據(jù)空間,仿真程序下載完成后,先解析一遍仿真程序,待調(diào)用的應(yīng)用函數(shù)解析出來(lái)操作數(shù)據(jù)類型后,將操作數(shù)據(jù)類型保存在前述空閑的數(shù)據(jù)空間;在執(zhí)行調(diào)用的應(yīng)用函數(shù)時(shí),直接從空閑的數(shù)據(jù)空間中讀取操作數(shù)據(jù)類型,執(zhí)行數(shù)據(jù)操作;通過(guò)上述“空間換時(shí)間”和“二次編譯”方法可減少程序解析步驟,使得軟PLC的執(zhí)行效率有較高提升。

技術(shù)研發(fā)人員:陳鶴
受保護(hù)的技術(shù)使用者:安徽永創(chuàng)智能設(shè)備有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/30
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
博野县| 新沂市| 育儿| 锦屏县| 拜泉县| 伊金霍洛旗| 勐海县| 澜沧| 邢台县| 东海县| 苏尼特右旗| 上饶县| 邯郸县| 广西| 莎车县| 南乐县| 崇礼县| 龙井市| 黄山市| 韩城市| 绥棱县| 龙岩市| 武义县| 阜阳市| 福贡县| 肥东县| 广德县| 林州市| 济南市| 沭阳县| 北辰区| 贵港市| 庆安县| 周口市| 六盘水市| 清苑县| 宝鸡市| 泾源县| 巴里| 玉树县| 广汉市|