国产温箱热策AH-662控制代码(TCP/IP通信模式)

2023-10-08 05:30

本文主要是介绍国产温箱热策AH-662控制代码(TCP/IP通信模式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 以下Python代码经实测验证OK,只要编写客户端(温箱端)的socket通信代码即可,服务器端(PC端)不需要。

import socketclass TempOver():'''该程序仅用于控制国产温箱热策AH-662'''def __init__(self,ipAddr):ip_port = (ipAddr, 8000)self.client = socket.socket()self.client.connect(ip_port)def decTo4hex(self,decNum):'''将十进制正负整数转换为4位十六进制数,用于设定温箱温度值'''if decNum < 0:strHexNum = hex(decNum%65536) #负数else:strHexNum = hex(decNum) #正数'''因为需要转换成4位十六进制数,加上字符串前面两个符号'0x'之后,需要补足到6位,所以,不足6位需要在前面补'0'。负数转换成十六进制之后都为6位(算上'0x'),所以,负数不需要在前面补'f'。'''strLen = len(strHexNum)strHexNewNum = '0' * (6 - strLen) + strHexNum[2:] # 去掉原字符串的前面两个符号'0x',并补'0'return strHexNewNumdef numHexToDec(self,str_HEX):'''将从温箱读出的4位十六进制读数转换成十进制数'''if str_HEX[0] == 'f':decNum = (int(str_HEX,16)-65536)/100 # 负数else:decNum = int(str_HEX,16)/100 # 正数return decNumdef tempSet(self,tempSet_DEC):'''设定温箱温度,温度范围-40°~150°,低于-40°无效'''tempSet_HEX = self.decTo4hex(tempSet_DEC * 100) # 乘100是该型号温箱的指令要求data_input = "00 00 00 00 00 06 01 06 00 02 " + tempSet_HEX  # 设定温箱温度的固定指令格式self.client.send(bytes.fromhex(data_input))self.client.recv(1024)def tempGet(self):# 发送读当前温度值的指令data_input = "00 00 00 00 00 06 01 03 00 00 00 01"self.client.send(bytes.fromhex(data_input))data_output = self.client.recv(1024)# 将温箱读取到的多字节十六进制取出代表温度读书的最后两个字节str_Temp_HEX = bytes.hex(data_output)[-4:]# 将十六进制正负数转换成十进制数tempRead = self.numHexToDec(str_Temp_HEX)print("温箱当前温度为:", tempRead, "摄氏度")return tempReaddef startRun(self):data_input = "00 00 00 00 00 06 01 05 00 00 ff 00" # 启动self.client.send(bytes.fromhex(data_input))# 启动之后清空指令缓存空间,为温箱下一次接受指令做好准备self.client.recv(1024)def stopRun(self):data_input = "00 00 00 00 00 06 01 05 00 01 ff 00"  # 停止self.client.send(bytes.fromhex(data_input))def close(self):self.client.close()if __name__ == '__main__':# 建立和温箱的连接tempIP_Addr = "192.168.52.11"tempX = TempOver(tempIP_Addr)# 启动温箱运行tempX.startRun()while True:if input("是否结束运行?(y/n):") == 'y':breakelse:# 设定温箱温度 必须大于等于-40°,小于-40°则设置失效tempSet = int(input("请输入温箱温度℃:"))if tempSet < -40:tempSet = int(input("请重新输入温箱温度℃(必须大于-40):"))tempX.tempSet(tempSet)while True:if input('是否查询当前温度?(y/n):') == 'y':# 查询温箱温度tempX.tempGet()else:break# 停止温箱运行tempX.stopRun()# 关闭温箱连接tempX.close()

串口调试软件SSCOM也可进行控制,选择端口号为“TCPClient”。

 

这篇关于国产温箱热策AH-662控制代码(TCP/IP通信模式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/163005

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例