那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

提高PLC運行速度的編程方法

aIpM_gongkongwo ? 來源:未知 ? 作者:胡薇 ? 2018-06-12 16:22 ? 次閱讀

怎樣來提高PLC程序運行速度,可以采用以下幾種編程方法,僅供參考:

1:根據工程實際需求,進行功能塊規劃,編寫子程序

在PLC中,子程序是為一些特定的控制目的編制的相對獨立的程序。執行子程序調用指令CALL等,如果條件不滿足子程序調用時,程序的掃描就僅在主程序中進行,不再去掃描這段子程序,這樣就減少了不必要的掃描時間。

2:用字或雙字數據傳送給DO點方法來控制輸出

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

3:脈沖觸發SET、RESET

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

4:避免了類型轉換,方法如下

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

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

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

b----字節型變量(byte)

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

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

r----實型變量(real)

f----位變量(flag)

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

sw----切換開關或自鎖按鈕輸入(switch)

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

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

……

當然,這個根據個人習慣來,沒有定則,主要是利于自己區分。

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

wVarName----VW2

dVarName----VD0

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

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

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

同理,如果有字節型變量經常需要與字類型變量相互轉換,讓字節變量占用一個字的內存寬度浪費一個字節,避免類型轉換。

關于第3點"使用SET指令只執行一次即可,不必每次掃描都執行這個指令,有些工程人員忽視了這個問題,使用了常規的方法來驅動SET指令,無意中增加了PLC程序掃描運行時間"

最后:不是很理解,能不能說得細一點

1:如果在ob里編寫子程序段,是掃描的,但是如果您編寫為FC調用,那么在FC的調用條件沒有滿足時,FC中的程序暫時不執行。這也是我所說節省時間的意思。

2:PLC的執行步數根據程序長短會不同,掃描時間會根據執行步數的不同而不同,如果用一個mov指令完成8個數字量輸出的控制,當然比用8個mov指令完成8個數字量輸出的控制所需要的程序步數少。

添加一個:

以上就是提高PLC運行速度的編程方法。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • plc
    plc
    +關注

    關注

    5016

    文章

    13387

    瀏覽量

    465397
  • 編程
    +關注

    關注

    88

    文章

    3637

    瀏覽量

    93983

原文標題:如何快速提高PLC的運行速度,這里有秘訣!

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

收藏 人收藏

    評論

    相關推薦

    提高matlab運行速度和節省空間經驗小談

    雖然matlab不像其他語言那樣,對變量采用“先定義,后使用”的規則,但是,我的經驗是,在使用一個變量之前,最好先對它進行“定義”,這里的“定義”是指為它分配空間,這樣不但可以提高運行速度(這在
    發表于 02-29 15:10

    【電子發燒友】提高win 8系統運行速度 優化技巧少不了

    。另外,使用 Start8 也能為你的Win8找回經典的開始菜單,這樣關機重啟就和Win7時代一樣方便了。好了,關于提高win 8系統運行速度就先講到這兒了。
    發表于 03-05 08:44

    AVR運行速度為什么變慢

    AVR有怪象,我用8M內部晶振,當燒寫程序后它是以8M的速度運行,但斷電后再重啟運行速度明顯變慢,可是它又會慢慢地變快,并且過四五分鐘后它又恢復8M正常工作。求解{:23:}
    發表于 01-16 14:49

    釋放win7虛擬內存提升電腦運行速度

    win7系統來說根本不需要用到這么多的虛擬內存,因此為了提高win7系統的運行速度,我們完全可以將它移走,下面跟小編一起來看看具體的win7虛擬內存釋放教程。推薦:ghost win7旗艦版系統
    發表于 05-23 17:33

    如何提高labview程序的運行速度

    我為一臺設備編寫的labview采集、控制程序,隨著功能逐步完善,運行速度卻越來越慢。我是新手,不知道從哪些方面注意提高程序的運行效率,應該避免什么,請版主和高手指點一下吧,謝謝了!
    發表于 06-07 23:12

    ATmega16運行速度

    本人在設計一個測試系統,采用的是ATmega16,因為對時間要求較高,在調試過程中發現實際的運行速度很慢,所以想請教有關人士,ATmega16編程采用C語言,8 mhz晶振,它的CPU運行速度有多快
    發表于 05-22 16:14

    程序運行速度問題

    int main(void){SysInit();//PLL,IO...INITwhile(1){LEDR=0;//PA8LEDR=1;} }如上函數,為一個十分簡單的評估程序運行速度的,我用的是STM32F103RB,發現輸的出的頻率才3.25M,還真弄不明白呢
    發表于 05-31 03:30

    ARM處理器設計的機制是如何使得它的運行速度遠快于51單片機運行速度

    ARM處理器設計的機制是如何使得它的運行速度遠快于51單片機的運行速度的?求解答
    發表于 08-04 14:22

    PLC控制系統怎么提升運行速度?有啥好方法嘛?朋友們

    PLC控制系統怎么提升運行速度?有啥好方法嘛?朋友們
    發表于 01-17 20:11

    如何加快32的運行速度

    如何會加快32的運行速度
    發表于 11-06 07:58

    提高PLC程序運行速度的幾種編程方法

    PLC 以 其 可靠性高、抗干擾能力強、配套齊全、功能完善、適應性強等特點,廣泛應用于各種控制領域。PLC作為通用工業控制計算機,是面向工礦企業的工控設備,使用梯形圖符
    發表于 10-18 23:11 ?92次下載

    新計算預測方法助力運行速度最快的新有機半導體材料研發

    據美國物理學家組織網日前報道,美國科學家開發出一種新的計算預測方法,可將新有機半導體材料的研發過程節省幾個月甚至幾年,并利用新方法研發出一種目前運行速度最快的新有
    發表于 08-23 08:38 ?731次閱讀

    固態硬盤會不會影響整個電腦的運行速度

    大家好、固態硬盤的好壞只是影響電腦運行速度的一個因素,好的固態硬盤讀寫數據的速度會很快,但是它不會影響到整個電腦的運行速度,電腦整個的運行速度由兩大因素組成,接下來我就詳細的分析一下這
    的頭像 發表于 01-24 09:04 ?2.1w次閱讀

    提高PLC程序運行有什么方法

    。 如何提高PLC程序的運行速度,可以采用以下編程方法,僅供參考: 1.根據項目實際需要,制定功能塊規劃,編寫子程序。 在
    發表于 01-10 15:57 ?863次閱讀

    影響交叉導軌運行速度的因素有哪些?

    影響交叉導軌運行速度的因素有哪些?
    的頭像 發表于 08-24 17:56 ?852次閱讀
    影響交叉導軌<b class='flag-5'>運行速度</b>的因素有哪些?
    大发888娱乐城打发888打发8| 网上娱乐城开户| 金冠娱乐城官网| 百家乐官网赌博分析网| 澳门百家乐网址多少| 大发888娱乐场注册| 石景山区| 真人百家乐官网最高赌注| 百家乐特殊计| 真钱棋牌游戏| 大哥大百家乐官网的玩法技巧和规则| 百家乐投住系统| 六合彩开奖现场直播| 百家乐官网赌场群| 百家乐的路图片| 今晚六合彩开什么| 如何打百家乐官网的玩法技巧和规则 | 百家乐官网大天堂| 百家乐游戏网上投注| 在线赌博网站| 巴西百家乐官网的玩法技巧和规则| 百家乐视频地主| 新全讯网a3322.com| 邢台市| 至尊百家乐官网| 太阳城 娱乐城| 圣淘沙百家乐官网游戏| 永利博百家乐官网的玩法技巧和规则 | 百家乐官网视频麻将游戏| 24山72向局图解| 大发888足球开户| 八大胜百家乐官网现金网| 百家乐试用软件| 大发888为什么这么卡| 百家乐官网认牌| 百家乐3珠路法| 皇冠网社区| 百家乐官网牡丹娱乐城| 大发888我发财| 百家乐官网桌布9人| 百家乐皇室百家乐的玩法技巧和规则|