lucas
級(jí)別: 家園常客
![]() |
![]() 如圖,怎么解釋SD10681 與SD10682 這2個(gè)信號(hào)? 開(kāi)放請(qǐng)求,是誰(shuí)請(qǐng)求誰(shuí)? 為什么用開(kāi)放請(qǐng)求信號(hào) 去關(guān)閉端口? ![]() 反而開(kāi)放請(qǐng)求信號(hào)為OFF時(shí)才能開(kāi)啟端口 ![]() 難道是SD10681 是OFF時(shí)請(qǐng)求開(kāi)放,ON時(shí)關(guān)閉請(qǐng)求? 但是貌似又不是這么一回事: ![]() [ 此帖被lucas在2019-09-11 16:28重新編輯 ] |
---|---|
|
tkggtdkjpl
工欲善其事,必先利其器!
級(jí)別: 網(wǎng)絡(luò)英雄
![]() ![]() |
一個(gè)是自己的狀態(tài),一個(gè)是對(duì)方的狀態(tài) 因?yàn)镻LC要么做服務(wù)器要么做客戶端 |
|
---|---|---|
|
lucas
級(jí)別: 家園常客
![]() |
那哪個(gè)是自己的?哪個(gè)是對(duì)方的? |
---|---|
|
guoqing3511
隨風(fēng)飄蕩
級(jí)別: 家園常客
![]() |
我有發(fā)socket方面的通訊,你看看。 |
---|---|
|
lucas
級(jí)別: 家園常客
![]() |
socket通訊照著手冊(cè)上寫(xiě)就沒(méi)問(wèn)題,但是道理要弄明白啊 |
---|---|
|
zmrs163
級(jí)別: 家園常客
![]() |
原理很簡(jiǎn)單,可以去看下TCP的書(shū)。SD10681是PLC發(fā)起連接請(qǐng)求時(shí)變?yōu)镺N,如果PLC是客戶端由CLOSE指令OFF。如果是服務(wù)器就一直為ON。SD10680代表實(shí)際的連接狀態(tài),TCP三次握手之后為ON,四次揮手之后為OFF。實(shí)際的連接可以由服務(wù)器或者客戶端發(fā)起斷開(kāi),PLC發(fā)起就是CLOSE,服務(wù)器那端斷開(kāi)其實(shí)也就是類似于close的一個(gè)函數(shù)而已,這時(shí)SD10680就是自動(dòng)OFF。 |
---|---|
本帖最近評(píng)分記錄: |
lucas
級(jí)別: 家園常客
![]() |
有道理,假如PLC是客戶端,那么SD10681是請(qǐng)求服務(wù)器打開(kāi)端口嗎? 別外三次握手是哪三次? 四次揮手又是哪4次?(已經(jīng)百度,上面有很多解釋,我先看看) |
---|---|
|
zmrs163
級(jí)別: 家園常客
![]() |
如果PLC是客戶端SD10681在OPEN指令之后為ON,CLOSE指令之后為OFF。你那個(gè)程序的意思是,如果服務(wù)器發(fā)起斷開(kāi),那么SD10680會(huì)有一個(gè)下降沿,然后PLC就使用CLOSE復(fù)位SD10681,以便于下一次打開(kāi),否則無(wú)法再次使用OPEN指令 |
---|---|
|
zmrs163
級(jí)別: 家園常客
![]() |
補(bǔ)充一下,TCP的斷開(kāi)類似于打電話,SD10680的OFF意味著對(duì)方掛斷了電話,那么我也需要掛電話,SD10681的OFF意味著我也掛掉了電話。而SD10681的ON就好比我打電話打出去,SD10680的ON意味著電話打通了 |
---|---|
本帖最近評(píng)分記錄: |
lucas
級(jí)別: 家園常客
![]() |
嗯嗯,謝謝解答! 終于遇到一個(gè)能講通的答案! 朋友看來(lái)你對(duì)TCP通訊很了解 ![]() |
---|---|
|