chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

電機運行時間進行排列 是分為兩個部分來完成這個程序的設計的

aYPB_plc ? 來源:陳年麗 ? 2019-07-19 08:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前幾天有個學員咨詢一個程序設計的問題,程序的控制要求如下:需要控制5臺電機的運行,每臺電機運行時需要記錄運行時間,電機啟動運行時,根據(jù)記錄的運行時間,從小到大,每個2s依次啟動電機的運行。

我想對于這個程序的控制要求來講,他的難點在于如何對這些電機運行時間進行排列,排列好了后,如何根據(jù)排列的順序去起動電機的運行,從這個控制要求中我們可以看出,這主要是分為兩個部分來完成這個程序的設計的:

第一部分、用于對電機的運行時間進行從小到大順序的排列

第二部分、根據(jù)排列好的數(shù)據(jù),如何判斷需要起動那一臺電機

前幾天有個學員咨詢一個程序設計的問題,程序的控制要求如下:需要控制5臺電機的運行,每臺電機運行時需要記錄運行時間,電機啟動運行時,根據(jù)記錄的運行時間,從小到大,每個2s依次啟動電機的運行。

我想對于這個程序的控制要求來講,他的難點在于如何對這些電機運行時間進行排列,排列好了后,如何根據(jù)排列的順序去起動電機的運行,從這個控制要求中我們可以看出,這主要是分為兩個部分來完成這個程序的設計的:

第一部分、用于對電機的運行時間進行從小到大順序的排列

第二部分、根據(jù)排列好的數(shù)據(jù),如何判斷需要起動那一臺電機

這里我們以西門子S7-200SMART系列PLC為例,先說說,如何編寫一個數(shù)據(jù)排列的帶參數(shù)的子程序。

數(shù)據(jù)排列帶參數(shù)子程序設計思路:

西門子S7-200系列的PLC中不像三菱的FX系列PLC具有數(shù)據(jù)排列的指令,因此我們要實現(xiàn)這個數(shù)據(jù)的排列功能,必須自己去搭建一個這樣的功能塊,在搭建這個功能塊的時候,會使用到間接尋址和循環(huán)指令,同時還需要應用到帶參數(shù)的子程序。那么如何編寫一個數(shù)據(jù)排列的子程序呢?

假設有5個數(shù)據(jù)需要把他們的數(shù)據(jù)的大小按照順序從小到大排列,那么我們可以先在這五個數(shù)中找到最大的數(shù)放在最后面。然后在剩下的四個數(shù)中找到最大的數(shù)放到倒數(shù)第二個的位置,接著在剩下的三個數(shù)中找到最大的值放到倒數(shù)第三的位置,依次下去,這樣當全部比較完后,我們的數(shù)據(jù)就按照從小到大的順序排列好了。那么很明顯,我們需要用兩個循環(huán)指令進行嵌套。外層的循環(huán)指令需要循環(huán)4次,而內(nèi)層的循環(huán)指令的循環(huán)次數(shù)是會變化的,因為第一次從5個數(shù)據(jù)中找出最大值,循環(huán)4次,第二次的時候從4個數(shù)據(jù)中找出最大值,循環(huán)3次,依次下去,每次需要改變循環(huán)的次數(shù)。

如何找出最大值呢?我們可以進行比較,首先用第二個數(shù)跟第一個數(shù)比較,如果第二個數(shù)比第一個數(shù)大,那么指針往下移動變成第二個數(shù)跟第三個數(shù)比較,如果第二個數(shù)比第三個數(shù)大,那么對第二個數(shù)和第三個數(shù)進行交換,依次下去,當比較完成后,最大的數(shù)就放到最后的地址里面去了。

程序設計:

(1)建立變量表

(2)根據(jù)變量表,編寫數(shù)據(jù)排列子程序

第二部分的內(nèi)容:根據(jù)排列好的數(shù)據(jù),如何判斷需要起動那一臺電機。

在啟動電機時,我們需要把每一臺電機運行的時間拿過來與排列好的數(shù)據(jù)進行比較,看看他是位于我們這個排列好的數(shù)據(jù)中的的什么位置。然后根據(jù)這個位置來判斷啟動的時候。

設計思路:

在這里面我們會用到兩個功能,第一個功能時把我們電機運行的時間,按照編號順序放到表格中,例如VW20到VW28分別表示電機1到電機5的運行時間,把它放到表格中,而后把我們排列好的數(shù)據(jù),拿過來與表格中的數(shù)據(jù)進行比較(可以使用查表指令),看看最小的值時位于表格中的哪個位置,根據(jù)查表指令所查找的位置來啟動那條電機,比如查找出來的值時3則表示的就是第三臺電機的運行時間最少,可以啟動這第三臺電機,這里我們需要用到表格指令及間接尋址。

程序:

總結

本程序作為一個框架程序,主要應用到了以下幾個內(nèi)容,間接尋址的時候用,循環(huán)指令的應用,帶參數(shù)子程序的應用,查表指令的使用,希望讀者看完后,對自己以后設計程序時思路會有所啟發(fā),若有考慮不周之處或更好的方法,望指出,謝謝。

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

    關注

    98

    文章

    3173

    瀏覽量

    118284
  • 電機
    +關注

    關注

    143

    文章

    9299

    瀏覽量

    149540

原文標題:資深工程師分享:PLC程序設計思路,初學者福利!

文章出處:【微信號:plcfans,微信公眾號:PLC發(fā)燒友】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何縮短Vivado的運行時間

    在Vivado Implementation階段,有時是有必要分析一下什么原因導致運行時間(runtime)過長,從而找到一些方法來縮短運行時間
    的頭像 發(fā)表于 05-29 14:37 ?1.5w次閱讀
    如何縮短Vivado的<b class='flag-5'>運行時間</b>

    獲取單片機運行時間

    的開始階段使單片機的一GPIO輸出高電平,在待測程序段的結尾階段再令這個GPIO輸出低電平。用示波器通過檢查高電平的時間長度,就知道了這段代碼的
    的頭像 發(fā)表于 08-26 20:26 ?2229次閱讀
    獲取單片<b class='flag-5'>機運行時間</b>

    程序運行時間計時小程序

    本帖最后由 sushu 于 2013-3-9 22:40 編輯 看到一帖子[求助] 計算程序運行時間,想要計算指示燈點亮和熄滅的時間,想了想:使用事件結構就可以
    發(fā)表于 03-09 22:39

    labview中計算程序運行時間

    可能這個對大家來說不是什么大問題,也有很多人有很多方法來實現(xiàn)程序運行時間的計算,要么兩個計時器,要么用到事件結構。我這里用移位寄存器實現(xiàn)。 希望大家不要吐槽,如果大家有更好的,希望共
    發(fā)表于 05-23 21:52

    電機參數(shù)檢測程序運行時間有多長?

    、Flag_Run_Identify;這個使能位控制電機運轉,我看是通過PWM的使能來控制,這樣是不是立刻停止電機和啟動電機,在系統(tǒng)內(nèi)部有緩慢啟動和停止機制嗎?四、
    發(fā)表于 06-19 13:47

    freertos的任務運行時間怎么設置

    對于相同優(yōu)先級的任務采用時間片輪詢的方式運行,那比如說有兩個優(yōu)先級都為5的任務,那這兩個任務的運行時間如何設置呢?在rt-thread中創(chuàng)建
    發(fā)表于 07-19 08:03

    電機運行時嘯叫、噪音過大是為什么?

    電機運行時嘯叫、噪音過大?
    發(fā)表于 11-08 08:18

    C語言教程之顯示程序運行時間

    C語言教程之顯示程序運行時間,很好的C語言資料,快來學習吧。
    發(fā)表于 04-25 16:09 ?0次下載

    如何用SysTick實現(xiàn)測量程序運行時間

    在實際的項目開發(fā)過程中,常常遇到需要得到一段代碼的運行時間,通常的方法是用示波器來測量,這篇博文將用 SysTick 來實現(xiàn) 精確測量 程序運行時間。 STM32F4 的內(nèi)核定時
    的頭像 發(fā)表于 05-09 14:07 ?6437次閱讀
    如何用SysTick實現(xiàn)測量<b class='flag-5'>程序</b><b class='flag-5'>運行時間</b>

    淺析STM32代碼運行時間的技巧

    前言 ????測試代碼的運行時間種方法: 使用單片機內(nèi)部定時器,在待測程序段的開始啟動定時器,在待測程序段的結尾關閉定時器。為了測量的準確性,要
    的頭像 發(fā)表于 11-09 09:52 ?4292次閱讀
    淺析STM32代碼<b class='flag-5'>運行時間</b>的技巧

    ch32v307記錄程序運行時間

    ch32v307記錄程序運行時間程序開發(fā)中,很重要的一項任務就是對程序運行時間進行評估。對
    的頭像 發(fā)表于 08-22 15:53 ?1284次閱讀

    變頻器帶動電機運行時發(fā)抖是怎么回事?

    頻率,則變頻器不輸出10-14Hz的頻率,直接跳過。帶動電機運行時產(chǎn)生抖動的處理方案以三菱變頻器帶動電機運行時產(chǎn)生抖動分析為例,如下:(一)、機械共振原因:機械共振
    的頭像 發(fā)表于 10-31 08:07 ?2011次閱讀
    變頻器帶動<b class='flag-5'>電機運行時</b>發(fā)抖是怎么回事?

    西門子SCL編程50臺電機運行時間累計方法

    當RUN信號為TRUE時,開始計時,為FALSE時停止計時,單次運行時間清零,長按RESET為5秒時,單次和總運行時間都清零。
    發(fā)表于 11-27 09:59 ?2715次閱讀
    西門子SCL編程50臺<b class='flag-5'>電機運行時間</b>累計方法

    jvm運行時內(nèi)存區(qū)域劃分

    的內(nèi)存區(qū)域劃分對于了解Java程序的內(nèi)存使用非常重要,本文將詳細介紹JVM運行時的內(nèi)存區(qū)域劃分。 JVM運行時內(nèi)存區(qū)域主要劃分為以下幾個部分
    的頭像 發(fā)表于 12-05 14:08 ?744次閱讀

    變頻器帶動電機運行時發(fā)抖的原因及處理方法

    變頻器作為現(xiàn)代工業(yè)控制領域的重要設備,廣泛應用于電機調(diào)速控制中。然而,在實際應用中,有時會遇到變頻器帶動電機運行時產(chǎn)生抖動的問題。這種抖動不僅影響電機的正常運行,還可能對生產(chǎn)效率和設備
    的頭像 發(fā)表于 05-31 14:43 ?7754次閱讀