施耐德ATS-ATNSX通讯协议
发布时间:2024-11-12
发布时间:2024-11-12
施耐德ATS-ATNSX通讯协议
通讯协议
1. 通讯参数
波特率: 4800,9600,19200bps 2. 信息帧格式 START 初始结构 延时
1字节
(相当于4个
8位
字节时间)
地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都具有唯一的地址码(1-255),并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
功能码:功能码为每次通讯传送的信息帧的第二个数据帧,告诉子机执行相应功能。本模块利用了两个指令从主机获取要执行的任务及提供的服务。
功能码 03H 06H
定义 读数据
写单个寄存器(遥控)
8位
N*8位
16位
字节时间)
1字节
N字节
2字节
(相当于4个
ADD 地址码
CS 功能码
DATA 数据区
CRC 错误校验
END 结束结构 延时
起始位: 1位
数据位: 8位
校验位: 无,奇,偶
停止位: 1,2位
数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。不同的数据区存储了控制器的不同工作状态及工作参数。如附录地址列表所示。
错误校验码(CRC码):主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其他一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法,占两个字节,低字节在前。
通讯前需确定您的通讯网络所使用的通讯速率及信息格式,如下所示,在参数设置状态下进行。
施耐德ATS-ATNSX通讯协议
波特率:9600,1位起始位,8位数据位,2位停止位,无校验。 3. 地址列表 地址 (DEC) 48 49 50 51 52 53
地址 (HEX) 30 31 32 33 34 35
字数
描 述
(WORDS)
1 1 1 1 1 1
转换延迟时间 (0~255) 返回延迟时间 (0~255) 常用电源过压转换值 (230~280) 常用电源欠压转换值 (180~210) 备用电源过压转换值 (230~280) 备用电源欠压转换值 (180~210) 工作方式 1:自投自复
54
36
1
2:互为备用 4:自投不自复 双电源形式
55
37
1
1:电网-电网 2:电网-发电机
56 57
38 39
1 1
常用电源校准值 (0~255) 备用电源校准值 (0~255) 动作控制 1:复位控制 2:手/自动设置
58
3A
1
4:手动至位置N 8:手动至位置R 16:手动至位置0 控制器状态 高字节
59
3B
1
1: 在位置N 2: 在位置R
3
--
3, 6
--
3, 6 3, 6
-- --
3, 6
--
3, 6
--
3, 6 3, 6 3, 6 3, 6 3, 6 3, 6
秒 秒 V V V V
功能码
单位
施耐德ATS-ATNSX通讯协议
4: 手/自动方式 8: 消防状态指示 16:常用电源脱扣 32:备用电源脱扣 低字节
64: 常用电源故障 128:备用电源故障
60 61
举例:读子机地址为01,起始地址0030H的16个寄存器(功能码03)。
主机发送 子机地址 功能码 起始地址
读取个数
CRC码
3.错误校验码(CRC):
主机或子机可用校检码进行判别接收信息是否出错。有时,由于电子噪声或其他一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或子机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验码采用CRC-16校验方法。
二字节的错误校验码,低字节在前,高字节在后。
注:信息帧格式都是相同的:地址码、功能码、数据区和错误校验码 3.1错误校验
字节数 1
1 2 2 2
举例(16进制)
01 送至子机01 03 读数据
00 起始地址为0030H 30
00 读取16个寄存器 0E C4 01
3C 3D
1 1
常用电源电压值 备用电源电压值
3 3
V V
施耐德ATS-ATNSX通讯协议
冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送端计算,放置于发送信息的尾部。接收端的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果二者不相符,则表明出错。
CRC码的计算方法是,先预置16位寄存器全为。再逐渐把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。
在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一位,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低为0,不进行异或运算。
这个过程一直重复8次,第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。 3.2 CRC-16码的计算步骤为:
(1) 置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器。 (2) 把一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器。 (3) 把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(移出位)。 (4) 如果最低位为0:复第3步(再次移位)。如果最低位为1:CRC寄存器与多项式A001
(1010000000000001)进行异或。
(5) 重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理。 (6) 重复步骤到步骤5,进行下一个8位的处理。
(7) 最后得到的CRC寄存器即为CRC码,低字节在前,高字节在后。
上一篇:数字电子技术康华光第五版