四. SECS/GEM封装库RapidSecs开发手记-基础库开发-1

       如果已经将上面介绍的SECS/GEM开发要点掌握了,那么我们就可以进入“RapidSecs基础库”的实际开发了。首先明确一下基础库的目标:支持E5(SECSII)、E37(HSMS),开发语言为C++。这两个协议也是后继E30、E40、E90等等一系列协议的基础。

1. 总体设计

1.1 模块划分

       首先,基础库的功能要如何划分?从对协议的支持来看要支持的协议是E5(HSMS)和E37(SECS-II),那么当然的2个功能模块就是分别对这两个协议的支持。此外,

        1)  通信功能模块(HSMS模块)

基础库需要为用户提供通信接口,使其能在不需要了解下层通信结构的情况下与其他设备进行互连,主要功能包括:

  • TCP/IP 连接建立与断开
  • 通信控制
  • 通信状态维护
  • 数据消息收发
  • 消息解析
  • 超时控制

2)消息解析功能模块(SECS-II模块)

消息表示功能使软件系统可以识别、表示并创建 SECS-II 标准消息,并为用户开发自定义 SECS-II 消息提供接口,主要功能包括:

  • 实现标准数据项
  • 提供标准SECS-II消息
  • 消息创建和编辑
  • 消息编码
  • 消息解码

1.2 基本模块结构

各模块功能说明如下:

  • Message ID管理模块:生成发送消息所需要的 Message ID,保证其唯一性。
  • 数据发送模块:发送上层协议传递的数据。
  • 响应消息管理模块:管理等待响应的消息相关信息,包括消息编号、对应超时等。
  • 超时管理模块:完成超时管理功能&#x
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值