ETH联网IO控制器
SC-NI 8822 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输入示例
数字量输出示例
模拟量输入示例
模拟量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 8800 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输入示例
数字量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 4420 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输入示例
数字量输出示例
模拟量输入示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 4400 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输入示例
数字量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 2200 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输入示例
数字量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 0800 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 0300 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
数字量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 0044 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
模拟量输入示例
模拟量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
SC-NI 0022 ETH
产品手册
配置示例
修改从机地址示例
固件升级示例
修改波特率示例
跨设备联动示例
自动逻辑控制示例
模拟量输入示例
模拟量输出示例
Socket连接示例
MQTT连接示例
串口心跳示例
定时控制示例
从机状态监测示例
相关软件
产品选型
常见问题
技术支持
视频教程
本文档由瞬锐智控发布
-
+
首页
产品手册
 # 1. 用户须知 ## 1.1 引言 感谢您购买瞬锐智控SC\-NI 0044 ETH产品,本产品为ModBus协议RS485接口加以太网联网型IO控制器,本产品提供4路模拟量输入、4路模拟量输出接口,可以方便实现远程采集和远程控制等应用,为您提供经济、高效、可靠且易于维护的理想解决方案。 瞬锐智控秉承“赋能工业智能化,打造可靠产品基石”的企业使命,聚焦于工业工控、工业物联网、AI智能网关三大领域,专注于工业智能化场景,为用户打造可靠的采集控制终端和智能网关,期望用稳健的产品为客户提供优质的服务。 瞬锐智控将持续深耕轻量化工控场景,强化AI与工业物联网的技术融合,聚焦产品的高稳定性及边缘计算能力突破,推动产品在不同工业领域的场景化落地,为工业客户提供更高效、更可靠的服务,践行“成为工业智能化领域轻量化场景首选伙伴”的愿景,推动工业控制智能化升级。 欢迎访问瞬锐智控官方网站[www.shunrui.cn](https://www.shunrui.cn),获取产品应用说明和其他系列产品资料。由于产品功能不断升级,部分操作或界面效果可能与本说明书中的描述和演示有所不同。瞬锐智控保留对本说明书中印刷错误、不准确或遗漏信息进行修订与更新的权利,恕不另行通知,敬请见谅! ## 1.2 手册说明 1. 本说明书旨在为用户提供关于本公司产品的详细信息,包括产品的功能、特点、参数、接线方法以及通讯协议等。通过阅读本说明书,用户将能够全面了解产品的性能和操作方法,确保正确安装、配置和使用产品,以满足工业自动化和监测控制等领域的应用需求。此外,本说明书还提供了公司信息和联系方式,以便用户在使用过程中遇到任何问题时能够及时获得技术支持和业务咨询。 2. 本产品采用高性能微处理器,搭载功能丰富的嵌入式软件,结合公司在专业领先的丰富技术积累,确保了产品的高速率、高精度、高可靠性和工业级性能。本产品采用RS485通用配置接口加以太网联网接口,支持标准Modbus\-RTU协议,以及灵活的通讯参数设置功能。确保了操作的便捷性和系统的稳定性。此外,我们提供配套的PC端设置与测试软件,方便用户进行测试和参数修改。 3. 产品广泛适用于工业自动化、电力系统、智能交通、物联网、矿产能源、安防系统和智慧农业等多个领域,满足不同行业的严格要求。产品设计考虑了工业级应用的复杂环境,具备防反接、防静电和防雷击浪涌功能,电源支持过压、过流保护,确保产品的长期稳定运行。 4. 此说明书旨在为您提供全面的产品介绍、特点、参数、接线方法、通讯协议以及公司信息,帮助您更好地理解和使用我们的产品。如在使用过程中有任何疑问,请随时联系我们的技术支持团队,我们将竭诚为您服务! ## 1.3 略缩词介绍 <style> .center { width: auto; display: table; margin-left: auto; margin-right: auto; } </style> <div class="center"> | **略缩词** | **解释** | | --- | --- | | AI | 模拟量输入(Analog input):用于接收连续变化的模拟信号,并将其转换为可以处理的数字信号,例如传感器输出的电压或电流信号。 | | AO | 模拟量输出(Analog output):用于将处理后的数字信号转换为模拟信号,以控制外部设备,如调节电机速度或温度。 | | TCP | Transmission Control Protocol,传输控制协议,面向连接、可靠传输,三次握手建立连接,数据确认、重传、拥塞控制,保证数据完整有序到达;开销大,速度相对慢。 | | UDP | User Datagram Protocol,用户数据报协议,属于传输层协议,无连接、不可靠,开销小、延迟低。 | | MQTT | Message Queuing Telemetry Transport,消息队列遥测传输协议,属于应用层协议,基于 TCP。轻量、低带宽、低功耗,发布 / 订阅 (Pub/Sub) 模型,专门为物联网设备设计;支持 QoS 服务质量等级,控制消息送达可靠性。 | </div> # 2. 产品概述 ## 2.1 产品选型 本公司联网型 IO控制器,除SC\-NI 0044 ETH外,还有十几款,具体IO数量和命名规则如下: <div class="center"> | **系列标识** | **分隔符** | **DI数量** | **DO数量** | **AI数量** | **AO数量** | **分隔符** | **联网类型** | | --- | --- | --- | --- | --- | --- | --- | --- | | SC\-NI | “空格” | 0 | 0 | 2 | 2 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 0 | 0 | 4 | 4 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 0 | 3 | 0 | 0 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 0 | 8 | 0 | 0 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 2 | 2 | 0 | 0 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 4 | 4 | 0 | 0 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 4 | 4 | 2 | 0 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 8 | 8 | 0 | 0 | “空格” | 4G通信:LTE以太网:ETH | | SC\-NI | “空格” | 8 | 8 | 2 | 2 | “空格” | 4G通信:LTE以太网:ETH | </div> ## 2.2 产品简介 1. 本产品具有**4路AI**、**4路AO接口**。 2. 本产品通讯采用RS485通用配置接口、以太网型联网接口,遵循标准ModBus\-RTU/TCP以及MQTT协议,可使用上位机软件灵活查看数据及修改参数。 3. 本产品AI、AO接口采用高精度运算芯片,可精确测量和输出**电压(0 \~10V)**或**电流(0 \~20mA)**信号,满足各种行业客户的应用需求。 4. 本产品还具有丰富易用的特色软件功能,支持AO掉电记忆,支持AI\-AO联动;支持AI主动上报,支持跨设备联动。 5. 支持定时控制,可配置星期、时、分、秒时间点,当到达指定时间点后AO自动输出预配置值。 6. 支持2路socket和1路MQTT通道,**支持接入瞬锐云或客户自建云平台**。 7. 可下挂RS485型IO控制器设备,方便将下挂设备数据接入互联网和云平台。 ## 2.3 功能特点 1. 工业级设计,工作温度范围\-40\~85℃。 2. 采用高精度运放芯片和高性能控制芯片。 3. 采用宽电压直流8\~36V供电设计,整机功耗小于1瓦。 4. 电源和通讯接口具备多重防护设计,具备防浪涌、防静电、防干扰、防反接以及过流、过压保护。 5. 采用内外置双看门狗设计,保证设备稳定运行,避免系统崩溃。 6. 通用RS485接口,支持最长1200米传输,采用标准Modbus\-RTU/TCP协议通讯。 7. 以太网口采用标准RJ45插座,10M/100M自适应,交叉和直连线自适应。 8. 设有复位按钮,支持重启和恢复出厂设置,支持恢复出厂按钮软件管控。 9. AI、AO每一路电压、电流采集和输出,均在**出厂前进行了数据校准**,确保数据的高准确性。 10. **AO支持掉电记忆,支持跨设备联动**。 11. 丰富的配置寄存器,用户可灵活修改设备地址(1 \~ 247)、波特率(4800bps \~ 230400bps)、校验位(无校验、奇校验或偶校验)停止位(1 \~ 2)等,设置参数断电保存。 12. **AI支持定时上报和变化上报,上报通道RS485、socket或MQTT可选**。 13. **具有自动逻辑控制功能,支持多达32组逻辑规则,**方便客户定制个性化应用场景。 14. **具有串口心跳功能,支持多达16组串口心跳数据**,方便客户实现串口数据采集。 15. 两路Socket可配置工作模式为TCP server、TCP client、UDP server和UDP client。 16. MQTT可接入客户自建云平台,支持多达3路订阅和3路发布主题,每个主题可配置不同的工作模式。 17. 两路Socket和三个MQTT主题均支持Modbus RTU模式、Modbus RTU转TCP模式,JSON读写模式。 18. 提供上位机调试软件,可灵活查看数据及修改参数,支持查看数据变化曲线,支持给设备升级固件,支持重启和恢复出厂操作。 ## 2.4 规格参数 <div class="center"> | 电源供电 | DC 8 \~ 36V | | --- | --- | | 典型电流 | 0\.1A (DC 12V) | | 最大功耗 | 小于1W | | 联网接口 | Ethernet有线以太网 | | 通讯接口 | RS485 | | 通讯口参数 | 波特率:4800\~230400(默认9600)数据位:8位校验位:无校验、奇校验、偶校验(默认无校验)停止位:1位、2位(默认1位) | | 传输距离 | 0 \~ 1200米 | | 响应速度 | ≤ 200毫秒 | | 从机地址 | 1 \~ 247,默认48(0x30) | | AI接口数量 | 4路 | | AI输入类型 | 电压:0 \~ 10V电流:0 \~ 20mA | | AI分辨率 | 电压:0\.001V电流:0\.001mA | | AI精确度 | 电压:±5‰ (最大量程)电流:±5‰ (最大量程) | | AO接口数量 | 4路 | | AO输出类型 | 电压:0 \~ 10V电流:0 \~ 20mA | | AO分辨率 | 电压:0\.01V电流:0\.01mA | | AO精确度 | 电压:±5‰ (最大量程)电流:±5‰ (最大量程) | | 工作条件 | 温度:\-40 \~ 85℃湿度:5 \~ 95%RH(无凝结) | | 储存条件 | 温度:\-40 \~ 105℃湿度:0 \~ 95%RH(无凝结) | | 防护等级 | 静电:接触4KV 空气4KV浪涌干扰:电源回路1KV电快速脉冲群:电源回路1KV 信号回路0\.5KV | | 产品尺寸 | 145 \* 90 \* 40 mm(手工测量,稍有误差) | | 安装方式 | 标准35mm导轨,支持固定螺丝桌面安装 | </div> ## 2.5 产品尺寸  ## 2.6 安装方式   # 3. 快速入门 ## 3.1 硬件准备 1. USB转RS485调试器(或者其他可以实现UART转RS485的通信转换器),购买渠道: [https://item.taobao.com/item.htm?ft\=t\&id\=1055269224154](https://item.taobao.com/item.htm?ft=t&id=1055269224154) 2. 12V 1A电源适配器(或者其他符合8\~36V的直流电源),购买渠道: [https://item.taobao.com/item.htm?ft\=t\&id\=1055270916598](https://item.taobao.com/item.htm?ft=t&id=1055270916598) 3. IO控制器SC\-NI 0044 ETH,购买渠道: [https://item.taobao.com/item.htm?ft=t&id=1093450112708&sku_properties=1627207%3A44945307452](https://item.taobao.com/item.htm?ft=t&id=1093450112708&sku_properties=1627207%3A44945307452) ## 3.2 资料下载 1. 上位机软件,下载链接: <https://doc.shunrui.cn/doc/272/> 2. USB转RS485调试器驱动程序,下载链接: <https://doc.shunrui.cn/doc/22/> ## 3.3 供电描述 本产品采用宽电压直流8\~36V供电,额定电流小于0\.1A,功率小于1瓦。 建议使用DC12/24V 1A的电源适配器给设备供电。 ## 3.4 接线方式  1. SC\-NI 0044 ETH一共有29个接线端子,信号定义如下表: <div class="center"> | **序号** | **端子名称** | **信号定义** | **备注** | | --- | --- | --- | --- | | 1 | V\+ | 供电电源正 | 电源与通信 | | 2 | V\- | 供电电源负 | 电源与通信 | | 3 | A\+ | RS485 A | 电源与通信 | | 4 | B\- | RS485 B | 电源与通信 | | 5 | GND | RS485接地(可不接) | 电源与通信 | | 6 | V1\+ | 第1路AI电压输入 | AI端子 | | 7 | A1\+ | 第1路AI电流输入 | AI端子 | | 8 | COM\- | 第1路AI公共端 | AI端子 | | 9 | V2\+ | 第2路AI电压输入 | AI端子 | | 10 | A2\+ | 第2路AI电流输入 | AI端子 | | 11 | COM\- | 第2路AI公共端 | AI端子 | | 12 | COM\- | 第4路AO公共端 | AO端子 | | 13 | A4\+ | 第4路AO电流输出 | AO端子 | | 14 | V4\+ | 第4路AO电压输出 | AO端子 | | 15 | COM\- | 第3路AO公共端 | AO端子 | | 16 | A3\+ | 第3路AO电流输出 | AO端子 | | 17 | V3\+ | 第3路AO电压输出 | AO端子 | | 18 | COM\- | 第2路AO公共端 | AO端子 | | 19 | A2\+ | 第2路AO电流输出 | AO端子 | | 20 | V2\+ | 第2路AO电压输出 | AO端子 | | 21 | COM\- | 第1路AO公共端 | AO端子 | | 22 | A1\+ | 第1路AO电流输出 | AO端子 | | 23 | V1\+ | 第1路AO电压输出 | AO端子 | | 24 | COM\- | 第4路AI公共端 | AI端子 | | 25 | A4\+ | 第4路AI电流输入 | AI端子 | | 26 | V4\+ | 第4路AI电压输入 | AI端子 | | 27 | COM\- | 第3路AI公共端 | AI端子 | | 28 | A3\+ | 第3路AI电流输入 | AI端子 | | 29 | V3\+ | 第3路AI电压输入 | AI端子 | </div> 2. 本系列产品遵从标准ModBus\-RTU协议,支持最多247个采集器或控制器接入RS485总线,每台设备根据从机地址进行区分。  ## 3.5 指示灯按键 本系列产品具有丰富的信号指示灯方便指示设备的工作状态;同时具有恢复出厂按键,方便在用户忘记关键参数时将设备恢复至出厂状态。 <div class="center"> | **序号** | **对象名称** | **位置描述** | **状态或功能说明** | | --- | --- | --- | --- | | **1** | **运行灯** | 电源接线座附近 | 亮200毫秒、灭200毫秒的频率闪烁表示设备正在升级或等待升级中亮400毫秒、灭400毫秒的频率闪烁表示设备正常运行熄灭代表设备供电或运行异常,常亮表示设备器件损坏或运行异常 | | **2** | **通讯灯** | RS485接线座附近 | RS485有数据接收或发送时闪烁 | | **3** | **网口数据灯** | 网口座上黄灯 | 网口有数据接收或发送时闪烁 | | **4** | **网口速率灯** | 网口座上绿灯 | 网口工作在100M速率时点亮 | | **5** | **恢复出厂按钮** | RS485接线座右方 | 按下1 \~ 3秒松开,设备重启按下6 \~ 15秒松开,设备恢复到出厂状态 | </div> ## 3.6 简单使用 1. **连接电源线**: 本演示采用12V1A电源,产品支持8\~36V直流供电,可根据自己的需要选择其他规格的电源; 将电源适配器输出正极连接设备“V\+”电源正端子,适配器负极连接设备“V\-”电源负端子。  2. **连接RS485并确认串口号**: 本次演示采用USB转RS485通信转换器进行演示,将485通信接口A信号连接设备RS485\-A端子,B信号连接设备RS485\-B端子,正常情况下调试器GND信号可以不与设备“GND端子”相接,如果现场RS485总线干扰较大,通信不稳定也可以考虑接上。 将USB转RS485调试器插入电脑USB接口,打开“设备管理器”并记录串口对应的COM序号,本演示串口号为图示“COM22”。   3. **连接网口**:使用网线将设备网口和电脑直连,或者把设备连接至和电脑同一交换机或同一路由器上。 4. **供电并查看工作是否正常**:接通电源适配器给设备供电,等待设备正常运行,设备正常运行时运行灯会按照亮400毫秒、灭400毫秒的频率闪烁。设备网口连接正常时,网口座附件的绿灯常亮,黄灯闪烁。 5. **运行上位机并打开串口**:运行上位机“瞬锐NI ETH系列IO控制器软件”,在右上角“电脑通信参数”处选择第三步记录下的串口号,其他参数保持和下图一致,点击“打开”按钮。  备注:点击后如“打开”按钮左侧的圆圈不由灰色变为蓝色或上位机右下角提示“串口打开失败”时,请关闭其他占用该串口的软件或者重启电脑。 6. **上位机软件通过网络和设备连接**: 如果没有USB转RS485调试器,上位机也可以通过网络和设备通信,完成状态查询和参数配置。设备默认开启两路socket通信, 一路为TCP server开放端口为2546、一路为UDP server开放端口为2547,两路socket都可以和设备进行通信,完成Modbus寄存器读写。 将和设备互联的网口配置192\.168\.10\.xx静态IP地址,子网掩码为255\.255\.255\.0。  运行上位机“瞬锐NI ETH系列IO控制器软件”,在右上角“电脑通信参数”处选择“TCP/UDP”标签,在“TCP/UDP”右侧下拉框选择“TCP Client”,“目标地址”右侧的输入框输入设备默认IP地址“192\.168\.10\.100”,“目标端口”右侧输入框填入“2546”,确认“通信网卡”和“通信地址”参数,点击“建立连接”按钮。  7. **通过上位机软件查看设备系统参数**: 点击上位机左侧“设备系统参数”导航条,再在中间区域“设备系统参数”下方点击“读取设备系统参数”按钮。上位机右侧“日志”栏会展示和设备交互指令,待设备正确回应后会在中间状态栏展示窗口展示“设备型号”“软硬件版本”“设备SN编码”等信息。  8. **AI电压/电流采集**: 找一节5号或7号干电池(其他有电压输出的方式也可以),把电池负极接在AI COM端子上,电池正极接在V1\+端子上 点击上位机左侧“IO监控总览”导航条,勾选“定时查询(3S)”,上位机会每3秒向设备查询一次测量数据,并在中间“AI监测界面”状态栏展示测得的电压信息。  **说明**:AI接口的电压和电流测量电路是同一套模数转换器,为了方便客户使用,产品设计时对接线端子和读取寄存器进行了区分。当设备接入电压时会根据对应的换算关系计算出电流值,如输入1\.491V电压时电流会展示出2\.982mA。同理,电流端子输入的信号也会对应计算并记录电压值,用户根据自己的应用场景只能选择其中一种类型作为输入采集,不要在电压和电流端子上同时接入信号,这样会导致测量数据错乱。 9. **AO输出控制**: 点击上位机左侧“IO监控总览”导航条在“AO控制界面”的“AO 1”下方找到电压输入框(输入框右侧标记电压单位“V”),在输入框内填入数字“3\.00”点击输入框上方的保存图标按钮。 使用万用表20V直流电压档测试V1\+和COM\-之间的电压,约为3伏左右。  AO接口输出电流的方法类似,在电压输入框的正下方为电流输入框(输入框右侧标记电流单位“mA”),在输入框内填入数字“10\.00”点击输入框上方的保存图标按钮。使用万用表20mA直流电流档(请注意更换万用表档位和红色表笔插孔)测试A1\+和COM\-之间的电流,约为10mA左右。 **说明**:AO接口的电压和电流源头电路是同一套数模转换器,为了方便客户使用,产品设计时对接线端子和读取寄存器进行了区分。配置电压输出时电流端子会按照固定比例输出对应的电流,如输出3V电压时电流端子会输出6mA电流;同理,配置电流输出10mA时,电压端子会输出5V的电压。客户根据自己的应用场景选择其中一种类型作为AO输出。不要在电压和电流端子上同时接输出信号线,这样有可能会相互干扰。 # 4. 产品功能 通过我们提供的配套上位机调试软件,在上一章节“快速入门”中介绍的步骤,我们已经将设备接入电脑,在电脑上查看AI数据并控制AO输出。 本章节介绍通过操作上位机软件,修改“设备串口参数”和“从机地址”等产品功能。也可以通过其他串口调试软件,基于ModBus\-RTU协议进行参数查询和修改,请查看“通讯协议”章节相关内容。 ## 4.1 设备系统参数 ### 4.1.1 读取所有参数 参考第3章节,给设备上电并运行上位机,配置好“电脑通信参数”,打开串口,点击“读取所有参数”,即可获取设备所有参数。  ### 4.1.2 修改从机地址 1. 点击上位机左侧“设备系统参数”导航条。 2. 在中间位置找到“设备Modbus地址”输入框,输入框中默认数据为“30”,代表十六进制数0x30,也可去掉右侧“Hex”选择框对勾,去掉后从机地址输入框就为十进制数48。出厂默认参数设备地址为48(0x30),可配置为1\~247。 3. 更改从机地址数据后点击“保存设备系统参数”按钮。  注意:在修改完设备从机地址后需要重启设备生效 ### 4.1.3 重启设备 1. 点击上位机左侧“设备系统参数”导航条。 2. 在中间位置找到“重启设备”按钮并点击一下。 3. 在弹出确认重启提示框中点击“确认”按钮。  ### 4.1.4 恢复出厂设置 1. 点击上位机左侧“设备系统参数”导航条。 2. 在中间位置找到“恢复出厂设置”按钮并点击一下,在弹出确认恢复出厂提示框中点击“确认”按钮。 3. 设备恢复出厂设置后会自动重启。  注意:恢复出厂设置会清除所有用户下发过的配置数据。 ### 4.1.5 恢复出厂按钮管控 1. 点击上位机左侧“设备系统参数”导航条。 2. 在中间位置找到“禁止按键恢复出厂设置”选中框并点击一下激活为选中状态。 3. 上位机会弹出“提示”弹框进行提示,点击弹框中“已知悉”按钮。 4. 点击“保存设备系统参数”按钮。  说明:禁止按键恢复出厂设置后,将不能通过按键操作恢复出厂设置,若需要恢复出厂设置,则需要通过软件发送命令来恢复。 ## 4.2 设备串口参数 ### 4.2.1 串口默认参数 下表展示的参数为出厂默认参数,其中波特率可配置4800\~230400(4800、9600、19200、38400、57600、115200、230400可选),其他非常规波特率可联系客服指导配置。校验位可配置无校验、奇校验、偶校验,停止位可配置为1位或2位。 <div class="center"> | 波特率 | 9600 | | --- | --- | | 数据位 | 8 | | 校验位 | 无校验(None) | | 停止位 | 1位 | </div> ### 4.2.2 修改串口参数 1. 点击上位机左侧“设备串口参数”导航条。 2. 在中间位置找到“波特率”选择栏点击9600右侧的向下箭头,在弹出的一串常用波特率中选择需要修改的波特率数字。 3. 点击“保存设备串口参数”按钮。其他串口参数如“数据位”,“校验位”,“停止位”配置方法类似。  注意:在修改完串口参数后需要重启设备生效 ### 4.2.3 配置串口心跳 1. 点击上位机左侧“设备串口参数”导航条。 2. 在“串口心跳包”区域下方第一条心跳包配置行里激活“启用”选择对勾。 3. 在心跳间隔输入框中填入数字“5”。 4. 在心跳包字节数输入框中填入数字“8”。 5. 在心跳包内容输入框中填入数据“00 AA 00 BB 00 CC 00 DD”。 6. 点击“保存设备串口参数”按钮。  7. 观察右侧“日志”窗口,每5秒钟可接收到设备发送过来的8个字节心跳包数据。 ## 4.3 设备网络参数 ### 4.3.1 网络默认参数 本产品网口采用标准RJ45接口,支持10/100M自适应,支持交叉线和直连网线自适应。网口默认IP为192\.168\.10\.100,默认子网掩码为255\.255\.255\.0。 ### 4.3.2 修改网络参数 1. 点击上位机左侧“ETH联网参数”导航条。 2. 点击“读取ETH联网参数”按钮查看设备IP地址相关信息。  3. 找到“IP获取方式”选择栏点击向下箭头,在弹出下选择框中选择“手动设置”,按需修改“IP地址”,“子网掩码”,“默认网关”,“主用DNS”,“备用DNS”等各项配置。注意“MAC地址”为产品出厂固化配置并确保设备唯一性,不可修改。 4. 点击“保存ETH联网参数”按钮。  注意:在修改完网络参数后需要重启设备生效 ## 4.4 AI输入 ### 4.4.1 数据变化曲线 1. 点击上位机左侧“AI设置与检测”导航条。 2. 在中间位置找到AI1 的“显示曲线”选择框,确保为勾选选中状态。 3. 根据需要点击电压或电流数组前面的选择圆点选择框激活选中。 4. 找到下方的“定时查询数据曲线”在前面的选择框中点击一下激活选中对勾。 5. 上位机会定时向设备查询数据信息并在“AI监测曲线”状态栏中展示变化曲线。  ### 4.4.2 定时上报 1. 点击上位机左侧“AI设置与控制”导航条。 2. 在中间位置找到“AI定时上报”选择框,默认为“不启动”,点击“不启动”右侧的向下箭头,选择“定时上报”。 3. 右侧出现“定时上报周期”输入框,修改数据为“50”,结合上报周期输入框右侧的“\*100ms”字样,50乘以100毫秒等于5秒,代表每5秒上报一次AI数据。 4. 在右侧“AI上报内容”下拉框选择“电压信息\-\-\>RS485”。 5. 确认好上报周期和数据内容后点击“保存”按钮。 6. 在右侧的日志窗口可以看到设备按照用户设定的周期通过RS485上报Modbus通讯帧。  ### 4.4.3 变化上报 1. 点击上位机左侧“AI设置与控制”导航条。 2. 在中间位置找到AI\-1,点击“变化检测使能”激活选中状态。 3. 右边“变化检测周期”修改数据为“50”,输入框右侧的“\*100ms”字样,50乘以100毫秒等于5秒,代表每5秒检测一次数据。 4. 下边“电压触发阈值”修改数据为“100”,结合输入框右侧的“mV”字样,100乘以1mV等于0\.1V,上述两个参数代表每5秒检测一次电压数据如果变化范围大于0\.1V时触发一次主动上报。 5. 用户根据需要更改上述两个参数后点击“保存”按钮。 6. 触发AI\-1输入幅值变化,在右侧的日志窗口可以看到设备通过RS485上报带有电压数据的Modbus通讯帧。  ## 4.5 AO输出 ### 4.5.1 AO1输出电压 1. 点击上位机左侧“AO设置与控制”导航条。 2. 在“AO 1”下方点击电压控制单选圈激活选中状态,在电压值输入框内填入5\.00。 3. 在“AO 1”右侧点击一下“保存”小图标。  4. 待配置生效后在AO1对应的“V1\+”和“COM\-”两个端子上会输出5V直流电压,由于AO接口的电压和电流源头电路是同一套数模转换器,在“A1\+”和“COM\-”两个端子上会输出约为10mA的直流电流。 ### 4.5.2 AO2输出电流 1. 点击上位机左侧“AO设置与控制”导航条。 2. 在“AO 2”下方点击电流控制单选圈激活选中状态,在电流值输入框内填入16\.00。 3. 在“AO 2”右侧点击一下“保存”小图标。  4. 待配置生效后在AO2对应的“A2\+”和“COM\-”两个端子上会输出16mA直流电流,由于AO接口的电压和电流源头电路是同一套数模转换器,在“V2\+”和“COM\-”两个端子上会输出约为8V的直流电压。 ### 4.5.3 上电默认状态 1. 点击上位机左侧“AO设置与控制”导航条。 2. 配置AO1输出5V电压,AO2输出16mA电流。 3. 点击“保存”按钮。  4. 点击上位机左侧“设备系统参数”导航条。 5. 点击“设置当前输出状态为上电初始状态”按钮,在弹出“提示”框中阅读相关提示信息,再点击“确认”按钮。  6. 设备每次重启后,AO1默认会输出5V电压,AO2默认会输出16mA电流。 ### 4.5.4 开关存储和记忆 为了保护设备内部的存储单元,提高设备的可靠性,AO电压或电流配置输出值默认是不会存储和记忆的。用户如希望设备断电恢复或重启后能恢复之前的AO状态,则需要打开设备的“掉电记忆功能”,注意打开此功能需确保AO输出值平均更新频率不能超过1次/每小时。 1. 点击上位机左侧“设备系统参数”导航条。 2. 点击“读取设备系统参数”按钮。 3. 点击中间状态栏“开启掉电记忆”前面的勾选框使其处于对勾选中状态,在弹出“提示”对话框中阅读提示风险内容并点击“已知悉”按钮。 4. 点击下方的“保存设备系统参数”按钮。打开此功能后在“AO设置与控制”页面配置的AO输出状态才会被存储,并在设备重启后恢复配置。  ## 4.6 Socket通信 本产品支持2路Socket,每路socket都可以配置为TCP Server、TCP Client、UDP Server或UDP Client类型。每路socket都可以配置为Modbus RTU模式、JSON解析模式以及Modbus TCP转RTU模式。每路socket都独立支持注册包和心跳包。 **Modbus RTU模式**:设备识别Modbus RTU和Modbus TCP格式的报文,如果请求从机地址和设备地址匹配,会根据请求报文响应。如果请求报文是Modbus RTU格式并且从机地址和设备地址不匹配,判断串口映射开关是否打开,打开则将报文转发RS485下游设备,并且把下游设备回应数据转发至数据来源端。 **Modbus TCP转RTU模式**:设备识别Modbus TCP格式的报文,不满足规范的数据帧都会丢弃。如果请求从机地址和设备地址匹配,会根据请求报文响应。如果请求从机地址和设备地址不匹配,判断串口映射开关是否打开,打开则将报文转换成Modbus RTU格式发给RS485下游设备,并且把下游设备回应数据转换成Modbus TCP再发至数据来源端。 **JSON解析模式**:设备识别符合公共读写协议的JSON格式报文,如果请求地址和SN与设备匹配,根据请求帧内容采集和配置本机接口并组装Json回应帧响应。如果请求地址和SN与设备不匹配,判断串口映射开关是否打开,如果打开则根据请求帧内容采集和配置下挂设备接口,并代理下挂组装Json回应帧响应。 注册包支持连接发送和随数据发送两种发送方式,“连接发送”代表设备和云服务器或云平台建立连接时主动发送一包设备特征数据,多用于上线注册;“随数据发送”代表设备每次向云服务器或云平台发送数据时都把注册信息添加在数据净荷前面,多用于标注数据来源。 ### 4.6.1 配置注册包和Modbus RTU模式 1. 点击上位机左侧“Socket1参数”导航条。 2. 选择“Socket类型”为“TCP Client”。 3. 填写“目标地址”为电脑IP地址“192\.168\.10\.85”,目标端口为“22345”。 4. 选择“Socket模式”为“Modbus RTU模式”。 5. 选择“注册包类型”为“设备名称”,选择“发送模式”为“连接发送” 。 6. 点击“保存Socket1 参数”按钮并重启设备以生效Socket配置。  7. 点击上位机右上角“TCP/UDP”标签。 8. 选择“TCP/UDP”为“TCP Server”。 9. 查看“本机地址”为电脑IP地址“192\.168\.10\.85”,填写“本机端口”为“22345”。 10. 去掉“日志”窗口上方“HEX”单选框对勾。 11. 点击“开始监听”按钮,可以收到设备发送过来的注册包,注册包内容为设备名称。  12. 点击“日志”窗口上方“HEX”单选框激活选中对勾。 13. 保持“发送区”窗口上方“HEX”单选框对勾。 14. 在发送内容区填写“30 06 00 00 0B B8 8A A9 ”,点击“发送”按钮。 15. 点击AO控制界面“读取当前状态”按钮,可以观察到设备第一路AO被配置为输出3V电压。  ### 4.6.2 配置心跳包和JSON模式 1. 点击上位机左侧“Socket2参数”导航条。 2. 选择“Socket类型”为“UDP Client”。 3. 填写“目标地址”为电脑IP地址“192\.168\.10\.85”,目标端口为“19000”。 4. 选择“Socket模式”为“Json解析模式”。 5. 点击“心跳包使能”单选框激活选中对勾,填写“心跳包间隔”为“5” 。 6. 选择“心跳包类型”为“SN” 7. 点击“保存Socket2 参数”按钮并重启设备以生效Socket配置。  8. 点击上位机右上角“TCP/UDP”标签。 9. 选择“TCP/UDP”为“UDP Server”。 10. 查看“本机地址”为电脑IP地址“192\.168\.10\.85”,填写“本机端口”为“19000”。 11. 去掉“日志”窗口上方的“HEX”单选框对勾。 12. 点击“开始监听”按钮,可以收到设备每5秒钟发送过来的心跳包,心跳包内容为设备SN。  13. 去掉“发送区”窗口上方“HEX”单选框对勾。 14. 在发送内容区填写 {"cmd":"set","id":0,"sn":"2607071821","ts":1748928000,"ver":"1\.0","data":{"ao":{"AO1":{"voltage": 10000}}}},注意SN字段需要用设备真实SN替换,点击“发送”按钮,可以观察到设备第一路AO被配置输出10V电压并且可以收到设备回应的JSON格式数据。  说明:详细JSON读写格式和内容说明请阅读“公共JSON读写协议”章节。 ### 4.6.3 配置Modbus TCP\<\-\-\>RTU模式 由于SC\-RI系列产品不支持联网和Modbus TCP协议, Modbus TCP\<\-\-\>RTU模式可以使用联网型IO控制器将Modbus TCP数据帧转换为Modbus RTU并通过RS485发送给下挂设备并将下挂设备回应的Modbus RTU报文转换成Modbus TCP数据回应给云电脑或服务器。  1. 按上图提示连接好网线和RS485接线,配置SC\-RI 2200从机地址为1并重启生效。 2. 点击上位机左侧“Socket2参数”导航条。 3. 选择“Socket类型”为“UDP Server”。 4. 目标端口为“2547”。 5. 选择“Socket模式”为“Modbus TCP\<\-\-\>RTU”,点击“映射串口”右侧“Uart1”单选框激活选中对勾。 6. 点击“保存Socket2 参数”按钮,然后重启设备以便socket配置生效。  7. 点击上位机右上角“TCP/UDP”标签。 8. 选择“TCP/UDP”为“UDP Client”。 9. 填写“目标地址”为设备IP地址,填写“目标端口”为“2547”。 10. 点击“开始通信”按钮。 11. 确认“发送区”和“日志”窗口上方“HEX”单选框对勾。 12. 在发送内容区填写00 09 00 00 00 06 01 05 00 00 FF 00。 13. 点击“发送”按钮。 14. 数据发送完成后,SC\-RI 2200设备DO1闭合,socket接收日志显示接收到Modbus TCP回应帧。  ## 4.7 MQTT及云平台 本产品支持1路MQTT连接,默认接入瞬锐云,可配置为接入客户私有云平台。当接入私有云时MQTT支持3路订阅和发布。每路会话都可以配置为Modbus RTU模式、JSON解析模式以及Modbus TCP转RTU模式。每路会话都支持QOS值独立配置,支持注册包和心跳包,支持遗嘱消息。 ### 4.7.1 瞬锐云 1. 点击上位机左侧“MQTT参数”导航条。 2. 点击“读取MQTT参数”按钮。 3. 可以看到“MQTT云服务”默认为“瞬锐云”,如果设备已连接至互联网,连接标志圆点为绿色。 4. 瞬锐云工作在MQTT通信独占模式下,请不要修改任何MQTT参数。  5. 在个人电脑端使用浏览器访问“瞬锐云”官方网站“<https://cloud.shunrui.cn>”。 6. 在“瞬锐云”官方网站注册个人账号并登录系统。 7. 点击“添加设备”按钮,在弹出“添加设备”对话框中输入设备SN号(SN号可在产品外壳标签上查看),点击“查询设备”按钮。 8. 确认无误后点击“确认添加”按钮完成设备添加。  9. 关闭“添加设备”对话框。 10. 在刚刚添加的设备标签上点击“监控”按钮,系统弹出“设备监控页面”对话框。 11. “设备监控页面”对话框可以查看DI和AI采集值以及控制DO和AO。  12. 关闭“设备监控页面”对话框。 13. 在刚刚添加的设备标签上点击“数据”按钮,系统弹出设备详细配置对话框,默认激活“设备信息”标签页,在此标签页下可以查看“设备序列号”、“设备Modbus地址”、“设备软件版本”以及“设备硬件版本”等信息,同时也可以对一些系统级参数进行修改。  14. 点击“IP信息”标签页,在此标签页下可以查看系统IP信息也可对网络参数进行修改。  15. 依次点击“串口信息”、“DI信息”“DO信息”“AI信息”“AO信息”标签页,查看各类实时信息以及对相关配置进行修改。 ### 4.7.2 代理子设备接入瞬锐云 本章节以SC\-RI 6622为例介绍使用联网产品代理RS485型IO控制器(子设备)接入瞬锐云,前提是需要保持子设备Modbus从机地址和联网型产品不能相同。 1. 使用拨码开关或上位机将SC\-RI 6622设备从机地址改为49(0x31\)。 2. 使用导线将RS485型子设备和联网型设备RS485接口连接上,给两台设备上电。 3. 在个人电脑端使用浏览器访问“瞬锐云”官方网站“<https://cloud.shunrui.cn>”。 4. 在“瞬锐云”官方网站注册个人账号并登录系统。 5. 点击“添加设备”按钮,在弹出“添加设备”对话框中输入子设备SN号(SN号可在产品外壳标签上查看),点击“查询设备”按钮。 6. 确认无误后点击“确认添加”按钮完成设备添加。  7. 点击“编辑”按钮。 8. 修改“设备名称”为“SC\-RI 6622”,修改“设备地址”为“49”。 9. 选择正确的联网型产品为其代理设备,点击“确定”按钮。  10. 在刚刚添加的设备标签上点击“监控”按钮,系统弹出“设备监控页面”对话框。 11. “设备监控页面”对话框可以查看DI和AI采集值以及控制DO和AO。  12. 关闭“设备监控页面”对话框。 13. 在刚刚添加的设备标签上点击“数据”按钮,系统弹出设备详细配置对话框,默认激活“设备信息”标签页,在此标签页下可以查看“设备序列号”、“设备Modbus地址”、“设备软件版本”以及“设备硬件版本”等信息,同时也可以对一些系统级参数进行修改。  14. 依次点击“串口信息”、“DI信息”“DO信息”“AI信息”“AO信息”标签页,查看各类实时信息以及对相关配置进行修改。 ### 4.7.3 MQTT通信 1. 点击上位机左侧“MQTT参数”导航条。 2. 修改“MQTT云服务”为“私有云”。 3. “客户端ID”为设备唯一识别码,为方便演示此处修改“客户端ID类型”为“SN”。 4. 填写“服务器地址”为“broker.emqx.io”,注意此服务器提供公益测试服务,请勿用于生产环境。 5. 填写“服务器端口”为“1883”。  6. 在“主题 1”区域选择“Topic1模式”为“Modbus RTU模式”。 7. 填写“订阅Topic”内容为“dev\_1785226211\_Modbus\_req”,1785226211为自定义主题识别码,注意根据实际情况修改。 8. 填写“发布Topic”内容为“dev\_1785226211\_Modbus\_res”,1785226211为自定义主题识别码,注意根据实际情况修改。  9. 在“主题 2”区域选择“Topic2模式”为“JSON解析模式”。 10. 勾选“主题2 订阅”,“主题2 发布”两处单选框,激活选中状态。 11. 填写“订阅Topic”内容为“dev\_1785226211\_json\_req”,1785226211为自定义主题识别码,注意根据实际情况修改。 12. 填写“发布Topic”内容为“dev\_1785226211\_json\_res”,1785226211为自定义主题识别码,注意根据实际情况修改。  13. 在“主题 3”区域选择“Topic3模式”为“Modbus TCP\<\-\-\>RTU”。 14. 在“映射串口”右侧勾选“Uart1”单选框激活选中状态。 15. 勾选“主题3 订阅”,“主题3 发布”两处单选框,激活选中状态。 16. 填写“订阅Topic”内容为“dev\_1785226211\_tcprtu\_req”,1785226211为自定义主题识别码,注意根据实际情况修改。 17. 填写“发布Topic”内容为“dev\_1785226211\_tcprtu\_res”,1785226211为自定义主题识别码,注意根据实际情况修改。  18. 填写“遗嘱Topic”内容为“dev\_1785226211\_will\_msg”,1785226211为自定义主题识别码,注意根据实际情况修改。 19. 在“遗嘱”区域勾选“遗嘱使能”单选框,激活选中状态。 20. 填写“遗嘱长度”内容“6”,点击“遗嘱内容格式”右侧“HEX”单选框,去掉选中状态。 21. 填写“遗嘱内容”为“Byebye”。 22. 点击“保存MQTT参数”按钮。 23. 请重启设备以便配置生效。  24. 在电脑上安装MQTT测试工具MQTTX并打开软件,点击“新建连接”。  25. 在“名称”栏输入“emqx”。 26. 在“服务器地址”栏输入“broker.emqx.io”。 27. 在“端口”栏输入“1883”。 28. “Client ID”栏软件会自动生成随机字符串。 29. 点击“连接”按钮。  30. 点击“添加订阅”按钮。  31. 在“Topic”栏输入“dev\_1785226211\_Modbus\_res”,此处需和设备主题1发布Topic相同。 32. 点击“确定”按钮。  33. 选择“接收数据格式”为“HEX”。 34. 选择“发送数据格式”为“HEX”。 35. 在发送区“Topic”栏输入“dev\_1785226211\_Modbus\_req”,此处需和设备主题1订阅Topic相同。 36. 在发送数据内容栏输入“30 06 00 00 0B B8 8A A9”。 37. 点击“发送”图标。  38. 设备第一路AO输出3V电压,同时dev\_1785226211\_Modbus\_res主题能收到设备的Modbus回应数据。  39. 点击“添加订阅”按钮。 40. 在“Topic”栏输入“dev\_1785226211\_json\_res”,此处需和设备主题2发布Topic相同。 41. 点击“确定”按钮。 42. 选择“接收数据格式”为“JSON”。 43. 选择“发送数据格式”为“JSON”。 44. 在发送区“Topic”栏输入“dev\_1785226211\_json\_req”,此处需和设备主题2订阅Topic相同。 45. 在发送数据内容栏输入 {"cmd":"set","id":0,"sn":"2607071821","ts":1748928000,"ver":"1\.0","data":{"ao":{"AO1":{"voltage": 10000}}}},注意SN字段需要用设备真实SN替换。 46. 点击“发送”图标。 47. 设备第1路AO会输出10V电压,同时dev\_1785226211\_json\_res主题能收到设备的JSON回应数据。  48. 在设备RS485接口上接上1台支持DO输出的RS485型IO控制器,配置其从机地址为1并重启生效配置。 49. 点击“添加订阅”按钮。 50. 在“Topic”栏输入“dev\_1785226211\_tcprtu\_res”,此处需和设备主题3发布Topic相同。 51. 点击“确定”按钮。 52. 选择“接收数据格式”为“HEX”。 53. 选择“发送数据格式”为“HEX”。 54. 在发送区“Topic”栏输入“dev\_1785226211\_tcprtu\_req”,此处需和设备主题3订阅Topic相同。 55. 在发送数据内容栏输入“00 04 00 00 00 06 01 05 00 00 FF 00”。 56. 点击“发送”图标。  57. 下挂设备第一个DO继电器会吸合,同时在dev\_1785226211\_tcprtu\_res主题上能收到联网设备将Modbus RTU数据转换成Modbus TCP格式的回应帧。 58. 点击“添加订阅”按钮。 59. 在“Topic”栏输入“dev\_1785226211\_will\_msg”,此处需和设备遗嘱Topic相同。 60. 点击“确定”按钮。 61. 选择“接收数据格式”为“Plaintext”。 62. 将设备断电,等待1分钟左右。  63. 可在dev\_1785226211\_will\_msg主题上收到遗嘱消息“Byebye”。 ## 4.8 设备发现协议 本产品支持设备发现协议,方便快速发现局域网内所有的联网型设备,特别是自动获取IP地址的设备,展示设备IP地址和串口参数。电脑可以通过设备发现协议跨网段快速配置设备联网信息,也可以通过设备发现协议让设备重启。 ### 4.8.1 设备搜索和发现 1. 点击上位机右上角“UDP CMD”标签。 2. 点击“搜索设备”按钮。 3. 在弹出“设备搜索及设置”对话框中点击“搜索”按钮。  4. 在“搜索设备列表”窗口可以看到成功搜索到1台新设备。 5. 点击或切换列表中搜索到的设备所在行,使其处于选中状态,在其上方可以看到当前设备“串口参数”、“从机地址”以及“固件版本”信息。  ### 4.8.2 修改设备联网参数 1. 点击上位机右上角“UDP CMD”标签。 2. 点击“搜索设备”按钮。在弹出“设备搜索及设置”对话框中点击“搜索”按钮。 3. 在“搜索设备列表”窗口可以看到成功搜索到1台新设备。 4. 点击或切换列表中搜索到的设备所在行使其处于选中状态,在“设置计时”窗口有10秒钟倒计时,到倒计时未到0前修改“IP获取方式”、“IP地址”、“子网掩码”、“默认网关”等信息。如果未在10秒倒计时内完成修改,可以再次点击“搜索”按钮激活配置时间窗口。 5. 点击“设置”按键,在弹出配置状态提示框中点击“已知悉”按钮。 6. 需要点击“重启”按钮让设备重启,以便将网口参数生效。  ### 4.8.3 参数配置和状态查看 1. 点击上位机右上角“UDP CMD”标签。 2. 点击“搜索设备”按钮。 3. 在弹出“设备搜索及设置”对话框中点击“搜索”按钮。 4. 在“搜索设备列表”窗口可以看到成功搜索到1台新设备,点击或切换列表中搜索到的设备所在行使其处于选中状态。 5. 在“设置计时”窗口有10秒钟倒计时,到倒计时未到0前,点击“与选中设备通信”按钮。 6. 点击“建立通信”按钮。  7. 上位机和设备建立通信后,按钮左侧的圆点由灰色变为绿色。 8. 点击上位机左侧“设备系统参数”导航条。 9. 点击“读取设备系统参数”按钮,可以看到上位机使用设备搜索通道和设备进行了Modbus通信。  注意:使用设备搜索通道和设备进行Modbus通信需要保持设备IP和电脑IP在同一网段内。 ### 4.8.4 发现协议参数修改和功能开关 1. 点击上位机左侧“设备系统参数”导航条。 2. 修改“端口号”和“通信密码”输入框参数。 3. 点击“保存设备系统参数”按钮,保存设备发现协议参数。 4. 点击“重启设备”按钮以便配置生效。  5. 如需关闭设备发现功能,先去掉“允许网络搜索与配置”单选框选中对勾,再点击“保存设备系统参数”按钮。 6. 点击“重启设备”按钮以便配置生效。  ## 4.9 设备时间管理 本产品设计有实时时钟(RTC)电路,支持手动校时和自动从网络上同步时间。设备内部设有纽扣电池,设备运输途中或掉电一段时间后再启动,时间信息不会错乱。 ### 4.9.1 查看设备时间 1. 点击上位机左侧“设备系统参数”导航条。 2. 点击“读取设备系统参数”按钮。 3. 查看“设备详细时间”状态栏,观察“年、月、日、时、分、秒、星期”是否和电脑时间基本一致。  ### 4.9.2 设置设备时间 1. 点击上位机左侧“设备系统参数”导航条。 2. 点击“设置设备时间”按钮。  3. 在按钮左侧弹出配置时间信息框,确认时钟和时区信息无误后,点击“保存时间到设备”按钮。  ### 4.9.3 设置自动同步网络时间 1. 点击上位机左侧“设备系统参数”导航条。 2. 确认“NTP服务器地址”、“NTP同步使能”以及“自动同步周期”相关配置,NTP默认配置基本不用修改,当设备连接网络后会自动每天从网络同步时间。 3. 根据需要修改以上三个参数,点击“保存设备系统参数”按钮。  注意:修改完NTP参数后需要重启设备生效 ## 4.10 定时控制设置 本产品支持8组定时任务配置,可指定DO或AO在指定时间点输出预设值,也可以控制设备在定时重启。 ### 4.10.1 配置AO 1定时输出电压 1. 点击上位机左侧“定时控制设置”导航条。 2. 在第一组定时任务配置行,激活“使能”按钮,勾选“星期一”到“星期日”所有选择框触发每天生效,时间输入窗口设置为当前时间的后1分钟,“输出通道”选择“AO\-1 电压”,输出值填入数字“3000”。 3. 点击“保存定时任务参数”按钮。  4. 等待约1分钟左右,使用万用表直流电压档可以测得AO 1输出3V电压。 ### 4.10.2 配置设备定时重启 1. 点击上位机左侧“定时控制设置”导航条。 2. 在第一组定时任务配置行,激活“使能”按钮,勾选“星期一”到“星期日”所有选择框触发每天生效,时间输入窗口设置为当前时间的后1分钟,“输出通道”选择“重启”。 3. 点击“保存定时任务参数”按钮。  4. 等待约1分钟左右,设备会自动重启。 ## 4.11 跨设备联动 本产品AO支持联动其他设备的同序号AI,也支持将其他设备的DI、AI数据映射到中间变量寄存器,再通过自动逻辑控制进行联动。 注意:跨设备联动组网的两台设备从机地址不能相同。 ### 4.11.1 AO跨设备联动AI 将本产品与SC\-RI系列带有AI功能的设备(如SC\-RI 0022)通过RS485总线相连,配置被联动设备从机地址并开启AI定时上报,当收到被联动设备主动上报数据帧时会解析被联动产品AI1值并同步配置在本产品的AO1上。  **配置被联动设备(SC\-RI 0022)**: 1. 将SC\-RI 0022产品上电并通过RS485直连电脑,配置其从机地址为1。 2. 配置SC\-RI 0022产品AI主动上报,上报周期为1秒。 3. 配置SC\-RI 0022产品重新启动,并确认主动上报是否生效。 **配置AO跨设备联动AI**: 4. 将本产品上电并通过RS485直连电脑,点击上位机左侧“设备系统参数”导航条。 5. 在中间位置找到“开启跨设备联动”点击选中框使其处于选中对勾状态。 6. 修改右侧“联动设备Modbus地址”后面的输入框内容为1。 7. 点击下方“保存设备系统参数”按钮。  8. 点击上位机左侧“AO设置与控制”导航条,点击AO 1下方“跨设备联动”勾选框使其处于选中状态,再点击AO1右侧的“保存”图标。  9. 给两台设备重新上电并使用导线将RS485接口进行互联。 10. 在SC\-RI 0022产品AI1电压输入两个端子上施加直流3V电压,使用万用表测试SC\-NI 0044 ETH产品AO1输出的电压值应该在3V左右。 11. 点击AO1右侧的“刷新”图标,其电压值栏配置值也在3V左右。  注意:修改完跨设备联动参数后需要重启设备生效。 ### 4.11.2 跨设备变量映射 本产品支持10组中间变量寄存器,记作U 1 \- U 10,可以作为自动逻辑输出对象存放临时数据,也可以作为自动逻辑输入对象,还可以作为跨设备联动映射单元存储其他设备的数据。  **配置被联动设备**: 1. 在被联动设备(SC\-RI 0022)上电并通过RS485直连电脑,配置其从机地址为1。 2. 配置被联动设备AI主动上报,上报周期为1秒。 3. 配置被联动设备重新启动,并确认主动上报是否生效。 **配置AI映射**: 4. 将本产品上电并通过RS485直连电脑,点击上位机左侧“设备系统参数”导航条。 5. 在中间位置找到“开启跨设备联动”点击选中框使其处于选中对勾状态,修改右侧“联动设备Modbus地址”后面的输入框内容为1。 6. 点击下方“保存设备系统参数”按钮。  7. 点击上位机左侧“U参数寄存器”导航条,点击“读取”按钮。 8. 勾选U 1下方“AI跨设备联动使能”选中框使其处于选中状态。 9. 点击右侧“保存”图标。 **** 10. 给两台设备重新上电并使用导线将RS485接口进行互联,在SC\-RI 0022产品AI1电压输入两个端子上施加直流3V电压。 11. 点击上位机左侧“U参数寄存器”导航条,点击“读取”按钮,可以看到U 1下方“U参数”右侧的值已经成功映射有数据值,该值除以1000后就是被联动设备的实际AI值。  12. 跨设备数据映射到中间变量U寄存器后,可以将U寄存器作为自动逻辑控制的输入通道或比较参数,详细介绍请阅读“自动逻辑控制”章节相关内容。 ### 4.11.3 通过云平台实现跨设备联动 本公司联网产品支持通过云平台实现跨地区、跨设备联动。将本产品与SC\-NI系列带有AI功能的设备(如SC\-NI 8822 ETH)都接入互联网并在瞬锐云上添加设备,在瞬锐云上将两台设备加入到同一个设备分组,配置被联动设备从机地址并开启AI主动上报或AI变化上报,当收到被联动设备主动上报数据帧时会解析被联动产品AI\-1值并同步配置在本产品的AO\-1上。  **配置被联动设备(SC\-NI 8822 ETH)**: 1. 将SC\-NI 8822 ETH产品上电并接入瞬锐云,配置其从机地址为1,点击“提交”按钮。  2. 配置SC\-NI 8822 ETH产品AI主动向MQTT上报,上报周期为1秒,点击“提交”按钮。  3. 点击“重启”按钮配置SC\-NI 8822 ETH产品重新启动以生效配置。  **配置AO跨设备联动AI**: 4. 将本产品上电并接入瞬锐云,点击“设备信息”导航条。  5. 在中间位置找到“跨设备联动”点击下拉框选择启用。 6. 修改右侧地址输入框填入内容为1。 7. 点击上方“提交”按钮。  8. 点击“AO信息”导航条。 9. 点击AO 1下方“跨设备联动”下拉框选择“使能”。 10. 点击“提交”按钮。  11. 在左侧导航栏点击“设备分组”。 12. 点击“新增”按钮。 13. 填入“分组名字”。 14. 点击“开启”选择框。 15. 点击上方“提交”按钮,新增一个设备分组。  16. 分别点击两台设备的选中框激活选中 17. 点击“添加到分组”按钮 18. 点击“确定”按钮将两台设备加入到同一个设备分组。  19. 点击本设备“重启”按钮配置本产品重新启动以生效配置。  20. 在SC\-NI 8822 ETH产品AI1两个端子上施加直流3V电压,SC\-NI 0044 ETH产品AO1会联动输出3V电压。 21. 去掉SC\-NI 8822产品AI1端子上施加的电压,SC\-NI 0044 ETH产品AO1会同步输出0V电压。 ## 4.12 自动逻辑控制 自动逻辑控制功能可以将DI的数值进行与、或、异或运算;AI的电压或电流数据和指定的数值进行比较判断;当判断条件达成时可以控制DO执行客户指定的动作,也可以控制AO输出指定的数值,还可以在条件达成时控制从RS485接口主动上报设备的AI数据。 自动逻辑控制功能还可以配置不同序号的DO正向或反向跟随DI,也可以配置不同序号的AO正向或反向跟随AI。 自动逻辑控制功能总体支持32条,每秒钟执行一次,方便用户定制自己的特色功能。 ### 4.12.1 AO联动AI 配置第一条自动逻辑控制,AO1跟随AI2: 1. 点击上位机左侧“自动逻辑控制”导航条。 2. 在中间“自动逻辑控制”配置窗口右上角点击“读取”按钮同步设备配置信息。 3. 在“序号1”那一行:勾选“启用”单选框。 4. “控制模式”选择“输出跟随模式”。 5. “输入通道”选择“AI\-2 电压”。 6. “判断条件”选择“AI/AO正跟随”。 7. “输出通道”选择“AO\-1 电压”。 8. 点击右侧保存小图标按钮。  9. 用可调电源给AI2的电压端子施加不同的电压值,用万用表测量AO1输出电压,其输出值会跟随AI2的电压变化。 ### 4.12.2 AI数值控制AO 配置2条自动逻辑规则,第3条AI1电压大于3V时AO2输出5V,第4条当AI1电压小于等于2\.6V时AO2输出0V: 1. 点击上位机左侧“自动逻辑控制”导航条。 2. 在“序号3”那一行:勾选“启用”单选框。 3. “控制模式”选择“比较判断模式”。 4. “输入通道”选择“AI\-1电压值”。 5. “判断条件”选择“大于”。 6. “比较参数类型”选择“真实值”。 7. “比较参数”输入“3000”此处3000为3000毫伏即3V。 8. “输出通道”选择“AO\-2 电压”。 9. “输出参数类型”选择“真实值”。 10. “输出参数”选择“5000”。 11. 点击右侧保存小图标按钮。 12. 另一条配置方法和第一条类似,不再赘述。  13. 按上图所示,配置好两条自动逻辑控制并保存至设备。 14. 用可调电源给AI1的电压端子施加3\.3V电压,在“AI设置与检测”页面观察电压实时数据,当电压高于3V时AO2会输出5V电压。 15. 向下调节可调电源,等在“AI设置与检测”页面观察电压实时数据下降至2\.6V及以下时,AO2会输出0V电压。 ### 4.12.3 AI数值触发主动上报 配置第9条自动逻辑规则,当AI2电流在2\.6mA到3\.2mA范围外时从RS485接口主动上报电流数据: 1. 点击上位机左侧“自动逻辑控制”导航条。 2. 点击“9\-16条”标签,在“序号9”那一行:勾选“启用”单选框。 3. “控制模式”选择“比较判断模式”。 4. “输入通道”选择“AI\-2电流值”。 5. “判断条件”选择“范围外”。 6. “比较参数类型”选择“真实值”。 7. “比较参数”输入“2600”。 8. “辅助比较参数”输入“3200”。 9. “输出通道”选择“AI 上报”。 10. “输出参数类型”选择“上报RS485”。 11. “输出参数”选择“上报电流值”。 12. 点击右侧保存小图标按钮。  13. 按照上图所示,配置好自动逻辑控制并保存至设备。 14. 用信号发生器或本设备自带的AO接口给AI2电流端子施加1mA电流,观察上位机右侧“日志”窗口可以看见每秒钟都有AI主动上报数据被接收到。 15. 向上调节信号发生器电流值,当电流高于2\.6mA时会停止数据主动上报。 16. 继续调高电流,当其高于3\.2mA时右侧“日志”窗口可以看见每秒钟又有主动上报数据被接收到。 ## 4.13 从机监测 本设备支持RS485口下挂本公司RS485型IO控制器设备,通过从机监测功能定时发起Modbus通信以识别设备是否在线。从机监测最多可以监测8台下挂设备,需要配置不同的从机地址,同时也不能与本设备从机地址重复。 ### 4.13.1 配置下挂设备 1. 点击上位机左侧“从机状态参数”导航条。 2. 点击“开启从机状态监测”单选框激活选中对勾。 3. 在“从机1”右侧的“地址”输入框输入“01”。 4. 点击“保存从机地址参数”按钮。  5. 等待40秒左右的时间,点击“读取从机状态参数”按钮。  6. 如果RS485接口上正常连接从机地址为1的下挂设备,“从机1”在线“状态”圆圈会由灰色变为绿色。 ## 4.14 批量配置参数 批量设备如果配置相同,可以使用上位机“批量配置参数”来实现配置导入,无需为每台设备单独修改配置,使用此功能可提高配置效率。 ### 4.14.1 从原始设备读取所有参数 使用1台设备作为原始设备,配置好参数并确认功能正确,按照以下操作读出所有配置: 1. 点击上位机左侧“批量配置参数”导航条。 2. 点击“读取所有参数时保存至配置文件”左侧的单选框激活选中对勾。 3. 点击右上角“读取所有参数”按钮。  ### 4.14.2 导入配置到新设备 使用1台新设备作为目标设备,按照以下操作导入原始设备所有配置: 1. 在上位机右上角“电脑通信参数”区域关闭串口,配置串口9600\-8\-None\-1,配置地址0x30并打开串口  2. 点击上位机左侧“批量配置参数”导航条 3. 点击“加载配置参数”按钮,确认按钮左侧“参数校验”图标转换成绿色对勾。  4. 默认所有分类参数都处于选中状态,根据实际情况可去掉不需要下发的配置大类前面单选对勾。 5. 点击“设置参数”按钮开始批量下发参数。 6. 观察“配置结果”、“配置数量”和“成功数量”,没有异常报错重启设备即可。  7. 可根据“文件路径”右侧提示的配置文件存放路径,将配置文件复制到别的目录备份或分享。 ## 4.15 固件升级 如果设备需要升级更高版本的固件,用户可以向业务人员咨询获取固件升级包。通过升级固件,可以获得更多前沿的应用。本公司产品均支持上位机软件升级固件。 ### 4.15.1 串口升级固件 1. 点击上位机左侧“设备系统参数”导航条。 2. 在中间位置点击“添加串口升级文件”按钮。  3. 在弹出“请选择要传输的文件”对话框里找到电脑中存储的.img格式升级文件,点击“打开”按钮。  4. 在中间位置找到“串口升级设备固件”按钮并点击一下。 5. 在弹出确认升级提示框中点击“确认”按钮开始升级固件。 6. 升级过程中可在右侧“日志”窗口观察固件升级进度。  7. 等待固件升级完成后设备会自动重启并运行新版本固件。  ### 4.15.2 网络升级固件 网络升级固件需要云服务器支持公网IP或域名访问,首先在云服务器上搭建HTTP文件服务,上传.img格式的升级固件至云服务器并生成访问链接。 1. 点击上位机左侧“设备系统参数”导航条。 2. 在“网络升级服务地址”右侧输入框内填写公网固件访问链接,必须以“http://”开头。 3. 点击“保存设备系统参数”按钮。  4. 点击“网络升级设备固件”按钮开始升级固件。 5. 升级过程中可点击“读取升级进度”按钮查看固件升级百分比。  6. 等待固件升级完成后设备会自动重启并运行新版本固件。 ### 4.15.3 本地网络升级固件 本地网络升级固件是上位机软件在本地电脑上启动HTTP服务,并下发升级链接,设备通过局域网从本地电脑获取升级目标文件并完成固件升级。 1. 点击上位机左侧“设备系统参数”导航条。 2. 点击“启动本地升级服务”按钮,自动弹出“通过本地网络升级固件”对话框。 3. 在中间位置点击“添加升级文件”按钮。  4. 在弹出“请选择要传输的文件”对话框里找到电脑中存储的.img格式升级文件,点击“打开”按钮。  5. 点击“启动升级Server”按钮。 6. 点击“设置升级参数”按钮。 7. 点击“启动自动升级”按钮。  8. 在弹出升级确认提示框中点击“确认”按钮开始升级固件。 9. 升级过程中可点击“读取升级进度”按钮,在“升级进度”栏查看固件升级百分比。  10. 等待固件升级完成后设备会自动重启并运行新版本固件。 ## 4.16 关键参数获取 在遗忘从机地址或串口参数时,可以通过特殊上电启动方式获取关键参数。 1. 将设备关电,通过USB转RS485调试器将设备和电脑直连。上位机软件“电脑通信参数”配置230400波特率、8位数据位、1停止位、无校验位,去掉右侧“日志”侧边栏“Hex”勾选。 2. 按住复位按钮不松开,给设备接入供电电源,等待5秒左右待收到如下图的数据日志时松开复位按钮。  3. 如上图所示,电脑串口收到了“设备名称”、“RS485口参数”和“从机地址”一共三个关键参数。 # 5. 通讯协议 产品支持标准Modbus\-RTU协议,其为施耐德电气公司于1979年为使用可编程逻辑控制器(PLC)通信而发表的。现在的Modbus协议已经成为工业控制领域通信协议的业界标准,是工业电子设备间常用的通讯协议。Modbus\-RTU协议传送为二进制模式,数据流以字节为单位传输。传输数据时,使用了差错检测机制,以确保数据的完整性。 ## 5.1 通讯帧格式 1. Modbus\-RTU通信的帧结构。 <div class="center"> | **用途** | **长度** | **描述** | | --- | --- | --- | | 设备地址 | 1byte | 从机有唯一的地址,范围1\-247 | | 功能码 | 1byte | 主机要求从机执行的操作类型 | | 数据 | 可变(0\-252byte) | 包含了命令的具体参数,格式和长度取决于功能码 | | CRC校验 | 2byte | 检查数据在传输过程中是否有错误 | </div> 2. Modbus\-RTU功能码说明。 <div class="center"> | **功能码** | **名称** | **数据类型** | **作用** | | --- | --- | --- | --- | | 0x01 | 读线圈Read Coils | 位 | 读取一组逻辑线圈的当前状态(ON/OFF) | | 0x02 | 读离散输入寄存器Read Discrete Inputs | 位 | 读取一组开关输入的当前状态(ON/OFF) | | 0x03 | 读保持寄存器Read Holding Registers | 整型、浮点型、字符型 | 读取一个或多个保持寄存器当前数值 | | 0x04 | 读输入寄存器Read Input Registers | 整型、浮点型 | 读取一个或多个输入寄存器当前数值 | | 0x05 | 写单个线圈寄存器Write Single Coil | 位 | 设置一个逻辑线圈的通断状态 | | 0x06 | 写单个保持寄存器Write Single Register | 整型、浮点型、字符型 | 设置一个保持寄存器 | | 0x0F | 写多个线圈寄存器Write Multiple Coils | 位 | 设置一串连续逻辑线圈的通断 | | 0x10 | 写多个保持寄存器Write Multiple Registers | 整型、浮点型、字符型 | 设置一串连续的保持寄存器 | </div> ## 5.2 寄存器地址和说明 特殊说明:对于读写多个寄存器,0x03(读保持寄存器)、0x04(读输入寄存器)和0x0F(写多个线圈)、0x10(写多个寄存器)最多不超过120个寄存器。 ### 5.2.1 IO参数寄存器 1. AI数据寄存器(支持0x04功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 0000H \- 0001H | 30001 \- 30002 | AI1 \- 2电压,单位为mV | 只读 | | 0020H \- 0021H | 30033 \- 30034 | AI1 \- 2电流,单位为uA | 只读 | </div> 2. AO数据寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 0000H \- 0001H | 40001 \- 40002 | AO1 \- 2电压,单位为mV | 读/写 | | 0020H \- 0021H | 40033 \- 40034 | AO1 \- 2电流,单位为uA | 读/写 | </div> 3. AO上电初始值(支持0x04功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 0054H \- 0055H | 30085 \- 30086 | AO1 \- 2电压初始值,单位为mV | 只读 | | 0074H \- 0075H | 30117 \- 30118 | AO1 \- 2电流初始值,单位为uA | 只读 | </div> 4. AI主动上报配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 01C2H | 40451 | AI定时上报间隔寄存器0: 不上报N:定时 N \* 100ms上报(N\>\=10\) | 读/写 | | 01C3H | 40452 | AI主动上报格式配置0:向RS485口上报电压信息1:向RS485口上报电流信息2:向RS485口电压电流同一帧上报3:向SOCKET上报电压信息4:向SOCKET上报电流信息5:向SOCKET电压电流同一帧上报6:向MQTT上报电压信息7:向MQTT上报电流信息8:向MQTT电压电流同一帧上报 | 读/写 | | 0162H | 40355 | AI1变化上报时间阈值0:不开启变化上报N: N \* 100ms (N\>\=10\) | 读/写 | | 0163H | 40356 | AI2变化上报时间阈值0:不开启变化上报N: N \* 100ms (N\>\=10\) | 读/写 | | 0182H | 40387 | AI1变化上报电压触发阈值(单位为mV) | 读/写 | | 0183H | 40388 | AI2变化上报电压触发阈值(单位为mV) | 读/写 | | 01A2H | 40419 | AI1变化上报电流触发阈值(单位为uA) | 读/写 | | 01A3H | 40420 | AI2变化上报电流触发阈值(单位为uA) | 读/写 | </div> ### 5.2.2 串口参数寄存器 1. RS485配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 03C5H \- 03C6H | 40966 \- 40967 | 波特率 | 读/写 | | 03C7H | 40968 | 数据位 | 读/写 | | 03C8H | 40969 | 校验位 | 读/写 | | 03C9H | 40970 | 停止位 | 读/写 | </div> 说明:配置波特率范围会限制在\[1200\~256000]。如果配置值在最小或者最大范围外,软件自动转换为最小1200和最大256000。 2. 串口心跳包配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 07B0H | 41969 | 第1组串口心跳包发送间隔0:不发送N:N秒钟发送一次 | 读/写 | | 07B1H | 41970 | 第1组串口心跳包内容长度 | 读/写 | | 07B2H \- 07C5H | 41971 \- 41990 | 第1组串口心跳包包内容HEX或字符串格式,最大40字节 | 读/写 | | | | ...... | 读/写 | | 08FCH \- 090FH | 42301 \- 42320 | 第16组串口心跳包包内容HEX或字符串格式,最大40字节 | 读/写 | </div> 3. 串口下挂从机设备配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 0910H | 42321 | 串口1下挂设备监测开关0:关闭1:开启 | 读/写 | | 0913H | 42324 | 下挂设备1从机地址1 \- 247 | 读/写 | | 0914H | 42325 | 下挂设备2从机地址1 \- 247 | 读/写 | | 0915H | 42326 | 下挂设备3从机地址1 \- 247 | 读/写 | | 0916H | 42327 | 下挂设备4从机地址1 \- 247 | 读/写 | | 0917H | 42328 | 下挂设备5从机地址1 \- 247 | 读/写 | | 0918H | 42329 | 下挂设备6从机地址1 \- 247 | 读/写 | | 0919H | 42330 | 下挂设备7从机地址1 \- 247 | 读/写 | | 091AH | 42331 | 下挂设备8从机地址1 \- 247 | 读/写 | </div> 4. 串口下挂从机设备在线状态寄存器(支持0x04功能码)。 <div class="center"> | **寄存器地址** | **PLC或组态地址** | **内容** | **操作** | | --- | --- | --- | --- | | 00C4H | 30197 | 从机1在线状态0:离线1:在线 | 只读 | | 00C5H | 30198 | 从机2在线状态0:离线1:在线 | 只读 | | 00C6H | 30199 | 从机3在线状态0:离线1:在线 | 只读 | | 00C7H | 30200 | 从机4在线状态0:离线1:在线 | 只读 | | 00C8H | 30201 | 从机5在线状态0:离线1:在线 | 只读 | | 00C9H | 30202 | 从机6在线状态0:离线1:在线 | 只读 | | 00CAH | 30203 | 从机7在线状态0:离线1:在线 | 只读 | | 00CBH | 30204 | 从机8在线状态0:离线1:在线 | 只读 | </div> ### 5.2.3 系统参数寄存器 1. 系统参数配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 03D4H | 40981 | 从机地址 | 读/写 | | 03D6H | 40983 | 掉电记忆0:关闭,1:打开 | 读/写 | | 03D7H | 40984 | 跨设备联动0:关闭其他值:跟随指定从机地址的设备 | 读/写 | | 03DAH | 40987 | 跨设备联动AO使能0x0000:全部都关闭0x0100:打开第1路 0x0200:打开第2路 0x0F00:四路都打开 | 读/写 | | 03DCH \- 03E5H | 40989 \- 40998 | 设备型号 | 只读 | | 03E6H \- 03E7H | 40999 \- 41000 | 设备能力集读出值为0x00000404 | 只读 | | 03E8H | 41001 | 硬件版本 | 只读 | | 03E9H \- 03EAH | 41002 \- 41003 | 软件版本 | 只读 | | 03EBH \- 03EFH | 41004 \- 41008 | SN | 只读 | | 03F0H | 41009 | 重启,写0x55执行 | 读/写 | | 03F1H | 41010 | 恢复出厂,写0xAA执行 | 读/写 | | 03F2H | 41011 | 恢复出厂设置按钮管控0:关闭管控,允许通过按键恢复出厂设置1:打开管控,不允许通过按键恢复出厂设置 | 读/写 | | 03F3H | 41012 | 记忆当前输出状态0x55aa:将当前AO的状态设为上电默认状态 | 读/写 | </div> 说明:假设硬件版本读出值为0x0102代表V1\.2。假设软件版本读出值为0x0100 0x0200代表V1\.0\.2,前3个字节有效,最后一个字节为预留。 2. 系统状态寄存器(支持0x04功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 0040H \- 0049H | 30065 \- 30074 | 设备型号 | 只读 | | 004AH \- 004BH | 30075 \- 30076 | 设备能力集读出值为0x00000404 | 只读 | | 004CH | 30077 | 硬件版本 | 只读 | | 004DH \- 004EH | 30078 \- 30079 | 软件版本 | 只读 | | 004FH \- 0053H | 30080 \- 30084 | SN | 只读 | | 0094H | 30149 | 联网类型1:CAT12: ETH3: WIFI | 只读 | </div> 说明:假设硬件版本读出值为0x0102代表V1\.2。假设软件版本读出值为0x0100 0x0200代表V1\.0\.2,前3个字节有效,最后一个字节为预留。 3. 系统时间配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 04C3H \- 04C4H | 41220 \- 41221 | 校时寄存器,写入时间戳进行手动校时 | 读/写 | | 04C5H | 41222 | 系统时区编号,0\~47,默认为0 | 读/写 | | 04C6H \- 04E5H | 41223 \- 41254 | NTP时间同步服务器地址,字符串格式,最大64字节 | 读/写 | | 04E6H | 41255 | NTP时间同步间隔寄存器0:不开启NTP时间同步N:定时N分钟同步一次 | 读/写 | </div> 时区编号对照表 <div class="center"> | 编号 | 时区 | 夏令时 | 区域说明 | | --- | --- | --- | --- | | 0 | \+8:00 | 无 | 中国(含香港/台湾)/ 新加坡 / 马来西亚 / 菲律宾 / 印尼中部(默认) | | 1 | \-10:00 | 无 | 美国夏威夷 / 法属波利尼西亚 | | 2 | \-9:00 | M3\.2\.0/2,M11\.1\.0/2 | 美国阿拉斯加 | | 3 | \-8:00 | M3\.2\.0/2,M11\.1\.0/2 | 美国太平洋时间(洛杉矶/温哥华/西雅图) | | 4 | \-7:00 | M3\.2\.0/2,M11\.1\.0/2 | 美国山地时间(丹佛/卡尔加里) | | 5 | \-7:00 | 无 | 美国亚利桑那(凤凰城) | | 6 | \-6:00 | M3\.2\.0/2,M11\.1\.0/2 | 美国中部时间(芝加哥/墨西哥城) | | 7 | \-6:00 | 无 | 加拿大萨斯喀彻温 / 中美洲 | | 8 | \-5:00 | M3\.2\.0/2,M11\.1\.0/2 | 美国东部时间(纽约/多伦多) | | 9 | \-5:00 | 无 | 秘鲁 / 哥伦比亚 / 巴拿马 | | 10 | \-5:00 | M3\.2\.0/2,M11\.1\.0/2 | 古巴 / 美国东部(部分加勒比) | | 11 | \-4:00 | M3\.2\.0/2,M11\.1\.0/2 | 加拿大大西洋时间(哈利法克斯) | | 12 | \-4:00 | 无 | 委内瑞拉 / 玻利维亚 | | 13 | \-4:00 | M9\.1\.0/4,M4\.1\.0/3 | 智利 | | 14 | \-4:00 | M10\.1\.0/0,M3\.5\.0/0 | 巴拉圭 | | 15 | \-3:30 | M3\.2\.0/0:01,M11\.1\.0/0:01 | 加拿大纽芬兰 | | 16 | \-3:00 | 无 | 阿根廷 / 巴西(部分地区)/ 乌拉圭 | | 17 | \+0:00 | 无 | 冰岛 / 加纳 / 塞内加尔 | | 18 | \+0:00 | M3\.5\.0/1,M10\.5\.0/2 | 英国 / 爱尔兰 / 葡萄牙 | | 19 | \+1:00 | M3\.5\.0/2,M10\.5\.0/3 | 法国 / 德国 / 西班牙 / 意大利等中欧 | | 20 | \+1:00 | 无 | 尼日利亚 / 突尼斯 / 阿尔及利亚 | | 21 | \+2:00 | M3\.5\.0/3,M10\.5\.0/4 | 欧洲东部(芬兰 / 罗马尼亚 / 保加利亚 / 爱沙尼亚等) | | 22 | \+2:00 | 三月最后一个周日之前的周五 | 以色列 | | 23 | \+2:00 | 无 | 俄罗斯\-加里宁格勒 | | 24 | \+2:00 | M4\.5\.6/0,M10\.5\.4/24 | 埃及 | | 25 | \+2:00 | 无 | 南非 / 津巴布韦 / 赞比亚 / 莫桑比克 | | 26 | \+3:00 | 无 | 俄罗斯\-莫斯科 / 圣彼得堡 | | 27 | \+3:00 | 无 | 土耳其 / 伊拉克 / 沙特阿拉伯 / 也门 | | 28 | \+3:00 | 无 | 东非(肯尼亚 / 坦桑尼亚 / 乌干达 / 埃塞俄比亚) | | 29 | \+3:30 | M3\.5\.0/2,M9\.5\.0/2 | 伊朗 | | 30 | \+4:00 | 无 | 俄罗斯\-萨马拉 / 阿联酋 / 阿曼 / 毛里求斯 | | 31 | \+4:30 | 无 | 阿富汗 | | 32 | \+5:00 | 无 | 俄罗斯\-叶卡捷琳堡 / 巴基斯坦 / 哈萨克斯坦西部 | | 33 | \+5:30 | 无 | 印度 / 斯里兰卡 | | 34 | \+5:45 | 无 | 尼泊尔 | | 35 | \+6:00 | 无 | 俄罗斯\-新西伯利亚 / 孟加拉国 / 哈萨克斯坦东部 | | 36 | \+7:00 | 无 | 俄罗斯\-克麦罗沃 / 泰国 / 越南 / 印尼西部 / 柬埔寨 / 老挝 | | 37 | \+8:00 | 无 | 中国(含香港/台湾)/ 新加坡 / 马来西亚 / 菲律宾 / 印尼中部 | | 38 | \+8:00 | 无 | 澳大利亚\-西部(珀斯) | | 39 | \+8:00 | 无 | 俄罗斯\-伊尔库茨克 | | 40 | \+9:00 | 无 | 日本 / 韩国 / 朝鲜 | | 41 | \+9:00 | 无 | 俄罗斯\-雅库茨克 | | 42 | \+9:30 | M10\.1\.0/2,M4\.1\.0/3 | 澳大利亚\-中部(阿德莱德) | | 43 | \+9:30 | 无 | 澳大利亚\-中部(达尔文,无夏令时) | | 44 | \+10:00 | M10\.1\.0/2,M4\.1\.0/3 | 澳大利亚\-东部(悉尼 / 墨尔本) | | 45 | \+10:00 | 无 | 澳大利亚\-昆士兰(布里斯班) | | 46 | \+10:00 | 无 | 俄罗斯\-海参崴 | | 47 | \+12:00 | M9\.5\.0/2,M4\.1\.0/3 | 新西兰(奥克兰 / 惠灵顿) | </div> 4. 系统时间状态寄存器(支持0x04功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 0095H \- 0096H | 30150 \- 30151 | 当前时间戳 | 只读 | | 0097H | 30152 | 当前年份 | 只读 | | 0098H | 30153 | 当前月、日 | 只读 | | 0099H | 30154 | 当前时、分 | 只读 | | 009AH | 30155 | 当前秒、星期(0代表星期日) | 只读 | | 009BH | 30156 | 当前时区以分钟数值展示,如中国是\+8:00时区,读出值就是480,印度\+5:30时区则为330 | 只读 | </div> 5. 系统网络配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 05E3H \- 0540H | 41343 \- 41345 | MAC地址 | 只读 | | 0541H \- 0542H | 41346 \- 41347 | IP地址 | 读/写 | | 0543H \- 0544H | 41348 \- 41349 | 子网掩码 | 读/写 | | 0545H \- 0546H | 41350 \- 41351 | 默认网关 | 读/写 | | 0547H \- 0548H | 41352 \- 41353 | 主用DNS | 读/写 | | 0549H \- 054AH | 41354 \- 41355 | 备用DNS | 读/写 | | 054BH | 41356 | IP地址配置类型 0:自动获取1:静态配置 | 读/写 | </div> 6. 系统网络状态寄存器(支持0x04功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 009CH \- 009EH | 30157 \- 30159 | MAC地址 | 只读 | | 009FH \- 00A0H | 30160 \- 30161 | IP地址 | 只读 | | 00A1H \- 00A2H | 30162 \- 30163 | 子网掩码 | 只读 | | 00A3H \- 00A4H | 30164 \- 30165 | 默认网关 | 只读 | | 00A5H \- 00A6H | 30166 \- 30167 | 主用DNS | 只读 | | 00A7H \- 00A8H | 30168 \- 30169 | 备用DNS | 只读 | | 00BCH | 30190 | 网口连接状态0:未连接1:已连接 | 只读 | </div> 7. 远程升级配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 078FH \- 07AEH | 41936 \- 41967 | 远程升级文件链接地址,字符串格式,最大64字节,起始以http://形式开头 | 读/写 | | 07AFH | 41968 | 远程升级执行触发0xaa:执行设备远程升级 | 读/写 | </div> 8. 远程升级状态寄存器(支持0x04功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 00C3H | 30196 | 远程升级进度\[1\-100]:固件升级进度异常错误码:65535: 下载失败65534: 设备型号不匹配65533: 硬件平台不匹配65532: 完整性错误 | 只读 | </div> 9. 设备搜索协议配置寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 091BH | 42332 | 设备搜索协议服务端口号,1\-65535有效,0代表关闭搜索协议响应,默认值为2548 | 读/写 | | 091CH \- 092BH | 42333 \- 42348 | 搜索协议验证密码,字符串格式,默认www.shunrui.cn,最大32字节 | 读/写 | </div> ### 5.2.4 自动控制寄存器 1. 自动逻辑控制寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 03F7H | 41016 | 跨设备联动DI映射中间寄存器使能位图,BIT8对应第一个中间参数寄存器,BIT9对应第二个,BIT15对应第八个,BIT0对应第九个,BIT1对应第十个0:关闭1:打开 | 读/写 | | 03F8H | 41017 | 跨设备联动AI映射中间寄存器使能位图,BIT8对应第一个中间参数寄存器,BIT9对应第二个,BIT15对应第八个,BIT0对应第九个,BIT1对应第十个0:关闭1:打开 | 读/写 | | 03F9H \- 0402H | 41018 \- 41027 | 中间寄存器U\-1 \~ U\-10 | 读/写 | | 0403H | 41028 | 输入通道寄存器 | 读/写 | | 0404H | 41029 | 判断条件寄存器 | 读/写 | | 0405H | 41030 | 比较参数寄存器 | 读/写 | | 0406H | 41031 | 辅助参数寄存器 | 读/写 | | 0407H | 41032 | 输出通道寄存器 | 读/写 | | 0408H | 41033 | 输出参数寄存器 | 读/写 | | 。。。。。。 | | | | | 04C2H | 41219 | 第32条 输出参数寄存器 | 读/写 | </div> **寄存器说明**: * **中间寄存器**是为了自动逻辑控制功能计算结果存放而开辟的中间变量,可作为输入通道也可作为输出通道使用。一共10个,记作U\-1到U\-10。 * **输入通道寄存器**用于配置输入通道的地址,取值如下 30001 \- 30002代表取AI1 \- AI2电压值 30033 \- 30034代表取AI1 \- AI2电流值 40001 \- 40002代表取AO1 \- AO2电压值 40033 \- 40034代表取AO1 \- AO2电流值 41018 \- 41027代表取中间变量U\-1到U\-10值 * **判断条件寄存器**按Bit划分 <div class="center"> | 位索引 | 功能 | 取值说明 | | --- | --- | --- | | Bit15 | 该条配置启用开关 | 0:不启用1:启用 | | Bit14\-Bit13 | 控制模式 | 0:跟随模式1:逻辑判断模式2:比较判断模式3: 边沿判断模式 | | Bit12\-Bit11 | 比较参数类型 | 0:通道值1:真实值 | | Bit10\-Bit8 | 输出参数类型 | 0:通道值1:真实值2:判断结果3:上报RS4854:socket上报5:mqtt上报 | | Bit7\-Bit0 | 判断方法 | 3:AI/AO正跟随 4:AI/AO负跟随\*1至4在跟随模式有效\*5:大于6:大于等于7:小于8:小于等于9:范围内10:范围外\*5至10在比较判断模式有效\*11:与12:或13:异或\*11至13在逻辑判断模式有效\* | </div> “AI/AO正跟随”场景下,AO输出的值等于AI输入的值; “AI/AO负跟随”场景下,AO输出的值等于辅助参数寄存器的值减去AI输入的值。 * **比较参数寄存器**的含义取决于判断条件寄存器的Bit12\-Bit11可以为通道值也可以为真实值 <div class="center"> | 属性 | 配置说明 | | --- | --- | | 通道值 | 30001 \- 30002代表取AI1 \- AI2电压值30033 \- 30034代表取AI1 \- AI2电流值40001 \- 40002代表取AO1 \- AO2电压值40033 \- 40034代表取AO1 \- AO2电流值41018 \- 41027代表取中间变量U\-1到U\-10值 | | 真实值 | 具体的数字,注意输入电压值时单位为mV,输入电流值时单位为uA。边沿触发模式下,此寄存器代表DI按键动作最小时长,当按键时长小于寄存器值乘以100毫秒时边沿触发无效。 | </div> * **辅助参数寄存器** 在比较判断模式下,判断方法为“范围内”或“范围外”才有意义,在这种情况下比较参数寄存器代 表低门限,此寄存器则代表高门限; 在AI/AO负跟随模式下,取此寄存器的值减去AI通道值输出到AO通道。 在边沿触发模式下,此寄存器代表DI按键动作最大时长,当按键时长大于寄存器值乘以100毫秒时 边沿触发无效。 * **输出通道寄存器**用于配置输出通道的地址,取值如下 40001 \- 40002代表AO1 \- AO2电压输出 40033 \- 40034代表AO1 \- AO2电流输出 41018\- 41027代表输出到中间变量U\-1到U\-10 * **输出参数寄存器**的含义取决于判断条件寄存器的Bit10\-Bit8,可以为通道值也可以为真实值 <div class="center"> | 属性 | 配置说明 | | --- | --- | | 通道值 | 30001 \- 30002代表取AI1 \- AI2电压寄存器的值30033 \- 30034代表取AI1 \- AI2电流寄存器的值40001 \- 40002代表取AO1 \- AO2电压寄存器的值40033 \- 40034代表取AO1 \- AO2电流寄存器的值41018 \- 41027代表取中间变量U\-1到U\-10值 | | 真实值 | 具体的数字:输出通道为AO时输出电压值时单位为mV,输出电流值时单位为uA;输出参数类型为RS485/socket/mqtt“主动上报时”:0表示上报电压信息,1表示上报电流信息,2表示电压、电流同一帧上报; | </div> 2. 定时控制寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 04E7H | 41256 | **第1条** 启用、星期和小时寄存器BIT15代表启用,1有效BIT14\-8为星期位图,分别对应星期六、五...星期一、星期日BIT7\-0为小时,取值0\-23 | 读/写 | | 04E8H | 41257 | **第1条** 分钟、秒寄存器高字节为分钟,低字节为秒。取值\[0\-59] | 读/写 | | 04E9H | 41258 | **第1条** 输出通道寄存器40001代表AO1电压输出40033代表AO1电流输出41009代表控制设备重启41018\-41027为条件控制中间寄存器 | 读/写 | | 04EAH | 41259 | **第1条** 输出数值寄存器输出通道寄存器为AO电压或电流时,N mV或N uA输出通道寄存器为设备重启时,0x55代表执行重启 | 读/写 | | 。。。。。。 | | | | | 04C2H | 41287 | **第8条** 输出数值寄存器 | 读/写 | </div> ### 5.2.5 网络应用寄存器 1. socket控制寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 05B6H | 41463 | socket 1模式0:Modbus RTU模式1:JSON解析模式2:Modbus TCP转Modbus RTU | 读/写 | | 05B7H | 41464 | socket 1和RS485数据关联0:不关联1:关联 | 读/写 | | 05B8H | 41465 | socket 1类型0:禁用1:TCPS2:TCPC3:UDPS4:UDPC | 读/写 | | 05B9H \- 05D8H | 41466 \- 41497 | socket 1服务器地址字符串格式,最大64字节 | 读/写 | | 05D9H | 41498 | socket 1服务器端口号 | 读/写 | | 05DAH | 41499 | socket 1注册包类型0:禁用1:设备名称2:SN3:MAC6:自定义 | 读/写 | | 05DBH | 41500 | socket 1注册包发送模式0:不启用1:连接发送2:随数据发送 | 读/写 | | 05DCH | 41501 | socket 1自定义注册包内容长度 | 读/写 | | 05DDH \- 05F0H | 41502 \- 41521 | socket 1自定义注册包内容HEX或字符串格式,最大40字节 | 读/写 | | 05F1H | 41522 | socket 1心跳包发送间隔0:不启用N:定时N秒发送一次 | 读/写 | | 05F2H | 41523 | socket 1心跳包类型0:禁用1:设备名称2:SN3:MAC6:自定义 | 读/写 | | 05F3H | 41524 | socket 1心跳包内容长度 | 读/写 | | 05F4H \- 0607H | 41525 \- 41544 | socket 1心跳包包内容HEX或字符串格式,最大40字节 | 读/写 | | 0608H | 41545 | socket 2模式0:Modbus RTU模式1:JSON解析模式2:Modbus TCP转Modbus RTU | 读/写 | | 0609H | 41546 | socket 2和RS485数据关联0:不关联1:关联 | 读/写 | | 060AH | 41547 | socket 2类型0:禁用1:TCPS2:TCPC3:UDPS4:UDPC | 读/写 | | 060BH \- 062AH | 41548 \- 41579 | socket 2服务器地址字符串格式,最大64字节 | 读/写 | | 062BH | 41580 | socket 2服务器端口号 | 读/写 | | 062CH | 41581 | socket 2注册包类型0:禁用1:设备名称2:SN3:MAC6:自定义 | 读/写 | | 062DH | 41582 | socket 2注册包发送模式0:不启用1:连接发送2:随数据发送 | 读/写 | | 062EH | 41583 | socket 2自定义注册包内容长度 | 读/写 | | 062FH \- 0642H | 41584 \-41603 | socket 2自定义注册包内容HEX或字符串格式,最大40字节 | 读/写 | | 0643H | 41604 | socket 2心跳包发送间隔0:不启用N:定时N秒发送一次 | 读/写 | | 0644H | 41605 | socket 2心跳包类型0:禁用1:设备名称2:SN3:MAC6:自定义 | 读/写 | | 0645H | 41606 | socket 2心跳包内容长度 | 读/写 | | 0646H \- 0659 | 41607 \- 41626 | socket 2心跳包包内容HEX或字符串格式,最大40字节 | 读/写 | </div> 2. socket状态寄存器(支持0x04功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 00C0H | 30193 | socket 1连接状态0:未连接1:已连接 | 只读 | | 00C1H | 30194 | socket 2连接状态0:未连接1:已连接 | 只读 | </div> 3. MQTT控制寄存器(支持0x03 0x06 0x10功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 065AH | 41627 | 云端管理模式0:瞬觅云,MQTT功能独占1: 公有云(预留,不支持)2: 客户私有云 | 读/写 | | 065BH \- 067AH | 41628 \- 41659 | MQTT服务器地址字符串格式,最大64字节 | 读/写 | | 067BH | 41660 | MQTT服务器端口号 | 读/写 | | 067CH | 41661 | MQTT客户端ID类型0:自定义1:SN3:MAC | 读/写 | | 067DH \- 0690H | 41662 \- 41681 | 自定义MQTT客户端ID字符串格式,最大40字节 | 读/写 | | 0691H \- 06A0H | 41682 \- 41697 | MQTT客户端用户名字符串格式,最大32字节 | 读/写 | | 06A1H \- 06B0H | 41698 \- 41713 | MQTT客户端密码字符串格式,最大32字节 | 读/写 | | 06B1H | 41714 | MQTT keepalive心跳时间,默认值为30秒 | 读/写 | | 06B2H | 41715 | MQTT清除会话 | 读/写 | | 06B3H | 41716 | MQTT SSL加密 | 读/写 | | 06B4H | 41717 | 会话1 工作模式0:Modbus RTU模式1:JSON解析模式2:Modbus TCP转Modbus RTU | 读/写 | | 06B5H | 41718 | 会话1和RS485数据关联0:不关联1:关联 | 读/写 | | 06B6H \- 06C9H | 41719 \- 41738 | MQTT订阅1 topic字符串格式,最大40字节 | 读/写 | | 06CAH | 41739 | MQTT订阅1 QOS值 | 读/写 | | 06CBH \- 06DEH | 41740 \- 41759 | MQTT发布1 topic字符串格式,最大40字节 | 读/写 | | 06DFH | 417600 | MQTT发布1 QOS值 | 读/写 | | 06E0H | 41761 | 会话2 工作模式0:Modbus RTU模式1:JSON解析模式2:Modbus TCP转Modbus RTU | 读/写 | | 06E1H | 41762 | 会话2和RS485数据关联0:不关联1:关联 | 读/写 | | 06E2H \- 06F5H | 41763 \- 41782 | MQTT订阅2 topic字符串格式,最大40字节 | 读/写 | | 06F6H | 41783 | MQTT订阅2 QOS值 | 读/写 | | 06F7H \- 070AH | 41784 \- 41803 | MQTT发布2 topic字符串格式,最大40字节 | 读/写 | | 070BH | 41804 | MQTT发布2 QOS值 | 读/写 | | 070CH | 41805 | 会话3 工作模式0:Modbus RTU模式1:JSON解析模式2:Modbus TCP转Modbus RTU | 读/写 | | 070DH | 41806 | 会话3和RS485数据关联0:不关联1:关联 | 读/写 | | 070EH \- 0721H | 41807 \- 41826 | MQTT订阅3 topic字符串格式,最大40字节 | 读/写 | | 0722H | 41827 | MQTT订阅3 QOS值 | 读/写 | | 0723H \- 0736H | 41828 \- 41847 | MQTT发布3 topic字符串格式,最大40字节 | 读/写 | | 0737H | 41848 | MQTT发布3 QOS值 | 读/写 | | 0738H | 41849 | MQTT WILL消息0:禁用 N:WILL消息长度 | 读/写 | | 0739H \- 074CH | 41850 \- 41869 | MQTT WILL消息topic字符串格式,最大40字节 | 读/写 | | 074DH \- 0760H | 41870 \- 41889 | MQTT WILL消息内容,字符串格式,最大40字节 | 读/写 | | 0761H | 41890 | MQTT注册包类型0:禁用1:设备名称2:SN3:MAC6:自定义 | 读/写 | | 0762H | 41891 | MQTT注册包发送模式0:不启用1:连接发送2:随数据发送 | 读/写 | | 0763H | 41892 | MQTT自定义注册包内容长度 | 读/写 | | 0764H \- 0777H | 41893 \- 41912 | MQTT自定义注册包内容HEX或字符串格式,最大40字节 | 读/写 | | 0778H | 41913 | MQTT心跳包发送间隔0:不发送N:N秒钟发送一次 | 读/写 | | 0779H | 41914 | MQTT心跳包类型0:禁用1:设备名称2:SN3:MAC6:自定义 | 读/写 | | 077AH | 41915 | MQTT心跳包内容长度 | 读/写 | | 077BH \- 078EH | 41916 \- 41935 | MQTT心跳包包内容HEX或字符串格式,最大40字节 | 读/写 | </div> 4. MQTT状态寄存器(支持0x04功能码)。 <div class="center"> | 寄存器地址 | PLC或组态地址 | 内容 | 操作 | | --- | --- | --- | --- | | 00C2H | 30196 | MQTT连接状态0:未连接1:已连接 | 只读 | </div> ## 5.3 通讯协议示例及解释 1. **示例1**:读取设备两路AI电压信息。 请求帧(16进制):30 04 00 00 00 02 75 EA <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据长度 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 04 | 00 00 | 00 02 | 75 EA | </div> 回应帧(16进制):30 04 04 00 EB 01 BD 6A 92 <div class="center"> | 地址码 | 功能码 | 字节数 | AI1电压值 | AI2电压值 | 校验码 | | --- | --- | --- | --- | --- | --- | | 30 | 04 | 04 | 00 EB | 01 BD | 6A 92 | </div> 第一路AI电压数据转换方式: 00EB(十六进制) \= 235(十进制) \-\-\> 235mV \= 0\.235V 第二路AI电压数据转换方式: 01BD(十六进制) \= 445(十进制) \-\-\> 445mV \= 0\.445V 2. **示例2**:控制第一路AO输出3V电压,控制第二路AO输出8mA电流。 请求帧:(AO1输出3V电压)30 06 00 00 0B B8 8A A9 <div class="center"> | 地址码 | 功能码 | 起始地址 | 配置数据 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 06 | 00 00 | 0B B8 | 8A A9 | </div> 回应帧:30 06 00 00 0B B8 8A A9 请求帧:(AO2输出8mA电流)30 06 00 21 1F 40 D4 21 <div class="center"> | 地址码 | 功能码 | 起始地址 | 配置数据 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 06 | 00 21 | 1F 40 | D4 21 | </div> 回应帧:30 06 00 21 1F 40 D4 21 3. **示例3**:修改RS485接口波特率为115200(需重启生效)。 请求帧:30 10 03 C5 00 02 04 00 01 C2 00 D0 6C <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据长度 | 字节数 | 数据净荷 | 校验码 | | --- | --- | --- | --- | --- | --- | --- | | 30 | 10 | 03 C5 | 00 02 | 04 | 00 01 C2 00 | D0 6C | </div> 0001C200(十六进制) \= 115200(十进制) 回应帧:30 10 03 C5 00 02 55 90 <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据长度 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 10 | 03 C5 | 00 02 | 55 90 | </div> 4. **示例4**:修改从机地址为2(需重启生效)。 请求帧:30 06 03 D4 00 02 4C 56 <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 06 | 03 D4 | 00 02 | 4C 56 | </div> 0002(十六进制) \= 从机地址值为“2” 回应帧:30 06 03 D4 00 02 4C 56 5. **示例5**:控制设备重启。 请求帧:30 06 03 F0 00 55 4D A3 <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 06 | 03 F0 | 00 55 | 4D A3 | </div> 向03F0H地址写55H设备会重启 回应帧:30 06 03 F0 00 55 4D A3 6. **示例6**:控制设备恢复出厂设置。注意:此操作会删除所有用户配置,请谨慎使用。 请求帧:30 06 03 F1 00 AA 5C 23 <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 06 | 03 F1 | 00 AA | 5C 23 | </div> 向03F1H地址写AAH设备会恢复出厂设置并重启 回应帧:30 06 03 F1 00 AA 5C 23 7. **示例7**:控制设备按5秒间隔主动上报AI电压信息。 请求帧:30 06 01 C2 00 32 AC 3E <div class="center"> | 地址码 | 功能码 | 起始地址 | 数据 | 校验码 | | --- | --- | --- | --- | --- | | 30 | 06 | 01 C2 | 00 32 | AC 3E | </div> 0032(十六进制)\= 50(十进制)\-\-\> 50 乘以100毫秒等于5秒 回应帧:30 06 01 C2 00 32 AC 3E 8. **示例8**:配置第九条自动逻辑控制。 规则:当AI2电流在2\.6mA到3\.2mA范围外时向RS485口主动上报电流信息; 请求帧:30 10 04 33 00 06 0C 75 52 CB 0A 0A 28 0C 80 75 31 00 01 80 D4 9. **示例9**:配置两台设备之间的跨设备映射。 规则:A设备的DI1 DI3 DI5 DI7映射到B设备控制中间参数寄存器 第一步配置A设备DI每秒钟主动上报: 请求帧:30 06 01 60 00 0A 0C 0E 第二步配置A设备地址为0x01: 请求帧:30 10 03 D4 00 02 04 00 01 00 01 80 0C 第三步配置B设备开启跨设备映射: 请求帧:30 06 03 D7 00 01 FC 57 第四步配置B设备中间参数寄存器允许DI1 DI3 DI5 DI7映射。 请求帧:30 06 03 F7 55 00 03 0D 注:跨设备联动DI映射条件控制中间参数寄存器使能位图,BIT8对应第一个中间参数寄存器,BIT9对应第二个,BIT15对应八个,BIT0对应第九个,BIT1对应第十个。同一个中间参数寄存器只能被一个DI或AI映射位图使能。如果DI和AI都使能以最后使能的为主。 第五步观察结果: 重启A、B两台设备,并将RS485口互联,触发A设备的DI1 DI3 DI5 DI7的时候,B 设备对应的中间参数寄存器跟随变化。 10. **示例10**:配置设备联网口。 网口自动获取IP信息 请求帧:30 06 05 4B 00 00 FD 31 回应帧:30 06 05 4B 00 00 FD 31 网口手动配置,IP为192\.168\.0\.65 子网掩码为255\.255\.255\.0 默认网关为192\.168\.0\.1 主用DNS为 192\.168\.0\.1 备用DNS为 0\.0\.0\.0 请求帧:30 10 05 41 00 0B 16 C0 A8 00 41 FF FF FF 00 C0 A8 00 01 C0 A8 00 01 00 00 00 00 00 01 B8 B6 回应帧:30 10 05 41 00 0B D5 37 ## 5.4 公共JSON读写协议 公共JSON读写协议定义了SCNI设备与客户私有云平台之间JSON数据交互协议,数据收发可基于MQTT或SOCKET通道。支持DI(数字输入)、AI(模拟输入)数据采集上报、查询,以及DO(数字输出)、AO(模拟输出)远程控制。 ### 5.4.1 数据收发规范 1. 设备视角数据方向定义 <div class="center"> | 方向 | 消息类型 | 主题格式 | 说明 | | --- | --- | --- | --- | | 下行 | 属性设置 | MQTT订阅主题1\-3SOCKET 1\-2接收 | 云平台下发控制指令 | | 下行 | 查询 | MQTT订阅主题1\-3SOCKET 1\-2接收 | 云平台查询设备数据 | | 下行 | 应答响应 | MQTT订阅主题1\-3SOCKET 1\-2接收 | 云平台回复设备应答 | | 上行 | 应答 | MQTT发布主题1\-3SOCKET 1\-2发送 | 设备回复云平台指令 | | 上行 | 事件上报 | MQTT发布主题1\-3SOCKET 1\-2发送 | 设备上报告警事件 | | 上行 | 属性上报 | MQTT发布主题1\-3SOCKET 1\-2发送 | 设备上报采集数据 | </div> 2. JSON数据帧格式 通用帧结构 { "cmd": "report", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "status": 0, "data": {} } 通用字段说明 <div class="center"> | 字段 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | cmd | string | 是 | 命令类型:report/query/set/reply/event | | id | number | 是 | 设备从机地址,0代表联网设备,1\~247代表下挂设备 | | sn | string | 是 | 设备序列号 | | ts | number | 是 | UNIX时间戳(秒),可做为消息唯一ID,用于请求\-应答匹配 | | ver | string | 否 | 协议版本号,默认"1\.0" | | status | number | 否 | 状态码,0\=成功,非0\=错误码 | | data | object | 是 | 数据载荷 | </div> ### 5.4.2 云平台查询协议(下行) 1. 查询AI数据 { "cmd": "query", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "data": { "type": "ai", "channels": \[ "AI1", "AI2" ] } } 2. 查询AO数据 { "cmd": "query", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "data": { "type": "ao", "channels": \[ "AO1", "AO2" ] } } 3. 查询全部IO { "cmd": "query", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "data": { "type": "all" } } ### 5.4.3 AO控制协议(下行) 1. 控制单路AO { "cmd": "set", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "data": { "ao": { "AO1": { "voltage": 125 } } } } AO字段说明: <div class="center"> | 字段 | 说明 | | --- | --- | | voltage | 电压值,单位为mV | | current | 电流值,单位为uA | </div> 2. 控制多路AO { "cmd": "set", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "data": { "ao": { "AO1": { "voltage": 125 }, "AO2": { "current": 5 } } } } ### 5.4.4 设备应答协议(上行) 状态码定义 <div class="center"> | 状态码 | 说明 | | --- | --- | | 0 | 成功 | | 1000 | SN匹配错误 | | 1001 | 不支持的命令 | | 1002 | 参数错误 | | 1003 | 设备忙 | | 1004 | 通道不可用 | | 1005 | 超时 | | 1006 | 校验错误 | | 2001 | DI通道故障 | | 2002 | AI通道故障 | | 2003 | DO通道故障 | | 2004 | AO通道故障 | | 3001 | 通信模块异常 | | 3002 | 电源异常 | </div> 1. 查询AI应答 { "cmd": "reply", "id": 0, "sn": "NI20260001", "ts": 1748928001, "ver": "1\.0", "status": 0, "data": { "ai": { "AI1": { "voltage": 256, "current": 512 } } } } 2. 查询AO应答 { "cmd": "reply", "id": 0, "sn": "NI20260001", "ts": 1748928001, "ver": "1\.0", "status": 0, "data": { "ao": { "AO1": { "voltage": 125, "current": 1048 } } } } 3. 查询全部应答 { "cmd": "reply", "id": 0, "sn": "NI20260001", "ts": 1748928001, "ver": "1\.0", "status": 0, "data": { "ai": { "AI1": { "voltage": 256, "current": 512 } }, "ao": { "AO1": { "voltage": 125, "current": 1048 } } } } ### 5.4.5 数据上报协议(上行) 1. AI模拟输入上报 { "cmd": "report", "id": 0, "sn": "NI20260001", "ts": 1748928000, "ver": "1\.0", "data": { "ai": { "AI1": { "voltage": 205, "current": 410 }, "AI2": { "voltage": 42, "current": 84 }, "AI3": { "voltage": 512, "current": 1024 }, "AI4": { "voltage": 653, "current": 1306 } } } } ai字段说明: <div class="center"> | 字段 | 说明 | | --- | --- | | voltage | 电压值,单位为mV | | current | 电流值,单位为uA | </div> # 6. 常见问题 1. 通电设备没有反应,运行灯不闪烁。 可能是电源正、负极接反了或供电电压不符合要求。本产品供电有防反接设计,电源正、负极接反了不会损坏设备,请先使用万用表测量一下设备的供电电压是否正常,再将正、负极按设备标识正确连接。 2. 数据不通,通信超时。 请按照如下步骤逐步排查: 3. 观察设备运行灯是否闪烁,正常工作时运行灯会按照亮400毫秒灭400毫秒的频率闪烁。如果运行灯一直处于熄灭状态,请用万用表检查供电电压。 4. 确认所选择的串口号是否正确(COM1, COM2 ......等),可尝试关闭采集软件,拔出再插入USB转RS485调试器,重新打开采集软件再尝试。 5. 可能是采集器轮询间隔时间太短,导致上一轮通信请求帧设备还没有来得及回应,下一轮请求帧又发出了,可以考虑将轮询间隔设置为大于3秒测试。 6. 检查RS485接线是否正确,设备和采集器之间RS485连接是A接A,B接B。 7. 检查设备和采集器的串口属性(波特率,数据位,校验方式和停止位)配置是否一致。 8. 如果将设备和电脑直连能正常通信,接到现场RS485总线上异常,请检查485总线上是否有两台或更多的从机地址相同的设备存在,如果有则需要配置从机地址不能重复。 9. 检查现场RS485线缆长度,注意不要超过1200米,采集器和设备之间线缆长度超过500米时就应适当降低串口波特率,1200米通信的情况下波特率不能大于38400bps。 10. 在设备正常运行的情况下,按住恢复出厂按钮保持8秒后松开,设备恢复出厂设置后串口默认配置为9600\-8\-N\-1,从机地址为48(十六进制0x30)。 11. 如恢复出厂配置后设备直连电脑仍然无法通信,请联系客服安排返厂维修。 12. 网络数据不通,通信超时。 请按照如下步骤逐步排查: 13. 观察网口指示灯,如果一直处于熄灭状态,检查网线是否插紧,可尝试拔出再重新插入RJ45网口。 14. 检查和设备网口相连对端设备(PC、PLC等)是否正常工作,网卡是否启用。 15. 是否设备配置了自动获取IP地址,但是网络内没有DHCP服务来分配IP地址。 16. 尝试更换一根已知正常的网线进行测试,注意网线长度是否超过100米,超过标准以太网传输距离可能导致信号衰减。 17. 确认对端设备的网卡速率和双工模式设置,虽然设备支持自适应,但某些特殊情况下可能需要手动设置对端设备为强制100M全双工。 18. 如恢复出厂配置后设备网口直连电脑仍然无法通信,请联系客服安排返厂维修。 # 7. 产品保修 本产品质保期为两年。自发货日算起,24个月内,因产品质量问题(非人为损坏)而引起的故障,本公司负责免费维修或更换,超过质保期后本公司对产品的维修只收取材料成本费(快递费由客户承担)。 客户收货注意事项: 1. 当收到产品时请检查包装是否完好,并核对设备型号和规格是否与您选购的产品相符。 2. 产品安装处应远离化学腐蚀环境。 3. 产品及导线应远离高压电、热源等。 4. 本产品属于精密设备,应存放于干燥、通风的室内环境下,请不要自行拆解和改装,以免造成产品损坏影响质保。 # 8. 版本记录 <div class="center"> | **版本号** | **变更内容** | **修改时间** | | --- | --- | --- | | V1\.0 | 初版 | 2026\-10\-21 | </div> 资料获取 资料平台:[doc.shunrui.cn](http://doc.shunrui.cn) **技术支持** 邮 箱:support@shunrui.cn 电 话:17786086105 **商务合作** 邮 箱:sales@shunrui.cn **投诉与建议** 邮 箱:suggestion@shunrui.cn
曹工
2026年10月22日 11:09
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码