自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 HCF_SPEC-81 数据链路层规范:数据链路层服务

在主机设备和现场设备之间传送帧的服务。协议支持自动重传以确保数据精准的交换。基础SAP是一个LOCAL_MANAGEMENT序列。主从设备的管理SAPs提供不同的服务。最后一个序列中的内容,表示处于突发模式的帧。突发模式设备使用发送服务去发送命令。主机设备的管理SAPs设定数据链路层的主地址和重试次数。主从设备传递信息的基础。现场设备通过应用层设置数据链路层的配置。第三和第四个序列中表示的内容。

2024-06-03 16:24:29 346

原创 HCF_SPEC-81 数据链路层规范:帧格式

通信的帧格式在数据链路层文件中定义。参考:http://yunrun.com.cn/tech/2850.html。

2024-06-03 14:55:37 633

原创 HCF_SPEC-99应用层基础规范:动态变量和设备变量

HART协议的命令1和2返回主变量,环路电流和百分比。命令3返回第二、第三、第四变量。这些变量统称为动态变量。**动态变量:**包含设备变量和一个模拟通道。所有的HART设备都支持主环路电流和HART通信的这个模拟通道,其他变量通道可以支持也可以不支持。**设备变量:**一个现场设备提供过程相关信息的唯一定义的数据项。为每个设备变量分配一个代码,且对于一个设备类型,这个代码不会改变。标识命令中返回设备变量的数量。设备变量的代码编码从0开始。

2024-05-30 16:31:51 332

原创 HCF_SPEC-99应用层基础规范:应用层接口

HART协议的应用层是基于命令的。通信中的命令行决定了消息的内容。命令号是一个固定字节。

2024-05-30 15:35:52 257

原创 HCF_SPEC-99应用层基础规范:数据格式

主要记录对HART7.1官方协议文档的阅读学习与代码实现。HCF_LIT-18是一个现场设备规范模板,其中在参考文档部分列举了相关文档:应该先看SPEC-12,但是这个文档没找到。对于编写程序而言,物理层也可以先不看,我们先看SPEC-99,应用层的命令规范,这个文档是所有其他HART应用层规范文档的基础。当前关注的是有线HART协议,FSK,物理层为4~20mA环路;数据链路层为二进制,字节,令牌传递方式,主从协议。物理层有专门的HART芯片实现,暂时无需关注。

2024-05-30 14:30:35 873

原创 二叉树存储结构与遍历

typedef char TElemType;typedef struct BiTNode *Position;typedef Position BiTree;//---------二叉树的二叉链表存储表示---------------------typedef struct BiTNode{ TElemType data; Position lchild; Position rchild;}BiTNode;//-------------二叉树的创建-----------------

2021-11-16 13:46:17 627

原创 队列的存储结构及操作

//-------------------队列的顺序存储结构--------------#define MAXSIZE 100typedef int QElemType;typedef int Status;typedef struct{ QElemType *base; int front; int rear;}SqQueue;//-------------初始化-------------------Status InitQueue(SqQueue Q){ if(!Q.ba

2021-11-11 15:30:14 269

原创 栈的存储结构及操作

//------顺序栈的存储结构-----------#define MAXSIZE 100typedef int SElemType; typedef int Status;#define ERROR -1;#define OK 0;typedef struct{ SElemType *base; SElemType *top; int stacksize;}SqStack;//-------------顺序栈的初始化-----------------Status InitS

2021-11-08 17:21:10 65

原创 链表存储结构及操作

1.顺序表的存储结构//--------顺序表的存储结构-----------#define MAXSIZE 100enum { int, float, char}ElemType; typedef struct{ ElemType *elem; int length;}SqList;2.顺序表初始化//-------顺序表初始化--------------Status InitLIst(SqList &L){ L.elem = new ElemType[

2021-11-08 16:25:09 540

原创 项目bug:2.读补日冻结电量数据异常

1.原因补日冻结进行数据冻结的时候,存放的位置和长度不对,导致不能读出正确的数据。2.同时存在的问题(1)变量清零的位置不对(2)过结算日清需量的位置不对,判断条件不对

2021-09-28 14:49:45 281

原创 项目bug:1.补约定冻结时间比上电时间晚一分钟

项目bug:1.补约定冻结时间比上电时间晚一分钟原因造成这个问题的原因在于,在while循环之前的补冻结部分并没有进行补约定冻结,冻结是数据来源于freeze任务中的约定冻结。遇到的问题一开始没有找到对约定冻结进行标志置位的函数。后来找到函数但是没有把位置找全。第一次出现是在rateinit()函数里。解决方案将rateinit()函数中加入不需要新分钟到来就进行判断置位的函数,然后就对数据进行冻结。反思第一次解决的Bug,很简单但是找了一周,主要问题在于没找到所有对冻结标志置位的地方。从该

2021-09-28 14:39:41 54

HART 7.1协议规范

HART7.1全部协议规范,包含物理层,链路层,应用层命令等

2024-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除