WXH消弧控制器.doc

返回 相似 举报
WXH消弧控制器.doc_第1页
第1页 / 共21页
WXH消弧控制器.doc_第2页
第2页 / 共21页
WXH消弧控制器.doc_第3页
第3页 / 共21页
WXH消弧控制器.doc_第4页
第4页 / 共21页
WXH消弧控制器.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述:
WXH消弧控制器 使 用 说 明 书 合肥众升科技有限公司 4.1 WXH微机控制器 4.1.1功能特点 本装置的微机控制器采用高性能单片机,是整个消弧装置的测量、显示、运算、通讯和执行控制的中心处理单元。 微机控制器具有以下功能和特点 l 智能化程度高。所有功能均为自动执行,无需人工操作,维护和操作极为方便。 l 抗干扰性能好,可靠性高。微机控制器采用二次电源技术,可抵御各种电磁干扰,所有的采集接口全部采用光/电隔离,可消除一次系统对控制器的干扰,控制器还设置了Watchdog自复位电路,可实现低劣电气状况下系统的自动复位。 l 良好的远程通讯控制功能。控制器设有标准的MODBUS(RS-485)通讯接口,可作变电站综合自动化系统的一个站,以便接入综合自动化系统。完善的控制功能。控制器可升级联动对消弧、消谐和选线的综合采集检测控制,有效地降低了系统设备的投资成本。 4.3.2控制原理 消弧微机控制器通过电压互感器(PT)始终对电网电压和中性点电位进行监测,它能够根据电网三相电压变化,自动识别故障项的性质,进行处理。 5.微机控制器操作说明 5.1.调试状态 仪表上电后,当隔离刀闸分时(隔离刀信号带电),面板的“隔离刀分”指示灯亮,系统限制在调试状态。仪表上电后,当隔离刀闸合时,仪表进入运行状态。 调试状态显示所有PT电压,测试控制系统。 l 调试时间 l 故障记录查询 l 设置记录清除、本机地址、通讯速率。 l 调试控制动作 “测试”键是测试真空接触器的执行功能。测试键按下后液晶屏显示 PT电压和控制状态 A V B V C V Z V 测试请按“确认”键 按“确认”键进行A相功能测试。若按其他键放弃操作。 按“测试”键依次检查A相弧光接地、B相弧光接地、C相弧光接地、PT断线报警、FU熔断报警、金属弧光接地报警执行动作和报警指示。 继电器和对应的指示灯动作大于3秒。液晶状态项显示 X相消弧输出测试。按“测试”键顺序执行,按“确认”键停止执行,返回时、分、秒显示状态。执行完6次(金属弧光接地报警)自动返回时、分、秒显示状态。 5.2运行状态 控制器上电后,三秒后进入自检状态,在“隔离刀合”的状态下屏幕显示“ZJ----”,自检完后,进入运行。进入时钟显示状态。液晶显示显示PT参数 PT电压和控制状态 A V B V C V Z V S监视中 时钟运行,系统对PT电压进行监视。当隔离开关分开时,面板的隔离开关指示灯亮,允许键盘操作。当隔离开关分离时,键盘锁定。 5.3.时间设置 按下“时间”键,从左往右显示,依次为年、月、日。按下“确认”键恢复显示 时、分、秒。在按下“确认”键前,按下“设置”键,可完成时间的调整。依次是年、月、日、时、分。调整中,用“上条调”键或“下调”键修改闪烁的数据,用“确认”键结束本次修改。选择下一个修改值。如年修改后选择月,直到分调整结束后恢复时、分、秒的显示。 5.4.故障查询 按下“查询”键,显示第一个记录故障报警的时间,并在液晶显示器中交替显示故障数据的上帧和下帧。用“上调”键选择要找下一个记录,寻找到空记录自动结束查询。或用“确认”键结束查询。查询结束后恢复时、分、秒的显示。 5.5.清除记录 在正常运行或调试的状态下,按“设置”键,数码管显示“P-1”,再按“确认”键,进入记录清除。按液晶提示进行,清除全部记录。 5.6.地址设置 MODBUS-RTU是主从式通讯规约,每台仪表需要一个唯一的地址。按“设置”键,按“上调”键选择“2”,按”确认”键,数码管显示“Adder-xx”用”上调”或”下调”选择地址. 注意数码管显示的地址是10进制表示,内部传输使用的是16进制.如数码管显示25,地址的16进制表示为19h. 5.7. 传输速率波特率选择 MODBUS-RTU通讯规约,需要统一的波特率。按“设置”键,按“上调”键选择“3”,按”确认”键,数码管显示“BOD-0”用”上调”或”下调”选择波特率0-3. 01200bps 12400bps 24800bps 39600bps 注意长距离传输要选择低波特率,短可以选择高波特有率. 5.8. 液晶面板显示信息说明 l 实时显示 1,故障监视显示 PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相PT断线 l PT断线显示该项报警灯亮,继电器动作 PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相2次消弧 l FU熔断报警该项报警灯亮,继电器动作 PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相FU熔断 l 测试显示测试项动作和指示灯 4,金属性接地显示 PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相金属性接地 5,弧光接地故障处理时状态显示 PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相消弧接地 a. PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相消弧停止 b. PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/CA相3次消弧 d. e. e.PT电压和控制状态 A xxxV B xxxV C xxxV Z xxxV S A/B/C相等候处理 c. l 故障记录查询显示 按“查询”键,顺序从资料缓冲区显示故障记录,最多存储15条故障记录。 记录显示分上帧和下帧,每帧显示3秒,按“上调”显示下一个记录。 1, 上帧显示 序号xxxx (故障性质) 20XX年XX月 XX日XX时XX分 故障性质PT断线、FU熔断、金属性接地、弧光接地。 2, 下帧显示 A相电压 xxxV B相电压 xxxV C相电压 xxxV 零序电压 xxxV l 故障记录清除 当故障记录存储满或者需要清理,按“设置”键,设置键按下后液晶屏显示 PT电压和控制状态 A V B V C V Z V 删除请按“测试”键 按测试键,清除全部记录 液晶屏显示 PT电压和控制状态 A V B V C V Z V 记录已清除。。。 5.9金属性接地故障处理说明 当发生金属性接地时,面板金属性接地报警灯和动作指示灯亮。记录故障时间。等待故障消除。系统侦测功能工作,报警工作,直至故障消除。故障消除后WXH控制将返回时钟状态。 表3 WXH微机控制器金属接地故障处理表 金属接地 处理动作 (A、B、C相)弧光处理的具体过程 动 作 过 程 第一次 动 作 30S 产生30S接地动作 第一次 停止动作 10S 停止10S消弧动作 停止10S接地动作,期间检测到弧光或接地 被消除,动作终止,返回时钟状态。 否则控制器执行第二次动作 第二次动作 过程同第一次动作 第二次停止动作 过程同第一次停止动作(第二改为第三) 第三次动作 2小时 产生2小时消弧动作,期间检测到弧光 被消除,动作终止,返回时钟状态。 2小时后 停止动作;继续发出报警。 5.9弧光故障处理说明 当发生弧光接地时,控制器能在0.05S内产生第一次动作,并发出报警。液晶屏的状态显示A/B/C相消弧接地。如果在10S内消除弧光,则控制器返回时钟状态;如果在10S内没有消除弧光,则控制器继续动作20S,在这20S内,若弧光消除,控制器返回时钟状态。如果在30S内没有消除弧光,则控制器停止动作30S,液晶屏的状态显示A/B/C相消弧停止。若在这30S内弧光消失,控制器转为正常工作,如果弧光没有消除,控制器在30S后,产生第二次动作,液晶屏的状态显示A/B/C相2次消弧。其工作原理同第一次。如果两次动作之后,弧光仍然没有消除,此时产生第三次动作,液晶屏的状态显示A/B/C相3次消弧。第三次动作时间为2小时,在这2小时内,若弧光消除,控制器转为正常工作;如果2小时没有消除,则控制器停止动作,报警仍然继续。液晶屏的状态显示A/B/C相等候处理。 上述总结如下表3所示。 表3 WXH微机控制器弧光接地故障处理表 弧光处理 处理动作 (A、B、C相)弧光处理的具体过程 动 作 过 程 第一次 动 作 10S 产生10S消弧动作 20S 产生20S消弧动作,期间检测到弧光 被消除,动作终止,返回时钟状态。 20S后,控制器执行第一次停止动作 第一次 停止动作 30S 停止30S消弧动作 停止30S消弧动作,期间检测到弧光 被消除,动作终止,返回时钟状态。 30S后,控制器执行第二次动作 第二次动作 过程同第一次动作 第二次停止动作 过程同第一次停止动作(第二改为第三) 第三次动作 2小时 产生2小时消弧动作,期间检测到弧光 被消除,动作终止,返回时钟状态。 2小时后 停止动作;继续发出报警。 5.11接线端子说明 序号 端口说明 序号 端口说明 1 A相PT电压 13 A相弧光输出1 2 B相PT 电压 14 A相弧光输出2 3 C相PT电压 15 B相弧光输出1 4 零序电压 16 B相弧光输出2 5 PT电压公共端 17 C相弧光输出1 6 FU熔断开关L 18 C相弧光输出2 7 FU熔断开关N 19 综合报警输出1 8 接地电流A1 20 综合报警输出2 9 接地电流A2 21 空 10 隔离刀闸L 22 电源输入1 11 空隔离刀闸N 23 电源输入2 12 空 24 外壳接地G 特别提示现场运行和实现时机器外壳一定要求与大地可靠连接。 6.仪表通讯规约 2806d消弧控制器通讯规约 1, 使用MODBUS-RTU方式,1个起始位,8个数据位,2个停止位,无奇偶校议驗。 2, 主机发送命令地址,03 ,参数(1字节) CRC16;(依照参数取从机数据) 3, 从机应答地址 命令码 数据 CRC; a 地址1-100(HEX) b 命令码03 c 数据序号(1字节)故障性质(1字节)年(1字节hex)月(1字节hex)日(1字节hex)时(1字节hex)分(1字节hex)A相电压(1字节Hex)B相电压(1字节Hex)C相电压(1字节Hex)零序电压(1字节Hex)接地电流(1字节Hex)(合计12个字节) d CRC16位(2字节) 4, 参数0-55(Hex)0实时值;1-55故障记录序号;注无记录返回错误命令。 a 序号与参数含义一致 b 故障性质/现行状态1-4 1 PT断线。 2FU熔断。 3金属性接地。 4弧光性接地。 其他无效 c 年、月、日、时、分BCD码表示。 d 电压、电流 Hex码表示。 5, 错误应答地址83 CRC。 6, 传输错误和参数错误均给出错误应答。 7, 传输速率1200、2400、4800、9600bps. 8, 满足Modbus 通讯协议。 9, Modbus通信协议附录如下。 例子假设本机地址05HEX 上位机从05号地址取实时数据命令 延时05 03 00 31 61延时 05地址码; 03命令码 00参数取实时数据 3161CRC校验码 05号机应答 延时05 03 03 07 01 28 15 24 39 38 12 5F 00 C2 51延时 05地址码; 03命令码 03故障性质金属性接 07、01、28发生故障的时间---年、月、日(BCD码) 15、24发生故障的时、分(BCD码) 附录 Modbus通信协议 一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备主机和可编程仪表。典型的从设备可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2、在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus协议仍提供了主从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。 3、查询回应周期 (1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。 (2)回应 如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。 二、两种传输方式 控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。 ASCII模式 地址 功能代码 数据数量 数据1 ... 数据n LRC高字节 LRC低字节 回车 换行 RTU模式 地址 功能代 数据数 数据1 ... 数据n CRC高字 CRC低字 所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。 2、RTU模式 当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是在同样的波特率下,可比ASCII方式传送更多的数据。 代码系统 8位二进制,十六进制数0...9,A...F 消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 1个起始位 8个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(无校验时) 错误检测域 CRC循环冗长检测 三、Modbus消息帧 两种传输模式中(ASCII或RTU),传输设备以将Modbus消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。部分的消息也能侦测到并且错误能设置为返回结果。 1、ASCII帧 使用ASCII模式,消息以冒号()字符(ASCII码 3AH)开始,以回车换行符结束(ASCII码 0DH,0AH)。 其它域可以使用的传输字符是十六进制的0...9,A...F。网络上的设备不断侦测“”字符,当有一个冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。 消息中字符间发送的时间间隔最长不能超过1秒,否则接收的设备将认为传输错误。一个典型消息帧如下所示 起始位 设备地址 功能代码 数据 LRC校验 结束符 1个字符 2个字符 2个字符 n个字符 2个字符 2个字符 图2 ASCII消息帧 2、RTU帧 使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。在网络波特率下多样的字符时间,这是最容易实现的如下图的T1-T2-T3-T4所示。传输的第一个域是设备地址。可以使用的传输字符是十六进制的0...9,A...F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。 整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。一典型的消息帧如下所示 起始位 设备地址 功能代码 数据 CRC校验 结束符 T1-T2-T3-T4 8Bit 8Bit n个8Bit 16Bit T1-T2-T3-T4 图3 RTU消息帧 3、地址域 消息帧的地址域包含两个字符(ASCII)或8Bit(RTU)。可能的从设备地址是0...247 十进制。单个设备的地址范围是1...247。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 地址0是用作广播地址,以使所有的从设备都能认识。当Modbus协议用于更高水准的网络,广播可能不允许或以其它方式代替。 4、如何处理功能域 消息帧中的功能代码域包含了两个字符(ASCII)或8Bits(RTU)。可能的代码范围是十进制的1...255。当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。 当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。例如去读取输入的开关状态,读一组寄存器的数据内容,读从设备的诊断状态,允许调入、记录、校验在从设备中的程序等。 当从设备回应时,它使用功能代码域来指示是正常回应无误还是有某种错误发生(称作异议回应)。对正常回应,从设备仅回应相应的功能代码。对异议回应,从设备返回一等同于正常代码的代码,但最重要的位置为逻辑1。 例如一从主设备发往从设备的消息要求读一组保持寄存器,将产生如下功能代码 0 0 0 0 0 0 1 1 (十六进制03H) 对正常回应,从设备仅回应同样的功能代码。对异议回应,它返回 1 0 0 0 0 0 1 1 (十六进制83H) 除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数据域中,这能告诉主设备发生了什么错误。 主设备应用程序得到异议的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。 5、数据域 数据域是由两个十六进制数集合构成的,范围00...FF。根据网络传输模式,这可以是由一对ASCII字符组成或由一RTU字符组成。 从主设备发给从设备消息的数据域包含附加的信息从设备必须用于进行执行由功能代码所定义的所为。这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。 例如,如果主设备需要从设备读取一组保持寄存器(功能代码03),数据域指定了起始寄存器以及要读的寄存器数量。如果主设备写一组从设备的寄存器(功能代码10十六进制),数据域则指明了要写的起始寄存器以及要写的寄存器数量,数据域的数据字节数,要写入寄存器的数据。 如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 在某种消息中数据域可以是不存在的(0长度)。例如,主设备要求从设备回应通信事件记录(功能代码0B十六进制),从设备不需任何附加的信息。 6、错误检测域 标准的Modbus网络有两种错误检测方法。错误检测域的内容视所选的检测方法而定。 ASCII 当选用ASCII模式作字符帧,错误检测域包含两个ASCII字符。这是使用LRC(纵向冗长检测)方法对消息内容计算得出的,不包括开始的冒号符及回车换行符。LRC字符附加在回车换行符前面。 RTU 当选用RTU模式作字符帧,错误检测域包含一16Bits值用两个8位的字符来实现。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。 7、字符的连续传输 当消息在标准的Modbus系列网络传输时,每个字符或字节以如下方式发送(从左到右) 最低有效位...最高有效位 使用ASCII字符帧时,位的序列是 有奇偶校验 启始位 1 2 3 4 5 6 7 奇偶位 停止位 无奇偶校验 启始位 1 2 3 4 5 6 7 停止位 停止位 图4. 位顺序(ASCII) 使用RTU字符帧时,位的序列是 有奇偶校验 启始位 1 2 3 4 5 6 7 8 奇偶位 停止位 无奇偶校验 启始位 1 2 3 4 5 6 7 8 停止位 停止位 图4. 位顺序(RTU) 当选用ASCII模式作字符帧,错误检测域包含两个ASCII字符。这是使用LRC(纵向冗长检测)方法对消息内容计算得出的,不包括开始的冒号符及回车换行符。LRC字符附加在回车换行符前面。 RTU 当选用RTU模式作字符帧,错误检测域包含一16Bits值用两个8位的字符来实现。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。 7、字符的连续传输 当消息在标准的Modbus系列网络传输时,每个字符或字节以如下方式发送(从左到右) 最低有效位...最高有效位 使用ASCII字符帧时,位的序列是 有奇偶校验 启始位 1 2 3 4 5 6 7 奇偶位 停止位 无奇偶校验 启始位 1 2 3 4 5 6 7 停止位 停止位 图4. 位顺序(ASCII) 使用RTU字符帧时,位的序列是 有奇偶校验 启始位 1 2 3 4 5 6 7 8 奇偶位 停止位 无奇偶校验 启始位 1 2 3 4 5 6 7 8 停止位 停止位 图4. 位顺序(RTU) 四、错误检测方法 标准的Modbus串行网络采用两种错误检测方法。奇偶校验对每个字符都可用,帧检测(LRC或CRC)应用于整个消息。它们都是在消息发送前由主设备产生的,从设备在接收过程中检测每个字符和整个消息帧。 用户要给主设备配置一预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作为正常反应。如果从设备测到一传输错误,消息将不会接收,也不会向主设备作出回应。这样超时事件将触发主设备来处理错误。发往不存在的从设备的地址也会产生超时。 1、奇偶校验 用户可以配置控制器是奇或偶校验,或无校验。这将决定了每个字符中的奇偶校验位是如何设置的。 如果指定了奇或偶校验,“1”的位数将算到每个字符的位数中(ASCII模式7个数据位,RTU中8个数据位)。例如RTU字符帧中包含以下8个数据位 1 1 0 0 0 1 0 1 整个“1”的数目是4个。如果便用了偶校验,帧的奇偶校验位将是0,便得整个“1”的个数仍是4个。如果便用了奇校验,帧的奇偶校验位将是1,便得整个“1”的个数是5个。 如果没有指定奇偶校验位,传输时就没有校验位,也不进行校验检测。代替一附加的停止位填充至要传输的字符帧中。 2、LRC检测 使用ASCII模式,消息包括了一基于LRC方法的错误检测域。LRC域检测了消息域中除开始的冒号及结束的回车换行号外的内容。 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC方法是将消息中的8Bit的字节连续累加,丢弃了进位。 LRC简单函数如下 static unsigned char LRCauchMsg,usDataLen unsigned char *auchMsg ; /* 要进行计算的消息 */ unsigned short usDataLen ; /* LRC 要处理的字节的数量*/ { unsigned char uchLRC 0 ; /* LRC 字节初始化 */ while usDataLen-- /* 传送消息 */ uchLRC *auchMsg ; /* 累加*/ return unsigned char-char_uchLRC ; } 3、CRC检测 使用RTU模式,消息包括了一基于CRC方法的错误检测域。CRC域检测了整个消息的内容。 CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。 CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。 CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。 CRC添加到消息中时,低字节先加入,然后高字节。 CRC简单函数如下 unsigned short CRC16puchMsg, usDataLen unsigned char *puchMsg ; /* 要进行CRC校验的消息 */ unsigned short usDataLen ; /* 消息中字节数 */ { unsigned char uchCRCHi 0 xFF ; /* 高CRC字节初始化 */ unsigned char uchCRCLo 0 xFF ; /* 低CRC 字节初始化 */ unsigned uIndex ; /* CRC循环中的索引 */ while usDataLen-- /* 传输消息缓冲区 */ { uIndex uchCRCHi *puchMsgg ; /* 计算CRC */ uchCRCHi uchCRCLo auchCRCHi[uIndex} ; uchCRCLo auchCRCLo[uIndex] ; } return uchCRCHi 8 | uchCRCLo ; } /* CRC 高位字节值表 */ static unsigned char auchCRCHi[] { 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40 } ; /* CRC低位字节值表*/ static char auchCRCLo[] { 0 x00, 0 xC0, 0 xC1, 0 x01, 0 xC3, 0 x03, 0 x02, 0 xC2, 0 xC6, 0 x06, 0 x07, 0 xC7, 0 x05, 0 xC5, 0 xC4, 0 x04, 0 xCC
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420