news 2026/8/16 3:26:44

C#之Modbus-RTU通讯-读取输出寄存器-整数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#之Modbus-RTU通讯-读取输出寄存器-整数

C#之Modbus-RTU通讯-读取输出寄存器-整数

Modbus Slave对应需要选择 数据类型



读取整数

caseVarType.Int:switch(storeArea){caseStoreArea.输出寄存器:res=ReadKeepReg(stationAddress,startAddress,dataLength);break;caseStoreArea.输入寄存器:break;default:break;}showStr=string.Empty;if(res!=null&&res.Length==dataLength*4){for(inti=0;i<res.Length;i+=4){vard=Get32ByteArray(res,i,(DataFormat)(Enum.Parse(typeof(DataFormat),this.cmb_BitOrder.SelectedItem.ToString(),false)));showStr+=BitConverter.ToInt32(d,0).ToString()+" ";}rtbShowInfo.AppendText(showStr.Trim()+"\n");}else{rtbShowInfo.AppendText("读取失败"+"\n");}break;

Get32ByteArray

privatebyte[]Get32ByteArray(byte[]byteArray,intstart,DataFormattype){byte[]Res=newbyte[4];if(byteArray!=null&&byteArray.Length>=start+4){byte[]ResTemp=newbyte[4];for(inti=0;i<4;i++){ResTemp[i]=byteArray[i+start];}switch(type){caseDataFormat.ABCD:Res[0]=ResTemp[3];Res[1]=ResTemp[2];Res[2]=ResTemp[1];Res[3]=ResTemp[0];break;caseDataFormat.CDAB:Res[0]=ResTemp[1];Res[1]=ResTemp[0];Res[2]=ResTemp[3];Res[3]=ResTemp[2];break;caseDataFormat.BADC:Res[0]=ResTemp[2];Res[1]=ResTemp[3];Res[2]=ResTemp[0];Res[3]=ResTemp[1];break;caseDataFormat.DCBA:Res=ResTemp;break;}returnRes;}else{returnnull;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 20:49:18

Bugku--花点流量听听歌、图穷匕见、隐写2、look、、铁子,来一道

花点流量听听歌 打开是一个MP3音频文件&#xff0c;放入随波逐流里面发现flag.rar里面有flag.txt 用binwalk提取一下 解压发现flag.rar需要密码&#xff0c;随波逐流里面rar爆破 打开里面的flag.txt里面bugku{What_a_enjoyable_music} 图穷匕见 打开是一张jpg图片 先用01…

作者头像 李华
网站建设 2026/8/16 1:32:16

AI原生应用与短期记忆:开启智能应用新征程

AI原生应用与短期记忆:开启智能应用新征程 关键词:AI原生应用、短期记忆、大语言模型、上下文窗口、智能交互、记忆管理、用户体验 摘要:本文将带您探索AI原生应用的核心特征,以及“短期记忆”如何成为其区别于传统应用的关键能力。我们会用“点咖啡”“辅导作业”等生活案…

作者头像 李华
网站建设 2026/8/15 22:36:29

微信开发者secret和appid获取方法

一、点击如下网址https://mp.weixin.qq.com/如果没有账号需要点击注册&#xff0c;进行注册操作。二、点击左边菜单栏中的开发管理在右边菜单区域就可以执行appid和生成secret相关操作。

作者头像 李华