大工MAC1100 控制器modbus rtu 通讯设置
RTU设备通讯的设置

附录7TRACE MODE与MODBUS RTU设备通讯的设置[目的]介绍TRACE MODE通过串口与各种支持ModBus RTU设备通讯的设置方法。
结构:硬件配置和连接:PLC设备的设置:•设备地址:01•通讯模式:ModBus RTU•波特率:9600bps•数据位:8位•校验位:1位(偶校验)•停止位:1位详细组态步骤:1、打开“通道库编辑器”。
2、点击“新建”,弹出如下对话框,输入工程名,单击“确定”。
3、在空白处单击右键弹出如下对话框,根据工程大小选择需要的操作站节点类型,如本例中我们选择“”的。
4、单击“确定”后如下图所示:5、选中,单击右键弹出对话框,选择“串口设置”选项卡,按下图所示对节点的COM1口进行配置如下:(注意:如果传输控制不需要设置的话,那么就为NO,如果需要则一定要根据PLC 或者下位控制器的设置而定。
)操作站为主站所有通讯参数的设置应与PLC的设置一致6、在同一对话框中选择“串口通信”选项卡,按下图所示对节点的COM1口进行配置:• 上图所示为读取PLC 中输入寄存器30001~30008和保持寄存器40009~40022的内容。
•• 有关MODBUS 协议各命令字具体含义如下: • • •TRACE MODE代码 名称功能 与寄存器的对应关系数据类型 Rout Byte(1) 读取线圈状态 读 0xxxx 8位 Rin Byte(2)读取输入状态读 1xxxx 8位 Rout Word(3) 读取保持寄存器 读 4xxxx 整型(1个字) Rin Word(4)读取输入寄存器读 3xxxx 整型(1个字)W SingleCoil(5) 强置单线圈 写 0xxxx 位 W Word(6)预置单保持寄存器写 4xxxx 整型(1个字)R Exception(7) 读取控制器状态 读 8位 Rout Float(3) 读取保持寄存器 读 4xxxx 浮点型 Rin Float(4) 读取输入寄存器 读 3xxxx 浮点型 W Float(16) 写保持寄存器 写 4xxxx 浮点型 W Word(16)写保持寄存器写 4xxxx 整型(1个字)W Float(16) wait 延迟写保持寄存器 写 4xxxx 浮点型 W Word(16) wait 延迟写保持寄存器 写 4xxxx 整型(1个字)W Byte(15)强置多线圈写0xxxx8位7、 单击“确定”,系统返回到节点编辑窗口:读写PLC 中寄存器的MODBUS 标准命令定义设备名称PLC 地址 与PLC 通讯的串口号 通讯协议 设置PLC 中寄存器的起始地址(十六进制)8、选中图标并双击鼠标,系统弹出节点间连接设置对话框:9、由于本例中只有单个节点,故只需单击“确定”,系统进入“通道库对象编辑窗口”,如下图所示。
MODBUSRTU通讯规约

MODBUS_RTU通讯规约一、通讯数据的类型及格式信息传输为异步方式,并以字节为单位,在主机和从机之间传递的通讯信息是11位的字格式,包含1个起始位(0),8个数据位,2个停止位(1)。
信息帧格式:二、通讯信息传输过程通讯命令由主机发送至从机时,与主机发送的地址码相符的从机接收通讯命令,如果CRC校验无误,则执行相应的操作,然后把执行结果(数据)返送给主机。
返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。
如果CRC校验出错就不返回任何信息。
2.1 地址码地址码是每个通讯信息帧的第个1字节,从0到100。
每个从机必须有总线内唯一的地址码,只有与主机发送的地址码相符的从机才能响应回送信息。
当从机回送信息时,回送数据均以各自的地址码开始。
主机发送的地址码表明将发送到的从机地址,从机返回的地址码表明回送的从机地址,相应的地址码表明该信息来自于何处。
2.2 功能码每个通讯信息帧的第个2字节。
主机发送,通过功能码告诉从机应执行什么动作。
从机响应,从机返回的功能码与从主机发送来的功能码一样,表明从机已响应主机并已执行了相关的操作。
仪表支持以下2个功能码:2.3 数据区数据区随功能码不同而不同。
这些数据可以是数值、参考地址等。
对于不同的从机,地址和数据信息都不相同(应给出通讯信息表)。
主机利用通讯命令(功能码03H和10H),可以任意读取和修改从机数据寄存器,一次读取或写入的数据长度应不超过数据寄存器地址有效范围。
三、功能码简介3.1 功能码03H:读寄存器例如:主机要读取从机地址为01H,起始寄存器地址为0CH的2个寄存器数据。
主机发送:如果从机寄存器0CH、0DH的数据为0000H、1388H,从机返回:3.2功能码10H:写多路寄存器例如:主寄存器地址为00H的3个寄存器中。
主机发送:从机返回:四、16位CRC校验码主机或从机可用校验码判别接收信息是否正确。
由于电子噪声或一些其它干扰,信息在传输过程中可能会发生错误,校验码可以检验主机或从机通讯信息是否有误。
modbus rtu 通讯参数

Modbus RTU 通讯参数什么是 Modbus RTU?Modbus RTU 是一种通信协议,广泛应用于工业自动化领域。
它是基于串行通信的Modbus 协议的一种变体,采用二进制编码方式进行数据传输。
Modbus RTU 通信协议通常用于连接主机设备(如计算机)与从机设备(如传感器、执行器等)之间,实现数据的读取和控制。
Modbus RTU 通讯参数的组成Modbus RTU 通讯参数由以下几个部分组成:1.通信波特率(Baud Rate):波特率是指每秒钟传输的比特数,它决定了通信速度的快慢。
在 Modbus RTU 通信中,常见的波特率有 9600、19200、38400 等。
通信的两端设备必须设置相同的波特率才能正常通信。
2.数据位(Data Bits):数据位表示每个字节中实际传输的位数。
在 ModbusRTU 通信中,通常设置为 8 位。
3.奇偶校验(Parity):奇偶校验用于检测和纠正传输过程中的错误。
在Modbus RTU 通信中,奇偶校验可以选择为无校验、奇校验或偶校验。
4.停止位(Stop Bits):停止位用于标识数据传输的结束。
在 Modbus RTU通信中,通常设置为 1 位。
Modbus RTU 通讯参数的配置在进行 Modbus RTU 通信时,需要将通讯参数配置到通信设备上,以确保设备之间能够正确地进行数据传输。
通常的配置方式是通过设备的配置界面或者命令行进行设置。
1.通信波特率的配置:选择合适的波特率,将其配置到通信设备的通信参数中。
通信设备的通信模块通常会提供设置波特率的选项。
2.数据位的配置:将数据位设置为 8 位,确保数据的传输完整性。
3.奇偶校验的配置:根据实际情况选择适当的奇偶校验方式。
如果通信设备支持自动检测奇偶校验,可以选择自动模式。
4.停止位的配置:将停止位设置为 1 位,以标识数据传输的结束。
Modbus RTU 通讯参数的调试与故障排除在配置完 Modbus RTU 通讯参数后,需要进行调试和故障排除,以确保通信的稳定性和可靠性。
ModbusRTU两主站之间通讯解决方案

ModbusRTU两主站之间如何交互数据?
工业控制中,一般都是主从通讯方式居多,有时也会碰到两个主站之间通讯。
例如某工作站上位机(主站)需要监控一个plc末端设备,常规来说plc应作为从站回应数据,但是该设备特殊,只能做modbus主站,只能给上位机不停写值的传递方式,这样和上位机就形成了两个主站之间通讯的架构了。
1.这种通讯机制可以实现?
通过迅饶的HUB1002或者HUB2004实现ModbusRTU两主站之间访问。
2.实现过程
在迅饶HUB配置软件里建立虚拟驱动Simulator,建立一个中间变量tag。
其中tag对应的转发端modbus地址为plc要写入的寄存器地址(例如40001)。
然后利用HUB网关可以同时用两个com口通道作为从站转发的功能,com1接plc,com2接上位机。
最终plc不断给网关写值,上位机软件实时采集值,网关里的寄存器相当于虚拟缓存共享区,这样即可解决两主站之间的通讯难题了。
原理图如下:
HUB网关。
MODBUS通讯协议-RTU(DOC)

MODBUS通讯协议-RTU(DOC)简介Modbus通讯协议是一种通用语言,广泛应用于电子控制器上。
通过该协议,不同厂商生产的控制设备可以连接成工业网络,进行集中监控,已成为通用工业标准。
该协议定义了控制器能够认识使用的消息结构,并描述了控制器请求访问其他设备的过程,回应其他设备的请求的方式,以及如何侦测错误并记录。
在Modbus网络上通信时,每个控制器需要知道设备地址、识别按地址发来的消息,并决定产生何种行动。
该协议只允许在主计算机和终端设备之间进行数据交换,不允许独立设备之间的数据交换。
传输方式在Modbus总线上进行通讯时,使用RTU模式,信息中的每8位字节分成两个4位16进制的字符,并且每个信息必须连续传输。
传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则。
代码系统采用8位二进制和十六进制数0.9,A。
F,消息中的每个8位域都是由两个十六进制字符组成。
每个字节的位包括1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)和1个停止位(有校验时为2个Bit,无校验时为1个Bit)。
错误检测域采用CRC(循环冗长检测)。
协议简介Modbus通讯协议是一种通用语言,广泛应用于电子控制器上。
通过该协议,不同厂商生产的控制设备可以连接成工业网络,进行集中监控,已成为通用工业标准。
该协议定义了控制器能够认识使用的消息结构,并描述了控制器请求访问其他设备的过程,回应其他设备的请求的方式,以及如何侦测错误并记录。
传输方式在Modbus总线上进行通讯时,使用RTU模式,信息中的每8位字节分成两个4位16进制的字符,并且每个信息必须连续传输。
传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则。
代码系统采用8位二进制和十六进制数0.9,A。
F,消息中的每个8位域都是由两个十六进制字符组成。
每个字节的位包括1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)和1个停止位(有校验时为2个Bit,无校验时为1个Bit)。
modbusRTU协议通讯格式的参考说明

关于修改地址的指令: 使用 10 指令 可修改板子的默认地址 谨慎使用(不要设定会与同一通讯线路上其他设备地 址冲突的新地址), 请一定记住要设定的目标地址。 假设要设定目标地址为 02. 下发指令如下:01 10 00 00 00 01 02 00 02 27 91 解析如下:01 地址,10 指令码,00 00 表示起始寄存器地址,00 01 表示要设定的寄存器个 数,02 表示数据区字节数, 00 02 表示数据区数据(目标地址为 02),27 91 校验字节。 新地址即刻生效,数据返回一次。以后再发数据必须使用新地址。 返回如下:02 10 00 00 00 01 01 FA 解析如下:02 地址,10 指令码,00 00 起始寄存器地址,00 01 设定完成的数据个数,01 FA 校验字节。
关于修改通讯波特率的指令:(此指令慎用!!!)本板子通讯波特率可从 1200bps 到 19200bps 进行设定。 设定方法如下:首先以默认波特率进行连接后,使用 10 指令修改波特率。 假设要设定的目标波特率为 19200bps。 下发指令如下:01 10 00 01 00 01 02 00 05 67 82 解析如下:01 地址,10 指令码,00 01 起始寄存器地址,00 01 设定寄存器的个数,02 数据 区字节数,00 05 数据区数据 ( 00 05 表 示 目 标 波 特 率 为 19200 , 其 中 00 01~00 05 分 别 代 表 1200bps,2400bps,4800bps,9600bps,19200bps),67 82 校验。 返回如下:01 10 00 01 00 01 50 09 解析如下:01 地址,10 指令码,00 01 设定完成起始的寄存器地址,00 01 设定完成的寄存 器个数,50 09 校验。 波特率修改完成之后一定记住,不是即刻生效,要重新上电或者按复位按键后才生效。
Modbus RTU通用规约说明、模板及规约配置

Modbus RTU通用规约说明、模板及规约配置说明文档一、Modbus RTU通用规约说明1.1Modbus协议简介Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。
此协议支持传统的串口链路RS-232、RS-422、RS-485和以太网设备。
许多工业设备包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。
此协议定义了控制器能够认识和使用的报文结构,而不管它们是经过何种网络进行通信的。
标准的Modicon控制器使用RS232C实现串行的Modbus。
Modbus的ASCII、RTU协议规定了报文、数据的结构、询问和应答的方式,数据通讯采用主/从方式,主站发出数据请求报文,从站接收到正确报文后就可以发送数据到主站端以响应请求;主站也可以直接发报文修改从站的数据,实现双向读写。
1.2Modbus通用规约介绍Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC 校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。
另外,Modbus采用主从问答方式收发数据,在实际使用中如果某从站站点断开后(如故障或失电),主站可以诊断出来,而当故障修复后,网络又可自动接通。
因此Modbus协议的可靠性较好。
Modbus协议在串行链路中RTU模式使用的最多,通用性很强,所以在这里仅介绍一下Modbus RTU协议即Modbus通用规约。
下表是Modbus Rtu支持的功能码:在工程现场我们经常遇到第三方设备需要进行通信,如果是特殊规约,那就需要工自研究所专门做规约与模板。
如果是标准通信规约比如说CDT-91,MODBUS-RTU,103规约等,我们就可以根据厂家要到的规约与点表,自行配置模板进行通信。
大工MAC1100控制器modbusrtu通讯设置

大工MAC1100控制器modbusrtu通讯设置
大工mac1100 控制器modbus rtu 通讯设置:
总线映射方式
1.设置中控制器,115200bps、8数据位、1停止位、偶校验与从站一致。
2.程序调用串行字读指令,设置站地址号与从站一致,功能号为4,寄存器地址ADDR需
要设置为16进制数16#01,CYCLE设置为16#FFF1总线映射模式。
3.串行通讯指令需要用定时器定时扫描,才能通讯成功。
多从站轮询也需要用定时方式。
从设备映射方式
1、同总线映射方式
2、从设备配置公共参数配置,自定义模式、其它设备、扫描命令号3。
3、AI参数设置,读功能号
4、通道2、命令1、变量地址设为1和2。
4、设置完后需要下载参数,然后重启PLC通讯正常。
Modscn32设置()
地址Address 设置为0002 长度length 设置为2 ,站地址为1 寄存器类型04
Connection 列表选connect进入通讯设置,先选通讯口com1,设定波特率115200 ,数据位8 ,停止位1 ,偶校验。
有错误显示超时或者通讯错误,无错误时直接显示寄存器数值。
串口调试软件:将编码器的参数设直线(蓝色)接24V,此时编码器波特率为19200bps,设置串口为:com1 波特率19200bps 数据位8 停止位1 偶校验。
选16位数据发送,读取参数发送01 03 00 44 00 02 84 1E 从机回01 03 04 00 00 00 00 FB 84 发送修改参数指令见说明书。
modbusrtu说明

modbusrtu说明modbus?關於modbus RTU的使用說明先前留下了一些關於modbus的文章卻好像沒有留下一點關於modbus基礎的介紹modbus是一種工業控制常用的通訊協定,他定義了一個標準的通訊封包格式,而非一種通訊技術,最早modbus是使用於PLC上,漸漸的許多工控設備也開始採用modbus作為一種標準的通訊格式。
而modbus也產生出了許多不同的形態,如modbus RTU為最原始的以二進制方式表示也有使用ASCII的modbus ASCII,以及modbus TCP/IP等等型態,其不同的差異只有在於部分的格式不同(ASCII採用字元編碼方式傳送)在低階的硬體控制中,最常使用的莫過於modbus RTU這種以二進制方式傳送的通訊是最簡單不過的,在RS485(TTL485)中經常可以看到modbus的通訊協定其原因為modbus本身也具有master與slave的架構,在一個並聯(RS485)的通訊環境中,有一節點(設備)為master,由該master向其他slave通訊,進行通訊、控制等。
modbus提供許多操作功能碼,其詳細的定義了這些功能的作用以及格式這邊所提到,定義,指的只是一個規則,我們在寫程式或在使用時就必須遵照這些規則進行,就等於是在實行標準的modbus協議。
以下是我簡單介紹的modbus RTU的使用方式1.讀/寫位址表(Mapping table):在使用modbus協定中,要讀取或寫入設備,通常必須先知道欲控制或讀取設備之記憶體暫存器位置表,不同的產品、設備,都會有自己的位址表,基本上是不會相同的,標準中每個地址的長度以1word表示,每個位址所代表的資料量為1word 等於1 address = 1 word data但在實際用途上,經常性的資料範圍會有大於1word的時候,所以有些人則會連續定義兩個2 address做為1個資料的內容存放空間,所以,在使用modbus RTU前,必須先了解該設備的位址表,才有辦法讀取或控制自己要的內容2.Slave address/Slave ID 設備端ID當要讀寫slave時,必須先知道該設備的address/ID,至於這個ID要從何得知?通常就要問負責該設備的人,或者設計者,或者原廠公司,或者熟悉他的人0x03功能碼(function code)所定義的功能為讀取多個暫存器,用來讀取一連續位址的資料。
RTU控制系统的设置和调试方法

RTU控制系统的设置和调试方法介绍RTU(远程终端单元)是一种用于监控和控制远程设备的控制系统。
本文档将介绍RTU控制系统的设置和调试方法,以帮助用户正确配置和调试该系统。
设置方法以下是RTU控制系统的设置方法:1. 首先,确保RTU设备已正确安装并连接到远程设备。
检查电源连接和通信线路的正确性。
2. 进入RTU控制系统的设置界面。
根据具体设备型号和厂商提供的说明书,使用合适的方式进入设置界面。
3. 在设置界面中,配置RTU的基本信息,如设备名称、通信协议、通信端口等。
确保这些信息与远程设备的要求相匹配。
4. 配置RTU的监控参数。
根据需要监控的远程设备类型和要求,设置相关的参数,如采样频率、报警阈值等。
5. 配置RTU的控制参数。
如果需要通过RTU控制远程设备,设置相关的控制参数,如开关状态、调节模式等。
6. 保存设置并退出设置界面。
确保设置已成功保存到RTU设备中。
调试方法以下是RTU控制系统的调试方法:1. 确认RTU设备已正确连接到远程设备,并且通信线路正常。
检查电源连接和通信线路的稳定性。
2. 使用监控软件或设备提供的调试工具,检查RTU与远程设备之间的通信是否正常。
可以发送测试指令或查询远程设备的状态来验证通信是否成功。
3. 检查RTU设备的监控参数是否正确。
观察监控数据是否与远程设备的实际情况相符。
如果监控数据异常,可以调整参数或采样频率进行调试。
4. 如果需要通过RTU控制远程设备,检查控制指令是否能够正确发送并执行。
观察远程设备的响应情况,确保控制指令生效。
5. 定期检查RTU设备的运行日志和报警信息。
如果出现异常或报警,及时采取相应的措施进行故障排除。
6. 如有需要,可与设备厂商或技术支持人员联系,获取更详细的调试方法和支持。
结论本文介绍了RTU控制系统的设置和调试方法。
通过正确设置和调试RTU设备,可以有效监控和控制远程设备,提高系统的可靠性和稳定性。
在实际操作中,请遵循设备厂商提供的具体说明书,并与专业人员合作,以确保正确配置和调试。
MODBUS-rtu通讯协议说明

0—10KHz 输出: 1.最大流量 2.最大频率
超限值设置: 1.低限值设置 2.高限值设置
超限值设置: 1.低限值设置 2.高限值
4—20mA 输出:
最大流量= dm3 /m
出
1. 4mA 输出 2. 20 mA 输出
低限值=
高限值=
低限值=
高限
℃ 4mA= g/cm3 20mA= g/cm3
最大频率= KHz
2.数据传输速率: 9600bps、4800bps、2400bps、1200bps, 用户可通过变送器进行设置。
3.设备地址: 0~31,用户可通过变送器进行设置。
4.主机请求数据报文格式:
主机发送 从机地址 功能码 寄存器起始地址 寄存器个数 CRC 校验码
字节数 1 1 2 2 2
发送的信息 **H 03H 00F6H 000,后发送高字节。
这里面http://www.0523yh.com/浏览并寻求帮助
按“菜单/确认”键进入 请输入 6 位密码
主菜单 1.单位设置 2.常数设置 3.电流输出 4.频率输出 5.离散量 6.系统维护
数设置
系数 3.反向系数 4.C1 5.C2
电流输出设置
4—20mA 输出:
出
1. 4mA 输出 2. 20 mA 输出
kg /m 4mA= dm3 /m 20mA= dm3 /m
最大流量= kg /m 最大频率= KHz
输出 1 超限:关 闭 1.关闭 2.温度 3.密度 4.质量流量 5.体积流量 6.质量总量 7.体积总量
输出 2 超限:关 闭 1.关闭 2.温度 3.密度 4.质量流量 5.体积流量 6.质量总量 7.体积总量
备注 向地址为**H 的从机要数据 读取寄存器 寄存器起始地址为 00F6H 读取 6 个数据(共 12 个寄存器) 由主机计算得到 CRC 校验码
工业级无线数传采集终端RTU的MODBUS协议调试详解

工业级无线数传采集终端RTU的MODBUS协议调试详解Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
开启MODUBS配置:测试之前首先要在RTU WEB页面里--"服务器参数设置",根据如下图修改配置:注意:要测试的那路要先启用,否则读取到数值可能全为0,有的会回应错误有的不会。
打开网络调试助手,开启TCP服务端口27000,等待上线后(若RTU已经在线需重启才能连上,就可以发送数据了,就会得到相应回应!数据回应错误码:00:没有错误01:非法功能码02:非法的数据地址03:非法的数据值04:从机设备故障05:确认06:从设备忙碌07:否定08:内存奇偶校验错以下是测试下发的数据及回应:1.开关输入(读 8路)读开关输入:主机下发命令读开关输入读8路01 02 00 00 00 08 79 CC--01 02 01 00 A1 88 //00代表8路全为0--01 02 01 04 A0 4B //04--100 代表3路为高--01 02 01 03 E1 89 //会8路全部读取无论读取的是不是全部 03--11,代表第1-2路为高--01 02 01 0C A1 8D // 0c--1100,代表3-4路为高 13:54 2015-4-13--01 02 01 30 A1 9C // 30--110000,代表5-6路为高注:没有启用的情况下,读取到数值全为0,不会回应错误2.AD模拟输入(读 8路)读AD模拟输入:主机下发命令读AD输入读第1路01 04 00 00 00 02 71 CB--01 04 04 00 00 00 00 FB 84----01 04 04 00 00 0B B1 3C C0 //0B B1 --2993主机下发命令读AD输入读第2路01 04 00 02 00 02 D0 0B--01 04 04 00 00 0B B1 3C C0 //2993主机下发命令读AD输入读第3路01 04 00 04 00 02 30 0A--01 04 04 00 00 0B B1 3C C0主机下发命令读AD输入读第4路01 04 00 06 00 02 91 CA--01 04 04 00 00 0B B3 BD 01 //0B B3--2995主机下发命令读AD输入读第5路01 04 00 08 00 02 F0 09--01 04 04 00 00 01 CB BB 83主机下发命令读AD输入读第6路01 04 00 0A 00 02 51 C9--01 04 04 00 00 01 CC FA 41主机下发命令读AD输入读第7路01 04 00 0C 00 02 B1 C8--01 04 04 00 00 01 CC FA 41主机下发命令读AD输入读第8路01 04 00 0E 00 02 10 08主机下发命令读AD输入读全部8路01 04 00 00 00 10 F1 C6---01 04 20 00 00 23 17 00 00 23 0F 00 00 23 18 00 00 22 FD EE 00 00 23 55 00 00 23 1E 00 00 22 F1 00 00 23 24 74 B0//00 00 23 17---8983,00 00 23 0F---8975,00 00 23 18--8984,00 00 22 FE--8958,00 00 23 55--9045,00 00 23 1E--8990,00 00 22 F1--8945,00 00 23 24--89963.继电器(读写 4路)读继电器:主机下发命令读继电器读4路01 01 00 0F 00 04 0d ca--01 01 01 00 51 88 // 00--0,4路继电器都为断开--01 01 01 0F 11 8C // 0f--1111,4路继电器都为闭合--01 01 01 05 91 8B // 05--0101,1、3路继电器为闭合,2、4路断开--01 01 01 0A D1 8F // 0A--1010,2、4路继电器为闭合写继电器://写继电器写第1路为断开状态 00016-1=15下发--01 0F 00 0F 00 01 01 00 7A 96 //00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应--01 0F 00 0F 00 01 08 A4//写继电器写第2路为断开状态下发--01 0F 00 10 00 01 01 00 ef 54 //00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应--01 0F 00 10 00 01 CE 95//写继电器写第3路为断开状态下发--01 0f 00 11 00 01 01 00 d2 94 //00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应--01 0F 00 11 00 01 0E C4//写继电器写第4路为断开状态下发--01 0f 00 12 00 01 01 00 96 94 //00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应--01 0F 00 12 00 01 0E 34//写继电器写4路 4路都为断开状态下发--01 0F 00 0F 00 04 01 00 6a 97 //00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应--01 0F 00 0F 00 04 0B 64//写继电器写4路 4路都为闭合状态下发--01 0F 00 0F 00 04 01 0F 2a 93回应--01 0F 00 0F 00 04 0B 644.数字输出(读写 4路)(数字输出对应的首地址16进行表示0x0037,1路数字输出对应2个寄存器0x0037 代表的是数字输出的当前状态高电平低电平方波1-高电平2- 低电平3- 方波0x0038 代表的是数字输出的方波周期(若不是方波则是00 00)//40056-40001=55,55--37(16进制,数字输出对应的首地址16进行表示0x0037,1路数字输出对应2个寄存器40058-40001=57,57--39(16进制)注意:这里如果配置为上升沿和下降沿,提交之后,再次采集--读取会变成高低电平,这是正常的,因为上升下降只是瞬间。
modbusrtu怎么调试?

modbusrtu怎么调试?
首先你需要 ️相关的测试软件和硬件,常用的测试软件有modscan32用于采集数据,modsim32用于仿真从站,如果使用电脑没有串口需要有usb转串口得设备,一般我们都是用rs485接口
如上图,可以使用这样的串口线
安装相应的驱动后在电脑上就可以看到端口com1等显示,如果是读取从站设备的数据,打开modscan32软件
点击connection后,弹出如上图,选择对应的电脑端口号,设置通讯参数,必须与从小设备保持一致,一般波特律9600,数据长度8.无检验,一个停止位
然后设置需要读取的寄存器的类型,比如要读取保持寄存器,需要选择03 holding register,寄存器起始地址选择根据从站确定比如从1开始,然后选择h读取的长度比如10,最重要的一点就是要这对从站地址device id,然后就可以看到连接成功,读取到了从站的数据。
(三)ModbusRTU协议使用说明

(三)ModbusRTU协议使用说明一、Modbus RTU数据帧说明由发送设备将 Modbus 报文构造为带有已知起始和结束标记的帧。
这使设备可以在报文的开始接收新帧,并且知道何时报文结束。
不完整的报文必须能够被检测到而错误标志必须作为结果被设置。
在RTU 模式,报文帧由时长至少为3.5 个字符时间的空闲间隔区分。
在后续的部分,这个时间区间被称作 t3.5。
整个报文帧必须以连续的字符流发送。
如果两个字符之间的空闲间隔大于1.5 个字符时间,则报文帧被认为不完整应该被接收节点丢弃。
二、MODBUS指令说明1、读线圈寄存器01H1) 描述:读MODBUS从机线圈寄存器当前状态。
2) 查询:例如从机地址为0x11,线圈寄存器的起始地址为0x0013,结束地址为0x0037。
该次查询总共访问(0x0037-0x0013 + 1)37个线圈寄存器。
3) 响应响应负载中的各线圈状态与数据内容每位相对应。
1代表ON,0代表OFF。
若返回的线圈数不为8的倍数,则在最后数据字节未尾使用0代替。
线圈0x0013到线圈0x001A的状态为0xCD,二进制值为11001101,该字节的最高字节为线圈0x001A,最低字节为线圈0x0013。
线圈0x001A到线圈0x0013的状态分别为ON-ON-OFF-OFF-ON-ON-OFF-ON。
最后一个数据字节中,线圈0x0033到线圈0x0037状态为0x1B(二进制00011011),线圈0x0037是左数第4位,线圈0x0033为该字节的最低字节,线圈0x0037至线圈0x0033的状态分别为ON-ON-OFF-ON-ON,剩余3位使用0填充。
2、读离散输入寄存器 02H1) 说明读离散输入寄存器状态。
2) 查询从机地址为0x11。
离散输入寄存器的起始地址为0x00C4,结束寄存器地址为0x00D9。
总共访问(0x00D9-0x00C4+1)22个离散输入寄存器。
3) 响应响应各离散输入寄存器状态,分别对应数据区中的每位值,1 代表ON;0 代表OFF。
MODBUSRTU通讯规约

附录一:MODBUS_RTU通讯规约(本协议采用主从问答方式)PDM系列仪表/变送器:PDM系列仪表/变送器采用全新的设计,革命性地改变了传统电表的概念;具有多功能、高精度、数字式、可编程、结构紧凑、多画面显示的特点,它可以满足电力工业未来对电表的需求。
MODBUS通讯协议:ModBus通讯规约允许PDM系列仪表/变送器与施耐德、西门子、AB、GE等多个国际著名品牌的可编程顺序控制器(PLC)、RTU、SCADA系统、DCS或与第三方具有ModBus 兼容的监控系统之间进行信息交换和数据传送。
PDM系列仪表/变送器只要简单地增加一套基于计算机(或工控机)的监控软件(如:组态王、Intouch、FIX、synall等)就可以构成一套电力监控系统。
广泛的系统集成:PDM系列仪表/变送器提供了标准的RS-485/422通讯接口及ModBus通讯协议,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的标准。
通讯数据的类型及格式:信息传输为异步方式,并以字节为单位。
在主站和从站之间传递的通讯信息是11位的字格式:●通讯数据(信息帧)格式数据格式:数据长度:★注:1、1个字节由8位二进制数组成(既8 bit)。
2、ModBus是Modicon公司的注册商标。
3、“从机”在本文件中既为PDM。
一、通讯信息传输过程:当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。
返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。
如果CRC校验出错就不返回任何信息。
1.1 地址码:地址码是每次通讯信息帧的第一字节(8位),从0到255。
这个字节表明由用户设置地址的从机将接收由主机发送来的信息。
每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。
当从机回送信息时,回送数据均以各自的地址码开始。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大工mac1100 控制器modbus rtu 通讯设置:
总线映射方式
1.设置中控制器,115200bps、8数据位、1停止位、偶校验与从站一致。
2.程序调用串行字读指令,设置站地址号与从站一致,功能号为4,寄存器地址ADDR需
要设置为16进制数16#01,CYCLE设置为16#FFF1总线映射模式。
3.串行通讯指令需要用定时器定时扫描,才能通讯成功。
多从站轮询也需要用定时方式。
从设备映射方式
1、同总线映射方式
2、从设备配置公共参数配置,自定义模式、其它设备、扫描命令号3。
3、AI参数设置,读功能号
4、通道2、命令1、变量地址设为1和2。
4、设置完后需要下载参数,然后重启PLC通讯正常。
Modscn32设置()
地址Address 设置为0002 长度length 设置为2 ,站地址为1 寄存器类型04
Connection 列表选connect进入通讯设置,先选通讯口com1,设定波特率115200 ,数据位8 ,停止位1 ,偶校验。
有错误显示超时或者通讯错误,无错误时直接显示寄存器数值。
串口调试软件:将编码器的参数设直线(蓝色)接24V,此时编码器波特率为19200bps,设置串口为:com1 波特率19200bps 数据位8 停止位1 偶校验。
选16位数据发送,读取参数发送01 03 00 44 00 02 84 1E 从机回01 03 04 00 00 00 00 FB 84 发送修改参数指令见说明书。