当前位置: 首页 > news >正文

白云网站建设哪家好四川省文化和旅游厅

白云网站建设哪家好,四川省文化和旅游厅,软件制作视频,黔西南州网站建设公司设备必须要有RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU,ASCII作为选项。(也就是说,一般的设备只有RTU这个协议,ASCII一般很少)所以说,一般学习Modbus协议,只需…

设备必须要有RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU,ASCII作为选项。(也就是说,一般的设备只有RTU这个协议,ASCII一般很少)所以说,一般学习Modbus协议,只需要了解RTU的协议,ASCII作为学习的了解就足够了。

modbus- TCP 和  modbus-RTU的区别?

1 modbus- TCP 不需要校验码, modbus-RTU需要crc16算法校验码
2 modbus- TCP 请求帧有事务处理标识符 协议号 长度等字节,但是modbus-RTU没有事务处理标识符 协议号 长度等字节

modbus- TCP 请求帧:00  03 |  00 00 |  00 06 |  01 | 03 | 00 01 | 00 01 

modbus-RTU 请求帧: 01| 03 | 00 01  |00 01 |D5 CA

 modbus- ASCII 和 modbus-RTU的区别?

1 modbus- ASCII校验码的算法采用的是LRC校验算法, modbus-RTU采用的crc16校验算法
2 modbus- ASCII发送的字节转成字符串格式,       modbus-RTU发送的是字节格式

modbus - ASCII 请求帧 :010300000001FB

1设备地址 01
2功能码 读取03
3寄存器地址 00 00
4 寄存器个数 00 01
5 lrc校验码 F B

string s2 =  Tools.GetRequestFrame(new byte[] { 01,03,00,00,00,10});

封装 modbus-ascii使用的方法 

internal static class Tools
{/// <summary>/// 把传递过来字节数组 通过lrc算法生成校验码/// </summary>/// <param name="data"> 字节数组</param>/// <returns>校验码</returns>/// Tools.CalcLRC([01,03,00,00,00,01 F B]) 采用工具算出的校验码是FB/// public static string CalcLRC(byte[] data){//1 获取字节数组每一个元素相加的和uint sum = (uint)data.Sum(x => x);//计算每个元素的和//2 把sum进行取反操作,再加1,再和0xff进行与运算 ,//~110 = 001 取反操作uint res = (~sum + 1) & 0xff;return res.ToString("X2");}/// <summary>/// [01,03,00,00,00,01 ] 转成 ":01030000001FB\r\n"/// </summary>/// <param name="data">转换的字节数组</param>/// <returns> 转成ascii字符串</returns>public static string GetRequestFrame(byte[] data){//1 算lrc校验码string jym = CalcLRC(data);string requestData = "";// 2 遍历字节数组foreach (byte item in data){requestData += item.ToString("X2");}//3 拼接校验码string value = ":" + requestData + jym + "\r\n";return value;}//:0103025AC0E0/// <summary>/// :0103025AC0E0 转成对应的ushort数组 [5A,C0]/// </summary>/// <param name="s"> ascii字符串</param>/// <param name="valueCount"> 寄存器个数  1个时候2字节,2个4字节</param>/// <param name="startIndex"> 从哪个位置开始截取</param>/// <returns></returns>public static ushort[] StringToUshort(string s,int valueCount,int startIndex=7){//如果寄存器个数*4+开始截取数据的位置>整体字符串长度 证明没有数据部分if (valueCount * 4 + startIndex > s.Length){throw new ArgumentException("字符串的长度不满足最小的解析要求");}//正常的响应帧格式//定义长度为寄存器个数数组//:010302 5AC0 5AC0 5AC0 E0ushort[] bs = new ushort[valueCount];for (int i = 0; i < valueCount; i++){string value = s.Substring(startIndex, 4);startIndex += 4;bs[i] = Convert.ToUInt16(value,16);}return bs;}}
http://www.sczhlp.com/news/112206/

相关文章:

  • 织梦网站备份几种方法昆明百度小程序
  • 西安市建设工程交易网佛山网站建设十年乐云seo
  • 上海做网站的小公司有哪些杭州专业的网站制作公司
  • 深圳网站建设服务有限公司网站建设和网络推广哪个难做
  • ps ui做响应式网站要求合肥网站建设维护
  • 天水 网站建设 招聘html网站可以做访问统计吗
  • 天河区网站建设公司广东深圳手机号码
  • 免费空间禁止做网络验证应聘网站优化的简历怎么做
  • 新开传奇网站发布网孞客户管理软件app
  • 休闲食品网站建设企业网页制作心得
  • 惠州营销型网站建设wordpress 自动更新
  • 企业网站设计网站网站建设方法牜金手指下拉覀
  • wordpress支付宝关键词整站优化
  • 建网站需要多大的宽带便宜的网站建设公司
  • jsp 网站开发商城网站建设
  • 在线工具网站什么是网络设计平台
  • 陕西省建设局网站做洗化的网站
  • 企业网站 实名认证用手机做空间建网站
  • 第二届数字经济与计算机科学国际学术会议(DECS 2025)
  • 文件摆渡系统案例分享:医院如何构建高效内外网文件交换通道
  • 淘天一面
  • 利用小波变换对跳频信号进行参数估计
  • 【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio) - 实践
  • 如何用phpstudy做网站杭州知名网站建设
  • 苏州做淘宝网站网站对比分析
  • 事业单位网站建设计划国内大型网站域名
  • 信息发布网站怎么做企业单位网站建设内容需要什么
  • 淘宝网站是怎么做的吗阿里云做电脑网站
  • 社交网站的设计wordpress 片刻主题
  • 哈尔滨高端品牌网站建设微网站建设的第一步是进行