<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        萬泉河
        WX:ZHO6371995,歡迎+
        級別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 161 個
        工控威望: 292 點
        下載積分: 940 分
        在線時間: 13(小時)
        注冊時間: 2021-06-11
        最后登錄: 2025-10-04
        查看萬泉河的 主題 / 回貼
        樓主  發(fā)表于: 2022-08-03 09:55
        0803 【萬泉河】巧用程序塊臨時變量

        上一篇文章《0728 【萬泉河】談虎色變雙線圈再談再變》有網(wǎng)友評論說, 文章題目應(yīng)該叫做巧用臨時變量,我說, 我舉例的程序中用的都是全局變量,所以不能這么叫。 然而我可以以這個名字寫一篇文章, 真的是巧用臨時變量的。

        先看芳季大俠寫過的系列文章:

        入口在:
        擁有屬于自己的指令第一集-技術(shù)視頻免費看-西門子工業(yè)1847會員–西門子中國 (siemens.com.cn)
        具體內(nèi)容,里面涉及的知識點如果有不懂的,可以去仔細研讀,甚至可以配合文章, 也自己實驗摸索得到。

        然而,我是不會從這樣最基本的步驟一步步開講,我只能把實際用過的理論方法一步到位給一個終極的解決方案。 如果芳老師不再出第五集,把我本文的內(nèi)容當(dāng)做其第五集,我給來個狗尾續(xù)貂也可以。

        芳老師在第四集有一張附圖:

        本文的內(nèi)容就從這張圖展開。

        這張圖的意思是,在系統(tǒng)堆棧中,每一個同一級別的子程序TEMP變量同享的是同一片L空間。

        這里先多講一點TEMP變量的本質(zhì)是什么?其實仍然是計算機的內(nèi)存RAM。原本作為RAM,是可以被全局訪問的, 只不過軟件系統(tǒng)做了保護限制, 不允許外部訪問。

        多講這一點的意義在于, 對于一些連子程序功能都沒有, 或者有子程序, 然而子程序功能不如SMART這樣強大的PLC, 主要是西門子之外的一些其他品牌的小PLC, 它們的系統(tǒng)中沒有TEMP變量的時候,我們通過編程手段自己部署一部分內(nèi)存數(shù)據(jù)區(qū)給當(dāng)做TEMP變量使用。 這時候,操作系統(tǒng)本身自然不會限制, 那么我們在編程的時候就要格外小心, 要對這篇數(shù)據(jù)保護好。這是題外話。

        回到上面的圖片,圖中我用紅色方框圈出來,CDEF四個子程序,它們是同一級別的。 那么除了說它們共享L變量空間之外,其實還有一個含義, 就是當(dāng)程序執(zhí)行完了子程序C,又進入子程序D的時候, 在子程序D開始時, TEMP區(qū)的內(nèi)容,除了INPUT對應(yīng)的部分被輸入管腳的值刷新了之外, 其余的所有數(shù)值其實就是離開子程序C時的內(nèi)容。

        即所有數(shù)據(jù)值,現(xiàn)場被完整保留。

        這就是我們平常教育新手的時候, 總要強調(diào), TEMP的數(shù)據(jù),不要先讀, 不要先讀,不要讀操作在先。 應(yīng)該先寫操作,賦值以后,后面的數(shù)值才是真實可控的,邏輯才可控。

        有的人會不信, 說自己明明做子程序驗證過了,我就是先讀數(shù)值了, 也沒有問題。 那是因為你測試程序中同一級別的子程序數(shù)量太少, 可能只有它自己。比如圖中的F。 那么數(shù)據(jù)區(qū)就不會被別的子程序污染。 你做的邏輯暫時好用。然而等到了現(xiàn)場, 真實應(yīng)用中, 子程序多了, 數(shù)據(jù)就混亂了,邏輯就亂套了。

        所以, 我經(jīng)常建議對TEMP變量屬性不熟悉的新手,調(diào)試中遇到疑惑的時候, 不防在子程序的開始時候, 把用到的一片TEMP變量全部清零。 后面程序功能都好用,才叫好用。

        這是傳統(tǒng)做法。

        今天則是顛覆傳統(tǒng),利用前面說的進入下一個子程序后,前一個子程序的TEMP數(shù)據(jù)現(xiàn)場被完整保留集成的這個特性,我們可以用來做點文章。才是題目宣稱的巧用臨時變量。

        我在3年前寫過一篇文章,做過程序編程方法征集:
        《【萬泉河】有償征集2:S7-200函數(shù)塊BLOCK_MOVE》
        https://www.ad.siemens.com.cn/club/bbs/PostStory.aspx?a_id=1574124&b_id=80&s_id=157&num=3#anch

        需要把一整塊的數(shù)據(jù)用BLOKMOVE的方法傳送到一個完全封裝的子程序的內(nèi)部。 然而并沒有如愿得到答案。 還是我自己在去年底的時候,對TEMP變量思考到上述的內(nèi)容后,得到了解決。

        即,數(shù)據(jù)傳送部分下降層級,放到相鄰調(diào)用的前一個子程序中,直接對TEMP數(shù)據(jù)BLOKMOVE, 后面的子程序中的TEMP就自然收到了數(shù)值。
        空講理論光說不練可能有些難懂。 下面做個例子來演示下實現(xiàn)方法以及實際的應(yīng)用。

        通常SMART的子程序的管腳數(shù)量有限制,可能是16個,數(shù)值不精確,但是沒意義,總之系統(tǒng)給的再多,在做標(biāo)準(zhǔn)化庫函數(shù)時也會不夠用。所以總要有有擴張管腳的需求。

        我們有建立一個子程序叫做“功能塊”:  


        其原生管腳很少,然而我們把更多的管腳建立到LB10,LB11,LB12的L數(shù)據(jù)區(qū)中。
        做一個“功能塊前處理”的子程序 ,在其中調(diào)用BLOCKMOVE功能:


        即實現(xiàn)了對內(nèi)部TEMP變量的批量賦值, VB10的數(shù)據(jù)可以作為功能塊的INPUT數(shù)據(jù)使用了。
        當(dāng)然,我們還可以做個“功能塊后處理”,數(shù)值的傳送方向顛倒一下:

        那么建立的IN11-IN34的臨時變量事實上成為了功能塊的INOUT管腳。

        程序的調(diào)用過程變?yōu)椋?br />

        如此實現(xiàn)了給功能塊擴張了24個管腳。 如果還需要更多,則簡單修改即可。

        我做的標(biāo)準(zhǔn)化煙臺方法的分享項目的SMART 200的程序, 在2022年春節(jié)左右,做了一次V2.0的升級, 其中包含了本文講解的技術(shù)方法,使得程序更加簡練,優(yōu)雅, 封裝更徹底。

        V2.0的升級程序不是完整的項目程序,而只是做了一部分功能的演示, 學(xué)員需要在加入學(xué)習(xí)營后,從QQ群文件中自行下載。學(xué)習(xí)掌握之后改進升級到所有程序功能。 在掌握之前,還是仍然可以只學(xué)習(xí)V1.0的方法,以及工程應(yīng)用。其實只是我一個人的心結(jié), 追求更優(yōu)雅更完美的程序架構(gòu),實際功能是一樣的。
        0803 【萬泉河】巧用程序塊臨時變量 (1).pdf (298 K) 下载次数:109
        愛在日落之后
        所有的偉大,源于一個勇敢的開始
        級別: 家園常客
        精華主題: 0
        發(fā)帖數(shù)量: 667 個
        工控威望: 707 點
        下載積分: 3448 分
        在線時間: 141(小時)
        注冊時間: 2022-07-25
        最后登錄: 2025-10-10
        查看愛在日落之后的 主題 / 回貼
        1樓  發(fā)表于: 2022-08-03 13:18
        狗尾續(xù)貂好評
        ldf710613
        級別: 論壇先鋒
        精華主題: 0
        發(fā)帖數(shù)量: 364 個
        工控威望: 1154 點
        下載積分: 1301 分
        在線時間: 31(小時)
        注冊時間: 2022-04-09
        最后登錄: 2023-12-18
        查看ldf710613的 主題 / 回貼
        2樓  發(fā)表于: 2022-08-05 16:48
        學(xué)習(xí)一下

        主站蜘蛛池模板: 久久久久久久久18禁秘| 草裙社区精品视频播放| 人人玩人人添人人澡| 国产欧美久久一区二区| 成人精品天堂一区二区三区| 国产精品污一区二区三区| 国产精品国产三级国av在线观看 | 中日韩黄色基地一二三区| 久久综合久中文字幕青草| 波多野结衣在线精品视频| 国产成人精品人人| 无码精品一区二区久久久| 国产午夜福利视频一区二区| 无码AV无码免费一区二区| 国产精品中文一区二区| 久久久久久久久18禁秘| 国产精品免费看久久久麻豆| 伊人色综合一区二区三区| A毛片终身免费观看网站| 国产精品一区二区三区黄| 红杏av在线dvd综合| 黄色a一级视频| 亚洲天堂成人黄色在线播放| 秋霞鲁丝片成人无码| 亚洲有无码中文网| 色吊丝av中文字幕| 黑人玩弄人妻中文在线| 亚洲一区二区三区水蜜桃| 成人免费av在线观看| 夜夜偷天天爽夜夜爱| 伊人成人在线视频免费| 一区二区中文字幕av| 久久天天躁狠狠躁夜夜av| 99精品电影一区二区免费看| 久久精品免视看国产成人| 久久中文字幕一区二区| 成在线人永久免费视频播放 | 水蜜桃视频在线观看免费18 | 亚洲精品久久久久999666| 国产三级精品三级在线观看 | 亚洲国产日韩一区三区|