① 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接口,如下