用于配置可编程逻辑控制器的设备、系统和方法

文档序号:6292320阅读:386来源:国知局

专利名称::用于配置可编程逻辑控制器的设备、系统和方法用于配置可编程逻辑控制器的设备、系统和方法对相关申请的交叉引用本申请要求2006年8月24日提交的未决美国临时专利申请序号60/839879(律师记录号(AttorneyDocketNo.)2006P17472US(1009-204))的优先权,并通过引用将其完整地结合到本文中。
背景技术
:控制系统能用于监视参数和/或控制设备。在控制系统中,一个或多个传感器能在通信上经由一个或多个输入/输出(1/0)模块与可编程逻辑控制器(PLC)耦合。经由1/0模块,PLC能控制一个或多个设备,例如变阻器、开关、定序器(sequencer)、步进电机控制器、伺服控制器、执行器控制器、步进驱动器、伺服驱动器、步进电机、伺服电机、线性电机、电机、滚珠丝杆(ballscrew)、伺服阀、液压执行器和/或气动阀等。PLC、系统组件和/或与其关联的固件或软件的配置是与监视传感器和/或控制设备有关的重要活动。
发明内容某些示范实施例包括一种系统。该系统能包括用户界面绘制器(renderer),它能适合于绘制多个不同的用户界面。来自多个不同用户界面的各用户界面能适合于配置来自与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用。通过以下参照示范附图对某些示范实施例的详细描述,将会更易于理解大量可能的实际有用实的施例,附图中5]图6]图7]图8]图9]图10]图11]图12]图13]图14]图15]图16]图17]图18]图19]图20]图21]图22]图23]图24]图是示范用户界面具体实施例方式某些示范实施例能提供一种系统。该系统能包括用户界面绘制器,它能适合于绘制多个不同的用户界面。来自多个不同用户界面的各用户界面能适合于配置来自与操作可编程逻辑控制器(PLC)关if关的多个软件应用的对应软件应用。图1是能包括PLC1100的系统1000的一个示范实施例的框图。PLC1100能包括电路1120。电路1120能适合于自动执行本文7所述的任何方法或活动。例如,电路1120能适合在通信上将PLC1100与第一模块链1040耦合,第一模块链1040能包括第一模块1200、第二模块1300和第三模块1400。第一模块1200、第二模块1300和第三模块1400能在通信上以串行布置进行耦合。第一模块链1040的每对相邻模块、如第一模块1200和第二模块1300能在通信上进行串行耦合。第一模块1200、第二模块1300和第三模块1400的每个能够是和/或能够称作1/0模块和/或1/0扩展模块,它们分别能在通信上耦合到例如第一传感器1240、第二传感器1340和第三传感器1440的对应的多个传感器。第一模块1200、第二模块1300和第三模块1400的每个能在通信上耦合到例如第一执行器1280、第二执行器1380和第三执行器1480的对应的多个执行器。第一模块1200、第二模块1300和/或第三模块1400的每个能适合硬实时地与PLC1100进行通信。PLC1100能在通信上与第二模块链1080耦合,它们能包括能在通信上以串行布置进行耦合的第四模块1500、第五模块1600和第六模块1700。第二模块链1080的每对相邻模块、如第四模块1500和第五模块1600能在通信上进行串行耦合。第四模块1500、第五模块1600和第六模块1700能够是和/或能够称作通信模块和/或附件模块(annexmodule),它们的每个能在通信上与例如信息设备1540(表示为在通信上与第四模块1500耦合)的多个信息设备耦合。可编程逻辑控制器能用于监视参数和/或控制设备。某些示范系统能结合能在通信上与PLCIIOO耦合的例如第一传感器1240、第二传感器1340和第三传感器1440等的一个或多个传感器。某些示范系统能包括由PLC可控制的设备,例如第一执行器1280、第二执行器1380和第三执行器1480。在某些示范实施例中,PLC1100能经由一个或多个输入/输出(I/O)总线与传感器和/或受控设备进行通在某些示范实施例中,系统1000和/或通信上与其耦合的设备能包括电路1120和/或用户界面绘制器1140。电路1120和/或用户界面绘制器1140能适合于使多个不同的用户界面被绘制。多个不同用户界面的各用户界面能适合于配置来自与控制和/或操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用。用户界面绘制器1140能适合于响应与用户关联的访问权的自动检测而改变多个不同用户界面的至少一个。多个不同用户界面的至少一个能适合于引起所接收配置输入的至少一个值与预定值和/或值的预定范围的自动比较。用户界面绘制器1140能适合于响应将分层组织的指令树的对应图标放置在编辑器和/或绘制的编辑器图标附近或者之中而初始绘制多个用户界面其中之一。用户界面绘制器1140能适合于提供包括经由配置输入所修改的值的用户界面的后续绘制。多个不同用户界面的至少一个能适合于引起比例/积分/微分(PID)控制程序的自动生成。比例/积分/微分(PID)控制程序能适合由PLC1100来运行。多个不同用户界面的至少一个能适合于引起高速计数程序和/或高速控制程序的自动生成。高速计数程序和/或高速控制程序能适合由PLC1100来运行。多个不同用户界面的至少一个能适合于引起例如第一模块1200、第二模块1300、第三模块1400、第四模块1500、第五模块1600和第六模块1700的一个或多个非PLC设备的自动配置,它们中一个或多个能在通信上耦合到PLC1100。第一模块1200、第二模块1300、第三模块1400、第四模块1500、第五模块1600和第六模块1700中的一个或多个能够是通信模块。多个不同用户界面的至少一个能适合于引起指示PLC的控制程序的第一版本与控制程序的第二版本之间自动确定的差的报告的自动生成。对于从多个软件应用所选的软件应用,用户界面绘制器1140能适合于在PLC正运行控制程序时自动提供第一用户界面,以及在PLC没有在运行该控制程序时自动提供第二用户界面。所选软件应用能根据指定配置来选择。用户界面绘制器1140可能不使用PLC语言编辑器来配置所选软件应用。所选软件应用能适合于经由自动绘制分层组织的指令树来引用。指令树能指示与可用PLC机器指令关联9的组织结构。第一用户界面能适合于提供与所选软件应用关联的配置参数的当前集合。第一用户界面能适合于接收来自用户的配置输入。响应配置输入,第一用户界面能适合于改变来自配置参数的当前集合的一个或多个配置参数。第二用户界面能适合于帮助调试所选软件应用。第二用户界面能适合于接收来自用户的调试输入。用户界面绘制器1140能适合于响应从多个软件应用的分层表示所得到的元数据(例如与分层树关联的元数据)而绘制多个用户界面的每个。用户界面绘制器1140能适合于修改成将至少一个用户界面加入多个用户界面,而不改变PLC的控制程序。在某些示范实施例中,第一模块1200、第二模块1300、第三模块1400、第四模块1500、第五模块1600和第六模块1700中的一个或多个能适合于经由多个不同用户界面其中之一来配置。在某些示范实施例中,系统1000和/或通信上与其耦合的设备能包括软件生成器1160。软件生成器1160能适合于响应经由多个用户界面的至少一个所提供的信息而自动生成PLC应用。PLC能用于解决复杂应用任务。示范应用任务能包括[36]在比例/积分/微分(PID)控制中,PID环能用于适合控制对预定定位点的某种测量的应用。PID控制的示例能包括保持对温度的控制和/或保持恒定流率。PID算法能适合于测量正受控制的变量的当前值,并且自动调整控制参数,以尝试保持一致的温度和/或流量。[37]在某些示范制造操作中,经常需要测量以极高速度出现的事件的情况可能想要高速计数。当计数达到某个值时,某些应用能适合于控制过程中的一个或多个变量。某些示范实施例能适合于以大约200千赫兹的速率或大约每隔5微秒对电脉冲进行测量和/或计数。在某些示范实施例中,能对较高速度的操作进行计数和/或控制。[38]某些示范实施例能适合与用于帮助自动化相关任务的一个或多个非PLC设备进行通信。某些示范实施例能支持定制通信协议。例如,种、温度变送器、差动变送器、喷墨打印机和/或视觉系统分别能采用特定的定制通信协议进行通信。为了使PLC与这类类型的设备进行通信,PLC能适合于采用每个定制协议进行通信。某些示范实施例能支持自由口通信。利用自由口通信,能开发客户的PLC应用以便控制通信通用异步收发器(UART)。在某些示范实施例中,能与独特设备的定制通信协议一致地配置和/或控制UART。[39]在某些示范实施例中,能开发定制PLC应用控制程序以便利用PLC所提供的一般能力。应用程序能够是控制PLC的电输入和输出的客户创建软件。客户创建的应用控制程序能够比较复杂。在PLC中建立配置会比较复杂。工程站(ES)软件、例如Step-7或Step-7Micro-WIN和/或用户界面绘制器能适合于向客户提供PLC内部的视图和界面。ES能适合于使用户配置PLC和/或创建定制应用程序。ES能适合于使客户使用上述能力来创建应用。在例如自由口的某些情况下,客户能对实际PLC存储位置进行编程,以便利用该能力。在其它情况下,可经由用户界面提供应用向导,以便帮助减轻创建这些应用的复杂度。对于某些控制任务,客户能通过应用代码来配置某些变量、例如下表I具体所示的那些变量。一旦配置完成,客户能将编程指令插入应用代码,以便发起一个或多个预期操作。对于自由口,这些指令可称作XMT(发射)和RCV(接收)。存储字段格式类型描述位置~~自由口状态位位~~输出可能的自由口差错指示符。SMB2接收字符SM3.0自由口奇偶校位验位SM4.0溢出位SMB30控制寄存器SMB86接收消息状态字节输出包含自由口通信期间从端口0或端口l接收的各字符。输出检测到来自端口0或端口l的奇偶错。位输出这个位在通信中断队列已经溢出时启用。位输入端口0的自由口控制寄存器位输出接收消息状态SMB87接收消息控制位输入接收消息控制SMB88开始字符字节输入消息字符的开始SMB89结束字符字节输入消息字符的结束SMW90空闲线路时间字输入以毫秒给出的空闲线路时间周期。在空闲线路时间到期之后所接收的第一字符是新消息的开始。S丽92字符间时间字输入单位为毫秒的消息/字符间定时器超时值。如果超过定时器周期,则终止接收消息。字输入待接收的字符的最大数量。请注意,这个范围必须设置成预计最大緩冲器大小,即使位输入端口1的自由口控制寄存器位输出接收消息状态S丽94最大字符SMB130控制寄存器SMB186接收消息状态SMB187接收消息控制位输入接收消息控制SMB188开始字符字节输入消息字符的开始字节输入消息字符的结束字输入以毫秒给出的空闲线路时间周期。在空闲线路时间到期之后所接收的第一字符是新消息的开始。字输入单位为毫秒的消息/字符间定时器超时值。如果超过定时器周期,则终止接收消息。字输入待接收的字符的最大数量。请注意,这个范围必须设置成预计最大緩冲器大小,即使对于其它控制任务,能以向导(即图形用户界面)的形式来提供配置能力。向导能适合于帮助客户配置应用。作为一个示例,PID向导的一部分如图2和图3所示。图2和图3是示范用户界面。向导能单独地、与对应的应用程序分开运行。通过运行这个向导所创建的配置能以这种形式可见。配置可能从应用程序的上下文不是可见的。在某些示范实施例中,能提供第一用户界面、如图2的用户界面用于配置示范PID控制。响应一个或多个用户输入,能提供图3的用户界面,用户经由它能提供与PID控制相关的附加输入。图4是能包括指令树3100的示范用户界面。结果,在使指令从ES指令树放入所选编辑器、如编辑器3200时,配置可能是不可见的。配置能够是独立于向导可访问的。在某些示范实施例中,复杂应用任务的配置和应用编程能够相对地简化。复杂应用任务能通过"智能客户端"来实现和配置,并且配置可经由指令来实现。某些示范实施例准许将指令放入编辑器中并通过双击该指SMB189结束字符SMW190空闲线路时间SMW192字符间时间SMW194最大字符令引起配置。下面在图5中示出这个序列。图5是能包括指令树5100和编辑器5200的用户界面5000的示范集合。经由指令树5100和/或编辑器5200,能向用户提供和/或绘制例如第一用户界面5300、第二用户界面5400和第三用户界面5500等不同的用户界面的预定集合。指令实例的打开能够是上下文敏感的。在执行程序编辑的同时双击指令时,能激活配置上下文,如图5所示。响应经由第一用户界面5300、第二用户界面5400和第三用户界面5500所提供的用户输入,指令树上下文能改变,这可产生对指令树用户5100的一个或多个可见或不可见变更。图6是与图5的第一用户界面5300对应的示范用户界面。图7是与图5的第一用户界面5400对应的示范用户界面。图8是与图5的第一用户界面5500对应的示范用户界面。图9是能包括第一用户界面9000和第二用户界面9200的用户界面9000的示范集合。用户界面9000能包括指令图标9100。在某些示范实施例中,在执行程序调试的同时双击指令图标9100时,所显示的上下文能与未执行调试时不同。图IO是与图9的用户界面9100对应的示范用户界面,它能说明调试期间所提供的用户界面。用户界面9100能包括指示与调试相关的一个或多个应用程序的性能的趋势图。某些示范实施例能够通过提供以图形方式引导客户进行配置过程的上下文敏感的用户界面元素来相对地简化复杂应用任务的客户配置。某些示范实施例能将特定配置与给定应用"智能客户端"的各实例关联。双击"智能客户端"的各实例能提供上下文敏感用户界面环境,它能适合于帮助配置或调试用户的应用。智能客户端定制能定义通过将所谓的智能客户端加入系统来定制一个或多个标准功能性的手段。从用户的观点来看,这些智能客户端能通过下列任一个来限定智能客户端能够是扩大由Step7+14所提供的标准功能性的对象;和/或智能客户端能够是向客户提供简化用户界面的对象。从系统的观点来看,智能客户端能够是提供额外功能性的标准St印7+对象的扩充。智能客户端定制能指定能适合于使开发人员能够添加额外系统功能性的规则和/或推荐的集合。这种额外功能性的示例能包括例如PID控制器、高速计数器或硬件模块的专门配置序列的分组;改进的绘制和表示,例如取代实例DB值的表格视图的控制器设定的图形显示;和/或[57]附加配置规则,例如校验和增强某些范围之间的实例值或者根据客户指定配置来计算实例值等。在语言编辑器中,智能客户端可用于梯级(rung)或网络编程。某些示范实施例能利用对于包括智能客户端的功能性的块的调用。这些实例能利用新智能客户端实例的实例化;[60]智能客户端的配置的实例修改;和/或[61]智能客户端在线状态的实例可视化等。[62]这类智能客户端的实例化能包括将智能客户端从指令列表或任务卡拖放到梯级或网络;和/或填写任何配置或参数化属性页等。[65]这能产生调用(或内联代码)和包括对于智能客户端的这个实例的示范操作的其它数据或对象(块)。以下附图示出作为这种智能客户端所提供的PID控制器在实例化时可执行的程序的一个示范实施例。智能客户端实例的修改能包括以下步骤的一个或多个能(通过双击或上下文菜单或者适当的动作)打开所述的实例;和/或[68]不是启动块编辑器,而是能调用智能客户端重新运行配置等。这能产生对于调用或表示图5的实例的其它数据或对象的修改。智能客户端的实例可视化能包括以下步骤的一个或多个[71]能(通过适当的动作)打开所述的实例以便进行可视化;和/或不是启动块编辑器,而是智能客户端能执行其特定实例可视化等。这能使智能客户端的特定可视化功能性被执行,如图9所示。特定实例被打开将用于在线可视化还是用于离线可视化能通过编辑器的当前状态来确定。如果编辑器在打开用于可^L化的实例时处于在线状态,则能要求智能客户端进行在线可视化。如果编辑器处于离线状态,则可发起离线可视化。在硬件配置编辑器中,智能客户端能用于配置例如高速计数器配置的内置中央处理器(CPU)特征或者例如因特网模块的外部硬件模块。某些示范实施例能配置可能过于复杂而无法单独通过主设备描述(MDD)或通用站描述(GSD)配置来支持的硬件模块。主设备描述和通用站描述能描述单个硬件设备的能力。图ll是能适合于从用户获得能配置PLC系统的模块的信息的示范用户界面。用户界面能提示用户提供与模块关联的IP地址、子网掩码、网关地址和/或模块连接类型。在某些示范实施例中,经由用户界面所得到的信息能用于配置模块和/或在通信上将模块与PLC系统耦合。智能客户端能为开发人员提供程序支持。某些示范实施例能利用下列一个或多个16[78]实例化;[79]实例^修改;和/或[80]实例可视化(在线)等。[81]智能客户端的实例化能通过从模块列表(显示可用模块的任务卡)拖放到硬件配置面板中来执行。某些示范实施例能包括适合于指定模块的参数化的属性页。某些示范实施例能提供特定设备或模块的设备参数化。智能客户端实例的修改能包括以下步骤的一个或多个能(通过双击或上下文菜单或者适当的动作)打开模块实例;和/或[84]能调用智能客户端重新运行模块配置/参数化等。[85]某些示范实施例能提供修改的设备配置。模块相关的智能客户端的实例化可视化能包括以下步骤的一个或多个能(通过双击或上下文菜单或者适当的动作)打开所述的实例;和/或[87]能调用智能客户端执行其特定模块可视化等。[88]某些示范实施例能提供智能客户端的特定可视化功能性。[89]对于某些智能客户端,一种类型的无上下文使用能包括向导类型操作。这种向导可设计成生成整个程序或硬件配置,并且能被启动而无需对所选对象的特定上下文。相反向导能在启动之前询问上下文。图12是能适合于从用户接收与配置关联PLC系统的告警相关的一个或多个输入的示范用户界面。用户界面能包括与配置告警关联的多个逻辑按钮和/或输入字段。某些示范实施例能通过添加称作"工具"或"向导"的主菜单项被结合到平台中。在某些示范实施例中,菜单能包括当前安装的智能客户端的列表。在激活时,某些示范智能客户端能确定其操作上下文。[92]下面能够是某些示范实施例的智能客户端性质的集合。这些是可能通过附加客户端应用或控件来使用以便执行特定的增值定制的服务。对STEP7+项目相关服务的服务访问和访问对象。这些服务能包括下列一个或多个以编程方式创建某些类型的块(OB、DB、系统数据块(SDB)、FC、功能块(FB))的能力;[95]以编程方式删除某些类型的块(OB、DB、SDB、FC、FB)的能力;指定和修改包括块特权(只读、隐藏等)的块属性的能力;以编程方式生成和管理标签引用的能力;[98]以编程方式生成和管理变量表的能力;和/或[99]对象框架中表示的某些对象类型能够是可访问的等。[100]与定制客户端对象有关,可能希望语言相关的智能客户端对于指令树和编辑器中的典型框指令(boxinstruction)具有相似外观并且以相似的方式来运行。与指令属性有关,某些示范实施例能区分智能客户端与常规框指令,以便指明附加配置可用于关联属性页。这可通过将定制图标包含在指令树中和指令中的一些其它区分性质包含在编辑器中来实现。与指令编码和代码生成有关,可能希望语言相关的智能客户端表现为原生框指令。但是,对于这些指令所生成的代码能够是内联代码和/或FC或FB中包含的代码。例如,PID智能指令能创建能运行实际PID指令的循环运行0B。能添加附加调度码以便在不同的PLC扫描单独运行不同的PID指令。智能客户端能够持久地存储客户所配置的信息。定制对象能够与例如交叉引用、打印、撤消、重做、查找/替换等的其它标准服务相结合。定制客户端能够执行DB和IDB成员的离线和在线的读和写。当前在STEP7中,客户定义功能的符号名称(FB、FC)能够是唯一的。这还包括数据块(DB)。在某些示范实施例中,FC/FB和DB的符号引用能具有相同名称。这能允许FC内部使用的或者与FB配合使用的任何DB被可视地关联,因为符号引用可能完全相同。语言相关的智能客户端能够就像原生指令那样出现在指令树中。但是,放下这些指令可能使FC或FB被实例化到项目中。当使用FC或FB时,指令的放下可生成唯一的实例名称。另外,智能客户端设计人员可适合于使客户指定定制名称。上载能重新创建某些智能客户端对象。在上载到新项目中时,智能客户端能通过其关联属性页来重新配置。导出和后续导入还能重新创建所有智能客户端对象。在导入新项目时,智能客户端能够通过其关联属性页来重新配置。在某些示范实施例中,语言相关的智能客户端的可视表示能显示通过属性页所配置的信息。能显示某些重要信息而无需实例化属性页。某些示范实施例能包括框指令内部或者专用类型的工具提示中的信息。智能客户端能扩大该平台和/或其它编辑器的上下文菜单。在某些示范实施例中,语言相关的智能客户端程序能显示通过属性页所配置的信息。在某些示范实施例中,能显示信息而无需实例化属性页。这可通过将重要信息包含在框指令内部或者专用类型的工具提示中来实现。在某些示范实施例中,当前硬件配置能够是从智能客户端可访问的。在某些示范实施例中,呈现配置选项的指令能基于当前配置的硬件。它的一个示例可以是对等通信指令。这些指令可提供当前配置的硬件的网络选择。智能客户端能支持剪切/复制/粘贴(CCP)。在对智能客户端执行这些操作时,能管理智能客户端的某些关联项目组件。项目组件能根据智能客户端而改变。这些可以是内联代码、FC或FB。剪切操作能删除智能客户端及其关联组件。但是,可存在还具有对现有组件的引用的智能客户端的一个以上实例,复制和粘贴操作可才艮据智能客户端而改变。可复制内联代码。FC和FB能复制对块的调用。智能客户端能支持撤消和重做操作。在对语言相关的智能客户端执行这些操作时,能添加和/或删除关联项目组件。由于对现有智能客户端配置的修改而能支持撤消和重做操作。实例修改可能是可撤消的事件。智能客户端能支持用户界面相关组件(对话框、消息、帮助...)的国际化。某些示范实施例能扩展软件界面以满足将来的需求。能保持对现有客户端的兼容性。图13是能包括具有包含编辑器的指令树13200的任务卡的程序编辑器13100的示范用户界面。编辑器的任务卡能包括支持的对象。能与实现指令的方式无关地对指令进行排列和分类。实现为内联MC7指令、FC、FB、SFC、SFC和/或智能客户端的指令能表现为常头见指令。智能客户端能在视觉上是不同的。这种不同能用于可视地标识可利用通过某种类型的特殊"指导配置"方法所执行的附加配置的树和编辑器中的指令。智能客户端能在安装期间通过使用元数据包含在编辑器的任务卡中。指令树中的分类也能通过元数据来指定。某些示范实施例能包括采用单一描述将智能客户端添加到多个编辑器的一般化通用方法。智能客户端任务卡对象能在创建任务卡期间实例化。这些智能客户端任务卡对象能包括描述指令的性质的元数据。某些示范实施例可能没有利用运行时所添加的指令。语言相关的智能客户端能为编辑器(或者任何其它主管商业逻辑)提供以下信息项描述SS能将项标识为智能客户端20子类型能标识智能客户端的类型(PID、HSC、边缘、...)框类型能(为语言相关的智能客户端)标识"框"的类型程序集能标识将负责智能客户端创建(即关联智能客户端工(Assembly)厂)的程序集的命名空间。任务卡图标到任务卡的文件夹中的表示的指令图标的路径指令图标到表示编辑器中的实例的指令图标的路径在线指令图到编辑器中的在线表示的指令图标的路径(如果有的标话)实例化能在执行将智能客户端插入相应编辑器区域的动作时进行。能创建新的智能客户端实例。但是,能从编辑器抽象用于创建新智能客户端实例的方法。编辑器可能没有与智能客户端的类型有关的显式知识或绑定(binding)。可能仅通过与智能客户端有关联的类或子类才知道这种知识o这能在架构上通过使用某种类型的创建型工厂模式来实现。工厂、抽象工厂或构造器模式的某种变化可能是充分的。创建型工厂模式能将对象的创建抽象到理解可被创建的类的子类或接口。某些示范实施例能准许编辑器调用可负责实例化不同类型的智能客户端的单个工厂方法。图14是能包括指令树14100的示范用户界面。如PID图标14200的图标能在用户界面中由用户拖曳到编辑器14300,这会引起与配置PID控制关联的一个或多个用户界面的生成。智能客户端插入编辑器的步骤能以许多方式来进行。一旦放置在编辑器中,编辑器能使用所提供工厂来创建智能客户端的"新"实例。某些示范实施例能调用工厂提供的Createlnstance方法。工厂提供的Createlnstance方法能适合于调用特定智能客户端的Createlnstance方法,以^更实例化新的实例。[118]智能客户端的实例化可在没有具有正在创建的智能客户端实例的任何显式知识的编辑器的情况下实现。示范伪代码如下所示。[119]SmartClientFactorySCFactory=newSCFactory();岡……〃ISmartClient先前声明为接口[122]ISmartClientMySCInstance;[123]SCFactory.Createlnstance(MyDev,Type,SubType,MySCInsance);程序编辑器能与实例化智能客户端关联。但是,编辑器可能没有智能客户端的能力和行为的实际知识。每当ISmartClient接口中所引用的动作之一进行时,编辑器能调用给定智能客户端所提供的适当实现。例如,如果客户光标悬停在以上实例化的智能客户端上方,则编辑器能调用下列工具提示方法MySCInstance.ToolTip(Block2Cal1,ToolTipStream);系统能适合于采用返回的"ToolTipStream,,流来显示工具提示。智能客户端能够是提供标准平台环境之外的新功能性的软件附加。某些示范参与编辑器(程序和硬件配置)使用所显示界面对智能客户端实现提供控制。智能客户端能提供与它们设计成提供的任务关联的功能性。某些示范智能客户端能通过脚本对象模型所提供的标准外部接口与平台交互。平台或其它商业逻辑所提供的标准功能性能由外部客户端通过脚本接口来访问。智能客户端使用脚本发起的变更能通过标准"变更中(0nChange)"通知机制在编辑器的视图中自动反映。这些机制能通过对象框架与各种编辑器的商业逻辑之间的现有关系来提供。智能客户端开发人员将负责尝试使新附加正常可靠地与平台配合工作。某些示范智能客户端能够是标准产品的扩展,并且能够比较可靠。[130]图15是能包括与应用开发相关的说明性流程的示范系统15000的框图。系统1500能包括一个或多个编辑器15100、智能客户端工厂15200、一个或多个智能客户端15300和脚本对象15400。某些示范智能客户端能开放主管商业逻辑(即编辑器、硬件配置)可用于发起由智能客户端所提供的功能性的运行的特定接口。IsmartClient接口能够是参与编辑器所使用的控制接口。某些示范实施例能由智能客户端来实现,以便提供对相应智能客户端唯一的功能性。编辑器能调用这个接口中的方法,以便调用智能客户端所提供的附加功能性。例如,实例化新的智能客户端对象能调用"Createlnstance"方法,以及编辑配置则能调用"Editlnstance"方法。示范伪代码如下所示PublicinterfaceISmartClient{intCreatelnstance([in]IScriptObjectIHomeBase,[137][in]intType,[138][in]intSubType,[139][out]ISmartClientMylnstance);[140]intEditlnstance([in]IScriptObjectIHomeBase);[141]intEditType([in]IScriptObjectIHomeBase);[142〗intVisualizeInstanceOffline([in]IScriptObjectIHomeBase);[143]intVisualizeInstanceOnline([in]IScriptObjectIHomeBase);[144]intRunWizard([in]IScriptObjectIHomeBase);[145]intCheckConsistency([in]IScriptObjectIHomeBase);[146]intDelete([in]IScriptObjectIHomeBase);[147]intCopy([in]IScriptObjectIHomeBase);[148]intPaste([in]IScriptObjectIHomeBase);[149]intHelp([in]IScriptObjectIHomeBase);[150]intPrint([in]IScriptObjectIHomeBase,[151][in,out]StreamDataStream);[152]intToolTip([in]IScriptObjectIHomeBase,[153][in,out]StreamDataStream);[154]}某些示范智能客户端能与程序编辑器关联。这些语言相关的智能客户端能适合于执行与现有语言编辑器一致的操作。某些示范智能客户端能结合适合于支持国际化元素的用户界面行为,它能包括对语言设定和区域选项的支持。某些示范智能客户端能使用"指导配置"方法。打开智能客户端的实例能发起"指导配置"。配置的类型和复杂度可根据客户端而改变。在完成客户端配置时,可将各种组件和/或值插入程序。这些程序组件能表示成功配置的智能客户端的运行性质。这些组件能够是对象块(0B)、(实例数据块)IDB、功能调用(FC)、功能块(FB)、系统功能调用(SFC)和/或系统功能块(SFB)等的任何组合。可运行代码能包含在独立的唯一块中,或者可内联生成。还可共享某些组件。例如,一个公共首次扫描0B可由利用首次扫描初始化的多个语言相关的智能客户端使用。每个相应的智能客户端能将独立网络加入相同的首次扫描0B,它能准许最小资源使用,因为只有一个首次扫描块用于多个智能客户端。这些组件的类型和组织可以是智能客户端设计人员的职责。某些示范实施例能够是智能客户端设计人员可用的。编辑器能向智能客户端询问它是否已经成功配置。在某些示范实施例中,智能客户端可能知道客户是否已经完成某些示范配置。校验一致性还能准许智能客户端执行专有组件的某些检验,它可在编译期间或者在下载之前执行。在某些示范实施例中,语言编辑器能包括通过从调用的实例启动来编辑调用的实例的类型的手段。由于语言编辑器中的智能客户端有时是调用并且可这样实现,所以在某些示范实施例中能为"智能客户端"提供回调。智能客户端能提供按照用户的指定来改变或修改对话框程序的手段。将由特定智能客户端所执行的特定动作可由"智能客户端,,设计人员来确定。RunnWizard调用是可能的回调,它可能没有由编辑器提供。在某些示范实施例中,RunWizard能发起智能客户端的无上下文操作。工作台可扩展以便提供嵌入接口的调用,适合由用户使用。某些示范实施例能包括额外菜单"RunSmartClient",它能适合于显示某些已安装的智能客户端。在选择时,所选智能客户端能被实例化,并且接收RunWizard回调。"删除"操作能适合于删除编辑器的指令实例和/或相关组件。删除方法能在删除智能客户端的实例时被调用。删除操作能以许多不同方式(例如删除指令、删除梯级等)进行。在某些示范实施例中,删除调用能与删除指令的方式无关地运行。智能客户端实例的删除能引起某些关联组件的删除。由一个以上智能客户端所共享的任何组件能被引用计数和/或在没有智能客户端的其它实例正使用该组件时被删除。在某些示范实施例中,智能客户端能删除组件。对于一个以上智能客户端所共享的块,取代使用引用计数的一个选项可以是检查块中的网络的数量。当数量达到0时,可删除该块。复制操作能复制核心对象,并且将核心对象放入剪贴板。该对象类型能够是标准对象模型类型,并且能在将来粘贴操作期间进行管理。除了标准复制操作之外,编辑器可调用智能客户端的复制操作,它能适合于扩大标准复制操作。智能客户端可适合于将可在后续粘贴操作期间使用的附加专有信息包括进剪贴板。25[169]编辑器的粘贴能将先前复制到剪贴板中的智能客户端插入当前编辑器位置。除了这个标准粘贴操作之外,编辑器还能调用智能客户端的粘贴操作。智能客户端能适合于从剪贴板读出信息的一部分,并且可执行一个或多个预定任务,它可扩大标准粘贴操作。例如,智能客户端可执行实例数量的引用计数。这可用于在引用计数减少到零时删除智能客户端的项目组件。智能客户端能通过提供定制帮助主题来提供对定制用户辅助的支持。智能客户端的帮助提供可以是独立的,它可能没有结合到编辑器的帮助中。在这个调用时,智能客户端能获得当前国际化设定,然后以这种语言显示帮助信息(或者后退到缺省语言),最后将控制返回给编辑器。智能客户端能适合于生成可用于打印的它们各自的配置的格式化表示。智能客户端能向程序编辑器提供格式化信息以便进行打印。配置的格式能由智能客户端设计人员提供。这种格式可根据各智能客户端而改变。某些示范实施例能符合标准打印可用性样式。在某些示范实施例中,编辑器首先打印它们自己的信息,然后附加任何智能客户端的附加打印页。智能客户端能适合于生成定制的格式化工具提示。这种工具提示能用于显示与智能客户端有关的各种信息片段。信息能包括下列一个或多个指令的标题;[l75]指令的简短帮助描述;[176]预期配置参数集合连同它们的值;[177]指令原型IN、0UT和IN/0UT参数的列示;和/或[178]可选用户提供注释。在某些示范实施例中,能显示预定数量的字符。[179]每当光标悬停在整个框指令内部时,工具提示可变为可见。某些示范实施例可能没有在指令内提供特定的工具提示敏感子区域。能提供国际化支持。图16是能指明与从远程PLC到关联指定本地地址的设备的数据传输相关的信息的示范用户界面。如图所示,该用户界面能提供能包括端口、远程站、远程緩冲器和/或本地緩沖器等的标识的信息。智能客户端可显示配置项的当前值。这些值能使用数据读来确定。在在线可视化中,智能客户端能适合于绘制当前值。为了使在线绘制或重复值显示平滑地继续进行,异步数据读能力可以是足够的。如果脚本无法提供在线绘制或重复值显示,则能利用下面所示的轮询读。标记为轮询读的读能立即返回关于数据是否可用、因此是否可能已经被提供的指示。如果读没有提供任何数据,则智能客户端可在重复进行读尝试之前暂时停止预定时间间隔。为了避免过度的系统负荷因数,可进行至少50毫秒的暂时停止。可利用更长时间的暂时停止。能为智能客户端4是供独立的VisualizelnstanceOffline,它能适合于包括离线侧的实例值显示和可能的微调。这种微调的实例值能存储在离线数据库(DB)中,并且随后能被下载。在编辑器中,可存在用户可寻址函数"Visualizelnstance"。如果编辑器在用户选取它时处于在线模式,则能经由VisualizelnstanceOnline来调用智能客户端。如果编辑器处于离线模式,则能经由VisualizelnstanceOffline来调用智能客户端。能对于两种函数提供国际化支持。IScriptObject接口能提供给由脚本对象模型所开放的访问平台服务。IScriptObject能够是关于抽象的"对象框架,,对象的接口。能将这个接口类型转换(cast)为从"对象框架"所导出的任何特化(specialization)中。这些特化可在某些示范实施例的对象模型中定义。在某些示范实施例中,智能客户端可理解示范实现的对象类型。在激活某些示范方法时,各智能客户端能适合于类型转换并检验所提供界面与实现兼容。下面是智能客户端执行对Deviceltem的类型转换的伪代码的示例Deviceltemdevice=(IHomeBaseasDeviceltem);if(device=NULL)returnfalse;如果类型转换成功,则对象能如预期使用。该方法能适合于在类型转换不成功时返回。如果给定SmartClient是可编程对象类型,则IHomeBase能够是下列之一对于由块表示的智能客户端,IHomeBase将为那个块;或者对于由其它方式、如内联代码所表示的智能客户端,IHomeBase将为编辑器的目标对象。[195]对于表示硬件配置对象的智能客户端,其IHomeBase能够是下列之一对于由Deviceltem表示的智能客户端,IHomeBase将为那个Deviceltem;或者对于由其它方式表示的智能客户端,IHomeBase将为适当的Deviceltem(例如架)。使用流数据类型的参数能使用输入/输出声明类型来声明。虽然一些流能用作输出类型,但是同样能声明为输入/输出类型,以便准许对存储器分配进行无用单元收集。在某些示范实施例中,智能客户端能将标准平台支持用于撤消和重做。在某些示范实施例中,能利用核心对象,以及智能客户端可能不利用标准对象框架类型之外的支持。在某些示范实施例中,智能客户端能够是无状态的。在某28些示范实施例中,在完成配置活动时,编辑器能将智能客户端的内部对象表示更新到对象的特性中。某些示范实施例能适合于提供对平台中包含的"公共服务"的支持。在某些示范实施例中,智能客户端能生成由许多不同类型的对象所表示的配置。能在单个配置会话中生成或修改各对象。撤消和重做操作能在单个配置会话中将某些对象标识和管理为单个撤消和重做事务。在某些示范实施例中,调用程序(编辑器或工作台)能在实际调用智能客户端之前实现撤消事务。将控制返回给调用程序之前,由智能客户端所执行的某些可撤消操作能在这种单个事务中记录。一旦智能客户端将控制转给调用程序,则可关闭该事务。这样,所有可撤消动作能在各个事务中记录。撤消操作可能没有自动显示最初用于改变配置的视图。例如,假定编辑器的属性区域用于执行智能客户端配置,如果属性区域不是可见的,则撤消操作可能没有使窗口变为可见。在这个上下文中,客户可能无法可视地看到实际正在撤消的内容。智能客户端能够知道,某些记忆(mnemonics)能经过国际化。某些示范实施例能按照平台的当前记忆设定来处理这类记忆。为了使智能客户端能够进行这种操作,智能客户端能经由脚本来获得和/或接收平台的当前记忆设定。标准交叉引用支持能提供智能客户端组件和资源使用的适当可见性。如前面所述,智能客户端能包括许多不同的程序组件(例如0B、FC/FB、IDB等)。交叉引用组件使用能利用"已生成"标记,以便确定对客户的适当可见性。调用结构可显示对表示智能客户端的块的顶级调用。智能客户端中的某些调用可能不是可见的。在某些示范实施例中,智能客户端所使用的某些可共享系统内置资源在交叉引用使用中能够是可见的。这意味着,可引起由客户的程序共享访问的任何资源能标识为由智能客户端使用。在某些示范实施例中,资源能够是高速计数器。某些示范实施例能包括六个高速计数器。交叉引用能适合于标识这些资源的使用。某些程序组件能在源与目的地之间进行比较。源和目的地能在磁盘上包含的离线项目与PLC中正在运行的在线项目之间改变。但是,食品和药物管理局(FDA)能提供与比较操作有关的一个或多个规章,以便确定PLC中运行的应用是与离线状态中所存储的完全相同的应用。与FDA规章一致,智能客户端组件和配置也能进行比较。用于执行这些比较的方法能根据与已生成组件的可见性有关的架构中进行的判定而有所不同。某些示范实施例能通过智能客户端来扩大编辑器菜单。某些示范智能客户端能实现标准化接口,它实现一个或多个公共方法。支持智能客户端的示范编辑器能适合与这些接口进行交互。对于菜单,编辑器能获得这个接口,并且在接收到焦点时为预定智能客户端提供某些上下文菜单构件。在某些示范实施例中,所述接口能够是后绑定接口。前绑定机制可限制到接口成员(例如方法、特性和/或迭代器等)的预先安排的集合。实现者可能不考虑其中的任一个,但是可能无法在接口中添加没有预见到的方法。某些示范实施例能添加以前没有加入的内容。在某些示范实施例中,智能客户端能够是可具有新规范的唯一的新努力。所述接口能由某些示范智能客户端来实现,并且能由使用智能客户端的编辑器来使用(调用)。接口能包括两种方法[212]—种是查询智能客户端外部可用功能;和/或[213]另一种是调用这些功能其中之一。[214]下列伪代码能适合于实现该接口。[215]PublicinterfaceISmartClientMenu[216]{[217]〃由编辑器调用以便了解智能客户端的特定功能性[218]//(例如建立显示这些项的上下文菜单)IntGetAvailableVerbs([out]stringAvailableVerbs);[220]〃由编辑器调用以便调用智能客户端的特定功能性[221]IntDoVerb([in]stringVerbName,DeviceltemDev);}在某些示范实施例中,编辑器能查询这种接口,并且当智能客户端进入焦点时调用关联GetAvailableVerbs方法。智能客户端能适合于返回通知关于其外部可用功能性的动词列表。编辑器能适合于调用以下功能(表示为伪代码)string[]AvailableVerbsOfSmartClient=this.GetAvailableVerbs0;在某些示范实施例中,菜单项能作为智能客户端实例的上下文菜单显示,而不是在主菜单中显示。在用户选择时,编辑器可调用DoVerb方法来执行所选动作。下列伪代码是DoVerb方法的一个示范实施例StringVerbToPerform="Configure";if!(this.DoVerb(VerbToPerform,Device))//—切正常else//抛出异常PublicinterfaceISmartDeviceConfig[232]{[233]}这种伪代码描述哪些服务可由系统(工程平台和域对象)使其可用的方法和属性来提供。在某些示范实施例中,智能客户端能适合与系统进行交互。在某些示范实施例中,智能客户端能通过脚本子系统所开放的外部模型的关联能力来增强。在某些示范实施例中,例如获得和设置等的能力能通过脚本语言直接作为属性来反映。例如,获得或设置网络可在脚本语言中实现为如下Block[My-OB].CodeSection.Network[Network-Number][236]下面描述的能力不是要表示所有可能的服务。在某些示范实施例中,可提供其它服务。在某些示范实施例中,智能客户端能包括下表所示的功能特性的一个或多个目录能力描述获得目录项能用于获得目录信息以确定特定模块类型。这些可由智能客户端用于在设备项容器中装载(populate)设备项。模块标识和描述能在MDD或GSD设备描述中始发。特定智能客户端可从离线目录或者实际实例化硬件配置获得信息。表3项目能力描述获得设备项能用于获得对实例化设备的引用eft*33谷奋谷為。获得项目名称能用于获得现有项目的名称。获得项目路径能用于获得现有项目的路径。获得创建日期/时间能用于获得现有项目的创建时间和日期。获得可用资源能用于获得表4设备项容器<table>tableseeoriginaldocumentpage33</column></row><table>能力描述获得/设置参数能用于获得和/或设置各个设备参数。获得参数迭代器能用于对于设备配置的所有参数进行迭表7程序对象文件夹容器和程序对象容器能力描述获得/设置程序对象能用于获得(读)和/或设置(添加)程序对象和/或文件夹对象删除程序对象能用于删除程序对象和/或文件夹对象。获得程序对象迭代器能用于对所有文件夹和对象进行迭代。获得标签迭代器能用于对所有标签进行迭代。参阅下面的"标签"描述以便进一步操作。表8标签_获得/设置特性属能用于获得和设置特定特性属性。例如名称、地性址、数据类型和注释。表9程序对象_"1^34获得/设置块属性获得/设置接口获得/设置代码段获得在线对象能用于获得和设置特定块属性。例如名称、数量、块类型、0B类型、作者、保护方式/密码、修改/创建时间/日期、语言等。OB类型参数能指定0B的行为类型。这可以是循环、中断、首次扫描和/或延时等。智能客户端能使用可能对客户隐藏的这些0B类型的特定实例。能用于获得和设置程序对象的声明接口的内容。这对整个接口进行操作。能用于获得和设置程序对象的代码内容,它对整个代码段进行操作。能用于获得对程序对象的在线表示的访问权,它可准许其它块相关服务对在线表示而不是ES表示进行操作。可支持的在线服务的集合能包括"获得程序对象"(DB和FB)、"获得接口部分"、"获得特性"和"设置特性"。为了使在线绘制或重复值显示平滑地执行,异步数据读能力能够是可用的。如果脚本不能提供这个方面,则能使用轮询读。这种轮询读可立即返回并且给出数据是否可用的指示。表10接口部分_获得/设置声明迭能用于对程序对象的声明进行迭代。代器获得/设置声明能用于获得和设置特定接口声明。删除声明能用于删除个别接口声明。<table>tableseeoriginaldocumentpage36</column></row><table>能用于确定平台的当前记忆设定。能由智能客户端用于按照平台的当前设定来获取记忆信息。能用于确定平台的当前语言设定。能由智能客户端用于采用相同语言设定来显示信息。智能客户端的各实例化能产生由工厂所创建的实例对象。如前面所述,工厂可向编辑器提供访问这个实例对象的接口。图17是能包括指令树用户界面17100、编辑器图标17300和数据结构用户界面17400的用户界面17000的示范集合。在用户界面17000的集合中,实例对象能表示特定智能客户端实例。能使智能客户端的状态信息持久。某些示范实施例能使用现有编辑器对象,并且以使得提供存储的方式对它们进行扩展。对于由块表示的智能客户端,存储可保留在块中。对于由其它方式、如内联代码所表示的智能客户端,存储可保留在编辑器的目标对象中。在某些示范实施例中,编辑器能适合于区分多个智能客户端实例(多个expando特性,各具有对特定智能客户端实例的唯一引用)的存储。在某些示范实施例中,智能客户端能通过调用以可视方式表示。一旦总的语言编译指示"内联"为可用,实际代码能作为实际调用或内联生成。对于由块表示的智能客户端,所提供的"IHomeBase"能够是这个块。对于由其它方式所表示的智能客户端,所提供的"IHomeBase,,可以是编辑器的目标块。"智能客户端"能适合于使用"IHomeBase,,来浏览对象模型,以便获取适当的对象。在某些示范实施例中,"IHomeBase"能用于查找块容器,以便创建新的块。在某些示范实施例中,一旦使用编辑器的目标块,在块中存储的各智能客户端实例之间能出现相关性。获得当前记忆设定获得当前语言设定[243]智能客户端的实例对象能包括不存储在其它位置(例如实例DB)的特定配置数据。例如,能使用"配置完成"标志,它能指明智能客户端是否已经成功配置。成功配置能在程序编译期间来检测和/或确定。类型化OB能准许同一种OB类型的多个实例,例如循环、定时中断和/或首次扫描等。智能客户端能使用它们自己的类型化0B的特定实例。类型化0B能与由客户专门插入项目的类型化0B无关且不同。智能客户端0B能标记为"已生成",并且因此能被过滤以免对客户可见。某些示范实施例能支持类型化0B。编辑器能适合于将保存智能客户端内部对象的特定expando特性标记为"待下载的组件",它能使对象(块)的这些部分就像代码段那样被下载和上载。上载之后,内部对象能表现为就像下载之前那样,因此能可用于进一步操作。配置序列所指定的其它信息能作为其它对象的部分(例如DB中的实际值)来存储。这些部分能与对象一起^TF载和/或上载,因此也是可用的。某些示范实施例能适合于不仅支持上载,而且还支持智能客户端数据的导入和导出。在某些示范实施例中,由智能客户端专门创建的项目组件能对客户隐藏。某些示范客户可能希望将智能客户端看作黑盒子。这类客户可能不了解在项目中使得可见的附加组件。因此,客户可能不希望管理这些组件。在某些示范实施例中,已生成组件能保持在客户的项目中。使组件不可见能具有架构的含意。例如比较、删除和复制等操作可涉及智能客户端。例如,智能客户端可能知道应当删除哪些组件以及应当删除它们的时间。另外,智能客户端可能知道可比较哪些组件以便确定等同性。另外,这些操作能由智能客户端来执行,而与发起操作的位置无关。在某些示范实施例中,智能客户端可适合于执行这类操作,无论操作是由语言编辑器中还是来自项目导航器的动作发起。能通知智能客户端关于这种请求,使得能执行操作。如果不能提供某些架构变更,则可提供另一种解决方案,它可包括经由可基于特殊"已生成"标志的特殊过滤器使项目组件在项目导航器中可见。智能客户端所生成的各组件可包括作为属性的"已生成"标志。项目导航器可使用这个"已生成"标志以不同方式来组织或过滤这些组件。例如,可将附加系统生成文件夹加入树,并且某些"已生成"组件可包含在文件夹中。某些示范实施例能帮助使得对于客户的影响为最小,同时满足FDA要求。使元素可见能准许客户执行基本项目操作,例如比较或查看属性(例如按照FDA规章)。可准许手动删除这类组件,因此客户能管理可能的错乱。支持智能客户端的语言编辑器能扩展到支持附加能力。语言编辑器能适合于识别处理智能客户端的时间而不是常规指令。当编辑器接收到智能客户端的命令时,编辑器能将运行交给智能客户端。智能客户端所支持的命令能通过接口规范来定义。在某些示范实施例中,语言编辑器能通过使用块来支持语言相关的智能客户端。在某些示范实施例中,能支持宏(内联代码)能力。例如,用户的视图能表现为块,但是能实现为宏。当利用块功能性时,可实现若干能力,它们能包括P56]操作数工具提示;[257]操作数在线状态;[258]功率流连接器(EN/EN0);[259]下面描述的缺省和动态原型;和/或[260]文本语言综合;等等。[261]某些示范语言相关的智能客户端能具有缺省原型(输入和输出的数量连同它们的数据类型),它们能在实例化时使用。这类智能客户端能适合于根据客户所选择的配置来改变缺省原型。输入或输出的数量或者关联数据类型可从缺省值改变,它可涉及以编程方式改变现有指令的原型。在某些示范实施例中,更新能保持现有调用的现有操作数配置。智能客户端定制的以下功能性能实现为一般功能性调用的特定图标而不是标准调用图标能用于梯形实例;用于定义组件能由智能客户端"生成"的标志;[265]能将智能客户端程序集与常规块调用关联的标志,当用户对块(离线和在线可视实例)执行动作时,它能允许平台启动智能客户端而不是典型编辑器;和/或通过使用内联"编译指示"命令生成内联代码而不是提交调用;等等。[267]在某些示范实施例中,这些接口的方法和接口的每个中的论述能包括有关与脚本接口的交互的含意。在某些示范实施例中,智能客户端能与程序编辑器关联。因此,以下示例将集中于使用PID指令(作为一个示例)的特定类型的智能客户端。智能客户端的开发人员能定义与这些指令关联的各种继承和聚合模型。虽然各种继承和聚合模型可能不是SPH考虑因素的一部分,但是下面提供一个示例以便进一步解释。类/变量名称类型_^_ISmartClient智能客户端接口定义。这个接口能被定义并提供给所有智能客户端开发人员。40SmartClientBase对象SmartClientBase.集合ContainerPIDBasePIDBase.IconPIDBase.ContainerSmartClientBase图标集合PIDControllerPIDBasePIDController.字符串NamePIDController.集合PropertiesPIDController.Bl集合ocks智能客户端基类是能包括其它智能客户端的共同行为的基类。这个基类能被定义并提供给其它智能客户端开发人员。所有智能客户端对象的容器,它能由可对于对象进行迭代的其它ES控件使用。示例可以是用于打印的智能客户端的预览或者任务卡可视化。PID基类是能包括某些PID智能客户端的共同行为的基类。例如,PID基类能用于支持对于不同类型的PID指令的共同行为。PID指令的图标。某些PID对象的容器。这个容器能由PID控制面板用于对所有PID实例进行迭代。单独的PID对象。PID指令实例的可见名称。各PID指令实例的属性。与各PID指令实例关联的块。表16[270]"ISmartClient"接口能定义能由智能客户端对象实现的行为集合。除了"ISmartClient,,接口之夕卜,还能使"SmartClientBase"类可用。这个基类能从"ISmartClient"接口导出,并且为所需接口提供基本行为。提供接口和基类能允许客户端从任一个定义来继承,取决于哪个对特定客户端提供最大价值。—些特定类型的智能客户端可以可选地提供它们自己的基类行为。例如,不同类型的PID指令能适合于在公共基类中提供标准PID行为。这种PID基类能包括PID指令的容器,它可提供使其它PID相关对象(如PID微调控制面板)对不同PID实例进行列示或迭代的途径。图18是能包括Ismartclient对象18100、Smartclientbase对象18200、SCCollection对象18300、PIDBase对象18400、PIDCollection对象18500、PIDContinuous对象18600、PIDStepController对象18700和NextSmartClient对象18800的示范系统18000的框图。某些示范实施例提供能由某些智能客户端继承的接口"ISmartClient"。各智能客户端能适合于提供它自己的行为的特定实现,如上所述。实现伪代码能如下所示publicclassContinuousPID:PIDBase或publicclassContinuousPID:SmartClientBase或publicclassContinuousPID:ISmartClient{//智能客户端的实现能到这里[279]intCreatelnstance(IScriptObjectIHomeBase,...){...}[280]intEditlnstance(IScriptObjectIHomeBase){…}[281]intTooltip(IScriptObjectIHomeBase){...}[282]...[283]}[284]在某些示范实施例中,一些类型的智能客户端可具有提供给定类型的标准行为的附加基类。在某些示范实施例中,智能客户端可符合与平台可用性模型关联的标准规范。这类规范能在平台可用性模型中定义。在某些示范实施例中,标准平台控件能用于用户界面。在某些示范实施例中,标准平台控件可能没有通过脚本接口来开放。在某些示范实施例中,能经由专用于外部使用的公共服务程序集的副本来访问标准平台控件。在某些示范实施例中,能向某些参与智能客户端开放平台的公共服务接口的标准平台控件。任何智能客户端能符合标准平台国际化规范。任何文本用户界面项能在属性页、错误消息、工具提示、帮助、图标等中显示,且必须符合这些标准要求。智能客户端能经由脚本来询问当前国际化设定,以便满足这种要求。在某些示范实施例中,可能没有从智能客户端提供对项目导航器的访问权。在某些示范实施例中,智能客户端所执行的动作能经由脚本子系统所提供的接口来实现。对于这类实施例,可能的兼容性问题和事宜可由脚本接口理解。在某些示范实施例中,智能客户端可不受平台的将来修订影响。平台的新版本可以不请求对现有智能客户端的软件变更。在某些示范实施例中,智能客户端能使用公共服务接口。脚本子系统能适合于确定这类服务接口是经由脚本接口来开放还是直接^皮访问。在某些示范实施例中,智能客户端所执行的公共平台动作能通过专用于外部使用的公共服务接口的副本来实现。为了确保智能客户端具有一致的外观和行为,某些示范实施例能使用外部平台公共服务。公共服务能包括客户反馈服务,例如错误消息显示、错误消息报告和/或消息框等。在某些示范实施例中,每个单独智能客户端能建立后续智43能客户端版本的兼容性等级。在某些示范实施例中,智能客户端能提供与平台相似的兼容性等级。例如,智能客户端的特定版本可以能够理解先前版本。在某些示范实施例中,各个项目组件(例如0B、DB和/或FC等)可对客户变为可见。这类判定可在开发各智能客户端期间单独进行。在某些示范实施例中,智能客户端能部署在附加包、如"硬件支持包"或"可选包"中。每个附加包能单独安装在给定可编程逻辑控制器(PLC)上。在某些示范实施例中,特定智能客户端可被保存到项目中,其中该项目被提供给没有安装相同附加包的不同PLC。在某些示范实施例中,客户能获取和安装附加包,以便能够操作智能客户端。在某些示范实施例中,智能客户端能被下载到PLC和/或运行。在某些示范实施例中,可能不支持对智能客户端配置的进一步编辑,直至安装附加包为止。在某些示范实施例中,智能客户端可能没有与现有传统应用的兼容性规范。在打开现有的传统项目的情况下,可能没有执行从传统应用到新智能客户端表示的会话。例如,如果最初在传统世界中开发的应用包括高速计数器的应用代码,则高速计数器可能没有转换成表示高速计数器的对应智能客户端。图19是方法19000的一个示范实施例的流程图。方法19000的每个活动能手动和/或自动实现。方法19000的每个活动能通过机器可读介质上存储的机器可运行指令来体现和/或编码。机器指令能适合于执行方法19000的活动的子集或任何活动。在活动19100,能定义分层树。分层树能够是包括分支和/或叶的逻辑树。分层树的各分支和/或叶能表示能适合于配置PLC系统组件和/或自动生成其它机器指令、如PLC控制程序的机器指令的可用子集。在活动19200,能定义编辑器。编辑器能适合于配置与PLC控制程序关联的一个或多个应用。编辑器能适合于接收IEC61131-3中规定的编程语言中的指令。[297]在活动19300,能提供用户界面绘制器,它能适合于自动使多个不同用户界面被绘制。多个不同用户界面的各用户界面能适合于配置与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用。对于从多个软件应用所选的软件应用,用户界面绘制器能适合于在PLC正运行控制程序时自动提供第一用户界面,以及在PLC没有运行控制程序时自动提供第二用户界面。在活动19400,能绘制用户界面。例如,第一用户界面能适合于帮助调试所选软件应用。第一用户界面能适合于接收来自用户的调试输入。第二用户界面能适合于提供与所选软件应用关联的配置参数的当前集合。第二用户界面适合于接收来自用户的配置输入,以及响应配置输入,第二用户界面能适合于改变来自配置参数的当前集合的一个或多个配置参数。在活动19500,能配置设备和/或应用。能根据配置输入自动配置设备和/或应用。在某些示范实施例中,响应用户的配置输入,应用能自动被生成,并用作PLC的控制程序的一部分。在活动19600,能重新生成用户界面。重新生成的用户界面能具有来自配置输入的包含在其中的值和/或上下文信息,并且由此能够是与用户界面的先前生成版本不同的和/或区分的。图20是在某些操作性实施例中能包括例如图1的信息设备1540的信息设备20000的一个示范实施例的框图。信息设备20000能包括许多组件的任一个,例如诸如一个或多个网络接口20100、一个或多个处理器20200、包含指令20400的一个或多个存储器20300、一个或多个输入/输出(1/0)设备20500和/或与1/O设备20500耦合的一个或多个用户界面20600等。在某些示范实施例中,经由一个或多个用户界面20600、如图形用户界面,用户能查看与研究、设计、建模、创建、开发、构建、制造、操作、维护、存储、行销、销售、交付、选择、指定、请求、订购、接收、返回、评级和/或推荐本文所述的产品、服务、方法和/或信息的任一个相关的信息的绘制。定义在本文中实质上使用以下术语时,伴随的定义适用。这些术语和定义没有偏见地被提供,并且与本申请一致,保留在本申请或者要求其优先权的任何申请的审查诉讼期间重新定义这些术语的权利。为了解释要求其优先权的任何专利的权利要求,各定义(或者在那个专利的审查诉讼期间修改最初定义时的重新定义的术语)用作清楚明确地否定那个定义之外的主题。—个-至少一个能力-能够执行的质量。接受-接收。访问-(名词)进入、接近、利用某个位置、事物和/或人或者与其通信和/或通过其通信、和/或传递到其和/或从其传递的许可、自由、权限、机制或能力,(动词)进入、接近、与其通信和/或通过其通信、利用、和/或传递到和/或从其传递。按照-符合。活动-动作、行动、行为、功能、步骤和/或过程和/或其一部分。执行器-转换、转化和/或解释信号(例如电、光、液压、气动等)以便引起物理和/或人类可感知动作和/或输出、如运动(例如电机轴的转动、振动、阀的位置、螺线管的位置、开关的位置和/或继电器的位置等)、可听音响(例如喇叭、铃和/或警钟等)和/或可见绘制(例如指示灯、非数值显示和/或数值显示等)的设备。适合于-适当、适合和/或能够执行指定功能。和/或-相结合或者作为替代。另一个—附加的一个。装置-特定用途的装备或设备。应用-将某物投入使用和/或目的的动作;和/或计算机可读指令的集合和/或计算机程序。与...关联-与...相关。[317]至少-不少于。自动-经由信息设备以基本上与用户的影响和/或控制无关的方式来执行。自动地-以基本上与外部人为影响和/或控制无关的方式采取动作和/或操作。例如,自动灯开关能在其视野中"看到"人时打开,而无需人手动操作灯开关。可用-当前和/或准备使用。之间-在分开间隔中和/或在中间。能-能够,在至少一些实施例中。使-使发生、驱使、促成、产生、引起、是...的理由、导致和/或招致。变更-(动词)引起不同;(名词)改变或修改的动作、过程和/或结果。电路-包括一个或多个有效电气设备的导电通路。命令-发起指令所定义的操作的信号。传送(或通信)-交换信息。通信-传送和/或交换信息。比较-检查相似性和/或差异的动作。组件-组成元件和/或部分。包含-包括但不限于。由...包含-由...包括。配置-元件的物理、逻辑和/或运筹设置。配置参数-适合用于在通信上耦合、缩放、过滤、取样、解释、格式化、监视和/或控制PLC系统的组件、传感器和/或执行器的值;和/或与其相关的数据。配置-设计、设置、建立、使符合和/或使适合和/或适合47特定目的。控制程序-由可编程逻辑控制器运行的并且适合于从一个或多个传感器读输入并控制一个或多个执行器的机器指令的集合。对应的-相关的、关联的、伴随的、目的和/或位置相似的、每一个方面相符的和/或量、数量、幅度、质量和/或程度方面相当和/或一致的。计数-(名词)通过计数所达到的数目和/或定义数量;(动词)递增,通常递增一并且从零开始。耦合-两个事物结合、连接和/或链接在一起。[340]当前-与当前时间同时的。数据-以适合由信息设备进行处理的形式所表示的信息。[342]数据结构-允许有效地操纵数据的数据集合的组织和/或设计成支持特定数据操纵功能的数据元素之间的逻辑关系。数据结构能包括描述数据结构的属性的元数据。数据结构的示例能包括阵列、词典、图形、哈希、堆、链接列表、矩阵、对象、队列、环、栈、树和/或向量。最后期限-时间间隔,在此期间活动的完成对系统具有更大效用,而在此后活动的完成具有更小的效用。这种时间间隔可以仅通过上限来限制,或者可通过上限和下限来限制。调试-检测机器指令并且从其中去除错误。[345]缺省-自动选取的选项,除非指定了备选方案。[346]延迟-两种状态和/或事件之间经过的时间。[347;M企测-感测或感知的动作。确定-通过调查、推理或计算来找出或达到判定。[349]设备-机器、制造和/或其集合。[350]差异-不相等和/或不相似的点。[351]不同-个别和/或易于与其它区分开。[352]下载-从存储设备传输数据。[353]各(或每个)-单独考虑的一组中的每一个。[354]编辑器-适合于提供适合重新排列和/或修改机器指令的用户界面的硬件、固件或软件。运行-执行计算机程序和/或一个或多个指令。[356]存在—实际有。扩展模块-输入/输出模块,在与可编程逻辑控制器(PLC)的外壳不同的外壳中,适合于在通信上与PLC耦合。[358]失败-不成功。[359]首先-一系列中的初始元素。[360]食品和药物管理局-美国联邦政府的管理机构。[361]为了-带有…目的。格式-用于存储和/或显示的数据的布置。[363]从-用于指明来源。[364]此外-另外。生成-创建、产生、绘制、引起和/或使产生。[366]触觉-涉及动觉运动的人类感觉和/或接触的人类感觉。在许多可能的触觉体验之中是许多感觉、感觉中的体位差异和感觉中的基于时间的变化,它们至少部分以不可视、不可听和非嗅觉方式被感知,包括触觉接触(被接触)、主动接触、握、压、摩擦、拖拉、滑动、伸展、推动、扭转、碰撞、刺穿、振动、运动、加速、猛拉、脉动、耳又向、肢体位置、重力、紋理、间隙、凹口、粘性、疼痛、痒、潮湿、温度、热传导和热容量的体验。硬期限-特殊情况,在最后期限之内完成活动引起系统接收来自那个活动的所有可能的效用,而超出最后期限完成该活动导致零效用(即,浪费了该活动耗用的资源,例如当某个人在特定的某一天旅行到海滩准备拍摄日出但却在太阳已经升起之后才到达时)或者某个负值效用(即,活动起反作用,例如当消防员在建筑物倒塌之前数秒种进入燃烧的建筑物搜索失踪人员从而导致消防员伤亡时)。硬期限的调度标准是始终满足硬期限,即使它表示改变活动来满足。硬实时-与提供对事件的绝对确定性的响应的计算机系统相关。这种响应不是基于平均事件时间。相反,在这类计算机系统中,最后期限是固定的,并且系统必须保证在固定的完善定义时间之内的响应。工作在硬实时的系统通常经由嵌入式系统与物理硬件进行低级交互,并且在违反时间限制时会遇到致命失效。硬实时计算系统的传统示例是汽车上的防抱死制动。在这种系统中,硬实时限制或最后期限是其中必须松开制动器以防止轮胎抱死的时间。另一个示例是汽车发动机控制系统,其中延迟控制信号可能导致发动机失效或损坏。硬实时嵌入式系统的其它示例包括医疗系统,例如心脏起博器和工业过程控制器。分层-按照各种标准组织、分离和/或分类为连续等级和/或层次。高速-以至少快至每隔5微秒的速率。[371]图标-在图形用户界面(GUI)中,例如文件、程序、文件夹或磁盘驱动器等的对象的图画的屏幕上表示。[372]如果-在…情况下。[373]指示-用于指明。信息-与主题相关的事实、术语、概念、词语、表达、命令、数字、字符和/或符号等。有时与数据同义使用,以及有时用于描述组织、变换和/或处理的数据。一般能够使涉及信息的管理、组织、存储、变换、通信和/或呈现的某些活动自动化。信息设备-在其上驻留了能够实现本文所述的方法、结构和/或图形用户界面的至少一部分的有限状态机的任何设备。信息设备能包括众所周知在通信上耦合的组件,例如一个或多个网络接口、一个或多个处理器、包含指令的一个或多个存储器、一个或多个输入/输出(1/0)设备和/或一个或多个用户界面(例如与I/O设备耦合),通过它能绘制信息以便实现本文所述的一个或多个功能。例如,信息设备能够是任何通用和/或专用计算机,例如个人计算机、视频游戏系统(例如PlayStation,NintendoGameboy、X-Box等)、工作站、服务器、微型计算机、大型计算机、超级计算机、计算机终端、膝上型计算机、可佩戴计算机和/或个人数字助理(PDA)、iPod、移动终端、蓝牙设备、通信装置、"智能"电话(例如Treo类设备)、消息传递服务(例如Blackberry)接收器、寻呼机、传真机、蜂窝电话、传统电话、电话设备、编程微处理器或微控制器和/或外设集成电路元件、数字信号处理器、ASIC或其它集成电路、硬件电子逻辑电路、如分立元件电路和/或例如PLD、PLA、FPGA或PAL等可编程逻辑设备等等。[376]最初—一开始。输入-提供给处理器、设备和/或系统的信号、数据和/或信息。输入/输出(1/0)设备-信息设备的输入/输出(1/0)设备能够是任何面向感官的输入和/或输出设备,例如音频、视觉、触觉、嗅觉,和/或面向味觉的设备,包括例如监视器、显示器、投影仪、头戴显示器、键盘、小键盘、鼠标、轨迹球、操纵杆、游戏键盘、滚轮、触摸垫、触摸屏、指针设备、话筒、喇叭、摄像机、照相机、扫描仪、打印机、触觉设备、振动器、触觉模拟器和/或触觉垫,潜在地包括I/O设备能与其附连或连接的端口。输入/输出模块-适合于在可编程逻辑控制器(PLC)与传感器和/或执行器的预定集合之间接收和/或转发信息的设备和/或系统。指令树-机器指令的分层组织集合。语言编辑器-适合于接收按照EC61131-3中规定的编程语言的编程代码的绘制,即,FBD(功能块图)、LD(梯形图)、ST(结构文本,Pascal类型语言)、IL(指令列表)和/或SFC(顺序功能图)。机器指令-适合于使例如信息设备等机器执行一个或多个特定活动、操作和/或功能的指示。指示有时能形成称作"处理器"、51"内核"、"才喿作系统"、"程序"、"应用"、"实用程序"、"子例程"、"脚本"、"宏"、"文件"、"项目,,、"模块"、"库"、"类"和/或"对象等的实体,能作为机器代码、源代码、对象代码、编译代码、汇编代码、可解释代码和/或可运行代码等包含在硬件、固件和/或软件中。机器可读-具有一种形式,信息设备能从其获得数据和/或信息。机器可读介质-一种物理结构,例如信息设备、计算机、微处理器和/或控制器等机器能从其中获得和/或存储数据、信息和/或指令。示例包括存储器、穿孔卡片和/或光可读形式等。制作-产生。可-被允许和/或被准许,在至少一些实施例中。[387]存储器-能够存储模拟或数字信息的设备,例如非易失性存储器、易失性存储器、随机访问存储器RAM、只读存储器R0M、闪速存储器、磁介质、硬盘驱动器、软盘、磁带、光介质、光盘、高密度磁盘CD、数字多功能光盘DVD和/或raid阵列等。存储器能与处理器耦合,并且能存储根据本文所公开的一个实施例的适合于由处理器运行的指令。元数据-与数据有关的信息。方法-用于实现某个方面的相关活动的过程、程序和/或集合。修改-变更、引起改变、编辑、更改、替换、删除和/或校正。模块-适合于在通信上与信息设备、输入/输出设备、传感器和/或执行器的预定集合耦合的设备。[392]更多-附加。网络-在通信上耦合的多个节点。网络能够是和/或利用大量子网络,例如电路交换、公共交换、分组交换、数据、电话、电信、视频分布、电缆、陆地、广播、卫星、宽带、公司、全球、国家、地区、广域、主干、分组交换TCP/IP、快速以太网、令牌环、公共因特网、专用、ATM、多域和/或多区域子网络、一个或多个因特网服务提供商和/或没有与局域网直接连接的例如交换机、路由器和/或网关等一个或多个信息设备。网络接口-能够将信息设备与网络耦合的任何物理和/或逻辑设备、系统和/或过程。示范网络接口包括电话、蜂窝电话、蜂窝调制解调器、电话数据调制解调器、传真调制解调器、无线收发器、以太网卡、电缆调制解调器、数字用户线接口、桥接器、集线器、路由器或者管理这种设备的其它类似设备、软件和/或提供这种设备的功能的软件。非PLC-与可编程逻辑控制器不同的设备。不-某个事物的否定。获得-接收、得到、具有、取得、获取、计算、确定和/或运算。—-单一单元。组织—排序和/或排列。输出-(名词)产生和/或生成的某物;由信息设备运行机器可读指令所产生的数据;和/或系统所产生的能量、功率、工作、信号和/或信息;(动词)提供、产生、制造和/或生成。分组-以特定方式组织以〗更例如在例如l史字分组交换网络等网络中和/或跨越该网络进行传送的一包数据的通用术语,并且包含待传送的数据和某种控制信息,例如目标地址。;改置-》文入特定地方或位置。放置-放置的动作。多个-作为复凄t和/或一个以上的状态。预定-预先建立。先前-时间上更早。[407]处理器-用于执行一个或多个预定任务的设备和/或机器可读指令集。处理器能包括硬件、固件和/或软件的任一个或者其组合。处理器能利用机械、气动、液压、电、磁、光、信息、化学和/或生物原理、信号和/或输入来执行任务。在某些实施例中,处理器能通过操纵、分析、修改、转换、发射供可运行程序和/或信息设备使用的信息,和/或通过将信息路由到输出设备,来对信息起作用。处理器可用作中央处理器、本地控制器、远程控制器、并行控制器和/或分布式控制器等。除非另加说明,处理器能够是通用设备,例如微控制器和/或微处理器,例如加利福尼亚的圣克拉拉的Intel公司制造的奔腾(Pentium)IV系列的微处理器。在某些实施例中,处理器能够是专用设备,例如专用集成电路(ASIC)或现场可编程门阵列(FPGA),它设计成通过其硬件和/或固件来实现本文所^Hf实施例的至少一部分。程序-适合于执行特定任务的机器可读指令集合。[409]可编程逻辑控制器(PLC)-固态的基于微处理器的硬实时计算系统,它经由网络用于自动监视现场连接的传感器输入的状态,以及根据存储器中存储的用户创建的值的集合和用户创建的逻辑和/或指令自动控制受控工业系统的通信耦合设备(例如执行器、螺线管、继电器、开关、电机起动器、速度驱动器(例如变频驱动器、可控硅整流器等)、导向灯、点火器、磁带驱动器、喇叭、打印机、监视器、显示器等)。传感器输入反映与受控工业系统相关的测量和/或状态信息。PLC提供下列任一个自动化输入/输出控制;开关;计数;算术运算;复合数据操纵;逻辑;定时;定序;通信;数据文件操纵;报告生成;控制;继电控制;运行控制;过程控制;分布控制;和/或过程、制造设备的监视和/或受控工业系统的其它自动化。由于其精确和硬实时定时以及定序能力,使用梯形逻辑或者DSC61131-3中规定的某种形式的结构化编程语言对PLC编程,即,FBD(功能块图)、LD(梯形图)、ST(结构文本,Pascal类型语言)、IL(指令列表)和/或54SFC(顺序功能图)。由于其精确和实时定时以及定序能力,PLC能取代多达数千种中继器和凸轮定时器。PLC硬件往往具有良好的冗余度和故障切换能力。PLC能将人机接口(HMI)用于与用户进行交互,以便进行配置、告警报告和/或控制。比例/积分/微分-一种控制环反馈算法,它尝试通过计算然后输出能相应地调整该过程的校正动作,来校正测量过程变量与预期定位点之间的误差。算法涉及三个独立计算比例计算根据当前误差来确定反应,积分计算根据最近误差之和来确定反应,以及微分计算根据误差改变的速率来确定反应。将比例、积分和微分计算的加权和输出到控制元件,例如控制阀的位置和/或到加热元件中的功率。[411]提供-供给、供应、给予、传达、发送和/或使得可用。[412]范围-值的集合的程度和/或变化的量和/或程度的测量。[413]实时-一种系统(或子系统),其特征在于对各个活动的时间限制以及使用那些时间限制以可接受的预见性来实现可接受系统时间性的调度标准。接收-接收的动作。接收-收集、取、获取、得到、接受、获得和/被赠予。[416]引用-相关或涉及的状态。[417]有关-关于。绘制-显示、公布、说出、打印和/或以其它方式使人类可感知,例如作为数据、命令、文本、图形、音频、视频、动画和/或超链接等,例如经由任何视觉、音频和/或触觉机制,例如经由显示器、监^L器、打印机、电子纸、眼部植入体、耳蜗植入体、喇叭等。报告-以预定格式的信息的表示。表示-近似、等效、数学表征、绘制、图像和/或相似物。[421]请求-(动词)表达需要和/或需求;询问和/或请求;(名词)传送请求和/或需求的表达。[422]要求-需求。[423]响应(动词)-应答。[424]响应(名词)-应答和/或答复。[425]权限-容许执行一个或多个活动的授权。[426]响应的-对影响和/或刺激进行反应的。[427]所述-当用于系统或i殳备外又利要求时,指明先前已经介绍的后续权利要求项的冠词。第二-紧接一系列中的初始元素的元素。所选-选取项。发送-传达、分发和/或发射。传感器-适合于自动感测、感知、检测和/或测量物理属性(例如压力、温度、流量、质量、热量、光线、声音、湿度、接近性、位置、速度、振动、响度、电压、电流、电容、电阻、电感和/或电磁辐射等),并且将那个物理量转换成信号的设备。示例包括接近开关、污染计、光传感器、热耦合、液面指示设备、速度传感器、加速计、电压指示器、电流指示器、通/断指示器和/或流量计等。集合(或设置)(set)-(名词)相关的多个预定元素;和/或一个或多个不同的项和/或具有特定共同属性的实体,(动词)建立值。信号-信息,例如用于活动的机器指令,编码为物理变量中的自动可检测变化,例如气动、液压、声、流体、机械、电、磁、光、化学和/或生物变量,例如功率、能量、压力、流率、粘度、密度、转矩、碰撞、力、电压、电流、电阻、磁动势、磁场强度、磁场通量、磁通量密度、磁阻、渗透性、折射率、光波长、偏振、反射率、透射率、相移、浓度和/或温度等。根据上下文,信号能够是同步、异步、硬实时、软实时、非实时、连续生成、连续变化、模拟、非连续生成、非连续变化、量化、数字、连续测量和/或非连续测量等。软期限-其中按照最后期限完成活动使系统接收按照迟滞(lateness)(完成时间减最后期限)所测量的效用的一般情况,使得存在与系统的正效用值对应的正迟滞值。迟滞可按照晚(正迟滞)或早(负迟滞)来查看。一般来说,并且可能在某些限度之内,晚或迟滞的较大正值表示较低效用,而早的较大正值表示较大效用。软实时-与计算机系统相关,它采取尽力方式并且使从事件到响应的等待时间尽可能为最小,同时使吞吐量整体跟上外部事件。这类系统在违反时间限制时不会遇到致命失效。例如,现场音频-视频系统通常是软实时;违反时间限制能导致降级的质量,但系统能继续工作。另一个示例是网络服务器,它是预期快速响应但是不存在最后期限的系统。如果网络服务器负荷极高,则其响应时间可能很慢,但服务没有失效。这与其中响应的减慢可能导致系统失效、甚至可能是灾难性失效的防抱死制动系统形成对比。软件-在机器和/或处理器上可运行的指令,以便创建用于处理信号的数字门和机器子系统的特定物理配置。软件生成器-机器指令,适合于响应经由已绘制用户界面获得的信息而创建PLC应用软件。指定-显式和/或详细地描述、表征、指明和/或陈述。存储-放入存储器设备。结构-复杂的构造的结构,例如建造建筑物和/或对建筑物的附加;文档中的对象的分层和/或放置;和/或其中组件被组织和/或形成整体的方式。后续-时间上在后面。实质上-相当大、大和/或很大、但不一定是整个和/或整体的广度和/或程度。系统-机制、设备、数据和/或指令的集合,设计成执行一个或多个特定功能的集合。发射-作为信号提供、供给、供应、发送,和/或从一个位置和/或事物传达(例如力、能量和/或信息)到另一个。不支持-没有维护和/或定义。[446]直至-直到某个时间。[447]使用-用于完成某事物。用户-使用设备、系统、过程和/或服务的人、组织、过程、设备、程序、协议和/或系统。用户界面-用于向用户绘制信息和/或向用户请求信息的设备和/或软件程序。用户界面能包括文本、图形、音频、视频、动画和/或触觉元素中的至少一个。文本元素例如能由打印机、监视器、显示器、投影仪等来提供。图形元素例如能经由监视器、显示器、投影仪和/或视觉指示设备、如光、标志、信标等来提供。音频元素例如能经由喇叭、话筒和/或其它声音生成和/或接收设备来提供。视频元素或动画元素例如能经由监视器、显示器、投影仪和/或其它视觉设备来提供。触觉元素例如能经由极低频率喇叭、振动器、触觉模拟器、触觉垫、模拟器、键盘、小键盘、鼠标、轨迹球、操纵杆、游戏键盘、滚轮、触摸垫、触摸屏、指针设备和/或其它触觉设备等来提供。用户界面能包括一个或多个文本元素,例如一个或多个字母、数字、符号等。用户界面能包括一个或多个图形元素,例如图像、照片、绘图、图标、窗口、标题栏、面板、表、标签、抽屉(drawer)、矩阵、表格、表单、日历、大纲视图、框架、对话框、静态文本、文本框、列表、拣选列表、弹出列表、下拉列表、菜单、工具栏、船坞(dock)、复选框、单选按钮、超链接、浏览器、按钮、控件、调色板、预览面板、彩色轮、拨号盘、滑块、滚动条、光标、状态栏、分档器和/或进度指示符等。文本和/或图形元素能用于选择、编程、调整、改变、指定等。外观、背景颜色、背景样式、边界样式、边界厚度、前景颜色、字体、字体样式、字体大小、对齐、行间距、缩进、最大数据长度、有效性、查询、光标类型、指针类型、自动尺寸监控、位置和/或尺寸等。用户界面能包括一个或多个音频元素,例如音量控制、音高控制、速度控制、语音选择器和/或用于控制音频播放、速度、暂停、快进、回退等的一个或多个元素。用户界面能包括一个或多个视58频元素,例如控制视频播放、速度、暂停、快进、回退、放大、缩小、旋转和/或倾斜等的元素。用户界面能包括一个或多个动画元素,例如控制动画播放、暂停、快进、回退、放大、缩小、旋转、倾斜、颜色、强度、速度、频率、外观等的元素。用户界面能包括一个或多个触觉元素,例如利用触觉刺激、力、压力、振动、运动、位移、温度等的元素。用户界面绘制器-适合于使用户界面被绘制的处理器和/或机器指令。利用-使用和/或投入服务。值-变量和/或参数的已测量、分配、确定和/或计算的数量或质量。经由—通过和/或利用。版本-机器指令集合的复本的序列其中之一,复本的序列的每个经由对机器指令集合的一个或多个修改而改变。[455]当—在…时。其中-关于;和;和/或除了…之外。注意述和/或附图,其它实质上和特别实用且有用的实施例将是本领域的技术人员非常清楚的。应当理解,许多变更、修改和附加实施例是可能的,因此所有这类变更、修改和实施例将被看作是在本申请的范围之内。因此,与本申请的任何部分的内容(例如名称、
技术领域

背景技术

发明内容、摘要、附图等)无关,除非例如经由显式定义、断言或参量清楚地指定为相反,相对于任何权利要求,无论是本申请的和/或要求其优先权的任何申请的任何权利要求,以及无论是最初提供的或者其它情况对于包含任何特定描述或说明的性质、功能、活动或元素、活动的任何特定序列或者元素的任何特定相互关系没有要求;任何元素可被集成、分离和/或复制;任何活动能够重复进行、由多个实体执行和/或通过多个权限执行;以及任何活动或元素能被具体排除,活动的序列能改变,和/或元素的相互关系能改变。此外,当本文中描述任何数量或范围时,除非清楚地说明,那个数量和范围是近似的。当本文中描述任何范围时,除非清楚地说明,那个范围包括其中所有值以及其中所有子范围。例如,如果描述1至10的范围,则那个范围包括它们之间的所有值,例如l.l、2.5、3.335、5、6.179、8.9999等,并且包括它们之间的所有子范围,例如1至3.65、2.8至8.14、1.93至9等。通过引用结合到本文中的任何材料(例如美国专利、美国专利申请、书籍、论文等)中的任何信息仅以如下程度通过引用来结合,即,使得在这种信息与本文提出的其它陈述和附图之间不存在沖突。万一有这种冲突,包括使本文的或者寻求其优先权的任何权利要求无效的沖突,则在这种通过引用而结合的材料中的任何这种冲突信息明确地不通过引用结合到本文中。因此,本申请的每一个部分(名称、
技术领域

背景技术

发明内容、摘要、附图等),而非权利要求本身,将被看作实际上是说明性而不是限制性的。权利要求1.一种系统,包括适合于使多个不同用户界面被绘制的用户界面绘制器,来自所述多个不同用户界面的各用户界面适合于配置来自与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用,对于来自所述多个软件应用的选择的软件应用,所述用户界面绘制器适合于在所述PLC正在运行控制程序时自动提供第一用户界面,而在所述PLC没有正在运行所述控制程序时自动提供第二用户界面,所述第一用户界面适合于帮助调试所述选择的软件应用,所述第一用户界面适合于接收来自用户的调试输入,所述第二用户界面适合于提供与所述选择的软件应用关联的配置参数的当前集合,所述第二用户界面适合于接收来自所述用户的配置输入,以及响应所述配置输入,所述第二用户界面适合于改变来自配置参数的所述当前集合的一个或多个配置参数。2.如权利要求l所述的系统,还包括所述PLC。3.如权利要求l所述的系统,还包括输入/输出模块,所述输入/输出模块适合于经由所述多个不同用户界面之一来配置。4.如权利要求l所述的系统,还包括软件生成器,适合于响应经由所述多个用户界面的至少一个所提供的信息而自动生成PLC应用。5.如权利要求1所述的系统,其中,所述用户界面绘制器适合于响应从所述多个软件应用的分层表示所得到的元数据而绘制所述多个用户界面的每个。6.如权利要求1所述的系统,其中,所述用户界面绘制器适合于修改成将至少一个用户界面加入所述多个用户界面,而不改变所述PLC的控制程序。7.如权利要求1所述的系统,其中,所述选择的软件应用根据指定配置来选择。8.如权利要求1所述的系统,其中,所述用户界面绘制器不使用PLC语言编辑器来配置所述选择的软件应用。9.如权利要求1所述的系统,其中,所述选择的软件应用适合于经由自动绘制的分层组织的指令树来引用,所述指令树指示与可用PLC机器指令关联的组织结构。10.如权利要求l所述的系统,其中,所述用户界面绘制器适合于响应与所述用户关联的访问权的自动检测而改变所述多个不同用户界面的至少一个。11.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起所述配置输入的至少一个值与预定值的自动比较。12.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起所述配置输入的至少一个值与值的预定范围的自动比较。13.如权利要求l所述的系统,其中,所述用户界面绘制器响应将分层组织的指令树的图标放入编辑器而初始绘制所述第二用户界面。14.如权利要求l所述的系统,其中,所述用户界面绘制器最初响应将分层组织的指令树的图标放入编辑器而初始绘制所述第二用户界面,所述用户界面绘制器适合于提供包含经由所述配置输入所修改的值的所述第二用户界面的后续绘制。15.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起比例/积分/微分(PID)控制程序的自动生成,所述比例/积分/微分(PID)控制程序适合于由所述PLC运行。16.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起高速计数程序的自动生成,所述高速计数程序适合于由所述PLC运行。17.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起高速控制程序的自动生成,所述高速控制程序适合于由所述PLC运行。18.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起在通信上与所述PLC耦合的一个或多个非PLC设备的自动配置。19.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起在通信上与所述PLC耦合的通信模块的自动配置。20.如权利要求l所述的系统,其中,所述多个不同用户界面的至少一个适合于引起指示所述PLC的所述控制程序的第一版本与所述控制程序的第二版本之间自动确定的差的报告的自动生成。21.—种系统,包括自动使多个不同用户界面被绘制的电路,来自所述多个不同用户界面的各用户界面适合于配置来自与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用,对于来自所述多个软件应用的选择的软件应用,所述电路适合于在所述PLC正在运行控制程序时自动提供第一用户界面,而在所述PLC没有正在运行所述控制程序时自动提供第二用户界面,所述第一用户界面适合于帮助调试所述选择的软件应用,所述第一用户界面适合于接收来自用户的调试输入,所述第二用户界面适合于提供与所述选择的软件应用关联的配置参数的当前集合,所述第二用户界面适合于接收来自所述用户的配置输入,以及响应所述配置输入,所述第二用户界面适合于改变来自配置参数的所述当前集合的一个或多个配置参数。22.—种方法,包括自动使多个不同用户界面被绘制,来自所述多个不同用户界面的各用户界面适合于配置来自与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用,对于来自所述多个软件应用的选择的软件应用,所述用户界面绘制器适合于在所述PLC正在运行控制程序时自动提供第一用户界面,而在所述PLC没有正在运行所述控制程序时自动提供第二用户界面,所述第一用户界面适合于帮助调试所述选择的软件应用,所述第一用户界面适合于接收来自用户的调试输入,所述第二用户界面适合于提供与所述选择的软件应用关联的配置参数的当前集合,所述第二用户界面适合于接收来自所述用户的配置输入,以及响应所述配置输入,所述第二用户界面适合于改变来自配置参数的所述当前集合的一个或多个配置参数。23.—种包括用于活动的机器指令的机器可读介质,所述活动包括自动使多个不同用户界面被绘制,来自所述多个不同用户界面的各用户界面适合于配置来自与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用,对于来自所述多个软件应用的选择的软件应用,用户界面绘制器适合于在所述PLC正在运行控制程序时自动提供第一用户界面,而在所述PLC没有正在运行所述控制程序时自动提供第二用户界面,所述第一用户界面适合于帮助调试所述选择的软件应用,所述第一用户界面适合于接收来自用户的调试输入,所述第二用户界面适合于提供与所述选择的软件应用关联的配置参数的当前集合,所述第二用户界面适合于接收来自所述用户的配置输入,以及响应所述配置输入,所述第二用户界面适合于改变来自配置参数的所述当前集合的一个或多个配置参数。全文摘要某些示范实施例包括一种系统。该系统能包括用户界面绘制器,它能适合于绘制多个不同的用户界面。来自多个不同用户界面的各用户界面能适合于配置来自与操作可编程逻辑控制器(PLC)关联的多个软件应用的对应软件应用。文档编号G05B19/05GK101529351SQ200780039139公开日2009年9月9日申请日期2007年8月24日优先权日2006年8月24日发明者G·J·卡克林斯,G·弗里蒙,J·W·科尔内特,T·L·富尔顿,W·K·布瑞安特申请人:西门子能量及自动化公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1