plc做主站的時候,不管PLC連接的是單從站還是多從站,主站程序都應該考慮到從站會發生故障,從站故障有兩種,一種是有故障,但不影響和主站通訊,另一種是有故障,不能和主站通訊,例如從站掉電,通訊線故障或者從站本身故障導致的不能和主站通訊。對于后者,主站在發送后,從站是不會回復數據的,主站不能等,而應該結束RCV接收狀態,然后發送,那么為什么和如何結束RCV接收狀態呢?一 為什么要結束RCV接收狀態呢?發送指令XMT將數據發送出去就完事,而接收RCV不一樣,一次完整成功的RCV過程需要以下步驟:1 使能位:SM87.7=1/SM187.7=1,執行RCV的時候會檢查該位2 執行RCV3 等待消息起始條件4 接收信息5 等待消息結束條件6 退出接收狀態RCV指令啟動后并不一定就接收消息,如果消息起始條件沒有達到,那就一直處于等待接收的狀態;如果消息始終沒有開始或者結束,通信口就一直處于接收狀態。這時如果嘗試執行XMT指令,就不會發送任何消息。所以要結束接收RCV接收狀態后才能執行XMT。二:如何結束RCV接收狀態?手冊上給出6種結束條件:1.結束字符檢測2.字符間計時器3.信息計時器4. 大字符計數5.校驗錯誤6.用戶終止方法1:前4種條件在從站發生通訊故障后就失效了,必須要配合用戶終止一般執行XMT后,在發送完成中斷里執行RCV,同時啟動定時中斷或者啟動定時器或者執行開始間隔時間BITIM,計時時間到復位使能位SM87.7/SM187.7,同時執行RCV,這樣結束RCV指令,比如定時中斷里發送:LD SM0.0R SM87.7, 1RCV VB0, 0S SM87.7, 1LD SM0.0DTCH 10LD SM0.0XMT VB100, 0方法2:設置:SMB87=16#9C, SMW90/SMW190=0,SMW92/SMW192=x執行RCV指令x毫秒后自動結束接收狀態。如果用的是字符中斷方式接收信息,那么將中斷分離后即可發送DTCH 8XMT VB100, 0 用結束字符作為結束條件的時候,如果與設備的通信斷了,CPU就會停滯在接受狀態,之后的發送也不成功了,通訊也徹底斷了。后來別人教我在發送前面用復位SMB87.7結束發送就好了。自由口用RCV接收,接收到的數據總是一部分,不全,反復檢查做實驗,才發現原來是結束的定時器時間設短了,導致數據沒有接收完,RCV就結束了,增大了時間,一切就OK了。剛做自由口編程時,一下載下去,編程軟件就無法和CPU通信了,后來打到停止狀態,CPU才恢復PPI,可以正常監控,下載了。
溫馨提示:湖南陽光技術學校常年面向全國招生(不限年齡)。由湖南陽光技術學校實戰一線首席技術專家授課,天天實操,全程實戰,手把手教,。我們是正規技術學校,我們有自己的校園,我們是行業正規軍!我們有自己的教學樓、學員公寓樓、籃球場(2個)、有校內花園、有專業實操車間。我們會為您提供海量的plc自由口編程處理的信息,如果您想了解有關plc自由口編程處理方面的更多資訊,請經常關注我校網站:www.missrz.cn 也可以加我們微信號:yp941688 或 yp94168;我們將給你 詳細的與plc自由口編程處理相關的解答。 如果您對湖南陽光技術學校發布的plc自由口編程處理這條信息有什么好的建議,請告訴我們。您的寶貴建議對我們逐步完善plc自由口編程處理的內容有重要的參考作用!