到底是誰動了我的PLC輸出

發(fā)布時間:2024-02-15
i/o - 輸入輸出,大家都非常熟悉,自動化系統(tǒng)中無處不在。我們通過操縱一系列的i/o來達(dá)到預(yù)期的控制目標(biāo)。然而調(diào)試中卻經(jīng)常會出現(xiàn)一些不按預(yù)設(shè)邏輯工作的輸出,如圖1中所顯示的,q0.0~q0.3已經(jīng)接通了,但實際模板卻沒有輸出,在變量表中監(jiān)視這些地址,發(fā)現(xiàn)這些地址確實為斷開狀態(tài)。到底是誰動了我的輸出呢?
通常大家首先會考慮,可能程序的其他地方也使用了這些輸出從而導(dǎo)致不正常,我們可以使用go to location功能來查找整個項目中哪些地方都使用了q0.0,如圖2。
在圖3的go to location中選中“overlapping access to memory access”可以查找項目中包含地址q0.0的所有變量,但是發(fā)現(xiàn)除了在ob1的network1有對q0.0進(jìn)行寫操作的指令,即目前監(jiān)視的位置外,再沒有其他的地方使用這個地址。查到這可能很多人就不淡定了,認(rèn)為自己的程序完全沒有問題,接著開始抱怨模板問題,cpu問題。。。
其實對程序的排查并沒有完成,go to location功能只能搜索離線的程序,無法搜索實際在plc中運行的程序。一臺plc可能被下載過很多套程序,而我們拿來后,未經(jīng)任何處理,就直接下載自己的項目到plc,可能會遇到plc在執(zhí)行一些離線項目中并不存在的ob塊的情況。例如曾經(jīng)下載到plc的程序中包含ob35,但目前的離線項目中卻并沒有使用ob35,plc依然會周期執(zhí)行ob35里的指令,如果ob35里包含對q0.0的復(fù)位指令,也會出現(xiàn)圖1所示的故障。step 7提供了一個簡單的方法來排除這種情況:使用simatic manager 窗口下plc菜單中的“download user program to memory card”功能重新下載項目程序,此功能會先刪除plc中所有的內(nèi)容,然后再下載離線項目到plc中,這樣就能避免“隱藏”在plc中程序的干擾。
另外還有一種情況是程序中使用了間接尋址,go to location功能只能搜索到已使用的靜態(tài)地址,而無法確定需要在運行中動態(tài)計算出的地址。
例如:
clr
= q [md100 ]
md100不同的值將導(dǎo)致不同的q點被復(fù)位
md100 = 16#0 ,q0.0 = 0
md100 = 16#1 ,q0.1 = 0
對于自己編寫的程序,大家都確切的知道在哪使用了間接尋址,可以單獨把這些程序段拿出來進(jìn)行單步調(diào)試,以避免對地址的誤操作,而調(diào)試由其他人編寫的或廠家提供的功能塊,甚至這些塊被加密保護(hù)了,則只能使用排除法,先將這些塊都刪掉,然后再一點點添加到程序中,來判斷是哪些程序段造成的錯誤輸出。例如fm350-1 lib提供的功能塊fc2,如果硬件組態(tài)時忘記將fm350-1的模板地址設(shè)置到指定的db中,由于db初始值默認(rèn)都是0,就會影響qb0~qb15的輸出。
最后為了快速定位到底是不是程序問題,一個簡單的方法就是在線刪掉plc中所有ob塊,然后在硬件組態(tài)窗口中啟用模板的監(jiān)視/修改(monitor/modify)功能,通過此對話框直接修改輸出,如圖4所示,輸出顯示都正常,說明問題還是出在程序上。
上一個:戰(zhàn)旗pc游戲(戰(zhàn)旗電腦游戲)
下一個:品質(zhì)出眾(crouzet電機(jī)馬達(dá)滿足您的機(jī)械紡織和汽車制造需求)

巴黎三日游攻略 巴黎三日游路線
冬季存放普洱茶的妙招
{土壤養(yǎng)分檢測儀多少錢}-土壤養(yǎng)分檢測儀多少錢-土壤養(yǎng)分檢測儀多少錢
win7系統(tǒng)如何清除ie瀏覽器緩存文件(win7系統(tǒng)如何清除ie瀏覽器緩存垃圾)
高低溫交變濕熱試驗箱溫度達(dá)不到設(shè)定值應(yīng)怎么
核桃樹除草劑的混用原則
意大利univer氣缸w1600320025m
厚聲1206W4F562KT5E電阻
剖析溫度沖擊試驗箱低溫對試樣產(chǎn)生的影響
免費ssr軟件,哪有免費的FLASH的軟件
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos