引言
计算机软、硬件技术发展是一个系统推进的过程。目前能够用于工业控制设备的技术和软、硬件资源非常丰富。 设计、研发出功能强大的新一代工业控制设备,构造满足未来工业生产要求的自动化系统,目前正处于很好的时机。
已往控制设备分为PLC、DCS、FCS、工业控制计算机、专用嵌入式控制系统等。各种设备的控制原理本质是完全一致的,只是编程组态方法和I/O接口模块联接方法不同。我们可以将控制系统设备结构抽象成如下模型: (图片)
图1 控制系统设备结构模型从编程模型看,可将每一种设备抽象成如下结构:(图片)
图2 每种设备抽象结构模型新一代工业控制设备的设计目标是使用统一的编程组态开发工具软件,使设备可以方便的实现I/O及网络互联。
从用户角度出发,未来的自动控制设备最好能够向现在通用计算机一样,不同厂家生产的I/O模块、控制板、独立的可编程序控制器、人机接口能够互相联接,接收统一的编程和组态数据。设计出使用方便、功能强大的开发工具和制订更多的开放标准是这种目标的重要技术手段。
1、编程语言
自动控制设备的编程语言是通用编程语言(如C或C++)无法替代的IEC61131-3给出了很好的解决方案。新型的自动化设备要求编程语言具有广泛的适应性,8位、16位计算机芯片组成的控制器的应用是非常广泛的。在8位、16位、32位计算机芯片之间使用共同的编程语言非常困难,但是新一代产品必须具备这一特性。解决这一问题方法是IEC61131-3的功能进行剪切。一种可行的方案是进行变量预分配。把VAR、VAR-INPUT、VAR-OUTPUT,VAR-IN-OUT,VAR-IXTERNAL,VAR-GLOBAL,VAR-ACCESS按照硬件资源在制造时一次分配完成。这样既可以完全符合IEC61131-3的语法要求。又可以简化简单控制器的编程组态方法。
将IEC61131-3编程语言编译成统一的组态数据非常重要,这样才能够在各种硬件设备中实现统一的开发编程工具。
编程语言应当适用网络连接和现场总线设备的需要。IEC61131-5定义的通讯功能块,对实时运行的网络控制行为作了很好的抽象描述。这种抽象描述可以在各种网络和现场总线的应用层实现。新一代产品的编程语言应当支持这些功能块,来实现不同的网络设备互联。
新一代编程语言应突出事件控制功能。很多控制对象是长时间处于一种稳定状态,在很短时间发生一次状态变化后,又进入新的稳定状态。在网络上按实时采样方式进行监控就可能丢失状态变化描述。如果把这种行为封装事件描述,就可以完整的记录每一种状态变化过程。
控制器与INTERNET联接是必然的趋势,否则,会使控制系统形成“信息孤岛”,不利于未来的管控一体化集成。另外,实现与INEERNET的互联,可以实现与通用数据库的连接,避开实现专用实时数据库所带来的副作用。与INTERNET联接很多种方案。从编程语言的角度看,是把IEC61131-3描述的变量翻译成XML描述,实现与远程WEB浏览器的互动。可以将这种翻译行为抽象成IEC61131-3功能块。
2、网络与现场总线
现场总线技术目前仍然处于不确定状态。随着以太网技术逐步被采用,我们有机会设计新一代具有多种网络联接和IEC61131-3编程能力的设备。从用户使用方便的角度看,新型网络与现场总线设备应当具有如下特征:
⑴ 允许以太网设备和其便于深入设备现场的现场总线设备实现互联。
⑵ 所有网络设备和现场总线具有IEC61131-3编程或组态能力。可以在网络和现场总线上对任何一个网络设备进行透明编程组态和在线调试。
⑶ 允许廉价的8位、16位计算机芯片组成的控制器实现网络和现场总线接入,并且具有IEC61131-3编程或组态能力。
⑷ 统一、一致的开发组态工具。
实现以上特性是一种比较理想的状态。从目前计算机软件技术的发展水平来看,是完全可行的。只要有或组织克服商业风险持续开发就可以实现。
目前应用较广的现场总线协议Profibus和FF的主要问题从物理层到应用层规定的细化,任何技术变化都会造成产品不兼容。结果是应用层的功能无法真正与IEC61131-3相一致,物理层和硬件又无法与主流的8位、16位嵌入式计算机芯片相融合。使Profibus和FF只能限制到特定应用领域。无法实现统一编程组态工具,也是目前已有的现场的主要缺点。将现场总线协议功能限定在网络通讯服务,只抽象应用服务功能,不要把现场总线协议无限延伸。将具体的控制行为交给编程语言去实现,是目前开发以太网络控制设备正确的选择。当然,开发新一代现场总线产品也没有必要完全放弃已有的成熟技术,比如:Profibus协议提供的FMS服务,就是一个很好的服务抽象。
为什么以太网技术受到自动控制设备制造商的重视?其根本原因是现有廉价资源可以充分利用。如有统一网络(现场总线)服务协议标准,那么廉价的嵌入式计算机UART接口加RS485总线就是一种很好的总线标准,就可以实现8位、16位计算机芯片的廉价网络联接。CAN总线和IEC61158-2总线也应当获得支持。如果能同时实现以太网、RS485网、CAN、IEC61158-2相互联接,将大大地提高新一代控制设备的应用领域。
TCP/IP协议也是一个不能不讨论的技术问题。本文认为TCP/IP协议是INTERNET的基础。但是,在以太网用于实时控制时,通过TCP/IP再套上实时控制协议,将是产生帧冲突的根本原因。如果直接在以太网数据链路层上实现现场总线通讯服务协议,就可以直接控制以太网的帧冲突,从而获得时间确定性。这样做的负作用是,使控制系统无法实现INTERNET接入。为了解决这一问题,可以在需要INTERNET接入的设备中,插入第二块以太网卡或其它网络接口,来支持TCP/IP协议,使其专门用于INTERNET接入。
现场总线的通讯速率有多高就能满足使用要求?本文认为对RS485联接通讯速率,可以设定在192Kbps以下,IEC61158-2是31.25Kbps,CAN总线最高为1Mbps。这些通讯速率完全可以满足现场设备的接入要求。如果还需要更高的接入速率,可以选择以太网或用本文后面讨论的USB I/O模块替代。
限制现场总线速度的最大好处是,实现廉价的设备接入。因为大部分需要使用廉价现场总线设备的控制点一般在几十个控制点以内,没有合理价格,将影响用户的使用。
还有一个影响通讯速率的因素是网络终端设备自身的可编程能力。本文的设计目标就是将IEC61131-3的编程能力分配到各个网络(现场总线)终端设备中。也就是实现现场控制。这将大大减少网络上的通讯量,最大地利用有效通讯带宽。也提高了整个系统的可靠性。
现场总线协议是否需重新设计,仍然是一个有待争论的课题。有一点可以确定,那就是我们仍然需要在这一领域进行创新。而不是从此停下来享用现有成果。
3、工业控制计算机与I/O模块
本文将工业控制计算机分为两类:一类用于人机接口(在本文的下一小节进行讨论);另一类用于现场控制。
目前,工业控制计算机存在以下几方面的问题:
⑴ 没有适合实时控制的基本嵌入软件(相当于PC兼容机的BIOS)。目前大部分实际使用的工业控制计算机是利用老式MS-DOS操作系统。使用MS-WIDOWS的工业控制计算机则与通用计算机没有区别,这样的机器不能很好的适应工业现场设备安装要求。
⑵ 输入/输出模块没有标准化。用户必须为不同厂家生产的I/O模块编写不同的驱动程序。另外,设标准插口也使工业控制计算机主机板卡无法装入标准外壳中,实现在电气箱(柜)中的简单联线。
⑶ 无法接受IEC61131-3的编程语言的编译结果。目前虽然有一些Soft-PLC可以写入工业控制计算机,但是大多数是在MS-Windows操作上运行的,无法成为现场控制设备。
⑷ 工业控制计算机无法与标准的以太网控制设备和现场总线设备实现直接互联。
⑸ 工业控制计算机只有PC兼容机芯片组成的系统。把品种繁多、性能优秀、价格低廉的32位嵌入式计算机芯片排除在外。极大地限制了工业控制计算机的应用领域。
针对以上问题,本文认为用途最广泛的工业控制计算机应当具有以下具特征:32位无需机械散热的计算机芯片、4~256Mb的内置容量、5~30Mb的FLASH电子盘、1~2个以太网内量驱动器、USB接口。价格在300~2000元人民币。满足以上要求的主板是非常多的,很多单片嵌入式计算机芯片就能满足要求。
标准I/O模块完全可以由USB接口实现,这样可以使电气和软件联接,实现标准化。并且由不同的厂家分别生产,实现广泛用途的I/O功能模块。USB的三种通讯速率1.5Mbps、12Mbps、480Mbps几乎可以满足所有的现场控制任务。
也可以使用RS485协议来实现标准I/O模块联接。
实现I/O模块标准化的意义不亚于实现现场总线设备标准化的意义。只要能够定义出标准I/O服务协议,就可以使I/O模块驱动软件标准化。
实现工业控制计算机的基本嵌入式软件的意义非常重要,有了它就可以实现编程组态的软件工具标准化。基本嵌入式软件包括网络和现场总线协议驱动,编程语言支持,标准I/O模块驱动软件,网络组态和在线调试软件。基本嵌入式软件和编程组态工具软件是新型工业控制机实现产业化规模生产的关键。实现这一目标,就可以使组装工业控制机象组装通用计算机一样方便。
4、人机互动接口
自动控制设备的人机接口与控制器一样应具有多样性。小系统只需要几个铵钮和能够显示几行文本的液晶显示器,大系统需要具有通用计算机那样的画面显示。仍然需要将它们统一标准,形成统一的组态工具。实现这一标准的方法是,设一套面向自动控制的界面描述语言。大家可能立即想到了XML的INERNET标准语言,本文认为直接使用XML语言,不是很好的选择。因为,完全驱动XML目前必须依赖通用操作系统。我们可以设计一种直接描述自动控制设备的描述语言。在需要接入INTERNET时,通过软件将其翻译成XML语言。
人机接口描述语言的功能,可以分为三类:
⑴ 文本显示类。
⑵ 不含位置拾取器的画面描述语言类。
⑶ 含位置拾取器的画面描述语言类。
描述语言可以将常用的仪表画面指示、趋势指示、特定图形动画运动等与IEC61131-3的变量描述相联接。实现现场监控。输入可以采用USB接口的小型专用键盘。位置拾取器可以是鼠标或触摸屏。在显示接口的工业控制计算机中嵌入这种描述语言的驱动器软件,就可以接受标准组态软件的组态数据。将这种描述语言与IEC61131-3的编程语言变量相联接,就可以实现现场监控。
将这种描述语言解析成实际的画面有两种途径:一种是将其翻译成XML由通用浏览器软件在通用计算机中显示;另一种是在显示器接口的工业控制计算机中直接解析实现显示。后者的好处是:无需借用通用操作系统,就可以生产出专用自动控制的监控终端设备,并且没有太多沉余代码,运行可靠。
5、标准化和产品化
实际本文的目标需要建立相关的软件标准:⑴编程语言编译目标算法标准;⑵网络和现场总线服务标准;⑶I/O模块驱动标准;⑷人机接口描述语言标准。开发新一代自动控制设备应有自主建立新型标准的决心,才能设计出面向未来与国际先进水平相竞争的产品。应当有更多的标准和软件,向终端设备生产厂家开放,并且提供相应的技术支持。
本文按目前的计算机软、硬件技术提出新一代自动控制设备的设计思想,已在作者所在企业产品开发中实施,预计不久将有相应的产品推出。
8/1/2006
|