国产温箱热策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

相关文章

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法