分时多任务PLC技术 点击:0 | 回复:13



XX132321

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 249回
  • 年度积分:0
  • 历史总积分:517
  • 注册:2006年11月10日
发表于:2006-12-05 13:12:00
楼主
贝加莱(B&R)PCC—
一种新型的定性分时多任务PLC技术

自1969年世界上诞生了第一台可编程逻辑控制器(PLC)以来,可编程控制技术在工业控制领域便一路高歌,取得了极为广泛的应用。但是随着这过去的30多年里,计算机技术、电子技术、网络通信技术以及自动控制技术的飞速发展,使得工程师们在工业应用中对于控制器的功能需求也远远超越了当初的“顺序逻辑控制”的简单期望。
来自于奥地利的贝加莱(B&R)工业自动化公司便是敏锐地扑捉到这一技术需求的变化,早在1994年便在全球第一个推出了基于定性实时多任务操作系统(Real Time multi-tasking Operation System)的可编程计算机控制器(PCC—Programmable Computer Controller),时至今日,仍然代表了这一创新技术的发展趋势,成为新一代自控工程师的新宠。
我们知道,常规的PLC大多采用单任务的时钟扫描或监控程序,来处理程序本身的逻辑运算指令以及外部的I/O通道的状态采集与刷新,整个应用程序采用一个循环周期,但事实上在一个控制系统中,我们往往有一些是实时性要求很高的量,但也有很多类似大惯性的模拟量是没有太高实时要求的,如果采用同样的刷新速度其实是对资源的浪费,而且循环顺序扫描的运行机制也直接导致了系统的控制速度严重依赖于应用程序的大小,应用程序一旦复杂庞大,控制速度就必然降低。这无疑是同我们对I/O通道中高实时性控制的要求相违背的。
但PCC系统的设计方案则完美地解决了这一问题,与常规PLC相比较,PCC最大的特点就在于其引入了类大型计算机的分时多任务操作系统理念,并辅以多样化的应用软件设计手段,由于分时多任务的运行机制,使得应用任务的循环周期与程序长短无关,而是由设计人员根据工艺需要自由设定的,从而将应用程序的扫描周期同真正外部的控制周期区别开来,满足了真正实时控制的要求,而且这种控制周期是可以在CPU运算能力允许的前提下,按照用户的实际要求而做相应设定。
 
传统PLC运行模式
 
定性分时多任务操作系统PLC的运行模式
  基于这样的运行平台,PCC的应用程序可分为多个独立的任务模块,这样给项目应用软件的开发带来了了极大的便利,因为这样可以方便地根据控制项目中各子系统的不同功能要求,如数据采集,报警,PID调节运算,通信控制等,开发相应的控制程序模块(任务),在分别编制和调试之后,可一同下载至PCC的用户程序存储器中,在多任务操作系统的调度管理下,并行协同运行,因为这些模块既相互独立运行,而数据间又保持一定的相互关联,由他们共同实现项目的控制要求。在这多个任务中,根据不同任务对实时性能的不同需求,设计人员可以指定不同的优先等级即确定的循环周期,从而实现确定的分时多任务控制。即便某个任务处于等待状态,别的任务也可继续执行。
这种多任务的运行机制,采用大型应用软件的模块化设计思想,还带来了项目开发效率上的提高,有着常规PLC无法比拟的灵活性。因为这多个任务各个任务模块的功 能描述更趋清晰简洁,用户在开发自己的任务时,由于对其功能的提取具有通用性,因而作为一个独立的功能模块,用户可十分方便地将其封装起来,以便于日后在其他应用项目重新使用。而且各个不同单个任务甚至可以由开发小组的不同成员分别编制,不同的开发人员基于共同的约定,可以灵活选用不同编程语言,这就意味着不仅在常规 PLC上一直为人们所熟悉的梯形图,指令表语言等符合IEC3113-3规范的通用语言可以在PCC上继续沿用,而且用户还可采用更为高效直观的高级语言,比如ANCI C 和Basic,从而实现复杂的数学运算功能和过程控制算法。而且所有这些编程语言,PCC都采用“符号变量”来标识外部I/O通道及内部寄存器单元(例如motor_run代表某开关量输出通道,switch_on代表某开关量输入通道)。这样,软件开发人员毋需熟知 PCC内部的硬件资源分布,而只须集中精力于项目本身的工艺要求,即可迅速编制出结构清晰功能明确的控制程序来。
  PCC在硬件上的特点,还体现在它为工业现场的各种信号和应用设计了许多专用的接口模块和功能模块,如温度、张力、鼓序列发生、脉冲编码,称重、超声波信号等等。它们将各种形式的现场信号十分方便的联入以PCC为核心的数字控制系统中,用户可按需要对I/O通道进行数十数百点至数千点的扩展与联网。在PCC模块内部,CPU的数据总线与IO总线分离,并配置有独立的I/O处理器,特有的时间处理单元(TPU)在不增加CPU负荷的前提下,高速处理无论简单或复杂的定时任务(具有很高的I/O处理能力和处理速度),其基准时钟频率可高达6.29MHz,被广泛应用于测频测相及PWM等极高精度的时间处理场合中。而其所有数字量输入端都经过了光电耦合隔离,模拟量输入端也都经过了RC滤波处理,因此具有很好的抗干扰能力,其整体硬件平均无故障时间MTBF高达50万小时。
PCC在远程通信方面的灵活性,是区别于常规PLC的一大显著标志,作为未来构成分布式现场I/O控制的主要角色之一,PCC为此提供了十分灵活多样的解决方案。除开放式现场总线的网络方案之外,PCC还提供了多种网络协议,用户不仅可以采用PCC自身的网络协议,也可以方便的与其他厂家的PLC等工控设备联网通信(如Siemens,AB, Modicon等),在一些特殊情况下,PCC还为用户提供了创建自定义协议的帧驱动器工具。特别值得一提是Ethernet PowerLink网络协议,这是2001年贝加莱公司在竞争对手还在讨论实时工业以太网概念的时候,便在全球第一次推出了真正意义的实时工业以太网络,其扫描周期和通信循环时间为400微秒, 网络抖动低于1μs.并成功应用在50多轴同步运行的高性能机械设备中。目前全球应用超过120,000个节点。由于具备这样的技术优势,PCC常常能解决许多常规PLC所望尘莫及的通信难题,轻松实现与各种不同产品,不同通信协议的高效互联。 
  目前,B&R公司的PCC主要由2005系列、2003系列以及X20系列构成,由于在网络通信方面的开放性和结构上的模块性,三种系列的PCC在构成控制系统的规模上,往往是十分灵活可塑的。也正顺应了PLC、IPC及DCS(分布式工业控制系统)技术相互融合的发展潮流,因此贝加莱的PCC控制器携其DCS系统APPROL目前在越来越多的工业应用领域中,日益显示出了其不可低估的发展潜力。
  PCC 作为一种可编程计算机控制器,它是专为在工业环境下应用而设计的,是一种新型的定性分时多任务PLC,它不但具备传统PLC的所有功能,同时融合了最新的IT网络技术和可选的高级语言编程环境,具有更强大的数学运算能力,网络通信能力以及抗干扰能力和控制能力,从而具有更高的可靠性和广泛适应性。



ztf

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:237
  • 注册:2006年6月13日
发表于:2006-12-08 13:55:00
1楼
顶下

匪夷所思

  • 精华:1帖
  • 求助:0帖
  • 帖子:153帖 | 2046回
  • 年度积分:0
  • 历史总积分:3396
  • 注册:2005年6月10日
发表于:2006-12-08 14:51:00
2楼
帮顶

莫筹

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2005年11月24日
发表于:2006-12-14 13:09:00
3楼
感覺好像更人性化 智能化了

XX132321

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 249回
  • 年度积分:0
  • 历史总积分:517
  • 注册:2006年11月10日
发表于:2006-12-15 17:33:00
4楼
分离实时要求不强的任务,减少CPU 负担.提高CPU的运算速度和效率,不错的一种设计理念

龙居士

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 595回
  • 年度积分:0
  • 历史总积分:668
  • 注册:2003年10月22日
发表于:2006-12-21 09:54:00
5楼

XX132321

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 249回
  • 年度积分:0
  • 历史总积分:517
  • 注册:2006年11月10日
发表于:2006-12-22 14:48:00
6楼
当然

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 1559回
  • 年度积分:1
  • 历史总积分:3114
  • 注册:2006年6月08日
发表于:2007-01-04 16:32:00
7楼
非常好,能具体问下么?
假如有两个任务:一个是循环任务,循环时间10ms;一个是事件任务,由2ms间隔的信号触发,其优先级高于循环任务。
那么,不懂的是:这样是不是事件任务一直占用了CPU?

XX132321

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 249回
  • 年度积分:0
  • 历史总积分:517
  • 注册:2006年11月10日
发表于:2007-01-05 13:19:00
8楼
2ms事件任务,其扫描执行时间一般少于2MS,设定的2MS一般是在2MS内必须完成。以贝加莱2005CPU340来说,其指令周期是0.038US。及2ms事件任务可以在这样的时间完成。剩余的空闲时间可以去执行10MS的任务。当两MS到了,系统转去执行2MS任务。任务执行完后接着执行10MS任务。 

XX132321

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 249回
  • 年度积分:0
  • 历史总积分:517
  • 注册:2006年11月10日
发表于:2007-01-15 08:48:00
9楼
??

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 1559回
  • 年度积分:1
  • 历史总积分:3114
  • 注册:2006年6月08日
发表于:2007-01-19 13:49:00
10楼
非常感谢苦瓜老兄的回答。
我知道一般的PLC比如三菱的都是在循环之初读取I/O映象信息,循环之后刷新I/O映象信息。
还是以我上面说的2ms的事件任务和10ms的循环任务为例。
假如事件任务和循环任务共用了一些I/O作为输入输出,这些I/O的控制上会不会有冲突呢?

XX132321

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 249回
  • 年度积分:0
  • 历史总积分:517
  • 注册:2006年11月10日
发表于:2007-01-22 15:39:00
11楼
I/O信息 ,是放在循环任务中的,事件任务也可以调用一个循环任务作为时间任务,受到触发执行。其映射的对象只有一个。不会产生冲突,很高兴共同探讨

天下乌贼

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:113
  • 注册:2006年7月07日
发表于:2007-01-23 14:35:00
12楼
学习学习。

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 1559回
  • 年度积分:1
  • 历史总积分:3114
  • 注册:2006年6月08日
发表于:2007-01-26 15:29:00
13楼
对于I/O控制,我理解成B&R的PLC不是在循环之初读取I/O映象信息,循环之后刷新I/O映象信息这样方式。
而是把I/O作为一个变量,实时控制。
这样理解对么?

相关主题

官方公众号

智造工程师