<wbr id="pbjqz"><pre id="pbjqz"><noscript id="pbjqz"></noscript></pre></wbr>

            <nav id="pbjqz"></nav>
              <wbr id="pbjqz"><legend id="pbjqz"><video id="pbjqz"></video></legend></wbr>

              PLC企業資訊
                海西蒙古族藏族自治州 西門子授權代理商,西門子PLC,變頻器,伺服電機授權代理商
                發布者:chkj  發布時間:2023-09-21 12:27:25

                西門子S7-300/400PLC的上升沿與下降沿檢測指令


                西門子S7-300/400PLC的上升沿與下降沿檢測指令

                plc的上升沿、下降沿檢測指令的功能需要至少兩個掃描循環周期才能完成,即通過比較前后兩個掃描周期同一個BOOL變量或RLO(邏輯運算結果)的狀態來判斷是否是上升沿、下降沿。

                同一級的邏輯塊的臨時(TEMP)局部數據區是公用的,結束對FB、FC的調用后,它們的臨時變量的值可能被別的邏輯塊的臨時變量覆蓋掉。網友youhm的測試驗證了這一結論。他說:“如果僅僅調用一個FC,代碼放在FC里測試實現了存儲的功能,當調用多個FC,并且FC里都使用了臨時變量,我在另外一個FC變量里把所有的臨時變量都復位為0,這時在第一個FC里調用的這段代碼就不能實現這個功能了,另外也測試了,在OB35里同時使用臨時變量也是一樣的效果”。

                因此,用塊的臨時變量作上升沿、下降沿檢測指令的邊沿存儲位來保存變量的狀態是極其危險的,稍有不慎,可能會出現災難性的后果。

                建議:“**還是不要用(臨時變量作邊沿存儲器位),我以前使用過,造成的后果很嚴重。后來就學乖啦!”

                邊沿存儲位雖然允許使用L區(局部數據區),但是請注意,FB的L區包括靜態變量和臨時變量等,允許用L區并不說明用臨時變量作邊沿存儲位是合理的。

                編程的*高境界是在FB、FC中全部使用局部變量,不使用像M這樣的全局變量。這樣的塊不需作任何修改,就可以移植到其他項目。為此可以使用功能塊的靜態變量來作上升沿、下降沿檢測指令的邊沿存儲位。這樣不會出現使用臨時變量帶來的問題,也解決了塊的可移植性問題。

                有個德國人作的符合IEC  61131-3標準的編程軟件干脆就把邊沿檢測指令做成功能塊(也可能是IEC61131-3規定的指令),把使用臨時變量作邊沿存儲位的路徹底堵死了。


                版權聲明PLC信息網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
              0571-87774297  
              免费人成激情视频在线看