引言
现场总线是“安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置/系统之间的一种串行、数字化、多点通信的数据总线”。现场总线是一种新型的自动化控制系统,是当今自动控制技术的发展方向。现场总线技术可被广泛应用于制造业、流程工业、楼宇、交通等自动化控制系统中。
在众多的现场总线技术当中,由现场总线基金会组织(FieldbusFoundation,FF)开发的基金会现场总线在工程自动化领域得到了广泛的支持。基金会现场总线是一种是全分布式的自动化系统,主要功能是对工业生产过程进行测量、信号变送、控制等。FF于1996年颁布了低速总线H1标准。随着以太网技术的成熟,FF制定了FFHSE(HighSpeedEthernet)规范,该规范定义了一种基于高速以太网的现场总线技术。为实现自动控制系统的控制功能,在H1和HSE应用层之上增加了用户层。用户层包括了FF所定义的标准化的功能块和功能块应用进程,构成了自动化控制系统中实现控制功能的主要部分。
功能块模型
在FF现场总线系统中,工业控制系统的功能块应用进程(FunctionBlockApplicationProcess,FBAP)定义在用户层,包括资源块(ResouceBlock)、功能块(FunctionBlock,FB)和变换块(TransducerBlock),以及为满足控制系统需要而增加的各种对象,如链接对象(LinkObject)、趋势对象(TrendObject)等.
在现场设备应用进程的体系结构中,资源块表示网络硬件和软件对象,包含现场设备的一些硬件和物理特性。资源块定义了相应的参数来描述所用资源的状态,并通过执行特定的算法来控制对设备资源的操作。在用户层应用中,功能块FB代表了应用所执行的基本的自动控制功能,是定义工业控制系统的监控和控制功能的主要手段。通过定义功能块,使工业控制系统的自动控制功能尽可能独立于输入\输出(InputOutput,IO)设备。功能块根据指定的算法并结合其内含的参数来处理输入参数,得到的输出提供给其它的功能块或者变换块执行控制功能。
定义变换块的目的是使功能块和IO设备隔离开来,这些IO设备包括传感器、执行器和转换开关。变换块通过由功能块使用的独立接口控制对IO设备的访问,同时,变换块还执行校准和线性化的功能。链接对象提供了功能块输入输出间的对应关系,作为在控制系统中交换信息的映射。在FF现场总线控制系统中,现场设备间或设备内部进行交换的过程数据和事件都是通过连接对象来定义的。
功能块实例化
在建立控制系统的过程中,控制应用所需要的现场设备是不确定的。即便是一个构建好的控制系统,也可能会因为功能或者是性能上的需要而添加新的设备,这就需要现场设备比如IO设备等能够提供完善的功能。但现场设备通常都是嵌入式设备,其操作系统采用嵌入式操作系统。因此现场设备的可用资源有限,同时实现所有功能对现场设备来要求太高。对于IO设备,多路模拟输入(MultipleAnalogInput,MAI)功能块负责模拟数据采集,多路离散输入(MultipleDiscreteInput,MDI)功能块负责数字数据的采集,每个MAI或者MDI功能块所能采集的数据节点是一定的。一般情况下,每个现场设备中的功能块类型和数目在出厂之前就已经定制好了。如果控制系统的规模发生了变化,那么原先安装的现场设备就可能满足不了控制系统的需要。而如果允许控制工程师能够根据实际的需要增加现场设备中功能块的类型和数目,则能够大大地降低控制系统的复杂性,节省控制系统升级所需要的时间和成本,从而提高生产效率和效益。
功能块实例化机制
为实现功能块和其它对象的实例化,在基金会现场总线用户层规范中定义了Action对象。通过对Action对象进行操作,可以在控制系统需要某个对象或者功能块时,在现场设备中创建所需要的对象或者功能块。也可以通过Action对象删除现场设备中存在的对象或功能块。Action对象包含3个参数,以结构的形式定义为:
typedefstruct{
unsignedcharucAction;
unsignedlongulFunction;
unsignedshortuOccurrence;
}FF_Action;
其中,第一个参数ucAction用来表示所采取的操作,取值为0、1或者2,0表示没有任何操作,1表示实例化由参数ulFunction指定的功能块或者是对象,2表示请求删除由参数ulFunction指定的功能块或者对象。第二个参数ulFunction表示实例化操作或者删除操作时所操作的对象,该参数的取值是设备描述文件(DeviceDescription,DD)中针对具体的功能块或者对象所定义的值。第3个参数uOccurrence在ucAction等于0或1时,其取值必须为0,在执行删除操作即ucAction等于2时,参数uOccurrence的值是要删除的功能块或对象的序号,即表示要删除第几个由ulFunction指定的功能块或对象。实例化的操作通过组态软件执行,用户选择了要实例化的功能块后,组态软件向指定的现场设备发出FMS(FieldbusMessageSpecification)写请求。现场设备接收到FMS写请求后,首先判断本设备中是否已经定义了实例化请求操作中指定类型的功能块。如果本设备中定义了该类型的功能块,则执行实例化操作,动态申请一块内存,内存的大小即实例化请求操作中指定类型功能块的大小。然后将该类型功能块的模板拷贝到新申请的内存中。
功能块数据保存和恢复
在现场总线控制系统中,由于种种原因,很可能会发生设备掉电的情况。由于组态的过程比较复杂,所以对于整个控制系统来说,实现现场设备的数据保存功能是非常必要的。特别是对于存在实例化的功能块的现场设备,在设备重新上电后能够恢复实例化的功能块和组态数据显得更为重要。
(转载)