歡迎進入上海茂碩機械設(shè)備有限公司網(wǎng)站!
經(jīng)常有人問,這個PLC有沒有某某指令,或者必然趨勢,有沒有指令可以實現(xiàn)這樣那樣的功能集成應用?
產(chǎn)生這樣的疑問越來越重要的位置,部分原因是不熟悉這款PLC的指令。部分原因是為了選型競爭激烈,想找到一種PLC能夠內(nèi)置一些功能投入力度,使得自己的編程得到簡化。
甚至有一些人認為學習,PLC沒有這個指令就是沒有這個功能技術,不能完成某個任務(wù)。如果指令能自己做,那就沒有這個問題了結構重塑。那我們就試著自己做自己需要的指令推廣開來。
本系列文章圍繞S7-200 SMART PLC為中心,分為三篇講解如何編寫自己需要的指令貢獻法治,編程語言主要以梯形圖的方式為主密度增加。
注意:前方高能!超長文章相對較高,請大家拿著奶茶慢慢看~
梯形圖的所有指令一般遵循掃描原則進行執(zhí)行。執(zhí)行一個完整的程序創新內容,過程中由于掃描有先后次序全方位,所以必然在一個瞬間只能執(zhí)行一個指令。那么當(dāng)掃描到程序中間的時候實踐者,程序前部分的程序先獲得掃描并執(zhí)行過管理,執(zhí)行的結(jié)果將已經(jīng)產(chǎn)生影響。后面部分的程序未曾執(zhí)行豐富,將來的執(zhí)行當(dāng)中所有條件將以新的形態(tài)執(zhí)行。
從I0.0 = False(0)之后的某個掃描周期開始看看掃描的過程。此時善於監督,所有變量都沒有接通大局。
當(dāng)有一個掃描周期I0.0 = True(1)的時候,并且方框處的程序剛剛處理完的時刻管理,1段的Q0.0顯然跟以前的掃描一樣新型儲能,不接通。而此時此刻的M0.0已經(jīng)接通方案,它將開始影響以后程序的執(zhí)行特點。然后在這個掃描周期結(jié)束的時候Q0.1將接通了,但是Q0.0卻沒有接通統籌發展。
下一個周期開始品質,掃描一個M0.0觸點的時候,此時的M0.0才開始影響一行程序慢體驗。
所以深化涉外,掃描到并執(zhí)行出的結(jié)果是影響往后的所有掃描的。并沒有掃描周期之分左右。所有執(zhí)行都基于掃描又進了一步。
一行程序最左邊粗實線是能流的源生產製造,這里永遠是True(1)拓展基地。通過各種觸點的True(1)與False(0)組合,能流能到達右側(cè)的線圈指令的話多元化服務體系,就可以使線圈置位(1)處理。能流不能到達右側(cè)線圈的話線圈就復(fù)位(0)攜手共進。能掃描到的指令,基本能按照這種意愿執(zhí)行自然條件。
要正確理解能流True(1)與False(0)兩種狀態(tài)對程序的影響擴大公共數據,如圖2所示。
圖2程序
當(dāng)I0.0 = True(1)的時候體系流動性,兩個指令都得到了能流設計標準。計時器指令按照自己的屬性進行計時。傳送指令把源地址數(shù)據(jù)傳送到目的地址助力各行,無論目的地址原來有什么值都執(zhí)行傳送更新目的地址大部分。
當(dāng)I0.0 = False(0)的時候,兩個指令都沒有了能流將進一步。計時器在沒有能流的時候把當(dāng)前值寫成0,把計時器位寫成False(0)提供有力支撐。值得注意的是實際需求,這個指令在False(0)的時候不是什么都不做的,而是在做False(0)時應(yīng)該做的事情發展成就。有這樣特點的指令還有輸出線圈指令等性能。傳送指令在沒有能流的時候不再傳送,不再理會目的地址合規意識。大量位于能流最右側(cè)的指令都有這個特點聽得懂。
不追究這個詞的歷史背景了協調機製。反正大家都知道在一個程序里面對同一個線圈出現(xiàn)過兩次輸出線圈就是雙線圈設備製造。
雙線圈不會當(dāng)作是一種錯誤程序。它可以按照程序的行為作出解釋高質量發展。也就是說它沒有語法錯誤資源配置,但是可能會導(dǎo)致邏輯執(zhí)行錯誤。
如圖3所示的例子攻堅克難,可能作者希望自動動作時的三個步驟Q0.0得電機遇與挑戰。而且切換到點動的時候又可以控制Q0.0。結(jié)果相關,由于出現(xiàn)了雙線圈取得明顯成效,影響了期望的動作。這是雙線圈的錯誤使用影響力範圍。
圖3程序
對于輸出點Q大力發展,總是按照一個周期中一個輸出指令刷新輸出到物理點的。
下面舉一個案例生動,看看怎么處理比較好提單產?
有一個輸出點核心技術,根據(jù)工藝已經(jīng)做好了程序并且調(diào)試成功。程序片段如圖4所示設計。
圖4程序
突然甲方來了一個要求分享,要求Q0.0在原來的基礎(chǔ)上并聯(lián)一個現(xiàn)場按鈕真正做到,無論Q0.0是否動作,現(xiàn)場按鈕按下時,Q0.0都要為True(1)》阵w系,F(xiàn)場按鈕松開時,不影響原來的程序作用發揮效力。同時要求解決問題,Q0.1不受現(xiàn)場按鈕影響。于是如圖5所示做了如下修改。
圖5程序
Ok求得平衡!程序沒有問題。要是改成如圖6所示的程序背景下,結(jié)果會怎樣多種場景?同樣,這個程序也可以完成上述任務(wù)開展試點。
圖6程序
這是一個雙線圈的程序集中展示。第二個輸出線圈由于帶有一個線圈的執(zhí)行結(jié)果,觸點先繼承了前面所有的邏輯規劃,在此邏輯下增加了一個現(xiàn)場按鈕建設。解決了Q0.0的需求,但是又沒有對Q0.1有任何的影響發展。程序卻非常簡單。
再看一個雙線圈使用的例子。如圖7所示:
圖7程序
先看網(wǎng)絡(luò)1 2 3進一步⌒v手段!皥缶?和“運行中"兩個信號由于有公共相似的邏輯,所以用一個線圈把公共部分記錄下來發行速度,再在下面的程序多次使用這樣的公共部分極致用戶體驗。為了使程序簡單一點,不用在報警和運行的線圈前都把相同的公共部分重復(fù)寫一次積極拓展新的領域。然而充分發揮,網(wǎng)絡(luò)4才是Q輸出點最終要達成的控制邏輯目的。Q只是在前面的工作中臨時客串應用,義務(wù)送了一個人情解決方案。臨時變量的影子也悄悄地在這個例子中流露出來。
多重賦值是說明一個地址初步建立,在程序多個地方都有出現(xiàn)對其寫入的操作項目。雙線圈是一種典型的多重賦值。執(zhí)行寫入的主動操作者可以是用戶程序重要方式,可以是系統(tǒng)行為綜合運用,可以是來自通訊端口改寫。還可以是其他增產。
在早先一些PLC還不允許出現(xiàn)雙線圈的時代脫穎而出,要繞過雙線圈的規(guī)則,有這樣的一種方法的方法。程序開頭對線圈復(fù)位積極影響。后面的自動程序需要什么步驟輸出線圈,就用置位指令代替線圈指令廣泛關註。最終掃描結(jié)束輸出物理信號的時候取決于是否對線圈置位豐富,如圖8所示,程序在“步1"顯示、“步2"我有所應、“步7",這三個步驟時輸出首要任務。
圖8程序
如圖8這樣的程序結(jié)構(gòu),在多個地方都出現(xiàn)對Q0.0寫入值新型儲能。當(dāng)然這樣各種的值都是不同的深入實施,相同的話就不必多重了。我們應(yīng)該小心處理邏輯關(guān)系不同需求,避免出現(xiàn)不希望的值業務指導。
再看一個例子,如圖9所示:
圖9程序
程序中把輸入量傳給輸出量發展空間。但是當(dāng)發(fā)現(xiàn)輸出量是負數(shù)的時候創造性,把0傳給輸出量。也就是說限制輸出量最小值是0就此掀開,不可以再小了能力。
雙線圈和多重賦值都是自定義庫程序范圍中一個非常重要的思想。不能很好理解這兩個概念總之,將會對制作庫程序產(chǎn)生很大的障礙長足發展。
在操作數(shù)引腳(實參)上直接使用常數(shù)足了準備、地址規模設備、符號這三種方式是編程中使用最多寫法。另外,還有符號定義的常量和間接尋址兩種方式相對比較少去使用至關重要。如圖10所示:
圖10程序
間接尋址包括制作指針和使用指針著力提升。
指針是指向目的區(qū)域目的地址的標(biāo)記。目前建設項目,CPU除了AC動手能力、HC、L區(qū)不能作為目的區(qū)域其他區(qū)域都可以間接尋址增強。
在后面的文章中倍增效應,都只將V區(qū)作為間接尋址的目的地址做說明或者做例子。這并不表示不能尋址到其余區(qū)域大部分。
例子中的 "T40" 的設(shè)定值填寫的是一個間接尋址重要工具。意思就是說這個位置雖然不是一個具體的設(shè)定時間,但是更加堅強,具體的值位于這個指針?biāo)傅牡胤教峁┯辛χ?。而這個地方當(dāng)時是什么值,那么計時器的設(shè)定值就是什么值配套設備。
簡單講就是“你要的東西用紙(址)包著"和“你要的東西用紙(址)寫著"發展成就。
現(xiàn)在就圍繞這句話,聊一聊間接尋址建議。
首先說說這張包東西的紙(址)優勢,不是什么地方都可以做的。什么材料可以做這張紙?材料可以是全部V區(qū)品率、全部L區(qū)、AC區(qū)的AC1 AC2 AC3可以裝載指針推進高水平。并且只能用連續(xù)的4個字節(jié)組成的雙字裝載指針開展面對面。起始地址不介意是奇數(shù)還是偶數(shù)。
要用紙包著東西不斷發展,必須把東西放進去紙里面便利性。MOVW 100 VW0 這里 "100" 就是東西, "VW0" 就是一張紙非常重要。小的東西就用一張紙包(一個字節(jié))實事求是,很大的東西就用四張紙拼成一張大紙包(一個雙字)。用這件東西的人只要找到這張紙直接就得到里面的東西行動力。
你要的東西用紙寫著廣泛應用,那就是說事前必然有人在紙上已經(jīng)寫了字,后面才能有人看見持續。MOVD &VB400 VD4 情況。這里 "VB400" 就是寫在上面的字,"&" 符號是說明寫著這幾個字是一個地址,不是普普通通的字等多個領域。"VD4" 就是一張大紙互動講。這就是制作指針。
手里拿著這張紙后至關重要,自然要根據(jù)這張紙的指引做一些事主動性。如圖10程序一行指令。執(zhí)行一個計時器指令時使用了" *VD2" 這張紙 ……改進措施,如果只寫 "VD2"範圍,那么就好像是使用 "VD2" 的值作為計時器設(shè)定值,但是事實并非如此發展的關鍵。這里 "VD2" 前面帶*號。星號表示 "VD2" 里面的值是指引真正包含設(shè)定值的地址。由于 "VD2" 里面先前一個指令寫入了 "&VB0" 有所應,所以這張紙其實是指引計時器到 "VW0" 找尋設(shè)定值道路。這就是使用指針。當(dāng)然這是因為是在定時器的時間設(shè)置用到指針今年,而這個設(shè)置變量的類型是字空間廣闊。而如果在MOVB輸入用到相同指針 "VD2",那么輸入的就是 "VB0" 而不是 "VW0" 了真諦所在,因為MOVB指令需要的輸入變量的是字節(jié)研學體驗,也就是指針保存的是起始地址,具體使用的變量取決于指令需要提供深度撮合服務。
使用間接尋址的好處在于通過計算改變指針的值系統,可以尋址到附近的任何地址。當(dāng)指針指向VB10的時候規模,把指針增加10,那么指針就會指向VB20作用。尋址就改變到VB20。指針再減少3,那么尋址就會找到VB17銘記囑托。對于一片連續(xù)的V空間只要知道一個地址事關全面,就可以尋址到連續(xù)的第n個地址。
在以后的子程序使用中將會非常多地用到間接尋址的製造業。
子程序是整個程序的一個片段發展目標奮鬥。根據(jù)編程者的需求,把一部分程序歸入到一個子程序里面狀態,完成相關(guān)的功能規劃。整個子程序可以根據(jù)用戶程序的邏輯選擇調(diào)用或者不調(diào)用。調(diào)用的話就按照掃描次序掃描一次子程序,然后回到調(diào)用處項目。不調(diào)用的話就等于程序沒有了這部分片段相對開放。在其他地方再次出現(xiàn)調(diào)用這個子程序的話,子程序又得到一次運行綜合運用。PLC并沒有限制用戶調(diào)用子程序的次數(shù)相貫通,只不過調(diào)用一次就要增加一點掃描時間。必要時候就調(diào)用脫穎而出,沒必要的時候調(diào)用了也不產(chǎn)生什么效益系統。
偶爾會看見有人在問:有幾個數(shù)據(jù)需要求平均值。PLC有沒有求平均的指令胺e極影響》椒??
不好意思,200 SMART PLC沒有計算平均指令自動化。還是好好地編程寫吧重要的意義。
下面我試試用兩種方式的子程序完成這個多個值的累加。至于除法求平均就不介紹了∫幠W畲?,F(xiàn)以4個字變量計算總和為例介紹關註度。
程序要求:VW0、VW2重要手段、VW4穩中求進、VW6四個值求和,結(jié)果放在VW100中不折不扣。
看看先用比較簡單的方法再獲,先完成要求的功能,如圖1所示:
圖1程序
在子程序里面就是幾個很簡單的加法指令最深厚的底氣。而在主程序調(diào)用子程序的前后敢於挑戰,加上了一些簡單的傳送指令。
先看子程序應用擴展。子程序中三個加法指令把四個MW累加到MW8中過程中。前面四個MW中并沒有什么值。累加之后的結(jié)果MW8也沒有什么實際意義建立和完善。
再看主程序特征更加明顯。題目要求的四個已知值,在調(diào)用子程序之前就傳到了子程序使用的MW地址啟用。此時調(diào)用子程序,這些MW就有了值。經(jīng)過子程序的運算支撐作用,結(jié)果就放置在MW8穩步前行。然后回到調(diào)用處至關重要,再把子程序的值傳到題目要求的地方,完成題目的要求責任製。
在這個例子中效率,主程序的這個網(wǎng)絡(luò)可以多次使用。在需要的地方就按照上面例子的方法使用子程序就可以再次實現(xiàn)求和的作用雙重提升。子程序只是作為一個計算法則增強,而這個法則又是很簡單的幾個計算。當(dāng)遇到比較復(fù)雜的算法的時候結果,并且又有機會多次調(diào)用戰略布局。不妨可以試試這個程序結(jié)構(gòu)。這個結(jié)構(gòu)有一個優(yōu)勢規則製定,就是任何品牌的PLC都可以互通講道理。哪怕就是20年前的PLC也一樣可以用這個方法。不過當(dāng)今的200 SMART PLC顯然不推薦使用這樣的方式了表現明顯更佳。這個方式的編程更加廣闊,只是用于說明帶參數(shù)子程序的一部分參數(shù)傳遞原理,將在日后詳細介紹技術先進。
1.調(diào)用子程序的前后示範,需要把參數(shù)傳送到的地址,供子程序使用提高。
這些地址成為了這一個子程序的專用地址發展基礎;每次調(diào)用子程序都要做這個事情。
2.子程序占用了公共資源有很大提升空間;
當(dāng)一個程序有很多個子程序的時候要求,消耗在這兩方面的工作和資源就會很多。當(dāng)一個子程序工作需要很多個參數(shù)的時候認為,要寫很多MOV指令運行好,也要占用很多公共資源M地址。對于200 SMART PLC紮實,M區(qū)只有32個字節(jié)同期,如果需要32字節(jié)以上的區(qū)域,那就只能在比較大的V區(qū)找地方了的有效手段。而當(dāng)子程序很多,或者子程序是不同編程者的話廣泛應用,就可能會有不同子程序使用到了相同的區(qū)域提升。這樣必然需要修改一些地址,使地址不發(fā)生重復(fù)情況。
假如有辦法解決上述兩個問題,將是一個非常美滿的結(jié)果高品質。辦法是有的。先不說這個互動講。
現(xiàn)在統籌,再用現(xiàn)在的方式寫一個子程序完成求和的功能。四個步驟就可以創(chuàng)建一個帶參數(shù)的子程序支撐能力。
步驟一:
新建一個子程序產品和服務。在子程序?qū)傩岳锩婢幒米映绦蛎Q和塊編號(子程序號),如圖2所示協同控製。這里要求不嚴格不斷創新,主要是編程者自己容易分辨就好。當(dāng)然如果是要做成庫體驗區,把塊編號設(shè)置大些去突破,以便于調(diào)用時不會沖突。
圖2 設(shè)置塊屬性
第二步:
如圖3所示提供了遵循,打開變量表。
圖3 變量表
第三步:
向變量表填入需要的輸入輸出參數(shù),如圖4所示利用好。
圖4 設(shè)置參數(shù)
變量表的各個列的意思是:
地址:變量對應(yīng)L區(qū)的地址參與水平。這個地址由系統(tǒng)分配,不能由編程者輸入增幅最大。每增加一個變量或者插入一行具體而言,地址自動改變。并且如果編程當(dāng)前正在用符號名編程的時候滿意度,增刪行導(dǎo)致的地址變更奮戰不懈,不會影響編程關(guān)系。相反智慧與合力,如果正在用地址編程規定,而你又增刪過行,那么程序地址將會混亂措施。
符號:這個是變量的名字銘記囑托。如果正在用地址編程的時候,此時修改名字交流等,不會影響已寫好的程序製造業。相反,如果正在用符號編程自動化裝置,此時修改名字狀態,那么程序符號立即紅色報錯,程序已找不到這個名字了關規定。
變量類型:無法修改更多的合作機會。輸入?yún)?shù)填寫在IN行應用前景。輸入/輸出參數(shù)填寫在IN_OUT行。輸出參數(shù)填寫在OUT行可以使用。臨時變量在最后TEMP兩個角度入手。填寫完畢會自動增加新行。
IN類型表示子程序運行的數(shù)據(jù)來源廣泛認同,就像上述例子的4個加數(shù)進入當下。
OUT類型表示經(jīng)過子程序的運算,得到的結(jié)果行業分類。輸出在這個位置預下達。
IN/OUT類型,組合兩種類型應用領域,先輸入給子程序再運算得到結(jié)果輸出到相同的位置創新為先。
TEMP類型,這個類型既不輸入也不輸出統籌推進,僅僅在子程序中充當(dāng)過渡用的中間變量行業內卷。
數(shù)據(jù)類型:這個參數(shù)是一個點位還是一個字節(jié)還是一個浮點數(shù)等等的性質(zhì)。這個下拉選擇將會影響地址欄的分配跨度科普活動。因為不同的類型占用不同的位長凝聚力量。
注釋:給自己看的一些關(guān)于本行變量的備忘信息。
到此逐漸完善,一個帶參數(shù)的子程序就已經(jīng)完成了。雖然并沒開始編寫子程序的內(nèi)容,但是你已經(jīng)可以觀察一下由主程序調(diào)用這個子程序的樣子了解情況。如圖5所示參與能力。
圖5 子程序調(diào)用
網(wǎng)絡(luò)1是當(dāng)子程序沒有填寫變量表的時候的樣子,它不帶任何參數(shù)資源優勢。網(wǎng)絡(luò)2是剛才建立了變量表的求和子程序應用擴展。此時的子程序未確定任何實質(zhì)性的參數(shù)地址。點擊每個問號地方振奮起來,按照題目要求左側(cè)輸入VW0建立和完善;VW2;VW4增多;VW6啟用,右側(cè)輸入VW100,調(diào)用基本就完成了估算。
子程序輸入輸出參數(shù)的排序會按照你剛才填寫變量表的先后順序布置活動上。在實際程序中,你在向子程序編程之前先確認一下這個外觀效果,每一個輸入輸出參數(shù)是否能夠按照使用的習(xí)慣排列所有參數(shù)產業。例如我們表達一個長方體的尺寸的時候通常都說“長寬高",沒有人會說“高長寬"的次序的共享應用。這個就是習(xí)慣工具。當(dāng)參數(shù)很多的時候,盡量按照有關(guān)習(xí)慣填寫變量表的順序情況較常見∈袌鲩_拓?梢杂貌迦雱h除行的方法編輯次序。
第四步:對子程序編程
子程序內(nèi)的加法過程的編程在此就省略了喜愛。其實就是圖1的子程序環境。只不過是將全部的MW改寫成LW就可以了。
好了保障,一個帶參數(shù)的子程序就完整建立完畢了重要的角色。它將會出現(xiàn)在指令樹里面項目的程序塊里面。它因為本身就是一個子程序體製,所以也是顯示為一個子程序要落實好。
后面的內(nèi)容更精彩∠蚝脩B勢?赡懿皇悄阆胂蟮哪腔厥屡秪
一份程序中建立多個子程序相對簡便,每個子程序完成相對比較獨立的功能。而子程序也是圍繞主程序的要求更默契了,并且還根據(jù)主程序給出的條件完成這個要求特性。此時主程序和子程序之間或者說子程序和它下級的子程序之間,就必然有一些數(shù)據(jù)的交流要求。下面將介紹一下這種參數(shù)的傳遞。
再提一下變量表,子程序里面的變量表製度保障,這是最重要的上下級程序之間數(shù)據(jù)傳遞的方式聯動,但不是的方式。主程序把將要給子程序的數(shù)值擺放在一個或一片約定的全局地址顯示,然后子程序讀取這些全局的地址……這種做法作為傳遞參數(shù)技術特點,簡單不過。但是共同努力,這里不討論這樣的傳遞方式保持競爭優勢。
現(xiàn)在隨便做一個子程序,觀察一下在主程序中調(diào)用時候的外觀發展邏輯。
圖1
圖2
如圖1所示是在主程序里面調(diào)用SBR_0的情況方案,還有一個常見的計數(shù)器指令。如圖2所示是SBR_0中變量表所填入的變量設(shè)置發展機遇。
圖1中一個標(biāo)注SBR_0的指令塊跟計數(shù)器指令外觀很相似創新延展。但是各自的接口和參數(shù)都不同性能。它們都有觸點接口和數(shù)據(jù)接口。現(xiàn)在看看子程序的調(diào)用長效機製,主程序通過什么渠道把參數(shù)傳遞到子程序強化意識。
SBR_0左邊上方開始有兩個連接著開關(guān)觸點的接口。
【EN】有能流表示執(zhí)行這個子程序深入。沒有能流的話將從子程序門口經(jīng)過合理需求,不進入子程序。一個子程序就算沒有任何參數(shù)都會有這個接口的基本情況。
【點輸入1】下邊也是一個能流型的接口先進水平,表示這里有一個開關(guān)量的能流輸入。
當(dāng)鼠標(biāo)指向這個指令塊的時候充分發揮,會彈出一個框共享,如圖3所示。這里說明了所有參數(shù)的變量類型(in全面展示;in/out結論;out)和數(shù)據(jù)類型(b;B體系;W增幅最大;D)。
圖 3
【字輸入】從彈框得知這是一個字型的輸入?yún)?shù)最為顯著。這里接口必須填寫一個字型的變量或者常數(shù)滿意度。
【點輸入2】這也是一個布爾量的輸入?yún)?shù),但是因為有其余類型的參數(shù)分割生產能力,導(dǎo)致沒有從開始處連續(xù)排列布爾量的輸入?yún)?shù)智慧與合力,所以這個布爾量輸入也顯示為數(shù)據(jù)接口形式。
【字節(jié)入出】從彈框得知這是一個輸入輸出雙向的參數(shù)可持續,需要填入一個字節(jié)型的變量措施。
【字輸出】這個參數(shù)在右側(cè),位置上已經(jīng)表明這是一個輸出型的參數(shù)情況。
綜上所述,輸入型的參數(shù)將安排在左側(cè)的最上方,并且如果上方有連續(xù)的開關(guān)量堅持好,都會以能流的形式連接這個參數(shù)開放要求。接下來是數(shù)據(jù)型的輸入?yún)?shù)接口。然后下方是雙向的參數(shù)接口構建。右邊一律是數(shù)據(jù)接口形式連接所有輸出參數(shù)緊密相關。
上級程序就是通過這樣的接口把子程序所需的參數(shù)傳入到子程序的,再進入到子程序里面。接下來看看子程序方面重要組成部分,得到的參數(shù)將會是如何出現(xiàn)的服務延伸。
觀察上面圖2這個變量表。自從建立了這個變量表開始傳承,子程序里面的L地址的前面部分就已經(jīng)成為了子程序參數(shù)的載體共創美好。L地址從個字節(jié)開始,往后安排IN參數(shù)高效流通;IN/OUT參數(shù);OUT參數(shù)。按照字節(jié)為最小占用單位來安排能流接口的參數(shù)有力扭轉,從L0.0開始向更高位連續(xù)安排,EN不占用地址深入。對于布爾量形式,一個布爾量點占用整個字節(jié),八個以內(nèi)的連續(xù)布爾量點也占用一個字節(jié)行業內卷。下一個非布爾量參數(shù)或者不同類型變量(IN進行培訓、IN/OUT、OUT)從下一個字節(jié)開始安排凝聚力量。所以【點輸入1】參數(shù)分配到L0.0關鍵技術,【字輸入】參數(shù)分配到LW1?!咀止?jié)入出】參數(shù)分配到LB4有所提升。然后子程序使用上級傳遞的參數(shù)就只要讀取這些L地址就可以得到。
外面的情況了解了參與能力,里面的情況也了解了法治力量,參數(shù)傳遞……沒說完,還有最不為人知的一部分新的力量。
——中間的過程技術研究。
中間過程就像一份快遞的工作,在上級下級程序之間搬運數(shù)據(jù)分享。只要子程序被調(diào)用現場,那么快遞就會把的數(shù)據(jù)傳送到子程序內(nèi)。子程序結(jié)束后開展研究,快遞又會把的參數(shù)傳送到上級程序的接口高效。要是沒有接口參數(shù)自然沒有這個崗位。
作為用戶程序至關重要,只要上級程序把參數(shù)放置到位質量,又在子程序里面存取對應(yīng)的L地址,中間怎么從上級傳達到下級是無需做任何事情的。這個過程由系統(tǒng)代勞了不久前。但不等于不用理解這個過程緊迫性。你不知道的事情可能恰恰就在這里。做以下的程序?qū)嶒炓幌隆?/span>
圖4
建立三個子程序機構,各自就只有變量表填寫了一行參數(shù)非常激烈,如圖4所示。子程序里面無任何用戶程序更適合。主程序編輯這樣的調(diào)用邏輯技術交流。把程序下載到PLC,看看執(zhí)行會怎樣引人註目?
PLC運行后關註,由于程序存在QB0和M0.0,沒有任何用到的其他地址了空間載體,所以我們的焦點就關(guān)注著這兩個地方體製,而QB0更是最容易看見。此時輸出點還是熄滅的即將展開。用狀態(tài)表把M0.0寫入1向好態勢,與此同時QB0也顯示2#10010000(注意硬件的燈高位在右側(cè),書寫二進制高位在左側(cè)創新科技。)然后把M0.0寫入0更默契了,此時QB0變成顯示2#11001100。我們再次把M0.0寫入1之后QB0再次顯示2#10010000 服務機製。
為什么輸出點會有這樣的三種狀態(tài)呢解決方案?用戶程序沒有對輸出點做過邏輯和賦值,而子程序里面也沒有任何程序共同學習。能夠有動作的只能是系統(tǒng)的動作了交流研討。究竟會是什么時候使輸出點得到了一些值?程序里面跟QB0有點關(guān)系的就是SBR2子程序了。為什么SBR0順滑地配合、SBR1兩個子程序的值會到了SBR2子程序里面去的?那么就要理一理參數(shù)傳遞的中間過程了薄弱點。
運行初期上高質量,網(wǎng)絡(luò)1不接通,網(wǎng)絡(luò)2沒產(chǎn)生邊沿信號效高。前兩個子程序都沒有調(diào)用建設應用。第三個子程序SBR2一直在調(diào)用。
接通M0.0廣度和深度,SBR0得到了執(zhí)行應用的因素之一。在進入子程序后基礎,運行子程序用戶指令之前,系統(tǒng)把引腳上的IN參數(shù)值復(fù)制到了LB0奮勇向前。然后執(zhí)行子程序的用戶程序引領作用,由于沒有程序可運行,退出了子程序經驗。
網(wǎng)絡(luò)2沒有執(zhí)行子程序。網(wǎng)絡(luò)3一直在執(zhí)行。SBR2子程序沒有輸入?yún)?shù)全技術方案,沒有子程序內(nèi)容基本情況,離開子程序之前,系統(tǒng)必須要給一個值到輸出參數(shù)重要的。系統(tǒng)的這個動作不會因為程序中有沒有內(nèi)容或者說程序執(zhí)行的怎么樣充分發揮,而不去做這個傳送,它是必然會做這個動作的綠色化發展。那么這個時候,LB0到底是一個什么值呢結論?我們就要追溯到這個LB0最后賦值的是什么地方應用創新。之前由于執(zhí)行SBR0輸入?yún)?shù)使LB0曾經(jīng)有過2#10010000這個值。這個值由于遵從多重賦值的原因足夠的實力,這個值在當(dāng)時產(chǎn)生和諧共生,一直擱置到現(xiàn)在,被SBR2撈上來了全面闡釋,然后就給了QB0用上了。當(dāng)M0.0恢復(fù)到0時,SBR1前的上升沿發(fā)生了適應性強,調(diào)用了一次的特性。就這一次,把LB0寫入了2#11001100能力建設。在沒有什么地方再給LB0寫入值的情況下高效,LB0將不會改變。(當(dāng)一個子程序不調(diào)用的時候基礎,并不會由此使得某些線圈領域、某些地址自動復(fù)位為零,但是仍有不少的人有這樣的錯覺要素配置改革。)大家也可以參考M0.0,編程軟件寫入了的值可以一直保持住的。你沒有去更改它無障礙,還有誰去修改它體系?所以把一個值寫入到某地址之后宣講活動,就可以一直保持住,SBR2也就可以輸出2#11001100這個值帶來全新智能。
手冊并沒有說明局部儲存區(qū)的值是從何而來互動互補,手冊上面有一段話,如圖5所示共創美好。
圖 5
當(dāng)手冊沒有清楚說明的情況下趨勢,我會假設(shè)一種較為合理的假設(shè),然后在日后的編程中一直證實這個假設(shè)預判,并使用這種假設(shè),同時一直關(guān)注著這個問題。假如一直使用都沒有明確顯示這種假設(shè)不成立調解製度,將認為這是真的深入,繼續(xù)使用。我總覺得PLC只會按照有限的法則以固定的方法實施一些運算覆蓋範圍。既然一個假設(shè)一直沒有被tf一站式服務,那么這個假設(shè)可能永遠也不會被tf。
15214375780