一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
樓主  發表于: 2022-06-09 08:31
最近基于Python寫了一些測試MC協議的代碼,想測測斷線重連的功能,發現拔了網線后再插上,用原來的套接字無法與PLC通訊(下斷點調也無法實現).監控PLC網絡狀態仍然處于連接中(與之前的套接字連接).如果我在Python程序內重新以一個新的套接字去嘗試連接,會回復目標計算機積極拒絕.這樣我只能復位PLC才能斷開PLC的連接狀態,這在實際應用應該是不允許的.后面再Gxword3內配置參數,讓PLC自己10s后監視生存,再反復3次監視確認自動斷開.想請教各位在用上位機是如何實現斷線重連的,又或者是即使無重連功能,重新初始化是如何連上PLC的
cythyx
級別: 家園常客
精華主題: 0
發帖數量: 451 個
工控威望: 527 點
下載積分: 1634 分
在線時間: 107(小時)
注冊時間: 2019-06-27
最后登錄: 2025-01-15
查看cythyx的 主題 / 回貼
1樓  發表于: 2022-06-09 08:47
使用套接字的通訊方式,一般會檢測通訊狀態,如果檢測到通訊狀態斷開不是直接再連端口,需要先執行關閉端口,再打開端口連接。
ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
2樓  發表于: 2022-06-09 09:37
圖片:
引用
引用第1樓cythyx于2022-06-09 08:47發表的  :
使用套接字的通訊方式,一般會檢測通訊狀態,如果檢測到通訊狀態斷開不是直接再連端口,需要先執行關閉端口,再打開端口連接。

試過了,PLC一直拒絕響應
13821917697
承接電氣自動化項目、電氣接線圖設計、IO點表、電氣元器件選型
級別: 工控俠客
精華主題: 0
發帖數量: 763 個
工控威望: 3151 點
下載積分: 13494 分
在線時間: 1128(小時)
注冊時間: 2019-12-26
最后登錄: 2025-02-07
查看13821917697的 主題 / 回貼
3樓  發表于: 2022-06-09 11:00
圖片:
Python的不太懂啊,C#最近剛好做了個這么功能可以跟你說說思路。首先套接字斷線之后是不能沿用原先的連接的,我這里做的方式是重新new了一下。用一個新的連接。建立一個bool變量作為標志位,初次連接成功之后,標志位置反,開始正常工作。如果斷開連接,try里面的正常工作指令會報錯跳到catch,這里我們把套接字dispose全部釋放,并且標志位初始化。然后就又開始重新連接了。就是這樣
我看到你了
級別: 家園常客
精華主題: 0
發帖數量: 373 個
工控威望: 619 點
下載積分: 491 分
在線時間: 156(小時)
注冊時間: 2018-05-02
最后登錄: 2024-09-12
查看我看到你了的 主題 / 回貼
4樓  發表于: 2022-06-09 11:14
為什么不直接用三菱的控件,MXcomponent啊還搞啥socket
ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
5樓  發表于: 2022-06-09 11:54
引用
引用第3樓13821917697于2022-06-09 11:00發表的  :
Python的不太懂啊,C#最近剛好做了個這么功能可以跟你說說思路。首先套接字斷線之后是不能沿用原先的連接的,我這里做的方式是重新new了一下。用一個新的連接。建立一個bool變量作為標志位,初次連接成功之后,標志位置反,開始正常工作。如果斷開連接,try里面的正常工作指令會報錯跳到catch,這里我們把套接字dispose全部釋放,并且標志位初始化。然后就又開始重新連接了。就是這樣

感謝提供思路,不過貌似沒給回答到點上,就是三菱用的是還是上個連接,即使我初始化用新的套接字也無法連上。會被拒絕。(當然PLC參數上可用設置超時斷開)。普通程序奔潰或調試程序斷開,這種都能正常重連,不過既然你說套接字斷線后無法沿用原來的連接,那我只能在PLC上參數設置了。
ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
6樓  發表于: 2022-06-09 11:58
引用
引用第4樓我看到你了于2022-06-09 11:14發表的  :
為什么不直接用三菱的控件,MXcomponent啊還搞啥socket

我知道有控件,還有別人開源的HslCommunication的動態鏈接庫,我只是想自己寫個玩玩,學習一下。不懂就要問
zmrs163
級別: 家園常客
精華主題: 0
發帖數量: 379 個
工控威望: 527 點
下載積分: 1478 分
在線時間: 325(小時)
注冊時間: 2017-06-12
最后登錄: 2025-01-20
查看zmrs163的 主題 / 回貼
7樓  發表于: 2022-06-09 17:22
看了下你的代碼,close之后要重新connect才能發送吧
ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
8樓  發表于: 2022-06-09 19:26
引用
引用第7樓zmrs163于2022-06-09 17:22發表的  :
看了下你的代碼,close之后要重新connect才能發送吧

Close前面已經有兩次Send是斷線后發的,提示遠程主機中止連接。但又沒法Connect,因為我的套件字已經Connect了。所以只能初始化重新嘗試連接。
zmrs163
級別: 家園常客
精華主題: 0
發帖數量: 379 個
工控威望: 527 點
下載積分: 1478 分
在線時間: 325(小時)
注冊時間: 2017-06-12
最后登錄: 2025-01-20
查看zmrs163的 主題 / 回貼
9樓  發表于: 2022-06-10 13:26
我測試了下網線拔掉之后PLC很快就關閉了連接,這個時候電腦客戶端重連發送即可。你程序前兩個錯誤在于PLC關閉了連接你還嘗試發送,然后自己關閉了連接肯定不能發了,資源都已經釋放了。最后一個錯誤需要查看你PLC的程序,如果你PLC也執行了CLOSE就連不了了,反之可以繼續連接。
ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
10樓  發表于: 2022-06-10 15:02
引用
引用第9樓zmrs163于2022-06-10 13:26發表的  :
我測試了下網線拔掉之后PLC很快就關閉了連接,這個時候電腦客戶端重連發送即可。你程序前兩個錯誤在于PLC關閉了連接你還嘗試發送,然后自己關閉了連接肯定不能發了,資源都已經釋放了。最后一個錯誤需要查看你PLC的程序,如果你PLC也執行了CLOSE就連不了了,反之可以繼續連接。

不知道你在什么環境下測試的,我是用Gxwork3,R04 CPU測試,測試環境默認沒有開啟生存定時器,所以我拔網線,PLC還是不會關閉連接的。只有我在參數上再配置定時器超時自動關閉才會關閉。
我的配圖從頭到尾,PLC都沒斷之前的連接,錯誤都是為了演示整個過程,我知道錯誤的原因,只是當時納悶PLC為啥自己不斷開,后面開了定時器才正常。沒驗證Gxwork2 Q系列PLC的,貌似Gxwork2沒有這個定時器配置,難道這就是區別?
zmrs163
級別: 家園常客
精華主題: 0
發帖數量: 379 個
工控威望: 527 點
下載積分: 1478 分
在線時間: 325(小時)
注冊時間: 2017-06-12
最后登錄: 2025-01-20
查看zmrs163的 主題 / 回貼
11樓  發表于: 2022-06-10 16:12
我用5U測試的。5U默認有keepalive且無法修改。正常就是不會斷開的,PLC這么快斷開我才覺得奇怪,在網絡上服務器如果沒有心跳無法知道客戶端是否在線,所以大多是一段時間無數據通訊后斷開釋放。
引用
引用第10樓ayusecret于2022-06-10 15:02發表的  :

不知道你在什么環境下測試的,我是用Gxwork3,R04 CPU測試,測試環境默認沒有開啟生存定時器,所以我拔網線,PLC還是不會關閉連接的。只有我在參數上再配置定時器超時自動關閉才會關閉。
我的配圖從頭到尾,PLC都沒斷之前的連接,錯誤都是為了演示整個過程,我知道錯誤的原因,只是當時納悶PLC為啥自己不斷開,后面開了定時器才正常。沒驗證Gxwork2 Q系列PLC的,貌似Gxwork2沒有這個定時器配置,難道這就是區別?

主站蜘蛛池模板: 国产精品免费久久久久影院 | 欧美一区不卡二区不卡三区 | 国产一区二区免费不卡在线播放 | 日本人交换乱理伦片 | 亚洲黄色天堂 | 国产极品美女在线 | 亚洲国产黄色 | 亚洲视频在线观看免费 | 国产午夜亚洲精品理论片不卡 | 女人日男人 | 亚洲精品一区二区久久久久 | 福利一区福利二区 | 亚洲国产在线视频精品 | 亚洲美女人黄网成人女 | 色人阁小说 | 幻女free性摘花第一次 | 视频一区在线免费观看 | 黑人艹 | 男人的天堂久久爱 | 女海盗斯蒂内塔的复仇2免费观看 | 91国产在线第7页 | 四虎成人永久地址 | 国产第2页 | 黄网在线观看免费网站台湾swag | 韩国三级在线观看 完整版 韩国三级视频网站 | 91小视频在线观看免费版高清 | 日本免费久久久久久久网站 | chinese456老年gay china外卖员gay帮口 | 欧美一区二区三区免费不卡 | 扒开斗罗美女了的胸罩和内裤漫画 | freese×video性欧美丝袜 | 亚洲 欧美 国产 综合 播放 | 日韩三及片 | 成年人免费观看视频网站 | 日韩免费一区 | 狠狠色婷婷狠狠狠亚洲综合 | 男人j放进女人的p视频免费 | 太深了 太粗h1v1 | 风间由美vec399 | 天天做天天爽天天谢 | 我与岳乱短篇小说 |