① python 和 PLC通訊走TCP通訊,接收數據問題
這種問題快捷的可能是直接傳輸位元組序列(查ascii碼表),
確定接收端正確後,再看python這邊如何編碼
② plc與python之間實現通信
python語言與plc建立串口通信時,無法直接讀寫。
用到python的serial 模塊
在創建串口對象時需要定義其屬性與plc一致:
self.main_engine.baudrate = self.bps
self.main_engine.bytesize = 7
self.main_engine.parity = 'E'
self.main_engine.stopbits = 2
重點:在寫入數據後,需要寫16進制數"0D",結束標志位
self.main_engine.write("@00WD1010000152*".encode())
self.main_engine.write(binascii.a2b_hex("0D"))
③ 5-python庫之-paho mqtt通訊
連接調用connect介面,然後調用loop_forever後就開始跑了
connect的第三個參數為mqtt的心跳時間
on_connect 和 on_disconnect 為連接成功和斷開的回掉函數,
添加證書,只需要在調用connect函數之前,添加下面兩條內容即可。
設置賬號密碼,在調用connect函數之前,添加下面一條內容即可。
設置WILL主題,在調用connect函數之前,使用will_set介面設置,添加will主題和will主題的payload
主題的訂閱使用subscribe介面,一般在on_connect回調函數裡面設置
訂閱完主題,我們的目的就是要收到訂閱的數據,所以需要設置接收數據的回調函數on_message
,只要有數據發送過來on_message就會收到。
發布使用publish介面,如下