西门子6ES7223-1BF22-0XA8诚信经营
1、 前言
现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。现场总线控制系统既是一个开放通信网络,又是一种全分布控制系统。自80年代以来,有几种现场总线技术已逐渐形成,在一些特定的应用领域显示了各自的优势。
对用户而言,如何选择适合自己需要的现场总线,来满足工业控制中的实时要求。这需要了解每种现场总线的特点,尤其是数据链路层的通信介质访问控制方式。
按照对时间确定性的支持,现场总线通信介质访问控制方式主要分为两大类:一类采用事件触发方式,它不直接支持时间确定性,多数采用随机载波监听方式(CSMA),具有代表性的有CAN和LON等;另一类采用时间触发方式,它直接支持时间确定性,
通常采用令牌方式,它又可以分为:(1)集中式令牌,具有代表性的有WorldFIP和FF等;(2)分布式令牌,具有代表性的有PROFFBUS等;(3)虚拟令牌,具有代表性的有P-NET等。
为此,本文针对目前比较流行的,且通信介质访问控制方式具有代表性的4种现场总线——LON、CAN、PBOFIBUS和FF进行简单的介绍,特别是对其通信介质访问控制方式进行了较详细的描述。
2、 LON(LocalE Operation Networks)
美国Echelon公司于1991年推出的局部操作网络,在组建分布式监控网络方面具有优越性。LON技术适合于低层次工业网络,在住宅、楼宇管理、暖通、水处理、食品加工、机器控制与监视等领域被广泛接受。
LONWORKS采用的LonTalk通信协议遵循ISO/OSI的全部7层模型。LonTalk协议被封装在称之为Neuron神经芯片中得以实现。Neuron神经芯片是IONWORKS的核心,内含3个8位CPC,分别为介质访问控制处理器,网络处理器和应用处理器。可见,Neuon神经芯片不仅作为LON总线的通信处理器,也作为采集和控制的通用处理器。
LON支持多种拓扑结构,如总线型、星型、环型、混合型等,和多种传输介质,如双绞线、电力线、无线电波、红外线、光纤、同轴电缆和电源线等。可以根据不同的现场环境选择不同的收发器和介质。采用双绞线时,通信速率为78kbps/2700m/每段以节点,1.25Mbps/130m/每段64个节点。Motomla已开发出IS-78本安物理通道,使LON网络可以延伸到危险区域。
LON的通信介质访问控制方式为带预测P-坚持CSMA。当节点有信息要发送而试图占用通道时,在一个固定的周期Beta1检测通道是否处于网络空闲。为了支持优先级,还要增加优先级时间片,优先级越高的所加的时间片越少。随后再根据网络积压参数BL产生一个随机等待时间片W’,W’为0到W之间的随机数,W=BL*16。当延时结束时,网络仍空闻,节点以概率p=1/W发送报文。此种方式在负载较轻时使介质访问延迟小化,而在负载较重时使冲突小化,但不能消除冲突。图2-1为LON的优先级带预测P-坚持CSMA概念示意图。
LON有完整的7层协议,具备了局域网的基本功能,与异型网的兼容性比现存的任何现场总线都好。它还提供了与LAN的接口,从而实现二者的有机结合。LON属于网络型系统,不适合于有大量数据需要采集,进行频繁处理的快速工业控制系统。
LON通过具有通信与控制功能的Neuron神经芯片、收发器、电源、传感器和控制设备构成的网络节点,采用专用的编程工具NeuronC,利用所提供的开发工具:LonBuilder、NodeBuilder和LVS技术,可以快速、方便地开发节点和联网。
当有大量的短消息需要通信应用时,LON是一个普及、低成本的总线系统。
3、 CAN( Controller Area Network)
德国BOSCH公司于1991年推出,用于汽车内部测量和执行部件之间的数据通信。主要应用于离散控制领域中的过程监测和控制,特别是工业自动化的低层监控,解决控制与测试之间的可靠和实时数据交换。
CAN采用了ISO/OSI的3层模型:物理层、数据链路层和应用层。
CAN支持的拓扑结构为总线型。传输介质为双绞线、同轴电缆和光纤等。采用双绞线通信时,速率为1Mbps/40m,50kbps/10km,节点数可达110个。
CAN的通信介质访问方式为带优先级的CS-MA/CA。采用多主竞争式结构:网络上任意节点均可以在任意时刻主动地向网络上其它节点发送信息,而不分主从,即当发现总线空闲时,各个节点都有权使用网络。在发生冲突时,采用非破坏性总线优先仲裁技术:当几个节点向网络发送信息时,运用逐位仲裁规则,借助帧中开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点可不受影响地继续发送信息,从而有效地避免了总线冲突,使信息和时间均无损失。例如,规定0的优先级高,在节点发送信息时,CAH总线做与运算。每个节点都是边发送信息边检测网络状态,当某一个节点发送1而检测到0时,此节点知道有更高优先级的信息在发送,它就停止发送信息,直到再一次检测到网络空闲。图3-1为A、B、C、D4个节点发送信息,后优先级高的节点D有权发送信息,其它节点主动停止发送数据。 CAN的传输信号采用短帧结构(有效数据多为8个字节),和带优先级的CSMA/CA的通信介质访问方式,对高优先级的通信请求来说,在1Mbps的通信速率时,长的等待时间为0.15ms,完全可以满足现场控制的实时性要求。
CAN突出的差错检验机理,如5种错误检测、出错标定和故障界定;CAN传输信号为短帧结构,传输时间短,受干扰概率低。这些保证了出错率极低,剩余错误概率为报文出错率的4.7x10-11。CAN节点在严重错误的情况下,具有自动关闭输出的功能,以使总线上其它节点的操作不受其影响。可见,CAN具有高可靠性。
CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN总线通信协议部分和微控制器接口部分电路组成。通过简单的连接即可完成CAN总线协议的物理层和数据链路层的所有功能,应用层功能由微控制器完成。CAN总线上的节点既可以是基于微控制器的智能节点,也可以是具有CAN接口的I/O器件。
CAN总线的数据通信具有突出的可靠性、实时性和灵活性。CAN作为现场设备级的通信总线,同其它总线相比,具有很高的可靠性和性能价格比。
4、 PROFIBUS(Process Fieldbus)
1986年,德国开始制定。它由3部分组成:Profibus-DP (DecentralizedPeriphery,分布式外设),Profibus-FMS(Fieldbus MessageSpecification,现场总线信息规范)和Profibus-PA(ProcessAutomation,过程自动化)。不同的部分针对不同的应用场合,和Profibus应用领域十分广泛。
Profibus以ISO/OSI模型为基础,取其物理层和数据链路层。FMS还采用了应用层。DP和FMS使用同样的传输技术和统一的总线访问协议,二系统可在同一根总线上混合互操作。通过段锅台器或链接器,使PA系统很方便地集成到皿网络。
DP和FMS有两种传输技术:一种是RS-485,采用屏蔽双绞线,拓扑结构为总线型,通信速率为9.6kbps/1200m,12Mbps/100m,每段多节点数为32,不支持总线供电和本安;另一种是采用光纤,用于电磁兼容性要求高和长距离要求的场合。PA采用IEC1158-2传输技术,用屏蔽双绞线,拓扑结构为总线型或树型,通信速率为31.25kbps/1900m,每段多节点数为32,支持总线供电和本安。
Profibus的通信介质访问控制方式为分布式令牌方式(混合介质存取)。主节点之间为令牌环传递方式,主节点与从节点之间为主从轮询方式。当主节点得到令牌后,允许它在一定的时间内与从节点和/或其它主节点通信。令牌在所有主节点中循环一周的长时间TTR(设定周期)是事先预定的,决定了各主节点的令牌具体保持时间的长短。主节点之间传输数据必须保证在事先定义的时间间隔内主节点有充足的时间完成通信任务,主节点与从节点之间的数据交换要尽可能快且简单,地完成数据的实时传输。按这种方式,完成周期性与非周期性的数据交换。
为此,profibus的介质访问控制MAC协议设置了两类时钟计时器:一类是令牌运行周期计时器,用于令牌的实际运行周期TRR计时;另一类是持牌计时器,用于主节点令牌保持时间TTH计时。当令牌到达某个主节点时,此节点的周期计时器开始计时。
当令牌又一次到达此主节点时,MAC从把周期计时器的TRR值与设定周期值TTR的差值赋给持牌计时器,即TTH=TTR-TRR,持牌计时器根据该值控制信息的传送。
在持牌计时器控制信息发送时,如果令牌到达超时,即TTH<0,则此节点只可以发送一个高优先级信息;如果令牌及时到达,则此节点可以连续发送多个等待发送的高优先级信息后,直到高优先级信息全部发送完毕,或者持牌时间超时。如果在发送完所有待发送的高优先级信息,仍然有持牌时间,则可以用同样的方式发送低优先级信息。无论发送高优先级信息,还是低高优先级信息,都只在发送前检测持牌时间是否超时,而不是预先检测发送完此信息是否超时,此种检测方法意味着信息发送不可避免地造成持牌时间超时,影响了周期性实时通讯的实现。
Profibus-DP主要用于对时间要求苛刻的分散外围间的高速数据传输,解决分散I/O问的通信,适合于加工自动化领域,具有高效低成本。Profibus-PA,队主要用于流程工业自动化,对安全性要求高和由总线供电的场合。Profibus-FMS主要用于解决车间级通用性的通信任务,完成控制器和智能现场设备之间的通信以及控制器之间的信息交换,提供了大量的通信服务(主要是针对主节点之间的通信)。
Profibus协议的苛刻时间部分由协议芯片实现,熟应用广泛的现场总线。Profibus的一些特点,又增加了自己的一些功能。主其余部分由微控制器的软件实现,针对不同的应用,采用3种不同的传输技术。
5、 FF(Foundation Fieldbus)
1994年ISPF和WorldFIP两大集团联合致力于开发统一的现场总线。它继承了WorldFIP和Profibus 由DP、PA、FMS3部分组成,有针对性地适用于不同的应用场合,是一种功能强大、成要应用于过程自动化领域。FF以ISO/OSI模型为基础,取其物理层、数据
1引言
智能控制仪表是工业控制中常用的控制器之一,其主要是针对某一特定的参数(如压力、温度、流量等),采用先进的控制算法(如PID、自适应PID、模糊逻辑等)来达到jingque控制被控参数的目的,具有性强、智能化高、控制算法先进、使用方便等特点。可编程逻辑控制器(简称PLC)以其运行可靠、集成度高、可扩展性强而在工业控制中得到广泛的应用。在当今现场总线技术极大发展的,世界上各大PLC厂商所推出的现场总线也各不相同,目前国际上流行的现场总线协议就有10几种之多;但由于这些仪表一般只支持串口通讯协议,如何通过现场总线把智能控制仪表的数据传入PLC中,就比较难以实现。为此德国赫优讯公司推出了netTAP系列通用网关,它支持各种现场总线从站到串口协议的转换。下面我们以PROFIBUS-DP从站到ASCII协议的转换来说明。
2通信系统的构成以及实现方法
2.1 系统配置
SIEMENS公司的315-2DP CPU作为一个DPMaster,总线地址设为2;Hilscher公司的netTAP网关作为PROFIBUS-DP从站,总线地址设为3;控制仪表我们采用目前使用比较广泛的Eurotherm公司的2416仪表(4块)。系统配置简图如下:
图1:系统配置图
2.2 netTAP网关的参数设置
netTAP系列网关中的有一种支持PROFIBUS-DP从站到ModbusRTU或ASCII或3964R协议转换的NT30-DPS网关,只要加载不同的固件就可以实现PROFIBUS-DP和相应协议之间的转换。在这里我们选用PROFIBUS-DP从站到ASCII协议。选择完后将固件下载到网关中去。
下面要对网关进行相应的配置:
2.2.1ASCII(其它参数采用默认设置)
接口/RTS | RS485/RTS启用 |
波特率 | 9600 |
数据位 | 8 |
停止位 | 1 |
奇偶校验 | 偶校验 |
模式 | 主站 |
结束模式 | 仅时间控制 |
校验和模式 | 无 |
校验和区域 | 仅在用户数据中 |
字符过滤 | 无 |
字符[16进制] | |
报文间隔 | 100毫秒 |
表1:ASCII相关参数的设置
2.2.2MODULES(注意要和DP主站的设置保持一致)
in bytecon
表2:MODULES相关参数的设置
参数组态完成后,将组态信息也下载到网关中去。
2.3 2416仪表的通讯参数设置
参照欧陆2000系列仪表通讯说明书,来对通讯参数进行设置。
2416仪表支持2种通讯协议:MODBUSPROTOCOL和EI-BISYNCHPROTOCOL,我们选择MODBUSPROTOCOL协议进行通讯。根据网关中已经配置好的组态信息,将4块仪表通讯参数设置为:地址依次为1-4;波特率设为9600;8位数据位;1位停止位;偶校验;其它参数用默认值。(相关操作请参见仪表操作说明书)
2.4 DP主站中进行组态和编程
打开STEP7编程软件将NT3-DPS的GSD文件安装到STEP中,通过GSD文件对NT30-DPS进行组态,见图2。
图2:主站中网关的组态
组态完成后,进行编译保存。
下面将进行代码的编写,由于要采用CRC检验,我们需要编写一个CRC检验的程序;具体代码编写请参照2000系列仪表通讯说明书,在程序中我们编写了一个功能FC和一个用来存放数据的数据块DB3,在DB3内建一个数组元素类型为BYTE长度为32的数组。
读仪表数据时,我们采取读N WORDS的方法,命令格式见图3:
图3:读取N个字的命令格式
返回的应答信息格式见图4
图4:读取N个字命令的应答信息格式
我们需要读取的数据为仪表的PV值、OP值和SP值。根据通讯说明书它们的MODBUS参数地址分别为1、3和2。要读取这三个值的命令应该为(MODBUS地址为1的仪表为例):010300010003CRC,在返回的数据中,我们就可以得到PV、SP和OP的值。
在PROFIBUS的输入和输出映像区的个字节本例中为(PQB256和PIB256)是用于控制和监控通讯状态的握手字节
下面为STEP程序的部分代码:
将MB20值设为1;读取MODBUS地址为1的仪表的数据。根据上面的应答格式,我们知道在返回的数据中PIW261为仪表的PV值;PIW263为仪表的SP值;PIW265为仪表的OP值。在变量表里进行监控并和仪表进行比较,我们发现数值是正确的。
要对多块仪表进行通讯,只要通过程序来改变MB20的值,我们可以每隔100MS将相应仪表的站地址送到MB20中去,等数据返回后,再将下一块仪表的站地址送到MB20中直到后一块,重新从块仪表开始。由于返回的数据中包含了站地址信息,我们只要根据站地址将得到的数据送到相应的存储区域中即可。当然我们也可以对仪表进行写操作,需要注意的是读写转换的控制问题。
3 结束语
我们在未来相当一段时间内将面对多种网络协议并存的现实,用于协议转换功能的网络部件将在未来自动化系统中发挥重要作用。 拥有多种网络接口的自动化设备也必然具有更强的市场竞争力。NetTAP作为一种通用的协议网关,它支持多种协议间的转换,已经在很多场合中得到了实际应用,在未来也必将拥有广阔的市场前景。