勤工儉學(xué)
deep throat
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 188 個(gè)
工控威望: 1567 點(diǎn)
下載積分: 5955 分
在線時(shí)間: 120(小時(shí))
注冊(cè)時(shí)間: 2016-03-10
最后登錄: 2024-09-27
查看勤工儉學(xué)的 主題 / 回貼
樓主  發(fā)表于: 2020-03-22 12:25
rs2指令,通道2,參數(shù)設(shè)置如下圖。


plc與電腦通信,數(shù)據(jù)發(fā)送正常,接收也正常。
但是如果電腦沒有發(fā)送數(shù)據(jù)的話,plc通信超時(shí)標(biāo)志位不會(huì)接通。哪怕是一頓午飯的時(shí)間,依然沒有通信超時(shí)。
中午飯后發(fā)現(xiàn)沒有通信超時(shí),我嘗試從電腦發(fā)送一段數(shù)據(jù)給plc,plc接收了,完成一次發(fā)送接收。
我查看手冊(cè),手冊(cè)里部分內(nèi)容如下。
“當(dāng)接收數(shù)據(jù)中途中斷時(shí),從這一刻開始,如果經(jīng)過了超時(shí)時(shí)間設(shè)定中的時(shí)間,卻依然沒有收到下一個(gè)數(shù)據(jù),則通信超時(shí)判定標(biāo)志位置ON!
是不是數(shù)據(jù)發(fā)送結(jié)束后,并沒有進(jìn)入”數(shù)據(jù)接收“的狀態(tài),要有數(shù)據(jù)或著其他什么東西來觸發(fā)接收。
所以沒有搞明白為什么通信超時(shí)不起作用。
先謝謝各位大神了。
ntbigcg
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 132 個(gè)
工控威望: 170 點(diǎn)
下載積分: 52725 分
在線時(shí)間: 58(小時(shí))
注冊(cè)時(shí)間: 2020-02-22
最后登錄: 2024-12-26
查看ntbigcg的 主題 / 回貼
1樓  發(fā)表于: 2020-03-23 07:44
這個(gè)有點(diǎn)復(fù)雜了,1、你PLC里用的是什么方式發(fā)送數(shù)據(jù)的,用RS?如果用了,就會(huì)一直在發(fā)送接收,除非指令不發(fā)送接收。你如果加了超時(shí)判定標(biāo)志斷開了發(fā)送接收,那你得有程序來恢復(fù)發(fā)送接收。2、如果你沒用RS,而是用上位機(jī),那上位機(jī)程序里判斷超時(shí)設(shè)置后有沒有用恢復(fù)通訊功能?還有要檢查上位機(jī)的每次發(fā)送接收之間有沒有加延時(shí)防止通訊來不及反應(yīng)導(dǎo)致的通訊錯(cuò)誤,通訊錯(cuò)誤就會(huì)發(fā)生超時(shí)。
從問題來看,你是用了RS的,你用RS發(fā)送的時(shí)候與上位機(jī)怎樣協(xié)商的,是不是需要上位機(jī)回發(fā)數(shù)據(jù),如果有回發(fā),你PLC里有沒有等回發(fā)結(jié)束再給上位機(jī)發(fā)送,如果沒有加這個(gè)判斷,很容易發(fā)生錯(cuò)誤的,一發(fā)生錯(cuò)誤通訊就死掉了。
[ 此帖被ntbigcg在2020-03-23 07:49重新編輯 ]