CJ/T188-2004 详细介绍

REDISANT 提供互联网与物联网开发测试套件 #

互联网与中间件:

  • Redis Assistant
  • ZooKeeper Assistant
  • Kafka Assistant
  • RocketMQ Assistant
  • RabbitMQ Assistant
  • Pulsar Assistant
  • HBase Assistant
  • NoSql Assistant
  • Etcd Assistant
  • Garnet Assistant

工业与物联网:

  • MQTT Assistant
  • Modbus 从站模拟器
  • Modbus 主站模拟器
  • IEC104/101 主站/客户端 模拟器
  • IEC104/101 从站/服务端 模拟器
  • IEC61850 客户端模拟器
  • IEC61850 服务端模拟器
  • DL/T 645 主站模拟器
  • CJ/T 188 主站模拟器
  • BACnet 浏览与模拟器
  • COMTRADE 图表浏览

手动分析报文非常繁琐,推荐一个CJ188主站工具,完整支持 CJ/T188-2004/2018 协议:CJ/T 188 主站模拟器

CJ/T188-2004 详细介绍 #

数据链路层 #

本协议采用主-从结构的半双工通讯方式。

字节格式为每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位(E)和一个停止位(1),共11位。其字节传输序列如图1。D0是字节的最低位,D7是字节的最高位。先传低位,后传高位。

图1:

帧格式应符合表2的规定。

表2:

仪表类型及其代码应符合表3的规定。

表3:

地址域(A0~A6)由七个字节组成,每个字节为2位BCD码格式。地址长度为14位十进制数,低地址在前,高地址在后。其中A5、A6为厂商代码。

当地址为AAAAAAAAAAAAAAH时,为广播地址。广播地址只能应用于点对点的通讯中。

控制码(C)的格式按图2所示。

图2:

D7: 0-由主站发出的控制帧;
    1-由从站发出的应答帧。
D6: 0-通讯正常;
    1-通讯异常。
D5~D0:000000:保留;
      000001:读数据;
      000100:写数据;
      001001:读密钥版本号;
      000011:读地址(表号);
      010101:写地址(表号);
      010110:写机电同步数(置表底数);
      1XXXXX:厂商自定义。

数据长度(L)为数据域的字节数,用十六进制表示。读数据时L小于或等于64H,写数据时L小于或等于32H,L等于零表示无数据域。

数据域(DATA)包括数据标识、序列号和数据,其结构随控制码的功能改变。

校验码(CS)为一个字节,从帧起始符开始到校验码之前的所有各字节进行二进制算术累加,不计超过FFH的溢出值。

传输要求 #

  • 前导字节:在发送帧信息之前,应先发送2~4个字节FEH。
  • 传输次序:所有多字节数据域均先传送低位字节,后传送高位字节。
  • 传输响应:每次通讯先由主站发出命令帧,被选择的从站根据命令帧的要求做出响应。

应用层 #

读操作 #

读操作时,主站发送的序号SER,在每次通讯前,按模256加1运算后产生。

主站请求帧:

  • 控制码:CTR_0
  • 数据长度:L=03H
  • 数据标识:DI0DI1
  • 序列号:SER
  • 帧格式:
    68H T A0 A1 A2 A3 A4 A5 A6 CTR_0 03H DI0 DI1 SER CS 16H
    

从站正常应答帧:

  • 控制码:CTR_1
  • 数据域长度:L=03H+m(数据长度)
  • 数据标识:DI0DI1
  • 序列号:SER
  • 帧格式:
    68H T A0 A1 A2 A3 A4 A5 A6 CTR_1 L DI0 DI1 SER N1...Nm CS 16H
    

从站异常应答帧:

  • 控制码:CTR_2
  • 数据域长度:L=03H
  • 序列号:SER
  • 帧格式:
    68H T A0 A1 A2 A3 A4 A5 A6 CTR_2 L SER 状态ST CS 16H
    

主站请求读数据的报文格式及从站正常应答报文格式应符合表 5 的规定。

表5:

主站请求读密钥版本号的报文格式及从站正常应答报文格式应符合表6 的规定。

表6:

主站请求读地址的报文格式及从站正常应答报文格式应符合表 7 的规定。

表7:

写操作 #

写操作时,主站发送的序号 SER ,在每次通讯前,按模 256 加 1 运算后产生。

写数据请求帧:

  • 控制码:CTR_3
  • 数据长度:L=03H+m(数据域长度)
  • 数据标识:DI0DI1
  • 序列号:SER
  • 帧格式:
    68H T A0 A1 A2 A3 A4 A5 A6 CTR_3 DI0 DI1 SER N1...Nm CS 16H
    

从站正常应答帧:

  • 控制码:CTR_4
  • 数据长度:L=03H+m
  • 数据标识:DI0DI1
  • 序列号:SER
  • 帧格式:
    68H T A0 A1 A2 A3 A4 A5 A6 CTR_4 L DL0 DI1 SER N1...Nm CS 16H
    

从站收到非法的数据请求或数据处理错误,为从站收到错误控制码的应答:

  • 控制码:CTR_5
  • 数据域长度:L=03H
  • 序列号:SER
  • 帧格式:
    68H T A0 A1 A2 A3 A4 A5 A6 CTR_5 L SER 状态ST CS 16H
    

主站请求写数据的报文格式及从站正常应答报文格式应符合表 9 的规定。

表9:

主站请求写地址的报文格式及从站正常应答报文格式应符合表 10 的规定。

表10:

主站请求写机电同步数据的报文格式及从站正常应答报文格式应符合表 11 的规定。

表11:

数据表达格式 #

数据表达格式应符合表 12 的规定,报文传送时应先传输数据值,再传送单位代号。

表12:

单位代号 #

单位代号应符合表 13 的规定。

表13:

状态定义 #

状态 ST 占2 个字节,第一字节定义如表 14,第二字节由厂商定义。

表14:

版权声明:转载请附上原文出处链接和本声明。 原文链接:https://blog.redisant.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911094.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云k8s-master部署CNI网络插件遇到的问题

问题 按照网络上的部署方法 cd /opt/k8s # 下载 calico-kube-controllers配置文件,可能会网络超时 curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml 试了很多次都不行,k8s-master都是Not ready的状态 ca…

Netty篇(学习前言)

目录 一、为什么使用Netty 1. Netty编程相比NIO编程的优势 2. Netty 相比其它网络应用框架的优势 二、让我们走进Netty 1. 简介 2. 设计目标 3. 主要特点 4. Netty的作者 5. Netty 的地位 6. Netty 的优势 五、Netty版本说明 六、Netty架构设计 1. 线程模型基本介绍…

C/C++使用AddressSanitizer检测内存错误

AddressSanitizer 是一种内存错误检测工具,编译时添加 -fsanitizeaddress 选项可以在运行时检测出非法内存访问,当发生段错误时,AddressSanitizer 会输出详细的错误报告,包括出错位置的代码行号和调用栈,有助于快速定位…

JavaScript基础语法部分-黑马跟课笔记

一、Javascript介绍 1.JavaScript是什么? 1.是什么? 是一种运行在客户端(浏览器)的编程语言,实现人机交互效果 2.作用(做什么?) 网页特效(监听用户的一些行为让网页做…

【MongoDB】MongoDB的Java API及Spring集成(Spring Data)

文章目录 Java APISpring 集成1. 添加依赖2. 配置 MongoDB3. 创建实体类4. 创建 Repository 接口5. 创建 Service 类6. 创建 Controller 类7. 启动 Spring Boot 应用8. 测试你的 API 更多相关内容可查看 Java API maven <dependency><groupId>org.mongodb</gr…

非线性关卡设计

【GDC】如何设计完全非线性的单人关卡_DOOM (bilibili.com) 本文章算是此视频的简单笔记&#xff0c;更详细还请看视频 设计完全非线性关卡强调自由移动和沙盒式玩法&#xff0c;鼓励玩家进行不可预测的移动和空间探索。讲解者分享了设计此类关卡的具体步骤&#xff0c;包括明…

(蓝桥杯C/C++)——基础算法(下)

目录 一、时空复杂度 1.时间复杂度 2.空间复杂度 3.分析技巧 4.代码示例 二、递归 1.递归的介绍 2.递归如何实现 3.递归和循环的比较 4.代码示例 三、差分 1.差分的原理和特点 2.差分的实现 3.例题讲解 四、枚举 1.枚举算法介绍 2.解空间的类型 3. 循环枚举解…

神经网络基础--什么是正向传播??什么是方向传播??

前言 本专栏更新神经网络的一些基础知识&#xff1b;这个是本人初学神经网络做的笔记&#xff0c;仅仅堆正向传播、方向传播就行了了一个讲解&#xff0c;更加系统的讲解&#xff0c;本人后面会更新《李沐动手学习深度学习》&#xff0c;会更有详细讲解;案例代码基于pytorch&a…

代码随想录算法训练营第三十七天 | 完全背包 518.零钱兑换 Ⅱ 377.组合总和Ⅳ 70.爬楼梯(进阶版)

完全背包&#xff1a; 文章链接 题目链接&#xff1a;卡码网 52.携带研究材料 与01背包的区别在于物品数量无限&#xff0c;因此同一种物品可以取多次。 递推式如下&#xff1a; 二维&#xff1a;dp[i][j] max(dp[i - 1][j], dp[i][j - weights[i]] value[i])&#xff0c;因…

C语言心型代码解析

方法一 心型极坐标方程 爱心代码你真的理解吗 笛卡尔的心型公式&#xff1a; for (y 1.5; y > -1.5; y - 0.1) for (x -1.5; x < 1.5; x 0.05) 代码里面用了二个for循环&#xff0c;第一个代表y轴&#xff0c;第二个代表x轴 二个增加的单位不同&#xff0c;能使得…

C语言网络编程 -- TCP/iP协议

一、Socket简介 1.1 什么是socket socket通常也称作"套接字"&#xff0c;⽤于描述IP地址和端⼝&#xff0c;是⼀个通信链的句柄&#xff0c;应⽤ 程序通常通过"套接字"向⽹络发出请求或者应答⽹络请求。⽹络通信就是两个进程 间的通信&#xff0c;这两个进…

字符串接龙 /单词接龙 (BFs C#

卡码网 110和 力扣127 和LCq 108题都是一个解法 这两道题乍一看在结果处可能不一样 力扣要求 字符串里边必须包含对应的最后一个字符 而110不需要最后一个字符 但是在实验逻辑上是一致的 只是110需要把如果在set中找不到最后一个字符就直接返回0的逻辑删去 就可以了 这就是…

Transformer和BERT的区别

Transformer和BERT的区别比较表&#xff1a; 两者的位置编码&#xff1a; 为什么要对位置进行编码&#xff1f; Attention提取特征的时候&#xff0c;可以获取全局每个词对之间的关系&#xff0c;但是并没有显式保留时序信息&#xff0c;或者说位置信息。就算打乱序列中token…

python操作MySQL以及SQL综合案例

1.基础使用 学习目标&#xff1a;掌握python执行SQL语句操作MySQL数据库软件 打开cmd下载安装 安装成功 connection就是一个类&#xff0c;conn类对象。 因为位置不知道&#xff0c;所以使用关键字传参。 表明我们可以正常连接到MySQL 演示、执行非查询性质的SQL语句 pytho…

【报告PDF附下载】2024人工智能大模型技术财务应用蓝皮书

《人工智能大模型技术财务应用蓝皮书》 是一本探讨AI大模型技术在财务管理领域应用的权威指南。书中不仅概述了人工智能大模型技术的发展历程、典型特征和未来趋势&#xff0c;还详细介绍了它的体系架构和在财务领域的应用情况。 书中通过家用电器制造、银行、汽车企业、基础设…

快速上手vue3+js+Node.js

安装Navicat Premium Navicat Premium 创建一个空的文件夹&#xff08;用于配置node&#xff09; 生成pakeage.json文件 npm init -y 操作mysql npm i mysql2.18.1 安装express搭建web服务器 npm i express4.17.1安装cors解决跨域问题 npm i cors2.8.5创建app.js con…

【Python爬虫实战】DrissionPage 与 ChromiumPage:高效网页自动化与数据抓取的双利器

&#x1f308;个人主页&#xff1a;易辰君-CSDN博客 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、DrissionPage简介 &#xff08;一&#xff09;特点 &#xff08;二&#xff09;安装 &#xff08;三…

【JAVA】java 企业微信信息推送

前言 JAVA中 将信息 推送到企业微信 // 企微消息推送messageprivate String getMessage(String name, String problemType, String pushResults, Long orderId,java.util.Date submitTime, java.util.Date payTime) {String message "对接方&#xff1a;<font color\…

前端md5加密

npm下载 npm install --save ts-md5页面引入 import { Md5 } from ts-md5使用 const md5PwdMd5.hashStr("123456")md5Pwd&#xff08;加密后的数据&#xff09; .toUpperCase()方法转大写

DDRSYS,不同频点的时序参数配置说明,DBI/DM功能说明

文章目录 不同频点的时序参数配置说明LPDDR4 时序参数DFI 参数对应配置DDR3/4DBI功能说明&#xff0c;MC控制DBI情况 不同频点的时序参数配置说明 LPDDR4 时序参数 LP4的时序参数从JEDEC颗粒文档可以检索到读写的时序参数如下&#xff1a; 此图主要关注不同频点对应的RL和WL…