编译模型的制作方法

文档序号:6580762阅读:118来源:国知局
专利名称:编译模型的制作方法
技术领域
本发明涉及工业控制系统,更为具体而言,涉及对与工业环境相关联的资源进行
通用编程。
背景技术
由于计算机技术的进步,今天的行业与仅几年前基本上相同的行业相比可以更为 有效地运行。例如,内部联网使得公司雇员能够通过电子邮件即时通信,快速地将数据文件 传送到不同的雇员,操作数据文件,共享与项目有关的数据以减少在工作成果中的重复等。 此外,技术的进步已经使得工厂应用变得部分或者完全自动化。例如,曾经要求工人亲自接 近重型机器或者其他各种危险状况的操作现在可以在安全距离处完成。 此外,通过使用高精密机器使与人的动作相关联的不足最小化。许多这些工厂设 备将与制造有关的数据提供给数据库,这些数据库可以由车间的项目管理器/过程/系统 访问。例如,传感器和相关软件可以检测多个如下实例特定的机器完成了给定规定的时间 量的操作。此外,可以将来自传感器的数据传递到与系统告警有关的处理单元。因而,工厂 自动化系统可以检查收集到的数据并且自动和/或半自动地调度设备的维护、设备的更换 和其他各种与对过程进行自动化有关的工序。 尽管已就工业过程的自动化做出了各种改进,但是控制器的应用和设计基本没有 改变。更具体而言,已将工业控制器设计为有效地承担实时控制。例如,传统工业控制器从 传感器接收数据,并且基于接收到的数据控制执行器、驱动器等。这些控制器通过与源和/ 或目的地相关联的符号和/或地址来识别数据的源和/或目的地。更具体而言,工业控制 器包括通信端口和/或适配器,并且将传感器、执行器、驱动器等以通信的方式耦合到这样 的端口 /适配器。因此,当接收到数据时,控制器可以识别设备身份并且进一步将控制数据 传递到合适的设备。 不幸的是,在自动化工业环境内所使用的传统控制器和设备已经落后于近来针对 自动化工业保持大步迈进的技术进步。传统的控制器和设备呆板并且不灵活,使得必须对 与其相关联的软件进行特定定制和/编程。换言之,每个控制器和/或设备通常需要特定的 代码或者软件以便在工业过程中使用。另外,在工业自动化工业中,存在各种编程语言并且 可以实施各种编程语言以生成和使用这样的过程。每种编程语言的固有好处和不利增加了 对控制器和设备进行编程的复杂性,其中开发者必须在编程语言中进行选择以创建过程。
—些软件开发程序向下将高级控制语言例如Ladder (梯形图)或者SFC(顺序功 能流程图)编译成目标系统运行的指令。通常,编译是对更高级源代码的编译,该更高级源 代码已经翻译成PLC(可编程逻辑控制器)目标代码例如编译成C+可执行格式的C+源代 码。 一个问题是这些系统通常是不灵活的,因为他们仅支持一种类型的高级语言编译。更 大的问题是执行性能。目标级的编译通常是低效率的并且远远脱离实际目标硬件语言,该 实际目标硬件语言是最大可能执行格式的形式。

发明内容
以下简要地概括了所要求保护的主题,以供对在此所描述的一些方面有基本理 解。该概括不非广泛的概述,并且并未意图将其视为关键的/重要的要素或者描述所要求 保护的主题的范围。其唯一目的是以简化形式提出一些概念作为随后提出的更详细的描述 的序言。 本发明涉及用于对资源进行通用编程的系统和/或方法,其有利于从多个语言特 定编译器中生成中间语言。 一般地,本发明可以是编译模型,该编译模型可以减少实施较高 级控制解决方案所需的代码量并且又增加了代码执行性能。可以使用多个支持各种语言的 编辑器。可以通过汇编器部件将来自编辑器的输出编译成中间语言例如指令表。可以将 IL(指令表)语言链接到目标微处理器和/或资源所支持的高性能指令的二进制格式。提 供定义终端用户硬件环境的PLC定义,在终端用户硬件环境中加载器可以提供目标可执行 代码(TEC)程序,该目标可执行代码程序是在考虑到在PLC定义中所描述的实际PLC硬件 限制的情况下已进行适配的二进制源。 为了完成上述和有关目标,这里结合以下描述和附图描述了本发明的某些说明性 方面。然而,这些方面表示了可使用本发明的原理的各种方式中的一些,并且本发明旨在包 括所有这样的特点及其等同物。本发明的其他优点和新颖特征由以下结合附图考虑对本发 明进行的详细说明变得明显。



图1示出了用于对资源进行通用编程的便于由多个语言特定编译器生成中间语
言的示例性系统的框图。 图2示出了示例性系统的框图,该系统便于使用来自各种编译器的中间语言以创 建TEC代码格式控制应用。 图3示出了根据本发明的便于对过程进行编译的示例性系统的框图。 图4示出了便于在运行时间期间向目标实施TEC代码格式控制应用的示例性系统
的框图。 图5示出了根据本发明的便于利用通用模型的示例性系统的框图。 图6示出了用于对资源进行通用编程的便于由多个语言特定编译器生成中间语
言的示例性系统的框图。 图7示出了用于利用中间语言以实现针对工业环境中的多个设备进行通用编程 的示例性方法。 图8示出了便于使用来自各种编译器的中间语言以创建TEC代码格式控制应用的 示例性方法。 图9示出了示例性联网环境,其中可以使用要求保护的主题的新特点。
图10示出了可以根据要求保护的主题来使用的示例性操作环境。
具体实施例方式
现在参照附图描述了要求保护的主题,其中相同的附图标记始终用来指相同的要 素。在以下的描述中,出于说明目的,阐明了许多特定的细节以提供对要求保护的主题的全面理解。然而,可能明显的是,可以实践这样的内容而不需要这些特定的细节。在其他的实例中,以框图的形式示出了众所周知的结构和设备以便于描述发明。 如在本申请中所使用的,术语"部件"、"系统"、"汇编器"、"链接器"、"加载器"、"编译器"、"编辑器"、"设备"等是用来指与计算机有关的实体,即硬件、硬件和软件的组合、软件或者执行中的软件。例如,部件可以是但不限于在处理器上运行的过程、处理器、对象、实例、可执行的、执行的线程、程序和/或计算机。举例而言,在计算机上运行的应用和计算机都可以是部件。 一个或更多个部件可以存在于执行的过程和/或线程中,并且可以将部件定位在一个计算机上和/或分布于两个或更多个计算机之间。 此外,使用标准编程和/或工程技术可以将要求保护的主题实施为方法、装置或者制造的物品以产生软件、固件、硬件或者其任何组合来控制计算机以便实施所公开的主题。这里所使用的术语"制造的物品"旨在包括可从任何计算机可读设备、载体或者介质存取的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带)、光盘(例如,光盘(CD)、数字多功能光盘(DVD))、智能卡和闪存设备(例如,卡、棒、键驱动)。另外应理解的是,可以使用载波来携带计算机可读电子数据例如在发送和接收电子邮件中或者在访问网络(例如互联网或者局域网(LAN))中使用的数据。当然,本领域的那些技术人员应认识到,可以对本配置进行许多修改而不离开要求保护的主题的范围或者精神。另外,在此使用词语"示例性"来表示作为示例、实例或者说明。这里被描述为"示例性"的任何方面或者设计不一定要解释为相对于其他特点或者设计是优选的或者有利的。
现在转到附图,图1示出了用于对资源进行通用编程的便于由多个语言特定编译器生成中间语言的系统100。系统100可以包括汇编器部件102,该汇编器部件可以生成用于语言特定编译代码的中间语言,其中中间语言可以独立于硬件和/或处理器,也可以用于特定的资源、目标、处理器、硬件等。换言之,汇编器部件102可以接收语言特定代码或者应用并且可以创建可以通用地用于任何合适目标(例如,处理器、硬件、设备、平台等)而不管类型、制造、模型、品牌等的部分数据(例如,中间语言等)。另外,通过使用这种中间语言,系统100可以提高执行速度,也可以维持实施目标独立代码的能力。
具体而言,至少一个语言编辑器104可以实现代码或者应用的一部分的创建。应理解的是,可以存在任何适当数量的语言编辑器104,例如语言编辑器工到语言编辑器,,其中N是正整数。另外,语言编辑器104可以与任何适当的编程语言相关联,编程语言例如是(但不限于)梯形图(LD)、功能块图(FBD)、结构文本(ST)、指令表(IU、顺序功能流程图(SFC) 、61499、任何与标准相关联的适当的编程语言、任何与工业过程相关联的适当的编程语言等。至少一个语言编辑器104可以包括相应语言特定编译器,例如至少一个编译器106。应理解的是,可以存在任何适当数量的编译器106,例如编译器工到编译器m,其中M是正整数。 汇编器部件102可以接收来自至少一个语言特定编译器106的、以特定语言编译的代码或者应用的部分(例如,来自至少一个语言编辑器104的以特定语言创建的部分数据)。汇编器部件102可以提供用于编译过的代码或者应用的中间语言,其中中间语言例如可以是指令表(IL)。所生成的IL可以是通配的(generic)并且通用地创建,其又允许中间语言独立于目标(例如,处理器、硬件等)。链接器108可以提供用于中间语言(例如,指令表等)的任何适当的链接或者关联。汇编部件102和/或链接器108可以将中间语言(这
5里为指令表)汇编成二进制指令表(IL)。该目标独立二进制IL可以通过链接器108与任 何适当的数据和/或硬件链接。系统100还可以包括加载器110,该加载器可以对至少一个 特定运行时间目标112使用二进制IL。 —般来说,系统100允许生成语言并且将语言编译成中间语言(例如,指令表),其 中可以将这样的指令表关联到汇编代码。可以通过即时(JIT)编译来完成至汇编代码的关 联。因此,语言特定代码可以被编译成IL,IL可以被汇编成二进制IL,并且可以将独立于目 标的二进制文件提供给链接。例如,二进制文件可以是针对IL虚拟处理器的完整应用。即 时转换器或者汇编器可以针对要运行该代码的特定目标处理器(例如,运行时间目标112) 来转换二进制文件或者程序。系统100实现即时汇编代码与中间代码的匹配,这可以在维 持具有目标独立代码的能力的同时提高执行速度。 此外,可以利用库(未示出),其中库可以在IL侧上。库可以是通配的而不是对 个别处理器特定的。因此,库可以独立于硬件而不具有对个别平台或者处理器特定的数据 (例如,硬件特定数据等)。 另外,系统100可以包括任何适当的和/或必要的接口部件(未示出),该接口部 件提供各种适配器、连接器、通道、通信路径等以便将汇编器部件102集成到实际任何操作 和/或数据库系统。另外,接口部件可以提供各种适配器、链接器、通道、通信路径等,它们 提供与汇编器部件102的相互作用。 图2示出了系统200,该系统有利于使用来自各种编译器的中间语言以创建TEC 代码格式控制应用。系统200可以根据编译过的语言特定代码的一部分创建数据的中间 部分,以便实现对于任何适当的处理器和/或硬件可通用适用代码。系统200可以利用编 译模型,在该编译模型中可以将已编译过的语言特定代码生成独立于目标的中间语言(例 如,指令表)。 —般来说,本发明可以利用配置、资源、语言和实时操作系统。例如,配置可以是用 于资源、节点、目标的硬件平台或者IEC61499中的设备。资源可以是项目的独立自足的控 制子系统。资源可以执行TEC代码格式的控制应用。在执行时,资源可以称为虚拟机(VM) 并且可以基本相似于PLC循环。可以用编程语言对资源编程,其中编程语言可以与包括流 程图(FC)语言的IEC61131-3有关。另外,虚拟机可以在实时操作系统上运行。资源可以 包括功能、程序、功能块、参数、趋势、告警、变量、输入、输出等。另外,功能可以是多入单出 (例如,非保持的(non-retentive))。程序可以是IEC61131-3和流程图程序。功能块可以 包括多入多出(例如,保持的(retentive))。变量可以包括功能和功能块变量。
系统200可以包括各种对各种编程语言特定的语言编辑器。应理解的是,所示的 编程语言仅仅是出于说明性的目的,而本发明并不限于这里所列出的或者所讨论的这种编 程语言。以下的语言编辑器可以提供语言特定代码或者应用的创建指令表(IL)编辑器 202、结构文本(ST)编辑器204、顺序功能流程图(SFC)编辑器206、梯形图(LD)编辑器208、 功能块图(FBD)编辑器210和任何适当的编辑器,212,其中N是正整数。特定语言编辑器可 以包括对应的编译器,例如IL编译器214、 ST编译器216、 SFC编译器218、 LD编译器220、 FBD编译器和任何适当的编译器M222,其中M是正整数。 可以将编译过的代码或者应用存储在数据存储器226中(IL文件226),其中可以 将编译过的代码生成中间语言例如指令表。IL汇编器228(例如,其可以与汇编器部件102基本类似)可以将IL文件生成汇编代码和/或将中间语言关联到汇编代码(也称作目标 代码)。可以将目标代码存储在数据存储器230 (例如,.0230)上。链接器236可以接收来 自数据存储器230 (.0230)的数据,例如根据指令表数据创建的汇编代码。另外,链接器可 以接收或者访问来自数据存储器234(. LIB234,与中间语言有关的代码或者数据的库)或 者数据存储器232(.0232,与中间语言有关的对象数据的数据存储器)的数据。链接器236 可以根据中间语言(例如,指令表)创建二进制指令表文件。可以将二进制指令表文件存 储在数据存储器238 (. BIN238)中,其中加载器240可以利用这种二进制指令表文件和/或 PLC定义(例如,经由存储PLC定义的数据存储器242),以便生成存储在数据存储器244 (. TEC244)上的目标可执行代码(TEC)应用或者程序。 文件格式可以包括以下细节。 一个编译器可以与语言类型相关联。IL程序格式 可以基于IEC61131标准。IL对象可以是汇编器的输出并且可以被重定位。IL二进制可以 是链接器输出并且可以独立于目标。IL TEC可以是目标可执行代码并且可以独立于目标。 TEC可以是汇编器本机代码。TEC可以是由处理器直接可执行的并且在处理速度方面可以 极为有效且快速。PLC和PAC定义内容可以包括IL转换代码(例如,交叉汇编器)。另夕卜, 每个处理器类型可以有一个PLC定义文件。 对象文件可以包括以下细节。应用bin可以包括用户特定应用,该用户特定应 用可以包括任何用户应用对象和IL对象。IL对象可以包括但不限于IEC61131_FNCT. o、 IEC61131_FB. o、 IEC61499_FB. o、 AdvancedControl_FB. o、 Math, o、 Modbus. o、 CIP. o、 System, o禾口 /或Third_party. o。 对象和/或二进制文件格式可以包括以下细节名称(例如,33个字节,文件的无 效终止名称)、日期(例如,12个字节,AA匪JJHHMMSS)、版本(例如,4个字节,版本号)、标识 (例如,文件标识)、配置大小(例如,4个字节,配置段大小)、P0U (程序组织单元-Program 0rganizationUnit)大小(例如,4个字节,程序组织单元段大小)、数据大小(例如,4个字 节,数据段大小)、初始大小(例如,4个字节,数据初始化段大小)、代码大小(例如,4个 字节,代码段大小)、配置段(例如,S个字节大小,配置段、参数定义,S是正整数)、P0U段 (例如,T个字节,P0U段、功能(function)、功能块、程序表,T是正整数)、数据段(例如,U 个字节,数据段、变量说明,U是正整数)、初始段(例如,V个字节,初始化段、变量初始值,V 是正整数)、代码段(例如,Q个字节,代码段、二进制逻辑,Q是正整数)和CRC(例如,4个 字节,文件的CRC32)。 另外,系统200可以包括数据存储器(例如,数据存储器226、数据存储器230、数 据存储器232、数据存储器234、数据存储器238、数据存储器242和数据存储器244),它 们可以存储数据、代码、应用、软件的部分、中间语言数据、指令表、汇编代码、二进制文件、 二进制指令表、处理器数据、目标特定数据、PLC定义、对象数据、库数据、对象数据、二进制 数据、TEC应用等。数据存储器可以是例如,易失性存储器或者非易失性存储器,或者可以 包括易失性和非易失性存储器。举例而言而非限制,非易失性存储器可以包括只读存储 器(ROM)、可编程R0M(PR0M)、电可编程R0M(EPR0M)、电可擦除可编程R0M(EEPR0M)或者闪 存。易失性存储器可以包括用作外部缓存的随机存取存储器(RAM)。举例而言而非限制, RAM可以以多种形式供使用,例如静态RAM (SRAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、双 数据率SDRAM (DDR SDRAM)、增强SDRAM (ESDRAM)、同步链接(Synchl ink) DRAM (SLDRAM)、存储器总线式直接RAM (RDRAM)、直接存储器总线式动态RAM(DRDRAM)和存储器总线式动态 RAM (RDRAM)。本系统和方法的数据存储器旨在包括而不限于这些和任何其他适当类型的存 储器。另外,应理解的是,数据存储器可以是服务器、数据库、硬驱动器等。
图3示出了根据本发明的便于对过程进行编译的系统300。系统300可以在提高 处理器的执行速度的同时实现目标独立过程的创建。 一般来说,系统300可以允许将来自 任何适当的编程语言的部分数据生成中间语言(例如,指令表),并且可以针对特定资源对 这种中间语言进行汇编、链接和/或加载。 可以利用工作台开发平台306来接收来自至少一个数据存储器的符号表302或者 程序文件304中的至少一个。工作台开发306可以通过网络310与通信层308通信以便与 语言编译器106互相作用。语言编译器106可以在数据存储器226内创建指令表程序。IL 汇编器228可以在数据存储器230内创建指令表对象。链接器236可以在数据存储器238 内创建指令表二进制。加载器240可以利用来自数据存储器242的至少一个PLC定义,以 便在数据存储器244内创建用于资源、设备、目标等的TEC程序。 应理解的是,系统300可以提供对用于任何适当的目标平台的过程的编译。例如, 平台可以是但不限于uCOS、 RTX、 Li皿x、 QNX、基于window的操作系统和/或任何其他适当 的实时操作系统。目标可以包括以下特征中的至少一个快速执行的TEC代码、针对嵌入 式系统占用很少的资源(small foot print)(例如,8位、16位、32位或者64位CPU)、高 度可移植代码(例如,虚拟机(VM))、模块化和可扩展性、关于事件的PLC循环或者周期、 每个配置多个资源、分布式架构、完全在线改变、C代码、加入的定制C功能和功能块、系统 硬件抽象层(例如,消息队列、信号量、存储器、定时器、套接字等)、字对准兼容性(word alignmentcompatible)、输入/输出驱动器、通信驱动器、双重冗余和/或Endian兼容性。
本发明可以提供用于资源的如上按照将指令表二进制加载到TEC程序的即时编 译所述的运行时间架构。运行时间架构可以包括单个资源和/或多个资源。运行时间架构 还可以用在分布式环境中(例如,配置1、配置2到配置X,其中X是正整数)。
本发明还可以使用资源管理器模型。可以使用如下资源管理器模型,在该资源管 理器模型中可以包括以下的内容任务应用可编程接口 (API)、命令管理器、任务加载器、 变量管理器、任务调度程序、定时器管理器、中断管理器、存储器管理器和硬件抽象层。本发 明还可以包括编程模型、输入/输出驱动器模型或者通信驱动器模型中的至少一个。任务 可以包括TEC程序、输入/输出、co亂、Math, tec、 fnct. tec、 fb. tec、 System, tec或者任 务核、定制C功能、定制功能块、资源管理器API或者硬件抽象层中的至少一个。
图4示出了有利于在运行时间期间向目标实施TEC代码格式控制应用的系统400。 系统400可以包括汇编器部件102,该汇编器部件可以根据由特定语言编译器106编译的部 分数据来汇编中间语言对象(例如,指令表对象),其中特定语言编译器106可以接收由至 少一个语言特定编辑器104创建的应用或者代码。链接器108可以根据指令表对象创建指 令表二进制文件,其中加载器110可以根据指令表二进制文件创建TEC程序用于使用于至 少一个运行时间目标112。 系统400还包括运行时间部件402,该运行时间部件有利于向至少一个运行时间 目标112实施TEC程序的一部分。运行时间部件402可以提供执行模型,该执行模型实现 扫描循环(例如,第一程序)、事件(例如,第二程序)或者中断(例如,第三程序)。可以由运行时间部件402实施扫描循环,其中运行时间执行周期根据以下方式来执行扫描输 入设备;使用约束变量;执行TEC代码;产生约束变量;更新输出设备;保存保留值;和/或 休眠直到下一周期。可以由运行时间部件402实施事件,其中运行时间引擎可以在接收诸 如如下的事件之后执行等待事件;扫描输入设备;使用约束变量;执行TEC代码;产生约 束变量;更新输出设备;和/或保存保留值。可以由运行时间部件402处理中断,其中运行 时间引擎可以在中断发生时执行以下内容等待中断;扫描输入设备;使用约束变量;执行 TEC代码;产生约束变量;更新输出设备;和/或保存保留值。 本发明还可以提供在线改变、冗余、绑定和/或命令管理中的至少一个。可以如下 提供在线改变l)扫描输入设备;2)使用约束变量;3)执行TEC代码;4)产生约束变量; 5)更新输出设备;6)保存保留值;7)休眠直到下一周期;和8)如果在线改变则转到第二 程序,否则转到1)。可以通过以下方式提供冗余1)等待有效同步信号;2)扫描输入设备; 3)使用约束变量;4)执行TEC代码;5)如果有效正常,则转到1),否则将备用设为有效;6) 产生约束变量;7)更新输出设备;8)保存保留值;和9)休眠直到下一周期。可以通过以下 方式提供绑定1)扫描输入设备;2)使用约束变量;3)执行TEC代码;4)产生约束变量;5) 更新输出设备;6)保存保留值;和7)休眠直到下一周期。可以如下地提供命令管理1)下 载;2)上传;3)开始/停止对象;4)读取/写入访问变量;5)调试;6)监视;7)存储/保存 保留变量;8)读取日志文件/状态;9)配置参数;和10)在线改变。 图5示出了根据本发明的便于集成利用通用模型的系统500。系统500是开发 平台,该开发平台可以使用通配的编程模型,以便在有利于代码在基本上任何类型的终端 硬件平台上使用和执行的同时使开发者能够以抽象设置设计控制解决方案。在一方面,例 如,可以从公共基本模型解决方案或者标准例如IEC61131和61499获得抽象自动化模型 (AAM)502。尽管任何编程标准都可以用于底层模型,但是61131和61499支持目前世界上 的多数自动化语言。AAM502可以定义代表通配的或者抽象的数据对象的控制结构,这些数 据对象具有配置、资源、程序等属性。AAM502可以定义保证结构完整性例如树形结构(例 如,父类到子类)或者控制资源的项目主机配置等的完整性规则。模型也可以定义操作以 更新或者查询数据。AAM502可以允许控制软件设计透明地并且在所利用的开发软件的特定 版本或者类型之外发生。 作为较大框架或者开发环境的部分,具体自动化模型(CAM)504可以提供与 AAM502的一般数据对象相关联并且根据不同开发环境的指定的项目格式的数据接口。例 如,开发程序的不同版本可以具有相关的CAM,这些CAM将各版本链接或者映射到AAM502的 底层抽象。在另一示例中,特定硬件供应商可以提供特定类型的编程接口的CAM,该编程接 口对各供应商是唯一的。通过提供AAM502的抽象并且经由CAM映射到不同编程环境的任 何特定细微差别,开发者可以根据由AAM502提供的一般编程模型而迅速地加入新特征,但 是有效地支持和转换成基本上任何可供使用的开发程序。AAM502可以接收来自多个编程 版本506(例如,ISaGRAF 1、2、3. ..6, RSLogix等)的程序命令,其中每个版本经由相关的 CAM504接合到AAM502。可以由内部或者第三方开发者通过利用插入式接口 508来提供插件 开发支持以增加AAM502的功能。同样,在为公知的工业解决方案设计或者预包装的AAM502 中也可以支持市场应用(例如,市场510)。当控制解决方案已开发时,可以通过利用调试 接口和现场总线通信512来编译AAM以运行在基本上任何控制平台上。调试接口和现场总线通信512可以使各种设备104能够无缝地并且通用地与AAM502互相作用,而不管设备类 型、制造、模型、位置等。另外,应理解的是,可以存在从设备工到设备M的任何适当数量的设 备,其中M是正整数。 —般来说,本发明可以允许数据的任何适当的编译过的部分而不管编程语言生成 中间语言(例如,指令表),其中这种中间语言可以在独立于平台的同时增加执行速度,但 是可以是针对特定资源、目标、处理器和/或设备而具体地配置。汇编器部件102、链接器 108和/或加载器110还可以与图5所示的平台结合地使在这种编程语言和/或经编过的 过程之间实现通用相互作用。 图6阐明了用于对资源进行通用编程的利用智能以利于由多个语言特定编译器 生成中间语言的系统600。系统600可以包括汇编器部件102、链接器108、至少一个语言编 辑器104、至少一个编译器106和加载器IIO,它们都可以与前面的附图中所描述的相应部 件、链接器、编辑器、编译器和加载器基本类似。系统600还包括智能部件602。汇编器部件 102、链接器108、加载器110、语言编辑器104和/或编译器106中的至少一个可以使用智 能部件602以便于根据过程或编译过的代码的一部分来生成指令表,其中可以将该指令表 创建成目标特定TEC程序。例如,智能部件602可以推断编程语言、编译信息、中间语言、指 令表程序数据、指令表对象数据、指令表二进制文件数据、TEC程序数据、PLC定义、对象和/ 或二进制文件格式、冗余、绑定、命令管理、在线改变、用户设置、基于平台最优的配置、基于 编程语言最优的设定等。 此外,对于操作者作用(role)和/或位置,智能部件602可以便于利用材料的消 耗和这种材料的状况。例如,智能部件602可以推断在特定工业自动化过程和/或系统的 生产中所使用的原材料的消耗。这样的推论至少部分可以基于与材料消耗、材料的状况和/ 或供应等有关的历史数据。此外,可以将这样的材料的消耗和状况传送到操作者和/或操 作者的角色(role)。 应理解的是,智能部件602可以提供用于根据经由事件和/或数据所捕获的观测 的集合来推理出或推断系统、环境和/或用户的状态。例如,推论可以用来识别特定的背景 或动作,或者可以生成关于状态的概率分布。推论可以是概率性的(即,基于数据和事件的 考虑计算关于感兴趣的状态的概率分布)。推论也可以指用于由事件和/或数据的集合组 成更高级事件的技术。这种推论导致根据所观察的事件和/或所存储的事件数据的集合构 建新事件或者动作,无论这些事件是否是以时间上紧密接近地关联,以及这些事件和数据 是否来自一个或几个事件和数据源。结合执行与要求保护的主题有关的自动的和/或推断 的动作而使用各种分类(显式和/或隐式训练的)方案和/或系统(例如,支持向量机、神 经网络、专家系统、贝叶斯信念网络、模糊逻辑、数据融合引擎)。 分类器是将输入属性向量x = (xl, x2, x3, x4, xn)映射到该输入属于类的置信度 的函数,即f (x) = confidence (class)。这样的分类可以使用概率性的和/或基于统计的 分析(例如,分解因子为分析效用和成本)来预测或者推断用户期望自动执行的动作。支 持向量机(SVM)是可以使用的分类器的示例。SVM通过在可能输入的空间中找到超曲面 (hypersurface)来运行,其中超曲面试图从非触发事件分离触发标准。直观地,这使得分类 对于与训练数据接近但不相同的测试数据是正确的。其它定向和无向的模型分类方法包括 例如朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型,并且可以使用提供不同模
10式的无关性(ind印endence)的概率分类模型。这里所使用的分类也包括用于开发优先权 模型的统计回归。 显示部件604可以提供各种类型的用户界面以便于用户和任何耦合到汇编器部 件102的部件之间的相互作用。如所描述的,显示部件604是可以与汇编器部件102 —起 使用的单独实体。然而,应理解的是,显示部件604和/或类似的视图部件可以合并到汇 编器部件102和/或独立单元。显示部件604可以提供一个或更多个图形用户界面(GUI) 和命令行界面等。例如,可以使GUI向用户提供区域或者装置以对数据进行加载、输入、读 取等,并且GUI可以包括显示这种结果的区域。这些区域可以包括公知的文本和/或图形 区域,该图形区域包括对话框、静态控制、下拉菜单、列表框、弹出菜单、编辑控制(as edit control)、组合框、单选按钮、复选框、按钮和图形框。此外,可以使用便于显示的工具(例 如用于导航的垂直和/或水平滚动条和工具条按钮)以确定区域将是否可见。例如,用户 可以与一个或更多个耦合到汇编器部件102的部件互相作用。 例如,用户也可以与这些区域相互作用以经由各种设备(诸如鼠标、滚动球、小键 盘、键盘、笔和/或语音激活)来选择并提供信息。典型地,在输入信息后,可以使用机构例 如键盘上的回车键或按钮,以便开始搜索。但是,应理解的是,要求保护的主题并不限于此。 例如,仅仅突出显示复选框就可以开始信息传递。在另一个示例中,可以使用命令行界面。 例如,命令行界面可以经由提供文本消息向用户提示信息(例如,经由显示器上的文本消 息和音频音调)。随后,用户可以提供适当的信息,例如对应于界面提示中提供的选项的字 母数字输入或对提示中提出的问题的回答。应理解的是,可以结合GUI和/或API来使用 命令行界面。此外,可以结合硬件(例如,视频卡)和/或具有有限图形支持和/或低带宽 通信频道的显示器(例如,黑白和EGA)来使用命令行界面。 参照图7至图8,阐明了根据要求保护的主题的不同方面的方法。然而出于说明的 简洁的目的,将这些方法显示和描述为一系列动作,应理解的是,要求保护的主题并不限于 该动作顺序,因为某些动作可以以与此处示出和描述的顺序不同的顺序和/或与其它动作 同时发生。例如,本领域技术人员将理解并意识到,可替选地可以将方法表示为一系列相关 的状态或事件(例如以状态图)。此外,可以不需要所有阐明的动作以实施根据要求保护的 主题的方法。此外,还应理解的是,能够将在下文中和贯穿本说明书所公开的方法存储在制 造的物品上,以便于将这样的方法传送和传递到计算机。此处使用的术语制造的物品旨在 包括可以从任何计算机可读设备、载体或介质存取的计算机程序。 图7阐明用于利用中间语言来实现针对在工业环境内的多个设备进行通用编程 的方法700。在附图标记702处,可以接收编译过的数据的一部分。例如,语言编辑器可以 创建过程的一部分或者代码的一部分,而相应的语言编译器可以编译数据的一部分。应理 解的是,任何适当的编程语言可以与至少一个语言编辑器和相应的编译器相关联。换言之, 每种编程语言可以包括针对这种编程语言的对应编译器。编程语言可以是但不限于梯形 图、功能块图、结构文本、指令表、顺序功能流程图、61499、与标准相关联的任何适当的编程 语言、与工业过程相关联的任何适当的编程语言等。 在附图标记704处,可以根据编译过的数据的一部分汇编指令表对象。应理解的 是,指令表对象可以独立于目标并且是中间语言,该中间语言可以通用地且无缝地应用于 各种对目标、设备、资源、处理器等而与平台无关。在附图标记706处,可以根据指令表对象创建包括至少一个链接的指令表二进制文件。在附图标记708处,可以利用(leverage)PLC
定义以根据指令表二进制文件生成对于运行时间对象特定的目标可执行代码(TEC)程序。 图8阐明了便于使用来自各种编译器的中间语言来创建TEC代码格式控制应用的
方法800。在附图标记802处可以接收由两种或更多种编程语言编译过的部分数据。数据
的该部分可以是以第一语言编译过的第一代码部分和以第二语言编译过的第二代码部分。
在附图标记804处,可以根据编译过的数据的该部分汇编指令表对象。 在附图标记806处,可以利用具有至少一个独立于目标的指令表对象的库。换言
之,可以生成并在库中存储指令表对象,以实现访问来自数据的各种编译过的部分的多个
指令表对象。在附图标记808处,可以根据指令表对象创建指令表二进制文件。在附图标
记810处,根据指令表二进制文件可以在运行时间期间利用PLC定义来生成对于目标特定
的TEC程序。 为了提供用于实施要求保护的主题的不同方面的附加背景,图9至图10和以下讨 论旨在提供对可以实施本发明的不同方面的适当的计算环境的简洁、概括的描述。尽管以 上以计算机程序的计算机可执行指令为一般背景描述了要求保护的主题(计算机程序运 行在本地计算机和/或远程计算机上),但是本领域的技术人员将认识到,也可以结合其它 程序模块实施本发明。通常,程序模块包括例行程序、程序、部件、数据结构等,其执行特定 任务和/或实施特定的抽象数据类型。 此外,本领域技术人员将认识到,可以用其他计算机系统配置实施本发明的方法, 计算机系统配置包括单处理器或多处理器计算机系统、微型计算机、大型计算机,也包括个 人计算机、手持计算设备和基于微处理器的和/或可编程的用电电子装置等,每个计算机 系统配置可以以操作的方式与一个或更多个相关联的设备通信。也可以在分布式计算环境 中实现要求保护的主题的所阐明的方面,其中由通过通信网络链接的远程处理设备执行某 些任务。然而,可以在单机计算机上实现本发明的某些(如果不是全部)方面。在分布式 计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。 图9是可以与要求保护的主题相互作用的样本计算环境900的示意性框图。系统 900包括一个或更多个客户端910。客户端910可以是硬件和/或软件(例如,线程、过程、 计算设备)。系统900也包括一个或更多个服务器920。服务器920可以是硬件和/或软 件(例如,线程、过程、计算设备)。例如,服务器920可以通过使用本发明来载入线程以进 行转换。 在客户端910和服务器920之间的一个可能的通信可以以用于在两个或更多个计 算机过程之间传送的数据包的形式。系统900包括可以用来利于在客户端910和服务器920 之间通信的通信框架940。将客户端910以可操作的方式连接到一个或更多个客户端数据 存储器950,客户端数据存储器可以用来将信息本地存储到客户端910。类似地,将服务器 920以可操作的方式连接到一个或更多个服务器数据存储器930,服务器数据存储器930可 以用来将信息本地存储到服务器920。 参照图IO,用于实施要求保护的主题的不同方面的示例性环境1000包括计算机 1012。计算机1012包括处理单元1014、系统存储器1016和系统总线1018。系统总线1018 将包括但不限于系统存储器1016的系统部件耦合到处理单元1014。处理单元1014可以是 可供使用的不同处理器中的任意处理器。双微处理器和其它多处理器架构也可以用作处理
12单元1014。 系统总线1018可以是包括存储器总线或存储器控制器、外围总线或外部总线 和/或局部总线的若干类型的总线结构中的任何总线结构,总线结构使用包括但不限于 以下可供使用的总线架构的任何总线架构工业标准架构(ISA)、微通道架构(MSA)、扩展 ISA (EISA)、智能驱动电子装置(IDE)、VESA局部总线(VLB)、外设部件互联标准(PCI)、卡总 线、通用串行总线(USB)、加速图形接口 (AGP)、个人计算机存储卡国际协会总线(PCMCIA)、 火线(IEEE 1394)和小型计算机系统接口 (SCSI)。 系统存储器1016包括易失性存储器1020和非易性失存储器1022。在非易 失性存储器1022中存储基本输入/输出系统(BIOS),其包含例如在启动期间在计算 机1012内的元件之间传递信息的基本例行程序。举例而言而非限制,非易失性存储器 1022可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可 编程ROM(EEPROM)或闪存。易失性存储器1020包括随机存取存储器(RAM),其用作外部 高速缓存。举例而言而非限制,RAM可以以许多形式可供使用,例如静态RAM(SRAM)、动态 RAM (DRAM)、同步DRAM (SDRAM)、双数据率SDRAM (DDR SDRAM)、增强型SDRAM (ESDRAM)、同步 链接DRAM(SLDRAM)、存储器总线式直接RAM (RDRAM)、直接存储器总线式动态RAM(DRDRAM) 和存储器总线式动态RAM (RDRAM)。 计算机1012也包括可移除/不可移除的、易失性/非易失性的计算机存储介质。 例如图10阐明了磁盘存储1024。磁盘存储1024包括但不限于诸如磁盘驱动器、软盘驱动 器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒的设备。此外,磁 盘存储1024可以单独包括存储介质或与其它存储介质组合,其他存储介质包括但不限于 诸如光盘ROM驱动器(CD-ROM) 、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW 驱动器)或数字多功能磁盘ROM驱动器(DVD-ROM)的光盘驱动器。为了便于将磁盘存储设 备1024连接到系统总线1018,通常使用可移除或不可移除的接口例如接口 1026。
应理解的是,图10描述了用作在在适当的操作环境1000中所描述的基本计算机 资源和用户之间的媒介的软件。这样的软件包括操作系统1028。可以存储在磁盘存储1024 上的操作系统1028用于控制并分配计算机系统1012的资源。通过存储在系统存储器1016 或磁盘存储1024上的程序模块1032和程序数据1034,系统应用1030利用由操作系统1028 所进行的资源管理。要意识到的是,可以用各种操作系统或操作系统的组合来实施要求保 护的主题。 用户通过输入设备1036将命令或信息输入进计算机1012。输入设备1036包括但 不限于诸如鼠标的指向设备、轨迹球、触针(stylus)、触摸板、键盘、麦克风、操纵杆、游戏摇 杆、卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机和网络摄像头等。这些和其它输入 设备通过系统总线1018经由接口端口 1038连接到处理单元1014。接口端口 1038包括例 如串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1040使用某些与输入设 备1036相同类型的端口 。从而,例如USB端口可以用于向计算机1012提供输入,并从计算 机1012向输出设备1040输出信息。提供输出适配器1042来阐明在其它输出设备1040中 存在一些需要特别适配器的输出设备1040(诸如监视器、扬声器和打印机)。举例而言而非 限制,输出适配器1042包括视频卡和声卡,其提供在输出设备1040和系统总线1018之间 的连接装置。应该注意的是,其它设备和/或设备系统提供输入和输出能力,例如远程计算
13机1044。 计算机1012可以使用至一个或更多个远程计算机(例如远程计算机1044)的逻 辑连接而在网络化环境中运行。远程计算机1044可以是个人计算机、服务器、路由器、网 络PC、工作站、基于微处理器的装置、对等设备或其它公共网络节点等,并且通常包括许多 或全部关于计算机1012所描述的元件。出于简洁的目的,关于远程计算机1044仅阐明了 存储器存储设备1046。远程计算机1044与计算机1012通过网络接口 1048逻辑连接,并 随后经由通信连接1050物理连接。网络接口 1048包括有线和/或无线通信网络例如局域 网(LAN)和广域网(WAN)。 LAN技术包括光纤分布式数据接口 (FDDI)、铜线分布式数据接 口 (CDDI)、以太网、令牌环等。WAN技术包括但不限于点对点链接、电路交换网络(例如综 合业务数字网(ISDN)及其变形)、分组交换网络和数字用户线路(DSL)。
通信连接1050指的是用于将网络接口 1048连接到总线1018的硬件/软件。尽 管为了清晰阐明而在计算机1012内部示出通信连接1050,但是它也可以在计算机1012外 部。仅出于示例性的目的,用于连接到网络接口 1048所需的硬件/软件包括内部和外部技 术例如调制解调器、ISDN适配器和以太网卡,该调制解调器包括常规电话级调制解调器、线 缆调制解调器和DSL调制解调器。 以上所述的内容包括本发明的示例。当然,不可能出于描述要求保护的主题的目 的而描述部件或方法的每种能想到的组合,但是本领域的普通技术人员应认识到,本发明 的很多另外的组合与排列是可能的。因此,要求保护的主题旨在包含落入所附权利要求的 精神和范围内的所有这样的替换、修改和变化。 特别是并且就由上述的部件、设备、电路和系统等执行的各种功能而言,除非另外 指出,用于描述这些部件的术语(包括对"装置"的引用)的意思是对应于执行所描述的部 件的指定功能的任何部件(例如,功能上等同),即使在结构上不等同于所公开的结构,所 述结构执行要求保护的主题在此所阐明的示例性特点的功能。为此,同样会认为,本发明包 括系统,也包括具有计算机可执行指令的计算机可读介质,所述指令用于执行要求保护的 主题内容的各种方法的动作和/或事件。 此外,尽管仅就几个实施中的一个实施公开了本发明的特定的特征,但这些特征
可以与其它实施的一个或更多个其它特征组合,所述其它实施对于任何给定的或特定的应
用可以是所期望的并且有利的。此外,就在详细描述或者权利要求中使用术语"包括"和"包
含"及其变形而言,这些术语以类似于术语"包括"的方式意指包含在内的。
方案1 :一种便于创建用于工业环境的可执行代码的系统,包括语言编辑器,其
在编程语言内实现对部分数据进行编程;编译器,其在所述编程语言内编译所述部分数据;
汇编器部件,其利用中间语言以将所述部分数据转换为部分汇编对象代码,所述汇编对象
代码独立于目标;链接器,其根据所述部分汇编对象代码创建二进制文件,所述二进制文件
独立于目标;以及加载器,其通过利用至少一个可编程逻辑控制器定义为目标资源对所述
二进制文件进行特定定制,所述加载器在运行时创建目标可执行代码(TEC)程序。
方案2 :如方案1所述的系统,中间语言是指令表。 方案3.如方案1所述的系统,汇编对象代码是指令表对象。
方案4 :如方案1所述的系统,二进制文件是指令表二进制文件。
方案5 :如方案1所述的系统,还包括两个或更多个语言编辑器,每个语言编辑器对于编程语言是特定的。 方案6 :如方案5所述的系统,还包括两个或更多个编译器,每个编译器对于语言 编辑器是特定的。 方案7 :如方案1所述的系统,编程语言是梯形图(LD)、功能块图(FBD)、结构文本 (ST)、指令表(IU、顺序功能流程图(SFC)、61499、与标准相关联的编程语言或与工业过程 相关联的编程语言中的至少一种。 方案8 :如方案l所述的系统,目标资源是设备、处理器、硬件部分、软件部分、资 源、平台、工业环境或目标中的至少一个。 方案9 :如方案1所述的系统,编译器包括与编程语言一比一的比例。
方案10 :如方案1所述的系统,可编程逻辑控制器定义包括与处理器类型一比一
的比例。 方案11 :如方案1所述的系统,目标资源与至少一个平台相关联,所述平台是 uC0S、基于Windows的操作系统、实时操作系统、RTX、 Li皿x、 Integrity、 CE、 VxWorks、 0SE 或QNX中的至少一种。 方案12 :如方案1所述的系统,目标可执行代码程序在保持对两个或更多个不同 目标资源的通用适配和目标特定的实施的同时提高执行速度。 方案13 :如方案1所述的系统,还包括数据存储器,该数据存储器存储中间语言、 数据部分、汇编对象代码、二进制文件、目标可执行代码程序或可编程逻辑控制器定义中的 至少一个。 方案14 :如方案1所述的系统,还包括库,该库包括由链接器利用以创建二进制文 件的两个或更多个汇编对象代码部分。 方案15 :—种生成控制系统可执行代码的方法,包括接收部分编译过的数据;根 据所述部分编译过的数据来汇编指令表对象;根据所述指令表对象来创建包括至少一个链 接的指令表二进制文件;根据所述指令表二进制文件利用可编程逻辑控制器定义来生成对 运行时间目标特定的目标可执行代码(TEC)程序。 方案16 :如方案15所述的方法,在运行时或者在开发时中的至少一个期间生成 TEC程序,其中将结果代码下载到所述目标。 方案17 :如方案15所述的的方法,所述部分编译过的数据与至少一个与工业环境 相关联的编程语言有关。 方案18 :如方案17所述的的方法,编程语言是梯形图(LD)、功能块图(FBD)、结构 文本(ST)、指令表(IU、顺序功能流程图(SFC)、61499、与标准相关联的编程语言或与工业 过程相关联的编程语言中的至少一种。 方案19 :如方案15所述的的方法,其还包括利用库,该库包括至少一个独立于 目标的指令表对象;以及链接来自该库的至少一个指令表对象以生成所述指令表二进制文 件。 方案20 :如方案15所述的的方法,还包括接收来自一个或更多个高级控制系统 语言的输入;根据控制系统语言生成中间语言;定义针对目标操作环境的硬件定义;以及 根据所述中间语言和所述硬件定义来生成可执行语言。
方案21 :如方案15所述的的方法,还包括将指令表对象存储到数据存储器;将
15指令表二进制文件存储到数据存储器中;将可编程逻辑控制器定义存储到数据存储器中; 以及将TEC程序存储到数据存储器中。 方案22 :如方案21所述的的方法,还包括访问来自数据存储器的指令表对象以 创建指令表二进制文件;访问来自数据存储器的指令表二进制文件以创建目标可执行代码 程序;以及访问来自数据存储器的可编程逻辑控制器定义以创建目标可执行代码程序。
方案23 :—种便于创建用于工业环境的可执行代码的计算机实施系统,包括用 于在编程语言内实现部分数据编程的装置;用于在编程语言内编译所述部分数据的装置; 用于利用指令表语言来将所述部分数据转换为部分指令表对象代码的装置,所述汇编对象 代码独立于目标;用于根据所述部分汇编对象代码来创建指令表二进制文件的装置,所述 二进制文件独立于目标;以及用于通过利用至少一个可编程逻辑控制器定义来为目标资 源对所述指令表二进制文件进行特定定制的装置,加载器在运行时创建目标可执行代码 (TEC)程序。 方案24 :如方案23所述的计算机实施系统,编程语言是梯形图(LD)、功能块图 (FBD)、结构文本(ST)、指令表(IU、顺序功能流程图(SFC)、61499、与标准相关联的编程语 言或与工业过程相关联的编程语言中的至少一种。 方案25 :如方案23所述的计算机实施系统,还包括用于利用包括两个或更多个指 令表对象的库的装置。 方案26 :如方案23所述的计算机实现系统,其还包括用于接收来自一个或更多 个高级控制系统语言的输入的装置;用于根据控制系统语言创建中间语言的装置;用于针 对目标操作环境定义硬件定义的装置;以及用于根据中间语言和硬件定义生成可执行语言 的装置。
权利要求
一种便于创建用于工业环境的可执行代码的系统,包括语言编辑器,其在编程语言内实现对部分数据进行编程;编译器,其在所述编程语言内编译所述部分数据;汇编器部件,其利用中间语言以将所述部分数据转换为部分汇编对象代码,所述汇编对象代码独立于目标;链接器,其根据所述部分汇编对象代码创建二进制文件,所述二进制文件独立于目标;以及加载器,其通过利用至少一个可编程逻辑控制器定义为目标资源对所述二进制文件进行特定定制,所述加载器在运行时创建目标可执行代码(TEC)程序。
2. 根据权利要求1所述的系统,中间语言是指令表。
3. 根据权利要求1所述的系统,汇编对象代码是指令表对象。
4. 根据权利要求1所述的系统,二进制文件是指令表二进制文件。
5. 根据权利要求1所述的系统,还包括两个或更多个语言编辑器,每个语言编辑器对 于编程语言是特定的。
6. 根据权利要求l所述的系统,编程语言是梯形图(LD)、功能块图(FBD)、结构文本 (ST)、指令表(IU、顺序功能流程图(SFC)、61499、与标准相关联的编程语言或与工业过程 相关联的编程语言中的至少一种。
7. —种生成控制系统可执行代码的方法,包括 接收部分编译过的数据;根据所述部分编译过的数据来汇编指令表对象;根据所述指令表对象来创建包括至少一个链接的指令表二进制文件; 根据所述指令表二进制文件利用可编程逻辑控制器定义来生成对运行时间目标特定 的目标可执行代码(TEC)程序。
8. 根据权利要求7所述的方法,编程语言是梯形图(LD)、功能块图(FBD)、结构文本 (ST)、指令表(IU、顺序功能流程图(SFC)、61499、与标准相关联的编程语言或与工业过程 相关联的编程语言中的至少一种。
9. 一种便于创建用于工业环境的可执行代码的计算机实施系统,包括 用于在编程语言内实现部分数据编程的装置; 用于在编程语言内编译所述部分数据的装置;用于利用指令表语言来将所述部分数据转换为部分指令表对象代码的装置,所述汇编 对象代码独立于目标;用于根据所述部分汇编对象代码来创建指令表二进制文件的装置,所述二进制文件独 立于目标;以及用于通过利用至少一个可编程逻辑控制器定义来为目标资源对所述指令表二进制文 件进行特定定制的装置,加载器在运行时创建目标可执行代码(TEC)程序。
10. 根据权利要求9所述的计算机实施系统,编程语言是梯形图(LD)、功能块图(FBD)、 结构文本(ST)、指令表(IU、顺序功能流程图(SFC)、61499、与标准相关联的编程语言或与 工业过程相关联的编程语言中的至少一种。
全文摘要
本发明涉及一种便于创建用于工业环境的可执行代码的系统和/或方法。语言编辑器可以在编程语言内实现对部分数据的编程。编译器可以在编程语言内编译部分数据。汇编器部件可以利用中间语言将部分数据转换成汇编对象代码部分,其中汇编对象代码独立于目标。链接器可以根据汇编对象代码部分创建二进制文件,其中二进制文件独立于目标。加载器可以通过利用至少一个可编程逻辑控制器定义针对目标资源对二进制文件进行特定地定制,其中加载器在运行时或在开发时创建目标可执行代码(TEC)程序。
文档编号G06F9/45GK101763280SQ20091017765
公开日2010年6月30日 申请日期2009年9月30日 优先权日2008年9月30日
发明者丹尼斯·拉瓦莱, 吉勒斯·布鲁内特, 奥列弗·拉鲁什, 庄占达, 弗雷德里克·达尔沃, 朱利恩·乔伊纳德, 让-弗朗索瓦·拉利贝特 申请人:Ics三重自动化软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1