DLT645 1997 协议解析
DLT645.zip
工具
源码
规约解析
DL/T645-07:
数据帧格式:
注意事项:
(1)前导字节-一般在传输帧信息前,都要有0~4个FE不等,所以这里要注意,对于主站来说,直接发送4个FE作为前导字节即可。而从站回复,就不一定了,根据厂家不同而不同,
我见过回复信息中,没有FE的,也有4个FE的,所以对于接受程序,一定要慎重。
(2)传输次序-所有的数据项都是先传低字节,再传高字节,这里的数据项,主要涉及到地址域和数据域,因为其他都是1个字节。
(3)差错控制-通信偶校验。
(4)数据与传输运算方式:主站加0x33,从站减0x33(为嘛这么定义,可能是考虑BCD码吧)
网上下载的测试工具
源码工具.net开发
调用代码
private void btnSend_Click(object sender, EventArgs e)
{
string outmsg = string.Empty;
string addr = txtAddr.Text.Trim();
string data = txtData.Text.Trim();
if (string.IsNullOrEmpty(addr))
{
AddMessage("电表地址不允许为空");
return;
}
if (string.IsNullOrEmpty(data))
{
AddMessage("数据标识不允许为空");
return;
}
MeterEntity entity = dlt.Read(addr, data);
AddMessage("send " + entity.Send);
if (!string.IsNullOrEmpty(entity.OutMsg))
{
AddMessage("执行出错,errmsg=" + entity.OutMsg);
}
else
{
AddMessage("recv " + entity.Recv);
AddMessage("analysis,Addr=" + entity.Addr + ",Control=" + entity.Control + ",Flg=" + entity.DataFlg + ",Data=" + entity.Data);
}
}
最新文章
- Kotlin与Android SDK 集成(KAD 05)
- [nodejs] Error: unable to verify the first certificate
- css之absolute绝对定位(绝对定位特性)
- ajax实例1
- bash 中的变量
- iOS学习之内存管理
- KMP算法详解 --- 彻头彻尾理解KMP算法
- 改变placeholder颜色
- ios开发之多线程
- SQL查询根节点
- JavaScript浮点运算的问题 (乘法)
- 【计算机网络基础】数据交换技术和多路复用技术的正(nao)确(can)打开方式
- C# FTPClient--FTP操作帮助类,上传下载,文件,目录操作
- 爬虫值requests库
- 批处理for中字符串截取必须先把循环变量代替出来才行!!!
- Apache Tomcat® - Which Version Do I Want?
- Spring拦截器(学习笔记)
- (转)Debug Assertion Failed! Expression: _pFirstBlock == pHead
- centos一键安装lnmp成功后无法访问ip(解决办法)
- [SHOI2008]小约翰的游戏