勤工儉學
deep throat
級別: 論壇先鋒
![]() |
rs2指令,通道2,參數(shù)設(shè)置如下圖。 ![]() plc與電腦通信,數(shù)據(jù)發(fā)送正常,接收也正常。 但是如果電腦沒有發(fā)送數(shù)據(jù)的話,plc通信超時標志位不會接通。哪怕是一頓午飯的時間,依然沒有通信超時。 中午飯后發(fā)現(xiàn)沒有通信超時,我嘗試從電腦發(fā)送一段數(shù)據(jù)給plc,plc接收了,完成一次發(fā)送接收。 我查看手冊,手冊里部分內(nèi)容如下。 “當接收數(shù)據(jù)中途中斷時,從這一刻開始,如果經(jīng)過了超時時間設(shè)定中的時間,卻依然沒有收到下一個數(shù)據(jù),則通信超時判定標志位置ON。” 是不是數(shù)據(jù)發(fā)送結(jié)束后,并沒有進入”數(shù)據(jù)接收“的狀態(tài),要有數(shù)據(jù)或著其他什么東西來觸發(fā)接收。 所以沒有搞明白為什么通信超時不起作用。 先謝謝各位大神了。 |
---|---|
|
ntbigcg
級別: 探索解密
![]() |
這個有點復雜了,1、你PLC里用的是什么方式發(fā)送數(shù)據(jù)的,用RS?如果用了,就會一直在發(fā)送接收,除非指令不發(fā)送接收。你如果加了超時判定標志斷開了發(fā)送接收,那你得有程序來恢復發(fā)送接收。2、如果你沒用RS,而是用上位機,那上位機程序里判斷超時設(shè)置后有沒有用恢復通訊功能?還有要檢查上位機的每次發(fā)送接收之間有沒有加延時防止通訊來不及反應導致的通訊錯誤,通訊錯誤就會發(fā)生超時。 從問題來看,你是用了RS的,你用RS發(fā)送的時候與上位機怎樣協(xié)商的,是不是需要上位機回發(fā)數(shù)據(jù),如果有回發(fā),你PLC里有沒有等回發(fā)結(jié)束再給上位機發(fā)送,如果沒有加這個判斷,很容易發(fā)生錯誤的,一發(fā)生錯誤通訊就死掉了。 [ 此帖被ntbigcg在2020-03-23 07:49重新編輯 ] |
---|---|
|