西子电梯crc是什么意思?

西子电梯crc是什么意思?,第1张

西子电梯的CRC是指循环冗余校验码(Cyclic Redundancy Check),是一种用于数据传输错误检测的技术。它通过对数据位逐位进没碰携行异或 *** 作,生成一吵举个校验码,将这个校验码添加到数据末尾,发送到接收端,接收端再对接收到的数据进行同样的 *** 作,然后将得到的校验码与发送端的校验码进行比较,如果两个校验码不一致,则说明数据传输中发生了错误。CRC技术广泛应用于数据通信、数据存储等领域,可以枯伏有效地保证数据传输的可靠性和安全性。

:MCS51系列的单片机没有那么强大的功能(主要是可扩展的存储器有限), 如果真要使用的话,可能要用好几片. 2:现在的电梯都是PLC(可编程逻辑控制器)控制,或者是专用微机板控制,就我了解到的,已经有用4片64位CPU控制的电梯专用微机板. 3:电梯是一个机/电一体话的大型设备,使用51系列单片机,不好控制. 4:你还要了解变频器的使用以及与控制系统的配合. 5:现在电梯有很多附加功能,如:短电再平层,消防员服务,远程监控等. 总之,用51单片机做的话,很难. 建议你放弃这个毕业设计. 你想要的话,我可以给你一份许继富士电梯几年前的控制程序,大的可能要2M左右. 拿8051为例,达到2M的存储器,你要扩展到8块单片机. I/O扩展就可能要求更多了:基于CAN总线技术,以AT89C51为核心,采用Intel82526及PCA82C250构成的电梯监控系统,通过主控制器与轿厢、门厅控制器间的通信,完成了对电梯的控制,并可进行远程监控。对通讯中出现的冲突采用非破坏性仲裁的方法解决。 关键词:CAN总线;串行通信;电梯 现代社会中,电梯已经成为不可缺少的运输设备。电梯的存在使得每幢高层建筑的交通更为便利。电梯控制技术的发展主要经历了三个阶段:继电器控制阶段,微机控制阶段,现场总线控制阶段。如蚂 与其它几种现场总线比较而言,CAN总线是最易实现,价格最为低廉的一种,这也是目前CAN总线在众多领域被广泛采用的原因。CAN总线协议是建立在国际标准组织开放系统互联模型基础上的。作为工业控制的底层网络,CAN总线通波特率可高达1Mbps,最远距离可达l0km;通讯采用短帧结构,使得数据传输的时间短,受干扰的几率低,并且CAN总线协议有良好的检错措施,因此CAN总线通讯的可靠性较高。由于CAN总线的安全性,实时性,简单易 *** 作性和价格低廉,使其十分适合在电梯通讯中应用。目前电梯井道系统中,主要采用并行通讯,上行、下行电缆比较多,现场安装调试比较麻烦。采用CAN总线后,通过串行通信方式,构成控制器局域网,仅用四根线,其中两根为电源线,一根信号发送线,一根信号接收线,实现呼梯、内选及显示信号的通信,并为进一步实现多台电梯群控、远程监控、楼宇自动化提供便利接口。 1系统组成及硬件设计 1.1 系统的总体结构 系统基于CAN总线多主结构,以CAN总线控制器82526和总线收发器PCA82C250为主体组成通信控制模块,设计了主控制器、轿厢控制器、门厅控制器。通过串行通信方式构成控制器局域网,实现呼梯、内选及显示信号的通信。但是随着高层建筑的出现和建筑面积的扩大,需要并排设置几台电梯,以完成大楼内的垂直运输任务。为了实现群控,便存在着电梯相互联接的问题,这样就需要有监控微机统一监控调度。这里我们采用485总线实现单台电梯主控制器之间以及与监控微机间的通信。电梯的群控系统结构如图1所示。 图1电梯控群控系统结构图 1.2 系统磨橡并硬件设计 在单台电梯控制系统中,主控制器要完成其它控制器信号的采集,显示信号的输出,电梯运行控制等一系列的功能。而轿厢及门厅控制器只需要将呼叫信号采集,经CAN总线送往主控制器,并接收来自主控制器的显示信号将它输出即可。因此,轿厢、门厅控制器结构大体与主控制器类似且相对简单。 下面以主控制器(如图2所示)为例介绍硬件设计。电梯主控制器CPU采用了AT89C51单片机。AT89C51单片机是与8X51系列单片机兼容的增强型微控制器,其内部集成了4K字节的Flashrom。由于主控制器是电梯控制系统的瞎迹核心,担负着控制电梯运行的重要任务,所编出的程序较大,因此,它的外部还要扩展外部程序数据存储器,按常规采用2764和6264。 在单台电梯控制系统中,主控制器与轿厢及门厅控制器之间采用CAN总线实现通讯。CAN总线控制器采用INTEL公司82526芯片。PCA82C250作为CAN总线的接口。82526内部采用硬件实现了数据链路层的全部功能,因而这部分的程序只需将82526中的数据读出和将数据写入82526。图3为CPU与CAN、485接口电路部分的外围电路接线原理图。 图3通讯接口电路原理图 在主控制器中,因为需要输入的点数较多,这里我们采用常用的8255作为输入输出接口芯片。考虑到实际调试、修改程序的方便,主控制器中设计了键盘显示电路,这一部分电路的核心采用专供键盘及显示器接口用的可编程接口芯片8279,以扫描方式工作。扫瞄线SL0~SL2经过3-8译码器产生8路扫描信号。另外为了解决外部的干扰引起的问题,在主控制器中要加入Watchdog电路,保证系统发生故障时能及时让系统回到正常工作状态。 2通讯协议 本系统采用CAN2.0A标准,该协议最大的优点是废除了传统的站地址编码,因此CAN没有节点地址的概念,代之以对通讯数据块进行编码,支持以数据为中心的通信模式。当电梯层站数不同时,只需要在总线上进行增减控制器的节点数,并对相应的数据帧进行适当的修改。 2.1 数据帧 数据帧(如图4所示)包括七个部分:帧起始,仲裁场,控制场,数据场,CRC序列,ACK场,帧结束。仲裁场包括有报文标识符(11位)和远程发送申请位(RTR);控制场由六位组成,后四位为数据长度码,代表数据字节数,这里设为 2;传输信号每帧数据含两个字节,高字节表示具体层楼数,低字节设为控制字。 图4数据帧组成 2.2 仲裁 总线空闲时,任意节点都可以发送数据,其它节点都可以接收数据,只需要通过报文滤波即可实现点对点,一点对多点及全局广播等通讯方式,无需专门调度。这里用接收码寄存器,接收码屏蔽寄存器实现报文滤波。 当多个总线控制器同时发送报文时,为避免冲突需进行仲裁,这里采用非破坏性仲裁的方法解决冲突。所谓非破坏性是指这种仲裁方式可以使信息和时间都没有损失,它是借助逐位仲裁帧中的ID号码来实现的。CAN数据帧如前所述仲裁场ID号码唯一的标识一个节点地址,RTR位为0表示该帧为数据帧,为1时表示远程帧,而后者优先权要高于前者。这12位ID号代表报文的优先权高低,数越小优先权越高。 非破坏性仲裁的过程可以用一个例子来说明,如图5,某时刻网络上有三个节点a、b、c同时发送信息,ID标识符的发送顺序为从高位到低位,即由ID.0到ID.11,每发送1字符网络做一次与运算。比如ID.6发送后,网络做运算:0∩1∩0=0,则网络上各节点收到的信息为0。ID.6为1的字节发现接收到的与发送的不同,停止发送。这样就使优先级低(ID大)的节点退出发送。如此比较下去,直到全部ID及RTR发送完毕,网络上仅剩节点c继续发送信息,并且无需重发。 3程序设计 图5 CAN的冲突仲裁过程 主控制器程序流程图如图6所示。根据电梯实际运行的要求,主控制器须通过与轿厢及门厅控制期间的通讯,来实现对轿厢和门厅呼梯信号的采集,完成对电梯运行方向、当前层楼数的判断、显示和中途停车等的控制。同时电梯在运行过程中,主控制器还要对井道中各种开关量限位信号进行采集分析,以实现对电梯的准确控制。在系统调试时,主控制器还应能与PC机实现通讯以方便系统的实时控制。因此,主控制器的程序设计应当充分考虑到上述功能的有机结合。 图6主控制器程序流程图 轿厢、门厅控制器的程序流程框图如图7所示。它们所要完成的功能比较简单即采集呼梯信号发送到主控制器,接收来自主控制器的显示信号并将它们输出。 图7轿厢、门厅控制器程序流程框图 停车控制子程序主要负责电梯停车及轿厢开关门控制。首先,程序输出停车控制字。然后,使电梯开门。接着判断光幕信号是否被截断。若是,则等待,没有被截断的话,再判断此时电梯是否超重,若超重则报警等待,没有则继续判断是否有关门信号,有则电梯关门。没有则延时一段时间后,自动关门,返回主程序。程序流程框图如图8所示。 图8停车子程序流程框图 4结束语 基于CAN总线技术,以AT89C51为核心,采用82526结合PCA820250芯片构成的电梯监控系统在实际应用中,主控制器通过CAN总线收发器借助CAN总线完成与其他主控制器的数据通讯。经在两台8层电梯上实地使用,与代用PLC控制系统相比,故障停梯时间大大缩短,可靠性明显提高,调试和增减内容均比较方便,达到了预期效果。

随着计算机技术的不断发展,在现代工业中,利用微机进行数据通讯的工业控制应用得也越来越广泛。由于传输距离、现场状况等诸多可能出现的因素影响,计算机与受控设备之间的通讯数据常会发生无法预测的错误。为了防止错误所带来的影响,一般在通讯时采取数据校验的办法,而循环冗余码校验是最常用的校验方法之一。

一、 循环冗余码校验原理

循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。

根据应用环境与习惯的不同,CRC又可分为以下几种标准:

CRC-12码通常用来传送6-bit字符串。CRC-16及CRC-CCITT码则用是来传送8-bit字符,其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用。CRC-32码大都被采用在一种称为Point-to-Point的同步传输中。

下面以最常用的CRC-16为例来说明其生成过程。

CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或,之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用此时CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。

芹裤胡下面为CRC的计算过程:

1.设置CRC寄存器,并给其赋值FFFF(hex)。

2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。

3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。

4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。

5.重复第3与第4步直到8次移位全部完成。纯闭此时一个8-bit数据处理完毕。

6.重复第2至第5步直到所有数据全部处理完成。

7.最终CRC寄存器的内容即为CRC值。

二、 循环冗余码校验程序的嫌拦编写

明白了CRC校验码的产生过程,编写起程序来就非常容易了。由于Visual Basic的广泛普及以及其在数据通讯中的重要地位,下面就以VB语言来编写CRC的生成程序,其它语言只需稍做修改即可。

编写CRC校验程序有两种办法:一种为计算法,一种为查表法。下面对两种方法分别讨论。

1.计算法

计算法就是依据CRC校验码的产生原理来设计程序。其优点是模块代码少,修改灵活,可移植性好。其缺点为计算量大。为了便于理解,这里假定了三位数据,而多项式码为A001(hex)。

在窗体上放置一命令按钮Command1,并添加如下代码:

Private Sub Command1_Click()

 Dim CRC() As Byte

 Dim d() As Byte '待传输数据

 ReDim d(2) As Byte

 d(0) = 123


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12563321.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存