您当前的位置:首页 > 技术风向标

一种基于MODBUS总线高压软起动装置液晶显示界面的设计

时间:2014-12-23  来源:扁平线圈电感厂家  点击:

  整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备扁平型电感将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前电感器电路个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。所以在通讯端口初始化时,Timer1定时间隔设置为500ms。

  2.4 MODBUS的CRC校验原理

  CRC校验实现 MODBUS通信的RTU模式中,规定信息帧的最后两个字节用于传递CRC(Cyclic Redundancy Check,循环冗余校验)码。发送方将信息帧中地址域、功能码、数据域的所有字节按规定的方式进行位移并进行XOR(异或)计算,即可得到2字节的CRC码,并把包含CRC校验码的信息帧作为一连续的流进行传输。接收方在收到该信息帧时按同样的方式进行计算,并将结果同收到的CRC码的双字节比较,如果一致就认为通信正确,否则认为通信有误,从站将发送CRC错误应答。 RTU模式一般采用CRC-16冗余校验方法,CRC-16的校验码为16位(2字节),其中低字节在前,高字节在后。实现CRC校验有两种方法:根据CRC校验的定义公式进行计算,或者在程序中建立CRC校验值表。在程序中使用前者更容易实现,这里需要使用CRC生成多项式X16+X15+X2+1。该多项式对应的码组系数为18005H(16进制),去除最高位,对应的16位余数为8005H,即为CRC-16常数。CRC-16校验过程如工字电感下:将CRC寄存器的每一位预置为1;把该寄存器值与8bit的信息帧数据进行异或,结果存于该寄存器;对CRC寄存器从一体电感器高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与CRC-16常数进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8bit数据处理完毕,用此时寄存器的值与下一个8bit数据异或并进行如前一样的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。CRC添加到消息中时,先加入低字节,然后高字节。RTU模式的传输格式是1个数据位,2个停止位,没有奇偶校验位。通信数据安全由控制参数CRC-16码保证。RTU接收设备依靠接收字符间经过的时间判断一帧的开始,如果经过3个半的字符时间后仍然没有新的字符或者没有完成帧,接收设备就会放弃该帧,并设下一个字符为新一帧的开始,应用程序中,MODBUS协议通信由通讯子模块实现,包含CRC-16计算与验证、信息帧的编制和分解。

  3 MODBUS通讯应用

  下面是基于单片机MSP430F149为主芯片的高压软起动装置液晶操控板,以此为例来说明MODBUS通讯的应用。MODBUS通讯主设备是DSP控制器,从设备是高压软起动装置液晶操控板。

  3.1 液晶操控板MODBUS通讯测试码

  /*****************************MODBUS通讯测试码*****************************

  召唤发送:

  00 06

  00 00 00 0C 1E 88

  电压、电流监测功能:

  00 03

  1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 8D

  故障显示功能:

  00 02

  18 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 20 34

  *****************************MODBUS通讯测试码*****************************/

  2:对以上测试码分别进行说明:

  (1):召唤发送,参数设置功能:即控制器(DSP)与液晶屏(430)之间的通讯,是双向的。

  00 06

  00 00 00 0C 1E 88

  以上这段代码是DSP传给430的召唤代码,含义(代码从左到右)是:00:设备代码。本系统中从设备只有高压软起动装置液晶操控板一个设备,故设备代码设置为00。06:功能码,实现何种功能(本例中,06是双向召唤发送功能,实现参数设置;03功能码实现电压、电流监测功能;02功能码实现故障显示功能)。00 贴片电感器00:是起始地址的高八位、低八位。00 0C:是DSP要求430回传字节的个数(不包括设备代码、功能码、数据个数代码、和校验代码),00是个数的高八位、0C是个数的低八位,0C是十六进制(转换成十进制是12,12是从“起动时间、额定电流——备用 3”的个数),1E 88:是CRC校验码。当DSP给430传

大电流电感

[充电器]请问个蓄电池充电问题充电电压28V,蓄电池工作电压24V,这样的充电设计需要用BUCK电路吗?是否可以PWM控制MOS管直冲?工作电压 24V, 不论是铅酸电瓶, 镍系电池, 锂离子电池, 或者其他种类的充电池, 充饱的电压大多会超过你的 28V 充电电压, 你首先要解决这个问题.  可以 PWM 控制 MOS 直充, 但一般需要加续流电感和续流二极管.     锂电池相对比较脆弱, 最好加上比较精确的电压测控电路, 各种电池有不同的充电控制策略,  略讲究一点, 稍大容量的电池组,

Linux系统在嵌入式DVR中的应用以强稳定性的优势,嵌入式DVR越来越被安防行业与广大客户所接受。嵌入式DVR的稳定性优势不光来自于硬件的低故障率,很大因素取决于嵌入式DVR中所采用的操作系统及应用软件的高稳定性,它所选用的软件平台起

LED隔离驱动电源输入有3根线,即L、N和地线,请问测地线和L、N之间各串联一颗222/250V的Y2电容。

测试方法:L、N短接,对地线打1500V耐压 1分钟。



想问的是:耐压测试1500VAC,会不会把2个Y2电容(CY2/CY3)击穿,因为这2个电容耐压

注塑加工厂


上一篇采用可定制微控制器来优化算法的设计

下一篇LED连接排列方式直接影响背光源性能


  
  温馨提示
网站首页 | 产品展示 | 科技前沿 | 行业资讯
本公司专业研发、设计、生产、销售贴片电感、插件电感、功率电感、大电流电感、扁平线圈电感、一体成型电感。
专业电感生产制造商,品质优异、交期快。
在线客服
热线电话