999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁 > 文章中心 > 西門子PLC > S7-200PLC出現(xiàn)干擾時因?yàn)檫@樣的原因!

S7-200PLC出現(xiàn)干擾時因?yàn)檫@樣的原因!

盧思敏 發(fā)布于2017-04-25 11:06 19 0 標(biāo)簽:S7-200PLC

學(xué)工控技術(shù),拿10萬年薪

點(diǎn)下面注冊
馬上注冊,免費(fèi)學(xué)習(xí)plc視頻教程
馬上注冊,免費(fèi)學(xué)習(xí)超過100課時視頻教程,免費(fèi)下載海量學(xué)習(xí)資料


前幾天看到技成論壇中有學(xué)員發(fā)了個這樣的問題:

 

他在學(xué)習(xí)帶參數(shù)子程序的編寫,編寫了一個簡單的帶參數(shù)的子程序,但是發(fā)現(xiàn)在調(diào)用時,個子程序執(zhí)行后,第二個子程序也會有輸出,他不知道是為什么?程序很簡單,是我們編程程序經(jīng)常會用到的一個起保停電路。程序運(yùn)行結(jié)果如下圖所示程序中,I0.0接通后,Q0.0輸出為1,Q0.1不應(yīng)該為1的卻也為1了。(左側(cè)為主程序,右側(cè)為子程序)。

 

下面是我個人之見解,若有分享不當(dāng)之處,望大家指正,謝謝!

為什么會出現(xiàn)這個情況呢?

這主要是對于子程序中變量的類型應(yīng)用不正確造成的這種錯誤。子程序中有四種變量類型,分別為:

1)輸入變量(IN):用于傳遞實(shí)際參數(shù)進(jìn)入子程序運(yùn)算

2)輸入/輸出變量(IN/OUT):用于把實(shí)際參數(shù)的初始值傳遞到子程序中進(jìn)行運(yùn)算,運(yùn)算完后把結(jié)果放回到該實(shí)際參數(shù)中,因此這個變量的實(shí)際參數(shù)不能使用常數(shù)。

3)輸出變量(OUT):該變量分配的實(shí)參用于存儲子程序中運(yùn)算完后的結(jié)果

4) 臨時變量(TEMP):用于存儲子程序中運(yùn)算的中間結(jié)果。


 在這四種變量中,對子程序輸出會有影響的主要是后面兩個變量,我們主要了解后面兩個變量的時候,就可以避免帶參數(shù)子程序在重復(fù)調(diào)用時會出現(xiàn)相互干擾的問題。

首先,我們看輸出變量(OUT)的使用,在上面這個朋友所發(fā)表的問題中,就是因?yàn)檩敵鲎兞康膯栴},所以才造成了這種情況的。

我們可以來分析這個程序,在這個程序中,“啟動”、“停止”這兩個明顯建立的是輸入變量(IN)的變量類型,而“輸出”這個建立的是輸出變量(OUT)類型。我們要分析他為什么會出現(xiàn)干擾,得從PLC的掃描過程,及實(shí)操與形參的對應(yīng)如下圖所示,箭頭方向表示數(shù)據(jù)傳遞方向。

眾所周知PLC的掃描是從上往下周期型掃描的,所以PLC在執(zhí)行程序的時候,會先執(zhí)行網(wǎng)絡(luò)1,然后在執(zhí)行網(wǎng)絡(luò)2的程序,所以當(dāng)執(zhí)行網(wǎng)絡(luò)1的程序的時候,會把實(shí)參的狀態(tài)傳遞到子程序的形參中,所以對于網(wǎng)絡(luò)1的程序來講,形式參數(shù):“#啟動:L0.0=I0.0,“#停止:L0.1=I0.1 而實(shí)參Q0.0=#輸出:L0.2

 

所以在執(zhí)行這個子程序時,當(dāng)I0.0=1,I0.1=0的時候,即按下啟動按鈕I0.0時,形參“#啟動:L0.0=1”, “#停止:L0.1=0”,執(zhí)行程序后 “#輸出:L0.2=1”因Q0.0= #輸出:L0.2”,所以Q0.0=1.。

 

當(dāng)執(zhí)行網(wǎng)絡(luò)2時,形式參數(shù):#啟動:L0.0=I0.2,“#停止:L0.1=I0.3 而實(shí)參Q0.1=#輸出:L0.2”所以在執(zhí)行網(wǎng)絡(luò)2的程序時,當(dāng)I0.0=0,I0.1=1時,則:“#啟動:L0.0=0”,“#停止:L0.1=0”因“#輸出:L0.2”在上一個網(wǎng)絡(luò)的運(yùn)行結(jié)果為1,所以當(dāng)“#啟動:L0.0”與“#輸出:L0.2”進(jìn)行邏輯或運(yùn)算后,得到的結(jié)果為1,然后與“#停止:L0.1”的非做邏輯與運(yùn)算,所以“#輸出:L0.2”還是保持為1的結(jié)果。所以輸出Q0.1=#輸出:L0.2=1.

 

通過這樣的分析,前面調(diào)用子程序的輸出狀態(tài)或在下個子程序調(diào)用中會用到,因此大家就可以理解為什么按下I0.0這個啟動按鈕后,Q0.0 Q0.1都會有輸出了。

 

若需要處理這個問題應(yīng)該如何處理呢?需要處理這個問題,很簡單,我們只需要把這個輸出的變量改成輸入/輸出的變量就可以了,因?yàn)檩斎?/span>/輸出變量,相對于輸出變量來講,他是需要把初始值給到我們的子程序?qū)?yīng)的形參去運(yùn)算,運(yùn)算完后在給出,還是以剛才的方法去分析,就算前一個網(wǎng)絡(luò)中,他的輸出結(jié)果“#輸出:L0.2=1”執(zhí)行到下一個網(wǎng)絡(luò)后,因?yàn)楦某奢斎?/span>/輸出,會把Q0.1的初始狀態(tài)0,給到“#輸出:L0.2”,所以開始運(yùn)算時是以“#啟動:L0.0”與“#輸出:L0.2”進(jìn)行邏輯或運(yùn)算,因兩個狀態(tài)都為0,所以運(yùn)算結(jié)果為0,然后跟“#停止:L0.1的非”做邏輯與運(yùn)算,輸出結(jié)果“#輸出:L0.2=0”因此Q0.1=#輸出:L0.2=0.所以當(dāng)你把這個變量改成輸入/輸出變量的時候就不會產(chǎn)生干擾了。

 

我們再來看另外的一個帶形式參數(shù)的子程序,程序如下圖所示:

1)變量表:

2)子程序

 3)主程序

大家可以分析下,這個程序,在運(yùn)行的過程中會不會出現(xiàn)干擾呢?

 

很明顯,你只需要掌握了前面我們所說的分析方法去分析,你會發(fā)現(xiàn)這個程序也是會相互干擾的,如下圖所示:

這個程序其實(shí)跟我們前面所提到的是一樣的意思,如何去改,大家應(yīng)該也知道。

若程序改成這樣后,大家覺得是否還是會出現(xiàn)干擾呢?

 1)變量表


2)子程序


3)主程序


在程序中,我們把原來開始計算的那個條件給去掉了,換成了SM0.0作為條件,大家可以自己分析下,這個程序會不會出現(xiàn)相互干擾的情況。


作者:技成培訓(xùn)網(wǎng)(曾鑫)

本文版權(quán)為技成所有,未經(jīng)同意,盜取必究!

推薦學(xué)習(xí)相關(guān)課程:

西門子S7-200 SMART PLC編程應(yīng)用入門

西門子S7-200從入門到精通

西門子S7-300中高級應(yīng)用技術(shù)

西門子S7-300使用指南

若有收獲,就點(diǎn)個贊吧!

文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請聯(lián)系站長
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

S7-200PLC

相關(guān)推薦

最新文章 熱門文章
最新課程 免費(fèi)課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機(jī)APP
熱門標(biāo)簽