勤工儉學
deep throat
級別: 論壇先鋒
|
rs2指令,通道2,參數設置如下圖。 plc與電腦通信,數據發送正常,接收也正常。 但是如果電腦沒有發送數據的話,plc通信超時標志位不會接通。哪怕是一頓午飯的時間,依然沒有通信超時。 中午飯后發現沒有通信超時,我嘗試從電腦發送一段數據給plc,plc接收了,完成一次發送接收。 我查看手冊,手冊里部分內容如下。 “當接收數據中途中斷時,從這一刻開始,如果經過了超時時間設定中的時間,卻依然沒有收到下一個數據,則通信超時判定標志位置ON。” 是不是數據發送結束后,并沒有進入”數據接收“的狀態,要有數據或著其他什么東西來觸發接收。 所以沒有搞明白為什么通信超時不起作用。 先謝謝各位大神了。 |
---|---|
|
勤工儉學
deep throat
級別: 論壇先鋒
|
先謝謝你的回帖~ 用的是rs2指令和電腦進行通信的。現在是plc送出數據后,等電腦回發數據,這樣完成一次簡單的通信。昨天發現電腦沒有回發數據,plc這邊就一直等待電腦回發,沒有通信超時。我想是不是某個參數沒有設置好,造成通信超時沒有起作用。 |
---|---|
|
勤工儉學
deep throat
級別: 論壇先鋒
|
謝謝啦~ 報文格式以及校驗是沒有問題的。現在主要是plc這邊的通信超時功能不起作用。標志位m8429沒有動作。 |
---|---|
|
勤工儉學
deep throat
級別: 論壇先鋒
|
是的,只用在只發不收的情況。我是在無意中發現這個情況。 |
---|---|
|
勤工儉學
deep throat
級別: 論壇先鋒
|
我仔細看了手冊,在rs2指令發送數據后,不會馬上進入數據接收狀態。 手冊里有一段話,如下。 執行了RS2指令后, 變為等待接收狀態。 從連接的設備接收數據, 當接收數據結束時, 接收結束標志位置ON。 在等待接收狀態下接收到數據后, 數據的接收就開始了。 數據接收開始后, 以中斷方式保存接收數據, 而與運算周期無關。 但是, 當在通信格式中指定了報頭時, 連續接收到報頭中設定的代碼時, 接收才開始。 除報頭以外的接收數據被保存。 這段話說明有在數據接收之前有一個狀態,是等待接收狀態。這個等待狀態需要接收到數據后才會切換到接收中的狀態。所以在等待接收狀態中是不會產生通信超時的。通信超時產生于數據接收的過程中。 不知道我的理解對不對。 |
---|---|
|