前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >西门子200smart与DL/T645-2007协议通讯(自由口通讯)

西门子200smart与DL/T645-2007协议通讯(自由口通讯)

作者头像
剑指工控
发布2021-11-09 14:57:59
1.5K0
发布2021-11-09 14:57:59
举报
文章被收录于专栏:剑指工控

JZGKCHINA

工控技术分享平台

尊重原创 勿抄袭

勿私放其他平台

01

项目介绍

最近项目调试,碰见的电表通讯协议为DL/T645-2007的,打工人当时的感觉是懵逼的,内心是拒绝的,然而,终究没能敌过老板那脸谄媚而诡异笑容,没办法,搞工控的人,很单纯......

伟人说过:搞工控的人是一群高尚的人,一群纯粹的人,一群有道德的人,一群脱离了低级趣味的人,一群有益于人民的人。

02

硬件展示

2.1 一家人最要紧的是整整齐齐

USB-485的转换器 电源 电表 200smart

2.2 设置

2.2.1 表 怎么设置

电表需要设置成645协议,(在此说明一箱,在公司做实验用的表具有645或485两种协议,但是客户家的电报只具有645协议

  • 站地址为12位 此处设置为1号站,别问为什么?问就是默认!
  • 波特率 :2400 数据位 :8 偶校验 1个停止位 别问为什么?问就是默认!

协议:DL/T645-2007

地址低6位

地址高6位

2.2.2 接线

这个就不多说了,各位观众老爷们,都会的

03

协议介绍

3.1 645协议简介

3.2 报文解析

本次以C相电压为例,别问为什么?问就是我随便接的。

[请求帧]

68 01 00 00 00 00 00 68 11 04 33 36 34 35 B8 16

  • 68 起始帧
  • 01 00 00 00 00 00 为站地址 1 发送时是倒着发送的
  • 再来一个68
  • 11 控制码
  • 04 数据长度
  • 33 36 34 35 数据域
  • B8 校验码
  • 16 结束符

04

软件测通

用串口调试助手:端口波特率 校验 停止 数据等参数设置一致

发送 [请求帧]68 01 00 00 00 00 00 68 11 04 33 36 34 35 B8 16

收到回应帧:68 01 00 00 00 00 00 68 91 06 33 36 34 35 B4 54 42 16

其中:B4 54 为接收到的数据 要减去33H

即为 81H 21H 然后,再交换字节 2181

再乘上倍率 即为 218.1V,有图为证

05

编写程序

此时用软件测通,改用PLC编写程序

5.1 西门子协议简介

自由口通信也称无协议通信,需要根据对方设备的通信数据格式编写一个临时协议,不仅需要编程人员学会如何编写程序,还需要了解对方的通信数据格式,所以对编程人员要求较高,随着标准协议(modbus,USS等)普及,自由口应用越来越少,但是对于一下小的设备如扫码枪等,并没有集成标准通信协议,所以只能选用自由口通信,Moubus和USS其实是自由口的一个特例。

主程序 1秒采集一次,发送之前要讲SMB87改成2#10100禁用接收

不要问为什么?问就是半双工,不能边发边收,只能发完收,收完发

需要发送的报文:68 01 00 00 00 00 00 68 11 04 33 36 34 35 B8 16

VB200是报文字节数 此处为16个,不信你数数!

SMB30设置成16#51 是设置波特率2400 ,8数据位 1个停止位 偶校验

其他的参数设置不说了,再说就是在各位观众老爷面前班门弄斧了,

不懂得小伙伴可以直接按F1查看西门子说明

发完产生接收的中断

读出数据后需要减去33H交换高低字节 乘上倍率 再转成浮点数啥的,

一通操作,做好电压显示出来了。

218.1V 老板又笑了!

收到的报文

06

后记心得

本人 Old Dream 老孟,工控届的一名小学生,不值一提

此次也算是学习,错误之处还望众观众老爷们,多多指教

值此2021年新年伊始之际,感谢剑指工控的朋友们,工控路上有你们的陪伴,在此祝大家,新的一年里,健健康康快快乐乐….(此处省略8万多字)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 一家人最要紧的是整整齐齐
  • 2.2 设置
    • 2.2.1 表 怎么设置
    • 2.2.2 接线
    • 3.1 645协议简介
    • 3.2 报文解析
    • 5.1 西门子协议简介
    • 主程序 1秒采集一次,发送之前要讲SMB87改成2#10100禁用接收
    • 发完产生接收的中断
    • 读出数据后需要减去33H交换高低字节 乘上倍率 再转成浮点数啥的,
    • 一通操作,做好电压显示出来了。
    • 218.1V 老板又笑了!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档