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

贵阳网站定制开发怎样推广品牌

贵阳网站定制开发,怎样推广品牌,旅游小程序哪家做得好,恩施网站建设xiduyun布瑞特单圈绝对值旋转编码器串口数据读取 数据手册:http://briter.net/col.jsp?id109 (2.1版本RS485说明书通信协议 单圈.pdf) 绝对式编码器为布瑞特BRT38-ROM16384-RT1,采用RS485通信。 该绝对式编码器共有5根线:红、黄、黑、绿、白 由…

布瑞特单圈绝对值旋转编码器串口数据读取

数据手册:http://briter.net/col.jsp?id=109 (2.1版本RS485说明书通信协议 单圈.pdf)

绝对式编码器为布瑞特BRT38-ROM16384-RT1,采用RS485通信。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WymwNSfZ-1690888823352)(C:/Users/Fengzhen/AppData/Roaming/Typora/typora-user-images/image-20230801142219392.png)]
该绝对式编码器共有5根线:红、黄、黑、绿、白
在这里插入图片描述

由于需要通过绝对是编码器采集数据,并通过串口上传至上位机。因此,需要使用RS485转USB模块进行转接。

1.2 MODBUS-RTU 帧格式

本编码器支持 MODBUS 的 0x03(读保持寄存器)、0x06(写单个寄存器)。

1.2.1 0x03 读保持寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwNaHDsv-1690888823354)(C:/Users/Fengzhen/AppData/Roaming/Typora/typora-user-images/image-20230801145531134.png)]

1.2.2 0x06 写单个寄存器

在这里插入图片描述

1.3 寄存器定义

1.3.1 编码器寄存器

在这里插入图片描述
在这里插入图片描述

如上表可知,该编码器共有13个寄存器,每个寄存器对应着一种功能,可通过对这13个寄存器进行设置,实现特定的功能。

由1.2可知,寄存器有两种模式:读和写。支持功能码为0x03为读保持寄存器,支持功能码为0x06为写保持寄存器。

编码器通信设置:

1、 读取编码器虚拟多圈值

Tx:01 03 00 00 00 02 (C4 0B)
Rx:01 03 04 00 01 76 3B (CC 40)

主站发送:

Tx寄存器字节1(ADR)2(读)3(起始寄存器高字节)4(起始寄存器低字节)5(寄存器低字节)6(寄存器低字节)7(CRC高字节)8(CRC低字节)
内容010300000002C40B

寄存器的第3和4个字节构成寄存器的地址即0x0000

从站回送:

Rx寄存器字节1(ADR)2(读)3(字节总数)4、5(寄存器数据1)6、7(寄存器数据2)M-1、M(寄存器数据M)M+1(CRC高字节)M+2(CRC低字节)
内容01030400 0176 3BCC40

注:括号内为 CRC 校验位,编码器值返回数据是 00 01 76 3B (十进制:95803)

2、设置编码器波特率

Tx:01 06 00 05 00 02 (18 0A)
Rx:01 06 00 05 00 02 (18 0A)
注:括号内为 CRC 校验位,设置的波特率为 38400 (0x02)

主站发送:

Tx寄存器字节1(ADR)2(写)3(寄存器高字节)4(寄存器低字节)5(寄存器数高字节)6(寄存器数低字节)7(CRC高字节)8(CRC低字节)
内容010600050002180A

寄存器的第3和4个字节构成寄存器的地址即0x0005,第5和6个字节构成要发送的数据为0x0002。

当从站接收正确,从站回送:

Rx寄存器字节1(ADR)2(读)3(寄存器高字节)4(寄存器低字节)5(寄存器数高字节)6(寄存器数低字节)7(CRC高字节)8(CRC低字节)
内容010600050002180A

寄存器的第3和4个字节构成寄存器的地址即0x0005,第5和6个字节构成要发送的数据为0x0002。

3、设置编码器数据模式

Tx: 01 06 00 06 00 01 (A8 0B)
Rx: 01 06 00 06 00 01 (A8 0B)
注:括号内为 CRC 校验位,设置当前编码器数据模式为自动回传(默认查询)

4、设置编码器自动回传时间(毫秒)

Tx: 01 06 00 07 00 64 (39 E0)
Rx: 01 06 00 07 00 64 (39 E0)
注:括号内为 CRC 校验位,设定自动回传时间为 100 毫秒(HEX:0x0064)
千万注意:一旦设置自动回传时间小于 20 毫秒,编码器将无法再设置其他参数,谨慎使用!!

5、设置编码器零点

Tx:01 06 00 08 00 01 (C9 C8)
Rx:01 06 00 08 00 01 (C9 C8)
注:括号内为 CRC 校验位,设置当前编码器当前点为零点

6、设置编码器数值递增方向

Tx:01 06 00 09 00 01 (98 08)
Rx:01 06 00 09 00 01 (98 08)
注:括号内为 CRC 校验位,设置当前编码器逆时针数值增加(默认顺时针)

7、设置编码器当前位置值

Tx 01 06 00 0B 03 E8 (F8 B6)
Rx: 01 06 00 0B 03 E8 (F8 B6)
注:括号内为 CRC 校验位,设置的位置为 1000 (HEX:0x3E8)

8、编码器转速计算:

编码器旋转速度 = 编码器角速度值 / 单圈精度 / 转速计算时间(单位:转/分钟)
例如:编码器角速度值回传为 1000,单圈精度为 32768,转速采样时间为
100ms(0.1/60min)
编码器旋转速度 = 1000/32768/(0.1/60) = 1000*0.0183 = 18.31 转/分钟

完整代码如下:

**串口设置:**串口号为COM15(根据实际情况设置);波特率:115200;数据位:8;停止位:1;超时时间:None

#模式切换   转换成16进制
modecmd1 = bytes([0x01, 0x06, 0x00, 0x06, 0x00, 0x01, 0xA8, 0x0B])                 #自动回传
modecmd2 = bytes([0x01, 0x06, 0x00, 0x06, 0x00, 0x00, 0x69, 0xCB])                 #查询
modecmd3 = bytes([0x01, 0x03, 0x00, 0x00, 0x00, 0x02, 0xC4, 0x0B])                 #读取编码器虚拟多圈值
BUF_SIZE = 10
buf = bytearray([0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
c = c1 = c2 = ib = flag = 0def CRC16(data, length): # CRC校验函数代码:使用参考手册提供的代码。CRC = 0xFFFFfor i in range(length):CRC ^= data[i]for _ in range(8):if CRC & 0x0001:CRC = (CRC >> 1) ^ 0xA001else:CRC >>= 1return CRCif __name__ == '__main__':ser = serial.Serial(port="COM15",baudrate=115200,bytesize=8,parity=serial.PARITY_NONE,stopbits=1,timeout=None)if ser.isOpen():print("Open Successfully ", end='')print(ser.name)else:print("Open Fail")# write_len = ser.write(modecmd1) #  写指令:切换模式,设置参数while True:R = ser.read(1) # 读取一个字节if R == b'': # 接收字符串为空print("Read Fail")ser.close()breakc = int.from_bytes(R, byteorder='big') # 将十六进制转换为整数if flag > 0:if ib < BUF_SIZE - 1:buf[ib] = cib += 1else:CRC = CRC16(buf, BUF_SIZE - 3) # 校验位,数据手册有提供if (CRC & 0xFF) == buf[7] and ((CRC >> 8) & 0xFF) == buf[8]:A = (buf[5] << 8) + buf[6] # 将buf[5]左移8位后与buf[6]相加,结果赋值给A。print(A)else:print("CRC Fail")flag = 0if flag == 0:if c2 == 0x01 and c1 == 0x03 and c == 0x04: # 判断帧头,且帧头要连续,即为0x01、0x03、0x04flag = 1ib = 3c2 = c1c1 = c

http://www.yayakq.cn/news/253755/

相关文章:

  • 站长工具seo下载北京网站设计定制开发建设公司
  • 合肥城乡建设网站首页邢台专业网站建设报价
  • 温岭专业自适应网站建设北京最新消息今天新增病例
  • 成都营销网站建设百度站长平台电脑版
  • 设计logo网站有哪些免费修改wordpress入口地址
  • 网页做好怎么变成网站谷歌网站怎么做推广
  • 艾瑞网的网站架构京东网站建设思维导图
  • 企?I网站建站 ?V州 ??l嗯嗯嗯 嗯嗯嗯嗯嗯嗯哼哼哼哼哼哼这是什么歌英文的
  • 企业网站源码安装教程郑州网站推广公司案例
  • 铁岭免费移动网站建设建设一个网站选择的服务器
  • 网站建设 费用 入哪个科目wordpress修改mysql
  • 肇庆网站制作软件网站建设发展状况
  • 电子商务网站的定义中职校园网站建设建议
  • 教你如何创建自己的网站lol做任务领头像网站
  • 派点网站建设安徽企业网站制作
  • 微商城网站建设平台怎样让网站做301处理
  • 营销型网站建设讨论题深圳工程建设
  • 网站建设与电子商务的教案wordpress博客搭建
  • 运动健身型网站开发用wordpress建站之后如何优化
  • 郑州网站优化的微博_腾讯微博图书网站开发介绍
  • 新手做网站推荐做网站的要素
  • 深圳市南山网站建设图片网站 代码
  • 个人建设什么网站好装饰工程包括哪些项目
  • 深圳app网站建设陈俊兵做报纸版式的网站
  • 宁波公司建网站哪家好wordpress 投票功能
  • 当建设部门网站福建省建设安全监督站的网站
  • 吉林企业建站系统费用wordpress获取标签链接
  • 优化网站内容wordpress能建商城吗
  • wordpress电子商务网站插件建筑方案设计网站
  • 网站建设优化是什么鬼龙岗区网站建设