ayusecret
級別: 略有小成
![]() |
最近基于Python寫了一些測試MC協(xié)議的代碼,想測測斷線重連的功能,發(fā)現(xiàn)拔了網(wǎng)線后再插上,用原來的套接字無法與PLC通訊(下斷點調(diào)也無法實現(xiàn)).監(jiān)控PLC網(wǎng)絡(luò)狀態(tài)仍然處于連接中(與之前的套接字連接).如果我在Python程序內(nèi)重新以一個新的套接字去嘗試連接,會回復(fù)目標(biāo)計算機積極拒絕.這樣我只能復(fù)位PLC才能斷開PLC的連接狀態(tài),這在實際應(yīng)用應(yīng)該是不允許的.后面再Gxword3內(nèi)配置參數(shù),讓PLC自己10s后監(jiān)視生存,再反復(fù)3次監(jiān)視確認自動斷開.想請教各位在用上位機是如何實現(xiàn)斷線重連的,又或者是即使無重連功能,重新初始化是如何連上PLC的 |
---|---|
|
ayusecret
級別: 略有小成
![]() |
圖片:
![]()
試過了,PLC一直拒絕響應(yīng) |
---|---|
|
ayusecret
級別: 略有小成
![]() |
感謝提供思路,不過貌似沒給回答到點上,就是三菱用的是還是上個連接,即使我初始化用新的套接字也無法連上。會被拒絕。(當(dāng)然PLC參數(shù)上可用設(shè)置超時斷開)。普通程序奔潰或調(diào)試程序斷開,這種都能正常重連,不過既然你說套接字斷線后無法沿用原來的連接,那我只能在PLC上參數(shù)設(shè)置了。 |
---|---|
|
ayusecret
級別: 略有小成
![]() |
我知道有控件,還有別人開源的HslCommunication的動態(tài)鏈接庫,我只是想自己寫個玩玩,學(xué)習(xí)一下。不懂就要問 ![]() |
---|---|
|
ayusecret
級別: 略有小成
![]() |
Close前面已經(jīng)有兩次Send是斷線后發(fā)的,提示遠程主機中止連接。但又沒法Connect,因為我的套件字已經(jīng)Connect了。所以只能初始化重新嘗試連接。 |
---|---|
|
ayusecret
級別: 略有小成
![]() |
不知道你在什么環(huán)境下測試的,我是用Gxwork3,R04 CPU測試,測試環(huán)境默認沒有開啟生存定時器,所以我拔網(wǎng)線,PLC還是不會關(guān)閉連接的。只有我在參數(shù)上再配置定時器超時自動關(guān)閉才會關(guān)閉。 我的配圖從頭到尾,PLC都沒斷之前的連接,錯誤都是為了演示整個過程,我知道錯誤的原因,只是當(dāng)時納悶PLC為啥自己不斷開,后面開了定時器才正常。沒驗證Gxwork2 Q系列PLC的,貌似Gxwork2沒有這個定時器配置,難道這就是區(qū)別? |
---|---|
|