def OpenCom(self,*args):
#设置端口和波特率
selComPort =‘com2’
#波特率
selBaudRate =9600
#奇偶校验
selParity = ‘N‘
try:
if(not self.mySerial):
self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate,bytesize=8,parity=selParity,stopbits=1,timeout=5)
else:
if(self.mySerial.isOpen()):
self.mySerial.close()
self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate, bytesize=8, parity=selParity, stopbits=1, timeout=5)
self.lblInfo[‘text‘] = ‘打开成功!‘
except Exception as ex:
self.lblInfo[‘text‘] = ‘打开失败!‘
#使用com口发送modbus协议给终端设备。
def btnEmId_Click(self):
barray = bytearray([0x05, 0x03, 0xA#, 0x54, 0x00, 0x08])
vOldEmId = self.txbOldEmId.get()
vNewEmId = self.txbNewEmId.get()
barray[0] = int(vOldEmId)
barray[5] = int(vNewEmId)
#crc校验
strInput = utils.crc16_append(barray)
print(barray)
n = self.mySerial.write(barray)
if(n > 0):
str = self.mySerial.readall()
self.lblInfo[‘text‘] = ‘success!‘
# for s in str:
# print (hex(s))
else:
self.lblInfo[‘text‘] = ‘erroe!