单点表通讯协议,谁看的懂啊,请大侠给指明一下如何接收数据

问题描述

单点表通讯协议一.硬件连接和设置:1.仪表设置:a.BAUD设置:(默认为BAUD=3)BAUD=0通讯波特率1200数据位=8校验位=N停止位=1BAUD=1通讯波特率2400数据位=8校验位=N停止位=1BAUD=2通讯波特率4800数据位=8校验位=N停止位=1BAUD=3通讯波特率9600数据位=8校验位=N停止位=1b.ID设置:(默认为ID=1)通讯地址可设位0-31(接在同一485口上的通讯地址不能一样)c.硬件连接:(仪表接线以实物准,并请参照本文件接线。仪表端子号对应为)仪表端子号对应为:C804/T804A-12B-11C403A-3B-11C903A-10B-9C904A-22B-21C703/C704A-15B-16与电脑连接:与PLC等MODBUS主站连接:2.电脑或其它主站设备的设置:a.与电脑连接:打开光盘中相应的文件“单点表.exe”,此时若出现一下消息框,请将“MSCOMM32.OCX”复制到WINDOWS目录下“C:WINDOWSsystem32”处,然后重新打开文件“单点表.exe”。选择对应的COM号,选“测量”,此时,若电脑与仪表通讯正常,信息框内数值颜色为黑色,并显示测量值。b.与PLC等MODBUS主站连接:请参照PLC或其它MODBUS主站设备的相关通讯说明b.与PLC等MODBUS主站连接:请参照PLC或其它MODBUS主站设备的相关通讯说明二.软件设置:串口:8位数据位,1位停止位,无奇偶波特率:1200,2400,4800,9600RTU模式当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。代码系统•8位二进制,十六进制数0...9,A...F•消息中的每个8位域都是一个两个十六进制字符组成每个字节的位•1个起始位•8个数据位,最小的有效位先发送•1个奇偶校验位,无校验则无•1个停止位(有校验时),2个Bit(无校验时)错误检测域•CRC(循环冗长检测)RTU帧使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。在网络波特率下多样的字符时间,这是最容易实现的(如下图的T1-T2-T3-T4所示)。传输的第一个域是设备地址。可以使用的传输字符是十六进制的0...9,A...F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。一典型的消息帧如下所示:起始位设备地址功能代码数据CRC校验结束符T1-T2-T3-T48Bit8Bitn个8Bit16BitT1-T2-T3-T4RTU消息帧以RTU方式读取参数数据的例子主机请求地址功能码开始高高位地址开始低低位地址寄存器的数量的高位寄存器的数量的底位错误校验010300000002C40B从机应答地址功能码字节数数据高字节数据低字节小数点高字节小数点低字节错误校验010304412400016FC4十六进制数4124表示的十进制整数为16676*10-1=1667.6,错误校验值要根据传输方式而定。以RTU方式写参数数据的例子主机请求地址功能码开始高位地址开始低位地址寄存器的个数高位寄存器的个数低位字节计数数据高位数据低位小数点高字节小数点高字节错误校验0110010400020403E80001BE7C从机应答地址功能码开始高位地址开始低位地址寄存器的个数高位寄存器的个数低位错误校验010310000002C0CB十六进制数03E8.0001表示的十进制整数为1000*10-1=100.0,错误校验值要根据传输方式而定。HX/Modbus通讯协议与Modbus通信协议格式兼容,但数据场增加小数点单位。Modbus通信协议详细资料,请参考附带ABBModbus协议和Modbus_Cn/ModbusProtocol协议规范。单点表地址表参数读写高位地址低位地址小数点单位PV读0000根据SL1值定AL1读写0104SL1AL2读写0108SL1AL3读写010CSL1AL4读写0110SL1AH1读写0114SL1AH2读写0118SL1AH3读写011CSL1AH4读写0120SL1SL0读写02000SL1读写02040SL2读写02080SL3读写020C0SL2。读写02100SL3。读写02140SL4读写02180SL5读写021C0SL6读写02200SL7读写02240DE读写02280BT读写022C0PB1读写0230SL1KK1读写02343PB2读写0238SL1KK2读写023C3PB3读写0240SL1KK3读写02443OUL读写0248SL1OUH读写024CSL1PVL读写0250SL1PVH读写0254SL1SLL读写0258SL1SLH读写025CSL1SLU读写02600四回路八回路巡检仪小数点单位:=0整型数据;=1数据带一位小数;=2数据带两位小数;=3数据带三位小数。发送小数点高低字节必须与从机小数点单位一致,才能通讯。

解决方案

解决方案二:
不就是串口读写操作吗?用按照Modbus协议组成命令发送出去就行
解决方案三:
楼主你哪里不明白,是串口方面编程还是Modbus协议?

时间: 2024-10-21 12:49:10

单点表通讯协议,谁看的懂啊,请大侠给指明一下如何接收数据的相关文章

谁能和我说下网络编程,json,http,都有什么联系,,,网上copy过来我也不介意 只要看得懂

问题描述 谁能和我说下网络编程,json,http,都有什么联系,,,网上copy过来我也不介意 只要看得懂 谁能和我说下网络编程,json,http,都有什么联系,,,网上copy过来我也不介意 只要看得懂 解决方案 如果你不需要特别高的性能,那么用http,简单可靠. 解决方案二: json是一种表示数据的格式,和xml有些类似,同时json也符合js语法.http是通讯协议,这种标准的协议任何web浏览器都可以理解,因此它对于客户端来说,兼容性很好.网络编程分为两个方面,一个是web编程,

PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]

php5|应用演示 一. 预先的知识: 什么是RS232/RS484及其应用?       QUOTE:RS232接口就是串口,电脑机箱后方的9芯(或25芯)插座,旁边一般有 "|O|O|" 样标识. 一般机箱有两个,新机箱有可能只有一个.笔记本电脑有可能没有. 有很多工业仪器将它作为标准通信端口.通信的内容与格式一般附在仪器的用户说明书中. 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式.由于串行通讯方式具有使用线路少.成本低,特别是在远程传输时,避免了

数据库相关问题,描述如下,看懂的请指教

问题描述 数据库相关问题,描述如下,看懂的请指教 create table pocket ( money number ): 表中的值:(大于0的值至少有两个,已排序) 0 1 1 1 3 3 能查的时候加个属性吗,如下(属性规则是0 对应 0 ,大于0 的 为1,但是重复的只有第一个为1,其余为0): 0 0 1 1 1 0 1 0 3 1 3 0 解决方案 可以,用case...when语法 解决方案二: case when可以的

java-小白问题:JAVA自定义容器类时,一段构造方法不太看得懂,求详细解释

问题描述 小白问题:JAVA自定义容器类时,一段构造方法不太看得懂,求详细解释 我先解释一下题意,现在要设计一个容器类(intArray2),这个容器的本质就是一段数组(暂且只装int值),这个数组可以的索引可以根据使用者传入的数据多少而自动增长,而自动产生新数组覆盖以前的,那么我的疑问就是如下这个....为什么构造方法要像第二图里那么写,而不能照我想的第一张图里的写 我觉的应该如此写(编译通过,运行报错,失败): 正确的写法,为什么要这么写两个: 测试代码,实参传或不传,传什么值,都不影响结果

让技术人员看得懂的流程(2)——用例模型

                    让技术人员看得懂的流程(2)                          --用例模型 一般的管理流程都将软件项目划分为"需求->分析->设计->实现->维护",对应的技术流程中首先也肯定是要将需求明确,而"用例模型"就是用于获得和分析需求的. 简单来说,用例模型就是要将客户的需求写下来."需求"不是很好理解,更加通俗的讲法是"故事(story)".我觉得&

scoter编程-根据通讯协议获取报文,放到数据库中

问题描述 根据通讯协议获取报文,放到数据库中 对方主动发送数据,然后我们只管接收,存到数据库中,应该怎么写,根据 解决方案 response做一个表,每个字段做一列,然后获取xml对应节点数据,然后数据库做一行

JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例,我们暂时不讲了,我们直接来重点吧,关于JAVA的网络请求是怎么实现的?当然是HTTP协议,但是不可否认,他的概念和思想都是我们必须去涉及的,包括后面的tcp和socket等,好吧,我们开车吧! 一.JAVA网络请求概述 关于JAVA的网络请求,我们大致的可以分为以下几个分类 网络模式 OSI TCP

c语言-edison连接mpu6050代码看不大懂

问题描述 edison连接mpu6050代码看不大懂 #include "math.h" #include "stdio.h" #include "mraa.h" #include "unistd.h" #define MPU6050_I2C_ADDR 0x68 #define PWR_MGMT_1 0x6B #define SMPLRT_DIV 0x19 #define CONFIG 0x1A #define GYRO_CO

逆向RF协议:看我如何玩坏爸爸新买的433MHz电动百叶窗?

本文讲的是逆向RF协议:看我如何玩坏爸爸新买的433MHz电动百叶窗?,我最近针对许多不同的DIY家庭自动化设备进行了黑客攻击,主要目的是想将他们逆向然后集成到我的DIY homekit中去.几个月前,我爸爸买了大量的RAEX 433MHz射频的电动百叶窗,在房间里安上并取代了我们家现有的手动窗帘. 注意:这些百叶窗是与Spotlight以" Motion Motorized Roller Blind" 的名义销售的相同型号 说实话,这个自动百叶窗对我来说简直是梦幻般的,因为它能够让我