RS-485串行端口伪全双工通信研究与应用
摘要:RS-485串口通讯在监测和控制系统非常常见。本文提出了一个RS-485自由港伪全双工的概念通信,即RS-485不仅可以连续发送定时消息,而且可以在任何时刻从主机中的接收消息。由于RS-485串行端口的优点是远距离通信和抗干扰性,如果其可以用作全双工通信模式下,这将会在工业领域受到极大欢迎。在本文它是由上位计算机或低级计算机来实现。实验和现场测试结果表明,该方案能可靠实行。现在,它已经被成功地应用在航天工程领域、远程控制和监控系统的地面覆盖的部分。因此在大多数情况下,对于遥控计算机来说它只是处理来自于S7-200 PLC接收的消息,这样可以节省计算机的CPU资源。对于设备调试的人来说它这是非常方便的,因为他甚至可以只使用任何类型的串口调试软件接收来自于S7-200 PLC的数据,并且他不需要自己暂时编写复杂的主机软件就会了解到设备的状态。
关键词:RS-485;可编程逻辑控制器;自由端口;通讯;遥控;应用
I.引言
在工业领域有许多支持串行通信的数字设备,主要包括:RS-232C,RS-422A,和RS-485等。 在所有的串行通信中,RS-232C和RS-422A支持全双工通信,RS-485支持半双工通信。在通信功能而言,全双工通信比半双工通信更具有优势,但由于电气性能的差异,RS-232C的通信距离仅仅低于15m,RS-485的最大通信距离可长达1200m 。由于RS-485串行通信具有抗干扰能力和远距离通的优势,它被广泛应用。现在有多个工业控制设备正在使用RS-485串口通信,包括具有一个或多个RS-485串行端口的的众多占优势的PLC品牌,如西门子S7-200/300/400。 这些端口不仅能够作为一个可编程端口,也可作为上计算机和下部计算机之间的接口。一般情况下,对于领域装备的监测及防治,PLC具有两个功能,一个是实现对系统状态包括运行,停止和健康状况等的监视,然后将状态数据发送到上层计算机,另一个功能接收来自于上层计算机的操作命令。
由于RS-485的半双工通信特性,响应通信机制被普遍采用。至于给PLC,上位机发送命令到PLC,并且PLC接收到命令并且发送响应消息到上部计算机。因此消息中系统状态数据由PLC发送到上位机。由于监测系统和控制系统有更多的监督和更少的操作命令的特点,本文中采用西门子S7-200的自由端口伪全双工通信 ,PLC可以发送定时系统状态消息,并在任何时刻通过S7-200 PLC的程序接收由上位机所述发送的操作命令。 上位机可只处理接收来自于PLC的消息,当它不发送操作指令时,PLC S7-200可以同时发送和接收消息,则实现了伪全双工的功能。正如我们所知道的,RS-485通信精髓是半双工通信,所以相同时间的词语是指操作者没有时间差异的感觉。在这种形式的通讯中,PLC CPU消耗的通信资源是响应通讯机制的近半数。并且由于更少的通讯信息提高了通信的可靠性。
II.RS-485电性能和通信原理
RS-485的具有平衡差分的形式连接。图1描绘了上级计算机具有一个接收终端和一个发送终端,下级计算机也具有相同的接收终端和发送终端。对于发送和接收的任一端使用同样的电缆。因此,在本质上,在RS-485不能实现全双工通信的功能。图2展示了RS-422A串行通信。
我们可以看到,RS-422A和RS-485几乎拥有相同的电气性能,对应于具有两个TXD终端和RXD终端。因此,RS-422A可通过全双工方式通讯,但是电缆长度是RS-485的两倍。
III.远程控制通讯的协议
在自由端口通信模式下和由程序控制的基础上,通信协议是基于 S7-200 [5]技术完全由用户自己制定的。除了消息的长度,本文接收数据和发送数据采用同样的通信需求协议。部分发送消息是当PLC发送消息给上位机时为了上位机验证命令时的接收消息的上下文。对于这个协议,VB700通过PLC接收的自动计数储存字节数目的内存地址接收到的信息由PLC自动计数。所以接收的字节的数目可以是不同的。而当 PLC向上位机发送信息时,VB700存储将要发送到上位机的字节数目。表一和表二显示了通信协议协议。虽然接收数据和发送数据时采用了相同的协议,但是它们具有不同的含义。由PLC接收的数据正在操作命令,该命令将影响工业系统,所以对于系统来说,命令可靠性是非常重要的。如果在通讯过程里是在命令中发生一些错误,该系统可能会发生故障,也可能会发生严重的后果。 所以PLC应该检查通过某种算法等接收到的命令数据,如块校验字符(BCC)检查。由PLC发送的数据体现了系统的状态,并且数据将在上位的计算机显示,所以为了验证看重的显示在上位机发送的数据是否是由PLC发送的数据,所以PLC应该检查信息里的数据。
在本文开头的字符是16#67,这意味着ASCII码的“G”,结束字符为16#47,这意味着ASCII码“G”。,从表一可以看出该数据区接收消息的的字节数为5字节,并且从表II可以看出,该数据区的发送消息的消息字节数的是17个字节。
IV.远程控制通信的程序设计
假设端口0是在程序中使用,因此,当初始化程序,让,
MOVW 200,SMW92; //设置数据的接受超过时间为200毫秒或其他必要的时间
XMT VB700,0;
//使端口0从VB700的内存地址和当发送完成时产生中断
当发送完成后,SM4.5的序列标记是空闲状态,它等于1。然后,
S SM87.7,1;//允许PLC接收一条信息
如果在200ms的接收超过时间的期间没有消息,然后终止该接收命令。
R SM87.7,1; //禁止收到任何消息
XMT VB700,0; //继续发送消息
如果在200毫秒的时间,有一个是消息待接收,则接收到该消息。当接收结束后,产生完成接收数据的中断。然后该程序进入中断服务程序,这将让程序继续发送消息。即,
XMT VB700,0; //从VB700的内存地址发送信息
现在程序完成如下面图3所示的循环。 所以程序可以处理持续发送的消息发送到上位机 并且应该在通过SMW92的命令设置为200ms的任意时间内接收消息。通常情况下,对于上位计算机的用户,他无法分辨时间的推迟。延迟时间对系统的影响要少得多。
V.自由端口伪全双工通信实验
实验环境如下:PLC CPU S7-200 226CN,一个在LabWindows / CVI编程的上位机软件,VB或使用其他串口调试的软件,并且上位计算机是一台个人计算机(PC)。因此上位机的串口是RS-232C,它通过RS232-RS485转换器与RS-485 S7-200连接。基于表I和表II中所示的自由口通信协议,假设操作命令(十六进制代码)是,
命令1:67 5 0 3 0 0 0 6 47;
命令2:67 5 3 0 0 0 0 6 47;
实验1的结果示于表三。 当通信程序(包括PLC和上位机)运行,上位机从PLC接收数据,例如在0时50分21秒“67 5 0 0 0 0 0 0 0 0 40 1 20 26 0 0 E 1IC 51 47”。凡数据“40 1 20 26 0 0 E 1 1C”表示系统状态,状态可以是温度,压力等。命令1在0时50分24秒的时间发送给PLC。我们可以到,由上位机发送的命令1之前,PLC正由约200ms间隔发送消息。在0时50分24秒,在命令1发送给PLC后,我们可以从由PLC发送的临近命令1的回复消息看出,消息变为
67 5 0 3 0 0 0 1 6 47 0 40 0 20 6 0 E 1 lC 33 47
其中,“67 5 0 3 0 0 0 6 47”中的数据所代表的由上位机发送的命令,它验证由上位机发送的命令被PLC正确地接收。 然后在实验2表IV,在0时50分49秒和0点50分52秒的随机时间内,上位机发送命令2:“67 5 3 0 0 0 0 6 47”到PLC。从回复的信息中,我们可以看到PLC正确地接收到命令。相同的实验已经完成多次,并且我们得到相同的结果。
从表III和表IV中,我们可以看到,使用图3的程序流程图,在PLC S7-200可以实现在任何时间持续发送定时信息到上位机和接收消息的功能,这个功能是
伪全双工通信的功能。
实验1 接收数据和由上位机发送数据的实验
正如我们所知道的在本质上RS-485通信为半双工通信,所以PLC不能真正实现同时发送和接收数据的功能。理论上,当上位计算机在随机时间发送消息到PLC,有可能在上位机发送的消息由PLC定时发送消息之间产生冲突。因此,为了提高通信的可靠性,上部计算机的程序应避免接收和发送的可能冲突,也有一些方法可以工作,例如在几毫秒的时间间隔内重新发送命令,这在不具备严格实时的领域是允许的。应用程序验证这是一个好主意。
实验2 接收数据和由上位机发送数据
VI.自由端口伪全双工通信的应用
液压系统具有高功率和能量容量的高比率的优点,这是在工业领域、航空航天领域广泛使用的。液压系统的重要组成部分液电源单元主要包括:溢流阀、安全阀以及各种包括管道,油罐,过滤器和传感器等配件。该液压动力供应单元的原理是:当启动单元,由电马达驱动泵,然后关闭,调整比例阀以获取系统压力;当停止装置时,打开卸荷阀,关闭电机和泵。正如我们知道的在泵站有高噪声和很多油的缺点,所以实现遥控的功能是有必要的。由于其高性能和高可靠性,S7-200广泛应用于领域中。图4表示液压动力供应单元遥控系统。作为预后和健康管理系统最重要的参数之一,油温度和压力将被发送到监测接口,并保存在上层计算机。
运作过程如下:首先上位计算机发送操作命令给PLC S7-200,那么S7-200 PLC在命令的基础上控制继电器,以实现停止所述液压电源的运行、冷却器的运行或停止、卸载阀的开/关,并且控制比例阀以调节系统压力等。
1.液压供电单元;2. S7-200 PLC;3.TD200人机界面;4.Upper电脑
S7-200 PLC发送液压动力的状态到上部计算机显示,如跑步、停止、压力、温度、液面,警告等。所有的状态数据通过定时的实时间隔实时发送到上层计算机中。图3描绘了监测和控制上位机界面。绿色的LED装置显示液压系统的正常状态,如跑步、油温、或阀门上等等。如果系统已停止或过滤器有错误,相应的LED的颜色会变红。虚拟仪表显示系统压力、返回油的压力和油箱的油温。
结论
RS-485广泛应用于工业领域和航空航天等领域。电气性能决定RS-485通信必须为半双工。 虽然RS-422A可以实现全双工通讯,它的总线消耗是RS-485的两倍。由于使用至今RS-485已经在该领域得到广泛应用,在本文中使用程序方法来实现RS-485伪全双工通信。通信的这种形式由两个实验验证并且并成功地用于液压动力供给系统的远程控制。该系统可靠地运行已经达1年以上。然后我们就可以得到:
(1)定时发送和接收的任何时间的功能,即RS-485的伪全双工通信是完全可以实现的。
(2)由于该功能是通过程序来实现的,所以RS-485伪全双工通信可以广泛应用到其他可编程单元和嵌入式系统。
(3)RS-485伪全双工通信可以比RS-485通讯的响应形式节省更多的CPU资源。
(4)现场用户甚至可以使用一个串口调试软件在现场调试,特别是对系统
没有远程监视和控制的系统。
电动汽车通讯结构CAN总线网络的设计方法
摘要:根据在电动汽车总线网络CAN的通信结构,本文编写了SAE J1939应用层协议满足该系统实用和对于系统设计软件和硬件的需求。首先,设计电动汽车CAN总线工作点头,包括主节点、灯光节点、空调节点、门和仪表节点等,并绘制CAN总线型拓扑图。同时,根据电动汽车的具体情况,制定出一个与SAE J1939协议一致应用层协议,并且也介绍了CAN总线网络节点的信息分配表和信息结构图。 其次,设计CAN总线通信网络的硬件和软件。硬件接口电路主要由CAN的通讯调节器SJAIOOO、高速选择耦合器6N137和CAN总线驱动器82C250,并且设计用于CAN总线系统硬件的示意电路图。软件设计的CAN总线网络主要有节点与用于交换机通信处理之间信号、类似物信号的通信进程之间的CAN总线的数据通讯和交流,该设计的软件通信模块包括CAN初始化单元、消息发送单元、消息接收单元和中断服务单位。最后,本文设计的CAN总线网络通信系统应用于由CEN能源科技有限公司生产的新能源客车,这是在上海世博会专用的。当电动车在运行时,从收集到的电池电压数据,我们可以看到该系统在数据通讯方面是准确的、稳定的,没有数据丢失、帧丢弃和转移错误的。该设计对于促进新能源汽车的应用具有实用价值。
关键词:CAN总线;通信结构;SAE J1939
I.介绍
CAN总线是由德国BOSCH公司在80年代初用于在现代汽车中实现在众多的控制器和测量仪器之间进行数据交换的一种串行数据通信协议发明。它是一种多主总线,通信介质可以是双绞线、同轴电缆电缆或光纤。通信速度可达1MBPS。总线通信接口集成了CAN协议物理层和数据链路层的功能,并且它可以完成数据处理的通信框架,包括填充的位置、块的数据代码的循环冗余校验、优先级区分和其他功能。CAN通信协议的特点是编码数据块。数据的长度最多为8个字节,可满足电动公交车的控制命令、工作状态和测试数据的要求。与此同时,8个字节不会采取很长一段时间的总线,因此它可以确保实时通讯。CAN协议采用CRC检验并且提供相应的错误处理,确保数据通信是可靠的。现在,CAN总线电动公交车
技术已经成为在总线通讯中数据通讯的不可缺少的一部分。根据CAN总线通信网络结构,本文开
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[154211],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。