勤工儉學(xué)
deep throat
級(jí)別: 論壇先鋒
![]() |
rs2指令,通道2,參數(shù)設(shè)置如下圖。 ![]() plc與電腦通信,數(shù)據(jù)發(fā)送正常,接收也正常。 但是如果電腦沒(méi)有發(fā)送數(shù)據(jù)的話,plc通信超時(shí)標(biāo)志位不會(huì)接通。哪怕是一頓午飯的時(shí)間,依然沒(méi)有通信超時(shí)。 中午飯后發(fā)現(xiàn)沒(méi)有通信超時(shí),我嘗試從電腦發(fā)送一段數(shù)據(jù)給plc,plc接收了,完成一次發(fā)送接收。 我查看手冊(cè),手冊(cè)里部分內(nèi)容如下。 “當(dāng)接收數(shù)據(jù)中途中斷時(shí),從這一刻開(kāi)始,如果經(jīng)過(guò)了超時(shí)時(shí)間設(shè)定中的時(shí)間,卻依然沒(méi)有收到下一個(gè)數(shù)據(jù),則通信超時(shí)判定標(biāo)志位置ON。” 是不是數(shù)據(jù)發(fā)送結(jié)束后,并沒(méi)有進(jìn)入”數(shù)據(jù)接收“的狀態(tài),要有數(shù)據(jù)或著其他什么東西來(lái)觸發(fā)接收。 所以沒(méi)有搞明白為什么通信超時(shí)不起作用。 先謝謝各位大神了。 |
---|---|
|
勤工儉學(xué)
deep throat
級(jí)別: 論壇先鋒
![]() |
先謝謝你的回帖~ 用的是rs2指令和電腦進(jìn)行通信的。現(xiàn)在是plc送出數(shù)據(jù)后,等電腦回發(fā)數(shù)據(jù),這樣完成一次簡(jiǎn)單的通信。昨天發(fā)現(xiàn)電腦沒(méi)有回發(fā)數(shù)據(jù),plc這邊就一直等待電腦回發(fā),沒(méi)有通信超時(shí)。我想是不是某個(gè)參數(shù)沒(méi)有設(shè)置好,造成通信超時(shí)沒(méi)有起作用。 |
---|---|
|
勤工儉學(xué)
deep throat
級(jí)別: 論壇先鋒
![]() |
謝謝啦~ 報(bào)文格式以及校驗(yàn)是沒(méi)有問(wèn)題的,F(xiàn)在主要是plc這邊的通信超時(shí)功能不起作用。標(biāo)志位m8429沒(méi)有動(dòng)作。 |
---|---|
|
勤工儉學(xué)
deep throat
級(jí)別: 論壇先鋒
![]() |
是的,只用在只發(fā)不收的情況。我是在無(wú)意中發(fā)現(xiàn)這個(gè)情況。 |
---|---|
|
勤工儉學(xué)
deep throat
級(jí)別: 論壇先鋒
![]() |
我仔細(xì)看了手冊(cè),在rs2指令發(fā)送數(shù)據(jù)后,不會(huì)馬上進(jìn)入數(shù)據(jù)接收狀態(tài)。 手冊(cè)里有一段話,如下。 執(zhí)行了RS2指令后, 變?yōu)榈却邮諣顟B(tài)。 從連接的設(shè)備接收數(shù)據(jù), 當(dāng)接收數(shù)據(jù)結(jié)束時(shí), 接收結(jié)束標(biāo)志位置ON。 在等待接收狀態(tài)下接收到數(shù)據(jù)后, 數(shù)據(jù)的接收就開(kāi)始了。 數(shù)據(jù)接收開(kāi)始后, 以中斷方式保存接收數(shù)據(jù), 而與運(yùn)算周期無(wú)關(guān)。 但是, 當(dāng)在通信格式中指定了報(bào)頭時(shí), 連續(xù)接收到報(bào)頭中設(shè)定的代碼時(shí), 接收才開(kāi)始。 除報(bào)頭以外的接收數(shù)據(jù)被保存。 這段話說(shuō)明有在數(shù)據(jù)接收之前有一個(gè)狀態(tài),是等待接收狀態(tài)。這個(gè)等待狀態(tài)需要接收到數(shù)據(jù)后才會(huì)切換到接收中的狀態(tài)。所以在等待接收狀態(tài)中是不會(huì)產(chǎn)生通信超時(shí)的。通信超時(shí)產(chǎn)生于數(shù)據(jù)接收的過(guò)程中。 不知道我的理解對(duì)不對(duì)。 |
---|---|
|