0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對PLC程序運(yùn)行效率得到提高的方法的解析

aIpM_gongkongwo ? 2017-12-25 09:16 ? 次閱讀

通過本方法優(yōu)化可以極大的減少程序語句數(shù),使PLC程序更簡潔、可讀性更好,由于不需要做耗時的類型轉(zhuǎn)換,程序運(yùn)行效率也得到提高。且數(shù)學(xué)運(yùn)算量越大,效率提高越明顯。

缺點(diǎn)是要多占用兩字節(jié)的內(nèi)存,以后程序中不能使用VW0。但S7-200的RAM空間很大,一般是用不完的,以226為例,有多達(dá)10K的RAM,偶從來沒有超過1K。這些RAM都是花錢買來的,不用白不用,不用也是浪費(fèi)了。

同理,如果有字節(jié)型變量經(jīng)常需要與字類型變量相互轉(zhuǎn)換,讓字節(jié)變量占用一個字的內(nèi)存寬度浪費(fèi)一個字節(jié),避免類型轉(zhuǎn)換。具體步驟如下:

1:根據(jù)工程實(shí)際需求,進(jìn)行功能塊規(guī)劃,編寫子程序

在PLC中子程序是為一些特定的控制目的編制的相對獨(dú)立的程序。執(zhí)行子程序調(diào)用指令CALL等,如果條件不滿足子程序調(diào)用時,程序的掃描就僅在主程序中進(jìn)行,不再去掃描這段子程序,這樣就減少不必要的掃描時間。
對PLC程序運(yùn)行效率得到提高的方法的解析

2:用字或雙字?jǐn)?shù)據(jù)傳送給DO點(diǎn)方法來控制輸出

在PLC的應(yīng)用中通常都會有大量的輸出控制,用字或雙字?jǐn)?shù)據(jù)傳送給DO點(diǎn)方法來控制輸出可以提高速度,只要根據(jù)實(shí)際應(yīng)用的要求,合理分配輸出地址,變換控制輸出控制字,可以大大減少PLC程序執(zhí)行的步數(shù),從而加快PLC的程序運(yùn)行速度。

3:脈沖觸發(fā)SET、RESET

PLC中,使用SET指令只執(zhí)行一次即可,不必每次掃描都執(zhí)行這個指令,很適合與脈沖輸出(PLS/PLF)指令配合使用。有些工程人員忽視了這個問題,使用了常規(guī)的方法來驅(qū)動SET指令,無意中增加了PLC程序掃描運(yùn)行時間。

4:避免類型轉(zhuǎn)換,方法如下:

以S7-200為例,它的內(nèi)存格式與我們常用的PC機(jī)正好相反,它是高字在前,低字在后的。所以我們可以將字變量放在后兩個字節(jié),在程序初始化時將前兩個字節(jié)清零(程序的其它地方不得使用這兩個字節(jié))。

如我們定義符號時將字變量定義在VW2,同時保持VW0的值為零。則程序中可以用VW2以字型訪問該變量,同時也可以VD0以雙字型訪問,避免了類型轉(zhuǎn)換。

為了避免使用時混淆,最好以明確的符號定義來區(qū)分字類型和雙字類型。在此強(qiáng)烈推薦類匈牙利命名法:以前綴指示變量類型,用首字母大寫的有意義的英文單詞的組合作變量名。本人習(xí)慣用以下綴:b————字節(jié)型變量(byte

w————字型變量(word)

d————雙字變量(double)

r————實(shí)型變量(real)

f————位變量(flag)

btn——-自復(fù)位按鈕式輸入(button)

sw————切換開關(guān)或自鎖按鈕輸入(switch)

sig——-傳感器、編碼等電平信號輸入(signal)

rly——-輸出繼電器位(relay)

……

當(dāng)然,這個根據(jù)個人習(xí)慣來,沒有定則,主要是利于自己區(qū)分。

假如有一個字類型變量名為VarName,為使用前面的轉(zhuǎn)換技巧,我們可以這樣定義:

wVarName————VW2

dVarName————VD0

在程序初始化時將VW0清零(如果是不需要記憶的變量,直接將dVarName清零也可)或者在數(shù)據(jù)塊中將VW0設(shè)置為零。則以后需要以字類型訪問變量時就用wVarName,需要以雙字類型訪問變量時就用dVarName。完全不需要類型轉(zhuǎn)換。

本方法可以極大的減少程序語句數(shù),使程序更簡潔、可讀性更好,由于不需要做耗時的類型轉(zhuǎn)換,程序運(yùn)行效率也得到提高。且數(shù)學(xué)運(yùn)算量越大,效率提高越明顯。

缺點(diǎn)是要多占用兩字節(jié)的內(nèi)存,以后程序中不能使用VW0。但S7-200的RAM空間很大,一般是用不完的,以226為例,有多達(dá)10K的RAM,偶從來沒有超過1K。這些RAM都是花錢買來的,不用白不用,不用也是浪費(fèi)了。

同理,如果有字節(jié)型變量經(jīng)常需要與字類型變量相互轉(zhuǎn)換,讓字節(jié)變量占用一個字的內(nèi)存寬度浪費(fèi)一個字節(jié),避免類型轉(zhuǎn)換。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5011

    文章

    13299

    瀏覽量

    463434

原文標(biāo)題:PLC編程優(yōu)化方法,讓程序運(yùn)行提速!

文章出處:【微信號:gongkongworld,微信公眾號:工控資料窩】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    分享11種PLC常用環(huán)節(jié)梯形圖程序解析

    分享11種PLC常用環(huán)節(jié)梯形圖程序解析
    的頭像 發(fā)表于 01-24 06:33 ?2.4w次閱讀
    分享11種<b class='flag-5'>PLC</b>常用環(huán)節(jié)梯形圖<b class='flag-5'>程序</b>及<b class='flag-5'>解析</b>

    提高系統(tǒng)效率的幾個誤解解析

    重復(fù)使用才會提高系統(tǒng)效率。所以在通信系統(tǒng)中一般只打開指令CACHE,數(shù)據(jù)CACHE即使打開也只局限在部分存儲空間,如堆棧部分。同時也要求程序設(shè)計(jì) 要兼顧C(jī)ACHE的容量及塊大小,這涉及到關(guān)鍵代碼循環(huán)體
    發(fā)表于 01-15 07:29

    提高待機(jī)效率方法

    提高待機(jī)效率方法  根據(jù)損耗分析可知,切斷啟動電阻,降低開關(guān)頻率,減小開關(guān)次數(shù)可減小待機(jī)損耗,提高待機(jī)效率。具體的
    發(fā)表于 06-10 10:21

    怎么提高labview的運(yùn)行效率

    怎么提高labview的運(yùn)行效率?那位給出點(diǎn)建議
    發(fā)表于 02-25 10:09

    如何提高C語言程序的執(zhí)行效率

    的事那么效率就高。下面說說如何提高C語言程序的執(zhí)行效率。1、盡量避免調(diào)用延時函數(shù)沒有帶操作系統(tǒng)的程序只能在while(1)里面循環(huán)執(zhí)行,如果
    發(fā)表于 07-20 06:39

    C程序運(yùn)行環(huán)境和運(yùn)行C程序方法

    實(shí)驗(yàn)01:C程序運(yùn)行環(huán)境和運(yùn)行C程序方法 一、實(shí)驗(yàn)?zāi)康?.了解所用的計(jì)算機(jī)系統(tǒng)的基本操作方法
    發(fā)表于 06-21 09:14 ?36次下載

    通過減少程序語句數(shù)來提高PLC程序運(yùn)行效率

    通過本方法優(yōu)化可以極大的減少程序語句數(shù),使PLC程序更簡潔、可讀性更好,由于不需要做耗時的類型轉(zhuǎn)換,程序
    的頭像 發(fā)表于 12-19 10:06 ?4641次閱讀
    通過減少<b class='flag-5'>程序</b>語句數(shù)來<b class='flag-5'>提高</b><b class='flag-5'>PLC</b><b class='flag-5'>程序</b><b class='flag-5'>運(yùn)行</b><b class='flag-5'>效率</b>

    如何提高PLC程序運(yùn)行效率詳細(xì)編程方法說明

    在西門子plc中,子程序是為一些特定的控制目的編制的相對獨(dú)立的程序。執(zhí)行子程序調(diào)用指令CALL等,如果條件不滿足子程序調(diào)用時,
    的頭像 發(fā)表于 02-03 12:57 ?3339次閱讀
    如何<b class='flag-5'>提高</b><b class='flag-5'>PLC</b><b class='flag-5'>程序</b><b class='flag-5'>運(yùn)行</b>的<b class='flag-5'>效率</b>詳細(xì)編程<b class='flag-5'>方法</b>說明

    PLC程序設(shè)計(jì)的三種常用方法

    程序設(shè)計(jì)是PLC應(yīng)用中最關(guān)鍵的問題。PLC程序設(shè)計(jì)的基本思路是按照設(shè)備的要求設(shè)計(jì)輸入和輸出信號的邏輯關(guān)系,在輸入某些信號時得到預(yù)期的輸出信號
    發(fā)表于 05-12 14:22 ?9636次閱讀

    PLC梯形圖程序的基本規(guī)則和基本編程方法

    在日常的工作中,大家掌握了plc的基本編程指令之后,就可以根據(jù)控制要求編寫簡單的應(yīng)用程序了。但是想要提高編程質(zhì)量和編程效率,還必須了解編寫梯形圖程序
    的頭像 發(fā)表于 09-01 11:01 ?1w次閱讀
    <b class='flag-5'>PLC</b>梯形圖<b class='flag-5'>程序</b>的基本規(guī)則和基本編程<b class='flag-5'>方法</b>

    提高PLC程序運(yùn)行有什么方法

    。 如何提高PLC程序運(yùn)行速度,可以采用以下編程方法,僅供參考: 1.根據(jù)項(xiàng)目實(shí)際需要,制定功能塊規(guī)劃,編寫子
    發(fā)表于 01-10 15:57 ?806次閱讀

    如何提高單片機(jī)程序執(zhí)行效率

    更短的時間內(nèi)完成相同的事那么效率就高。 關(guān)于如何提高C語言程序的執(zhí)行效率,有如下建議: 1.盡量避免調(diào)用延時函數(shù) 沒有帶操作系統(tǒng)的程序只能在
    發(fā)表于 02-11 15:42 ?6次下載
    如何<b class='flag-5'>提高</b>單片機(jī)<b class='flag-5'>程序</b>執(zhí)行<b class='flag-5'>效率</b>

    PLC程序解密方法詳解

    PLC程序解密,密碼破解方法步驟分析,有關(guān)plc的解決方法,在進(jìn)行plc編程的過程中,有時需要
    發(fā)表于 02-28 08:56 ?1.5w次閱讀

    解析PLC梯形圖程序設(shè)計(jì)

    解析PLC梯形圖程序設(shè)計(jì)
    的頭像 發(fā)表于 06-30 11:14 ?1586次閱讀
    <b class='flag-5'>解析</b><b class='flag-5'>PLC</b>梯形圖<b class='flag-5'>程序</b>設(shè)計(jì)

    提高電源整機(jī)效率方法

    電源整機(jī)效率是指電源將輸入電能轉(zhuǎn)換為輸出電能的效率,通常用百分比表示。提高電源整機(jī)效率可以降低能源消耗,減少環(huán)境污染,提高設(shè)備的
    的頭像 發(fā)表于 01-17 15:57 ?723次閱讀