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

ayusecret
級別: 略有小成
精華主題: 0
發帖數量: 191 個
工控威望: 270 點
下載積分: 830 分
在線時間: 76(小時)
注冊時間: 2021-10-31
最后登錄: 2025-01-20
查看ayusecret的 主題 / 回貼
樓主  發表于: 2022-06-06 16:45
花兩天半純手敲的代碼,代碼有點亂,周五就要出差了,沒時間整理了,原本只是幫同事用小助手測個MC協議,也不知道腦袋一熱敲了一堆代碼,收益匪淺啊,分享給大家
測試工具:
R04 CPU,3E幀通訊(理論支持Q系列,可打開Gxwork3 e-Manual搜索3E幀得到手冊內容)


TCP通訊小助手(測試報文用)


Python環境編寫代碼 版本3.10.4


Gxwork3(配置CPU參數,理論上Q系列使用Gxwork2也可)
整體的一個思路如下:
1.用小助手報文測試進行報文測試,如果有響應,無論對錯,至少通訊上了,再根據發送的報文和響應的報文,根據手冊幀定義進行拆分解讀.
2.參考網上代碼,用Python實現Socket通訊到PLC,為下一個環節做準備.
3.先直接把前面測試成功的報文,以字符串形式(需解碼成字節)用Socket直接發給PLC
4.如果前面測試成功,就開始封裝幀,以某個元件(我是以"D元件")開始,編輯指令,再根據需要,擴展其他元件,反復優化,迭代

目前實現:
D元件單雙字寫入,單進度浮點數寫入,可正負,浮點數可能有精度丟失
M元件0,1 寫入
TN 將其當成D理解去處理
TC,TS,X,Y將其當成M去處理,注意M地址是10進制而X,Y是16進制,需對類型進行區分

限制:
1.幀有部分內容暫時寫死,軟元件有部分子指令暫時寫死
2.目前只封裝批量讀寫指令,個人認為只需要這兩個即可,隨機讀寫指令實際應用中應該比較少就沒寫了.

總結:
1.純練習項目,還未實際應用,目前測試數據還算正常.發出來只是給大家做個參考
2.說來慚愧,干自動化那么多年,還沒接觸上位機開發,為了實現這些代碼也是網上參考了很多函數技巧,后面有機會再嘗試試試多線程,做數據庫相關的內容3
3.主要困難點在于
1.float數據如何傳到PLC,又如何讀出來解讀.(參考規格化浮點數定義)
,網上沒有實用的函數參考,為了實現并測試我足足研究了一個下午
2.數據正負的實現
4.臨時敲的代碼,可能還有很多Bug,望指正.




附件: main.py.rar (5 K) 下載次數:170
網站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+5(崇慶陽光) 好貼好貼!
  • 下載積分:+2(guochunyi) 好貼好貼!
    ayusecret
    級別: 略有小成
    精華主題: 0
    發帖數量: 191 個
    工控威望: 270 點
    下載積分: 830 分
    在線時間: 76(小時)
    注冊時間: 2021-10-31
    最后登錄: 2025-01-20
    查看ayusecret的 主題 / 回貼
    1樓  發表于: 2022-06-06 16:47
    圖片:
    補上測試效果圖

    主站蜘蛛池模板: 色淫阁小说| 草莓污污| 奇米影视777最新在线| yy111111免费观看| 亚洲欧洲日产国码天堂| 四虎院影永久在线观看| 9l桃色| 日本在线视频网址| 免费高清视频日本| 欧美日韩视频一区三区二区| 操一炮| 双性双根| 缴情五月天| 91亚洲在线| 国产成人福利美女观看视频| 婷婷色婷婷| 先锋资源久久| 久久精品人人做人人爽97| 成人一级黄色大片| 99视频免费在线| 亚洲大爷操| 熟睡中的麻麻大白屁股小说| 欧美专区在线播放| 91精品综合久久久久久五月天| 国产成+人+综合+欧美 亚洲| 亚洲男人天堂| 午夜国产理论| 美女撒尿毛片免费看| 亚洲玖玖| 精品欧美一区二区精品久久| 韩国久久精品| 精品免费视频| 关晓彤被调教出奶水| 高清视频一区二区三区| 日本黄大片影院一区二区| 日本亚洲免费| 亚洲精品视频网| 日本肉体xxxx| 午夜福利合集1000在线| 日韩 国产 欧美| 欧美穿高跟鞋做爰|