一种控制实现方法和系统的制作方法

文档序号:6290443阅读:486来源:国知局
专利名称:一种控制实现方法和系统的制作方法
技术领域
本发明工业过程自动化技术领域,特别是涉及一种工业过程控制的方法和 系统。
背景技术
工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其它信息 技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加 产量、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业自
动化软件、硬件和系统三大部分。工业控制自动化技术作为20世纪现代制造 领域中最重要的技术之一,主要解决生产效率与 一致性问题。
在整个自动化技术中,工业控制软件是一只不可忽视的力量,虽然工业控 制软件本身并不直接创造效益,但它对企业生产过程有明显的提升作用。而大 多数的工业控制软件都离不开对工业设备的参数采集和控制指令的执行,例
如,在半导体制造业中,控制软件需要从底层硬件中采集现场数据,进而实现 对硬件的控制。
一般的,数据釆集是指从传感器和其它待测设备等模拟和数字被测单元中 自动采集信息的过程。数据采集系统是结合基于计算机的测量软硬件产品来实 现灵活的、用户自定义的测量系统。数据采集技术在工业控制及自动化等领域 中发挥着重要的作用。数据釆集的一般过程是这样的①向釆集卡发出通道选 择指令。②选择要采集的通道号。③启动A/D转换。④等待,直到转换完成。 ⑤从采集卡读出数据。
在半导体行业中,目前应用比较广泛的设备控制软件是Brooks ^^司的 Control Vision J (简称CVJ)。 CVJ与底层;f反卡的通信是通过了一个Control IO模块完成的。在该解决方案中,直接控制底层硬件的软件(由Control 10 软件包二次开发得到的具体应用)和上层控制软件是两个独立的应用程序(由 CVJ软件包二次开发得到的具体应用),二者是采用两种编程语言编写的,分 别在两个进程下执行;直接控制底层硬件的软件和上层控制软件之间采用 socket (套4妄字)方式通信。其缺点在于1、 由于在两个进程之间采用Socket通信,而Socket通信本身有以下几 个缺点
1) 必须是建立连接才能通讯,连接要一定时间;
2) 不适合单点对无穷多点进行通讯;
3) 不适合不固定多点对多点通讯;
4) 普通的Socket在通讯过程中没有加密(UDP也是);
5) 不能在子进程中共享Socket连接;
6) 连接双方必须有相对固定的IP地址;
而且Socket通信是基于TCP/IP网络通讯协议,因此数据传输速度较慢。
2、 在需要控制的硬件类型较多的情况下,可能同时存在多个直接控制底 层硬件的软件与上层控制软件进行数据传递的情形,即需要维持多个进程。
总之,需要本领域技术人员迫切解决的一个技术问题就是如何能够提出 一种提高底层硬件和上层控制软件之间数据通信效率的方案。

发明内容
本发明所要解决的技术问题是提供一种工业过程控制方法和系统,能够提 高底层硬件和上层控制逻辑部分之间数据通信效率,并具有高效、快速的数据 处理能力。
为了解决上述问题,本发明公开了一种工业过程控制方法,可以包括生
成读写操作请求;针对该读写操作请求分配一线程,并维护该线程直至执行完
毕;所述生成读写操作请求的步骤和分配线程并执行的步骤在同 一个应用进程 中完成;查找预置的映射关系表,获取所需的针对相应底层硬件的读写函数; 所述映射关系表用于存储读写操作请求与具体读写函数之间的映射关系;执行 该读写函数,调用底层硬件的驱动程序,完成相应操作,获取所需的结果数据, 该线程执行完毕。
优选的,所述的映射关系表包括多个类,所述类用于分别存储不同类型的 底层硬件所对应的读写函数和读写操作请求的映射关系。
优选的,所述读写操作请求与具体读写函数之间的映射关系还包括用于区 别不同硬件设备的结点号,以及用于区分同 一硬件设备中不同数据通道的通道 号。优选的,针对多个读写操作请求,同时管理和维护多个相应的线程。 优选的,当目前的线程数达到预定的最大线程数时,将当前读写才喿作请求 置于等待队列中直至出现可用的线程。
依据本发明的另 一优选实施例,还公开了 一种用于工业过程控制的数据通
信装置,包括
接收器,用于接收读写操作请求;
线程管理器,用于针对该读写操作请求分配一线程,并维护该线程直至执 行完毕;在该线程中调用匹配器和函数执行器,以完成对该读写操作请求的执 行;
匹配器,用于查找预置的映射关系表,获取所需的针对相应底层硬件的读 写函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映射关 系;
函数执行器,用于执行该读写函数,调用底层硬件的驱动程序,完成相应 操作,获取所需的结果数据。
优选的,所述的映射关系表包括多个类,所述类用于分别存储不同类型的 底层硬件所对应的读写函数和读写操作请求的映射关系。
优选的,所述读写操作请求与具体读写函数之间的映射关系还包括用于区 别不同硬件设备的结点号,以及用于区分同 一硬件设备中不同数据通道的通道
优选的,针对多个读写才喿作请求,所述线程管理器同时管理和维护多个相 应的线程。
优选的,当目前的线程数达到预定的最大线程数时,所述线程管理器将当 前读写操作请求置于等待队列中直至出现可用的线程。
依据本发明的另一优选实施例,还公开了一种工业过程控制系统,其特征
在于,包括主控装置和硬件控制装置;所述主控装置用于依据预置逻辑产生读 写操作请求;所述硬件控制装置和主控装置在同一个应用进程中运行;
所述硬件控制装置包括以下部件
接收器,用于接收所述读写才喿作请求;
线程管理器,用于针对该读写操作请求分配一线程,并维护该线程直至执行完毕;在该线程中调用匹配器和函数执行器,以完成对该读写操作请求的执 行;
匹配器,用于查找预置的映射关系表,获取所需的针对相应底层硬件的读 写函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映射关 系;
函数执行器,用于执行该读写函数,调用底层硬件的驱动程序,完成相应 操作,获取所需的结果数据。
与现有技术相比,本发明具有以下优点
本发明的关键点之一是直接将数据采集部分作为整个工业控制系统中的 一个从属模块(并非两个应用程序),并采用了多线程的方法来实现控制软件 和底层硬件之间的数据交互,即数据釆集部分在整个工业控制系统的同 一进程 中运行。由于每个进程具有私有的虚拟地址空间、代码、数据和其它系统资源, 所以运行于一个进程中的多个线程彼此之间可以使用相同的地址空间,共享大 部分数据。相对于现有技术的进程间通信,可以省略数据采集部分和上层控制 逻辑部分之间的一次通信过程,从而提高通信效率。
其次,在本发明的一优选实施例中,各个底层硬件和数据采集部分的通信 釆用的是线程的方式,线程的基本思想很简单,它是一个独立的执行流,是进 程内部的一个独立的执行单元,相当于一个子程序。与CAJ方案所采用的进程 方式相比,启动一个线程所花费的空间远远小于启动一个进程所花费的空间, 而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间,从而 可以提高底层硬件和数据采集部分的通信效率;并且,由于同一进程下的线程 之间共享数据空间,所以一个线程的数据可以直接为其它线程所用,导致针对 不同类型硬件采集数据的线程间通信方便快捷。


图1是本发明一种工业过程控制的方法实施例的步骤流程图2是本发明关于线程管理和读写任务的系统架构示意图3是本发明基于多线程的工业过程控制方法实施例的步骤流程图4是本发明一种用于工业过程控制的数据通信装置实施例的结构框图;图5是本发明一种工业过程控制的系统实施例的结构框图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如个人计算 机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基 于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、 大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的 一般上下文中描述,例 如程序模块。 一般地,程序模块可以包括执行特定任务或实现特定抽象数据类 型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实 践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设 备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的 本地和远程计算机存储介质中。
参照图1,示出了本发明一种工业过程控制的方法实施例,具体可以包括 以下步骤
步骤IOI、生成读写操作请求;
步骤1G2、针对该读写操作请求分配一线程,并维护该线程直至执行完毕; 所述生成读写操作请求的步骤101和分配线程并执行的步骤102在同一个应用 进程中完成;步骤103和步骤104可以看成是一线程执行的具体过程;
步骤103、查找预置的映射关系表,获取所需的针对相应底层硬件的读写 函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映射关 系;
步骤104、执行该读写函数,调用底层硬件的驱动程序,完成相应操作, 获取所需的结果数据,该线程执行完毕。
步骤101中所述的读写操作请求可以包括各种底层硬件和上层控制系统 之间的信息交互过程,例如,所述读才喿作可以针对数据釆集过程,所述写操:作 可以针对控制指令执行过程。所述读写操作请求可以包括上层控制系统依据预 定逻辑或者预定策略产生的各种针对底层硬件的数据处理请求。当在短时间内,接收到多个读写操作请求时,则可以相应的启动多个线程 用于完成对各读写操作请求的执行,并维护之数据交互完毕。当然,由于同时 存在的线程数不可能无限大,所以当目前维护的线程数达到预定的最大线程数 时,将当前读写操作请求置于等待队列中直至出现可用的线程。
同时管理和维护多个线程执行的情况一般称之为多线程技术。线程是基本 的执行单元,单线程执行一系列应用程序指令,并且在应用程序中从头到尾都 经由单一的逻辑路径。所有的应用程序都至少有一个线程,在本发明将其设计 成使用多线程,并且每个线程执行一个单独的逻辑。在应用程序中使用多线程, 可以将冗长的或非常耗时的任务放在后台处理。即使在只有单处理器的计算机 上,使用多线程也可以非常显著地提高应用程序的响应能力和可用性。本发明 尤其适用于半导体制造业中的设备控制中(例如,刻蚀机控制等),可以有效 的加快程序的反应速度以及增加数据采集、指令执行的效率。
一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局 变量和系统资源。操作系统给每个线程分配不同的CPU时间片,在某一个时刻,
CPU只执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行,
由于每个时间片时间很短,所以对用户来说,仿佛各个线程在计算机中是并行
处理的。操作系统是根据线程的优先级来安排CPU的时间,优先级高的线程优
先运行,优先级低的线程则继续等待。
与进程相比,多线程是一种非常"节俭"的多任务操作方式。例如,在Linux 系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表 来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而 运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部 分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而 且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。上面仅 仅是以Linux系统为例进行说明,实际上对于其他操作系统也是如此,例如, Windows、 MacOS、 FreeBSD, Unix, Solaris等等。
其次,对不同进程来说,它们具有独立的数据空间,要进行数据的传递只 能通过通信的方式进行,这种方式不仅费时,而且4艮不方便。线程则不然,由 于同一进程下的线程之间共享数据空间,所以一个线程的凝:据可以直接为其它
9线程所用,这不仅快捷,而且方便。
同时多线程作为一种多任务、并发的工作方式,对于整个控制系统运行而
言还具有以下的优点
1) 提高应用程序响应。这对图形界面的程序尤其有意义,当一个操作耗 时很长时,整个系统都会等待这个操作,此时程序不会响应键盘、鼠标、菜单 的操作,而使用多线程技术,将耗时长的操作(time consuming)置于一个新 的线程,可以避免这种尴尬的情况。
2) 使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时, 不同的线程运行于不同的CPU上。
3) 改善程序结构。 一个既长又复杂的进程可以考虑分为多个线程,成为 几个独立或半独立的运行部分,这样的程序会利于理解和修改。
图1所示的实施例可以是针对一个底层硬件的数据采集和指令执行,也可 以应用在针对多个底层硬件的数据采集和指令执行中。当然,由于涉及到更多 的底层硬件之后,而每个硬件设备都有自己的软件驱动和读写函数接口 ,因此, 为了使控制软件在读写设备时有一个统一的接口 ,本发明引入了 Device Accessor (设备访问器)的概念,而不需要对每个硬件都开发相应的控制接口 。 Device Accessor是一个由用户实现的类,在该类中可以添加任意多个读写硬_ 件的函数,这些函数需要根据指定的要求进行定义,包括参数及返回类型;在 这些函数中通过调用各个设备所提供的函数接口实现对底层硬件的读写操作。 即通过Device Accessor这才羊一个类的定义,当进4亍二次开发时,用户可以自 由扩展所需控制的硬件数量和类型,而不需要再增加10模块。其次,当所需 控制的底层硬件的数量较多或者类型差别较大的情况,则可以定义多个类,每 个类中存储不同类型的底层硬件相应的读写函数。
在具体的程序运4亍中,完成Device Accessor后,还需要调用控制系统 提供的接口将该类的实例对象及相应的读写函数以函数指针的形式进行注册, 以保证该类的设定信息被执行。由于在同 一硬件设备中还可能存在多个通道的 数据采集和指令执行,因此,本发明在实现上述映射关系时采用了结点号和通 道号的概念。从逻辑上讲,结点号用来区分不同的硬件设备,通道号用来区分同一设备上的不同通道(例如,devicenet就是用通道号识别10信号是发到 一个设备的哪个通道上的,pci板卡也是有通道号的)。结点号和通道号可以 由用户在注册Device Accessor时指定。
如果将上述过程对应至系统模块,则需要涉及用于分配和管理线程的线程 管理模块,以及用于对底层硬件进行管理的设备管理模块,设备管理模块接收 将Device Accessor类的实例对象及相应的读写函数以函数指针的形式进行注 册,整个控制系统通过设备管理模块实现对某个读写设备的操作与具体的读写 函数的映射关系。
参照图2,示出了一个简单的系统架构图。图2中的连线和箭头不表示流 程,而着重表示的是各部分之间的关系,例如,线程管理模块201和线程202 之间的关系就是从线程管理模块201指向线程202的管理关系,线程管理模块 201和读写任务203之间的关系就是线程管理模块201接收读写任务203并向 其分配线程的关系,而读写任务203则调用i殳备管理器204完成读写任务203, 设备管理器204与Device Accessor类205的关系是前者管理、映射、调用后 者,进而通过Device Accessor类205的调用完成对各个底层石更件驱动程序 206的调用。
参照图3,示出了一种多线程^丸行的工业过程控制的方法实施例,包括以 下步骤
步骤301、接收上层控制系统发出的读写硬件设备的请求;
步骤302、针对该读写硬件设备的请求,生成一个读写任务;所述上层控
制系统生成读写请求的步骤和生成并完成相应读写任务的步骤是在同一进程
中执行的;
步骤303、接收该读写任务,并为其分配一个线程;
步骤3(M、判断当前是否还存在可用的线程,如果没有,则将上述分配的 新线程放入等待队列中,以保证该读写任务被及时处理;
步骤305、如果当前出现了可用的线程,则在该线程中执行上述的读写任
务;
步骤306、依据该读写任务中涉及的结点号和通道号从映射关系表中才查 找得到所需的读写函数;步骤307、执行该读写函数,调用相应的底层硬件的驱动程序,完成相应
的操作,获取相应的结果数据并返回。
步骤304中所述的队列是一种先进先出的线性表,它只允许在表的一端进 行插入,而在另一端删除元素,像日常生活中的排队,最早入队的最早离开。 队列中没有元素时,称为空队列,队列具有先进先出(FIFO)的特点。
在本发明的一个优选实施例中,当存在多线程执行时,需要进一步解决线 程同步和线程安全的问题。
参照图4,示出了一种用于工业过程控制的数据通信装置400实施例,该 装置位于整个工业过程控制系统中,包括
接收器401,用于接收读写操作请求;
线程管理器402,用于针对该读写4喿作请求分配一线程,并维护该线程直 至执行完毕;在该线程中调用匹配器和函数执行器,以完成对该读写操作请求 的执行;
匹配器403,用于查找预置的映射关系表,获取所需的针对相应底层硬件 的读写函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映
射关系;
函数执行器404,用于执行该读写函数,调用底层硬件的驱动程序,完成 相应操作,获取所需的结果数据。
当然,上述的装置400模块划分是与本发明的方法步骤一一对应描述的, 实际当中也可以将同 一功能进行拆分或者将两个功能合并在一个模块中完成, 例如,在前面的实施例中,就将匹配器403和函数执行器404所分别完成的功 能合并在所述的设备管理模块中完成的。这些简单的功能拆分和合并并不能影 响本发明的保护。
优选的,所述的映射关系表包括多个类以适应需要控制多种类型的底层硬 件,所述类用于分别存储不同类型的底层硬件所对应的读写函数和读写操作请 求的映射关系。进一步,所述读写操作请求与具体读写函数之间的映射关系还 可以包括用于区别不同硬件设备的结点号,以及用于区分同 一硬件设备中不同 数据通道的通道号。
在本发明的另一优选实施例中,针对多个读写操作请求,所述线程管理器同时管理和维护多个相应的线程。当目前的线程数达到预定的最大线程数时, 所述线程管理器将当前读写操作请求置于等待队列中直至出现可用的线程。
参照图5,示出了一种工业过程控制系统的实施例,具体可以包括主控装
置和硬件控制装置;所述主控装置501用于依据预置逻辑产生读写操作请求; 所述硬件控制装置和主控装置在同 一个应用进程中运行;
所述硬件控制装置包括以下部件
接收器502,用于接收所述读写操作请求;
线程管理器503,用于针对该读写^喿作请求分配一线程,并维护该线程直 至执行完毕;在该线程中调用匹配器和函数执行器,以完成对该读写操作请求 的执行;
匹配器504,用于查找预置的映射关系表,获取所需的针对相应底层硬件 的读写函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映 射关系;
函数执行器505,用于执行该读写函数,调用底层硬件的驱动程序,完成 相应操作,获取所需的结果数据。
图5所示的控制系统实施例其核心点在于在同一进程中应用了本发明的 数据通信解决方案,当然,其还可以包括更多的从属模块,例如报警模块506 等等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的 都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即 可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较筒 单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种工业过程控制方法和系统,以及一种用于工业 过程控制的数据通信装置,进行了详细介绍,本文中应用了具体个例对本发明 的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的 方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应 理解为对本发明的限制。
权利要求
1、一种工业过程控制方法,其特征在于,包括生成读写操作请求;针对该读写操作请求分配一线程,并维护该线程直至执行完毕;所述生成读写操作请求的步骤和分配线程并执行的步骤在同一个应用进程中完成;查找预置的映射关系表,获取所需的针对相应底层硬件的读写函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映射关系;执行该读写函数,调用底层硬件的驱动程序,完成相应操作,获取所需的结果数据,该线程执行完毕。
2、 如权利要求l所述的方法,其特征在于,所述的映射关系表包括多个类,所述类用于分别存储不同类型的底层硬件 所对应的读写函数和读写^喿作请求的映射关系。
3、 如权利要求1或2所述的方法,其特征在于,所述读写操作请求与具体读写函数之间的映射关系还包括用于区别不同 硬件设备的结点号,以及用于区分同 一硬件设备中不同数据通道的通道号。
4、 如权利要求1或2所述的方法,其特征在于,针对多个读写操作请求, 同时管理和维护多个相应的线程。
5、 如权利要求4所述的方法,其特征在于,当目前的线程数达到预定的最大线程数时,将当前读写操作请求置于等待 队列中直至出现可用的线程。
6、 一种用于工业过程控制的数据通信装置,其特征在于,包括 接收器,用于接收读写操作请求;线程管理器,用于针对该读写操作请求分配一线程,并维护该线程直至执 行完毕;在该线程中调用匹配器和函数执行器,以完成对该读写操作请求的执 行;匹配器,用于查找预置的映射关系表,获取所需的针对相应底层硬件的读 写函数;所述映射关系表用于存储读写才喿作请求与具体读写函数之间的映射关 系;函数执行器,用于执行该读写函数,调用底层硬件的驱动程序,完成相应操作,获取所需的结果数据。
7、 如权利要求6所述的装置,其特征在于,所述的映射关系表包括多个类,所述类用于分别存储不同类型的底层硬件 所对应的读写函数和读写操作请求的映射关系。
8、 如权利要求6或7所述的装置,其特征在于,所述读写操作请求与具体读写函数之间的映射关系还包括用于区别不同 硬件设备的结点号,以及用于区分同 一硬件设备中不同数据通道的通道号。
9、 如权利要求6或7所述的装置,其特征在于,针对多个读写操作请求, 所述线程管理器同时管理和维护多个相应的线程。
10、 如权利要求9所述的装置,其特征在于,当目前的线程数达到预定的最大线程数时,所述线程管理器将当前读写操 作请求置于等待队列中直至出现可用的线程。
11、 一种工业过程控制系统,其特征在于,包括主控装置和硬件控制装置; 所述主控装置用于依据预置逻辑产生读写^喿作请求;所述硬件控制装置和主控 装置在同 一个应用进程中运行;所述硬件控制装置包括以下部件 接收器,用于接收所述读写操作请求;线程管理器,用于针对该读写操作请求分配一线程,并维护该线程直至执 行完毕;在该线程中调用匹配器和函数执行器,以完成对该读写操作请求的执 行;匹配器,用于查找预置的映射关系表,获取所需的针对相应底层硬件的读 写函数;所述映射关系表用于存储读写才喿作请求与具体读写函数之间的映射关 系;函数执行器,用于执行该读写函数,调用底层硬件的驱动程序,完成相应 操作,获取所需的结果数据。
全文摘要
本发明公开了一种工业过程控制方法和系统,其中所述方法可以包括以下步骤生成读写操作请求;针对该读写操作请求分配一线程,并维护该线程直至执行完毕;所述生成读写操作请求的步骤和分配线程并执行的步骤在同一个应用进程中完成;查找预置的映射关系表,获取所需的针对相应底层硬件的读写函数;所述映射关系表用于存储读写操作请求与具体读写函数之间的映射关系;执行该读写函数,调用底层硬件的驱动程序,完成相应操作,获取所需的结果数据,该线程执行完毕。本发明可以提高工业控制系统中底层硬件和数据采集部分之间的通信效率。
文档编号G05B19/418GK101424941SQ20071017665
公开日2009年5月6日 申请日期2007年10月31日 优先权日2007年10月31日
发明者李娟娟, 熙 苑 申请人:北京北方微电子基地设备工艺研究中心有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1