CN100380359C - 用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置 - Google Patents

用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置 Download PDF

Info

Publication number
CN100380359C
CN100380359C CNB02132350XA CN02132350A CN100380359C CN 100380359 C CN100380359 C CN 100380359C CN B02132350X A CNB02132350X A CN B02132350XA CN 02132350 A CN02132350 A CN 02132350A CN 100380359 C CN100380359 C CN 100380359C
Authority
CN
China
Prior art keywords
programmable logic
logic controller
server
programming code
client devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB02132350XA
Other languages
English (en)
Other versions
CN1409233A (zh
Inventor
G·罗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens Industrial Automation Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Industrial Automation Inc filed Critical Siemens Industrial Automation Inc
Publication of CN1409233A publication Critical patent/CN1409233A/zh
Application granted granted Critical
Publication of CN100380359C publication Critical patent/CN100380359C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13055Place cursor, enter symbol, move cursor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15038Internet, tcp-ip, web server see under S05B219-40
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31156Network structure, internet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31422Upload, download programs, parameters from, to station to, from server
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33148CLS client server architecture, client consumes, server provides services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

这里公开了一种用于产生用于可编程控制器和它们在其上进行操作的网络的编程代码和/或配置数据的方法和系统。在一个实施例中,在一个具有一个web启用的设计工具的集中式服务器上产生编程代码。在客户机设备上操作该设计工具,其中该客户机设备经由一个诸如Internet的网络与该服务器进行通信。更可取地是,在该客户机设备上的一个浏览器应用程序(或者其它网络连接的应用程序)中运行该设计工具,而且一个用户借助于该客户机设备在该服务器上产生编程代码。通过集中化可能包含一个配置编辑器和一个具有版本管理功能的配置管理工具的设计工具,一种新的商业范例用于向具有可编程控制器的用户提供设计工具服务。此外,启用了用于合作设计编程代码的新方法和工具。

Description

用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置
技术领域
本发明通常涉及可编程控制器领域。尤其是,本发明提供了一种用于为这些可编程控制器编写编程代码和/或产生配置数据而不需要购买并且在一个编程设备上安装一个设计工具的装置和方法。
背景技术
在许多商业以及工业应用中使用了可编程控制器,这包括可编程逻辑控制器(“PLC”)。可编程控制器一般监控输入、基于它们如何被编程而做出决定、并且控制自动处理过程或者机器的输出。一种在使用中最普遍的可编程控制器是PLC。PLC包含输入模块或者点、一个中央处理单元(“CPU”)、以及输出模块或者点。一个输入模块从诸如传感器的各种外部设备(fiedd device)中接收各种数字或者模拟信号,并且把它们转换成为能被CPU使用的一种逻辑信号。CPU基于保存在存储器中的编程指令做出决定并且执行控制指令。这些编程指令确定PLC将会为一个特定输入做什么。输出模块把来自于CPU的控制指令转换成能被用来控制诸如致动器或者阀的各种外部设备的数字或者模拟信号。
因为大多数的可编程控制器、包括PLC、实质上是计算机,所以它们以On(开)或Off(关)状态(即1或0)的形式存储信息,其中这些状态被称为二进制数字(即,位)。用于一个可编程序控制器的程序包含一条或多条完成一项任务的指令。编程一个PLC或者其它控制器是构造一组指令的问题。编程通常还涉及产生配置数据。配置一个可编程序控制器涉及把控制器的输入/输出(“I/O”)区域映射到物理I/O。配置编辑器通常是图形化的。
有几种方式来察看一段程序,诸如例如,流程图编程、框架逻辑、指令列表、或者功能方框图。框架逻辑(“LAD”)是与PLC一起使用的一种编程语言。如图1所示,框架逻辑代码10使用以一个继电器逻辑图格式模拟了所使用的电动机械单元的图形符号来描述硬布线的控制。一个典型框架逻辑图的左侧垂直线通常表示一个电源或者通电的导体。一条右侧的垂直线表示一个硬布线控制线图的返回通路,并且可以被省略。从左至右、从上到下读取框架逻辑图。横档经常被称为网络。一个网络可以具有几条输入输出指令。由一系列触点表示的输入指令以一个或多个并联支路的形式执行比较或者测试,并且通常在该横档上被左对准。由卷曲线表示的输出指令,其在每个输出支路中仅仅可以有一个,执行某些操作或功能,并且通常在该横档上被右对准。如在图1中描述的示例性框架逻辑代码10所示,IO.0、IO.1、以及QO.0表示第一个指令组合。如果输入IO.0和IO.1被通电了,则输出QO.0也被通电了。该输入能够是开关、按钮、或者触点闭合。输出能够是,例如一个电磁线圈或者一个灯泡。IO.4、IO.5和QO.1表示一个第二指令组合。如果输入IO.4或者IO.5被通电了,则输出QO.1通电了。
指令列表(“IL”)提供了一组指令的另一个视图,并且在图1中的20处被举例说明。在左边显示了操作,即要做什么。操作数,由该操作在上面进行操作的项目被显示在右边。LAD和IL具有一个类似的结构。在图1的IL 20中的指令组和10中的LAD执行相同的任务。
功能方框图(“FBD”)提供了一组指令的另一个视图,并且在图1中的30处被举例说明。每个功能都具有一个名称来指定它的特定任务。功能由一个矩形指示。输入显示在该矩形的左手边,而输出显示在右手边。在图3中显示的功能方框图30执行与由图1中的LAD 10以及图1的IL 20所示任务相同的任务。
一般来说,可编程控制器、尤其是PLC,在一个被称为是一个扫描的重复过程中执行程序代码。扫描可以从CPU读取一个状态输入开始。使用输入状态执行该应用程序。一旦该程序完成了,则CPU就执行内路诊断和通信任务。通过更新输出来结束扫描周期,然后再来一遍。周期时间取决于程序的大小、I/O的数目、以及所需要的通信数量。
为了编写编程指令并且产生配置数据并且下载该代码和配置数据到一个可编程控制器中,需要几个工具。如图1所示,一个编程设备、诸如个人计算机1与一个PLC 7连接。通常,一条专用电缆5、诸如SiemensPC/PPI把计算机的RS 232端口和PLC 7连接。在本发明之前,诸如Siemens STEP 7的设计软件工具3必须被安装在PC上,以便使该PC可以被用来为该PLC编写编程指令。通常,该设计工具在CD上或者在另一个计算机可读介质上销售。
图2概述了典型的步骤和由购买一个设计工具的一份拷贝产生的不足。在步骤20处,一个设计工具的客户通常购买了该软件的一个拷贝并且获得一个使用该工具的许可。在步骤25处,客户然后必须在单个客户计算机上安装该软件。在步骤27处,该客户仅仅能够在具有该设计工具的计算机上为一个可编程控制器开发应用软件,即编程代码。一般伴随着设计工具的许可协议,限制该客户在没有为用于任何额外计算机的一个许可付费时在不只一台计算机上安装该工具的能力。
诸如Siemens STEP7或者MicroWin的软件或者设计工具通常是由控制器制造商开发的专有工具。通常,这些设计工具的开发需要耗费数千个工时的时间。该工具通常被设计和测试为在一个诸如例如Microsoft Windows 98的特定计算机操作系统上工作。当用于在其上使用该工具的计算机操作系统改变时,该工具需要被再验证。经常,PC厂商仅仅在他们的PC上提供最新的微软操作系统。这迫使设计工具厂商还要支持该新的操作系统,这通常意味着额外的数百或者数千更多工时的投入。在许多机构中,会更新PC的操作系统而不考虑驻留在该PC上的软件、诸如设计工具。
设计工具经常会随时间流逝被更新。因此,可以同时存在该工具的不同版本。在一个大的制造工厂中,很可能不是所有的编程工具都在使用同一个版本。这不仅增加了所有者的成本,而且当不同的编程设备被用来为同一个PLC编写编程代码时能够引起问题。经常,一个工程师小组被派去编程一个PLC。在该小组中的每个工程师都可以独立地在该应用程序的一个分离方面上工作。在稍后的一个时间,这些各个分离的方面被合并成一段在该PLC上操作的程序。如果不是所有工程师都使用该工具的同一个版本,则有可能从该工具的一个版本中产生的代码可能不和那个工具的一个早期版本兼容。
除了与在该编程设备上运行不同操作系统和在该操作系统上运行不同版本设计工具有关的问题之外,用于该可编程控制器的编程代码经常不以一种集中的方式存档。通常,在一个工厂中用于一个PLC的代码可以被存储在一个膝上型或者台式个人计算机上,而用于另一个PLC的代码可以被存储在别处。如果一个PLC原来用第一个PC进行编程且那个PC随后被第二个PC代替,而且如果该PLC用第二个PC重新编程,如果该新的程序不是充分的话,则通常将没有办法来恢复原始程序。
发明内容
本发明提供了一个用于利用一个具有一个网络连接的应用程序的客户机设备创建用于一个可编程控制器的编程代码的系统,该系统包含:一个经由一个网络与该客户机设备通信的服务器;一个适用于为该可编程控制器创建可编程控制器可执行编程代码的设计工具,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应于创建一个XML版本的编程代码,该设计工具驻留在该服务器上并且可由该客户机设备访问;以及一个与该服务器相关的存储器,适用于存储该编程代码。
本发明还提供了一种用于在一个具有一个设计工具的服务器上开发用于一个可编程控制器的编程代码的方法,其中该设计工具由在一个客户机设备上的一个网络连接的应用程序调用,该方法包含以下步骤:经由一个网络,利用该客户机设备访问服务器;提供一个适应由用户使用的接口以在该客户机设备上创建可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应于创建一个XML版本的编程代码,该设计工具驻留在该服务器上并且可由该客户机设备访问;把该编程代码转换成为一个文档;以及经由该网络传输该文档到该服务器。
本发明另外还提供一种编程一个可编程控制器的方法,包含步骤:在该可编程控制器和一个服务器之间建立通信,该服务器包含通过一个与该服务器通信的客户机设备使用驻留在该服务器上的web启用的设计工具产生的可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该web启用的设计工具适应于创建一个XML版本的编程代码;以及下载该编程代码到该可编程控制器。
替代地,本发明还提供另一种用于编程一个可编程控制器的方法,包含:在一个服务器上保持一个为该可编程控制器创建可编程控制器可执行编程代码的web启用的设计工具,该编程代码适应于使该可编程控制器来控制基于场的致动器,其中该服务器可经由一个计算机网络访问;向一个客户机设备的用户提供经由该计算机网络对该web启用的设计工具的访问;从该客户机设备接收一个包含有由该用户用该web启用的设计工具创建的编程代码的XML语言文档;以及在该服务器上编译编程代码。
替代地,本发明提供一种用于编程一个可编程控制器的方法,包含步骤:通过访问驻留在一个服务器上的一个设计工具,在该服务器上产生用于该可编程控制器的可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应于创建一个XML版本的编程代码;编译该编程代码;下载该编译了的编程代码到一个客户机设备;复制该编译了的编程代码到一个与该可编程控制器连接的一个电子设备;以及从该电子设备下载编译了的编程代码到该可编程控制器。
本发明也提供一种开发用于一个可编程控制器的编程代码的方法,包含步骤:利用一个客户机设备访问包含一个设计工具的服务器;通过该客户机设备操作该设计工具;通过该客户机设备在该服务器上创建可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应创建一个XML版本的编程代码;以及测试该编程代码。
此外,本发明还涉及一种用于配置I/O网络和设备的系统,包含:一个和一个网络通信连接的服务器;一个设计工具;以及驻留在该服务器上的一个配置编辑器,该配置编辑器适应于由一个与该网络通信相连的客户机设备调用,该配置编辑器适应于将可编程逻辑控制器的逻辑I/O区域映射到可编程逻辑控制器的物理I/O区域,通过编程代码控制可编程逻辑控制器,该编程代码适应于使该可编程逻辑控制器来控制基于场的致动器,该设计工具包括配置编辑器,该设计工具适应创建一个XML版本的编程代码,该设计工具驻留在该服务器上。
本发明提供了一个用于编程一个可编程控制器、诸如一个PLC或者其它工业控制器的系统。在一个实施例中,具有一个诸如例如一个浏览器应用程序的网络连接的应用程序的一个客户机设备,经由一个网络和一个服务器通信。一个用于为可编程控制器创建编程代码和配置数据的设计工具驻留在该服务器上。该设计工具使用一种用于编程可编程控制器的编程语言,并且可由客户机设备使用驻留在其上的浏览器应用程序访问。该服务器可能具有一个相关的存储单元,用于存储由在该客户机设备上的设计工具产生的编程代码。在某些实施例中,该设计工具使用一种图形编程语言,诸如框架逻辑、流程图编程、或功能块编程。在其它实施例中,它可能使用基于文本的语言,诸如指令列表。一个用于编译该编程代码的编译器也可以驻留在该服务器上或者是可由该服务器访问。
因此,本发明提供了大量且强大的、用于为可编程控制器开发编程代码的方法。在一个实施例中,一个用户利用一个具有一个浏览器应用程序的客户机设备经由一个网络访问一个服务器。设计工具最好是可由该浏览器应用程序调用。然后用户利用设计工具创建一个包含编程指令的文档。然后该文档经由网络被传送到服务器。该文档可以被存储在服务器上用于以后的访问和编辑。在一个特定实施例中,该文档是一个XML文档。
在本发明的一个实施例中,编程代码被存储在一个中央服务器上。这提供了一种用于编程可编程控制器的划算的和有效的方法。该服务器和可编程控制器可以被连接以经由一个网络互相通信。在连接这两个之后,被编译了的编程代码可以经由网络从服务器下载到控制器。
本发明以实体方法提供了一种编程它们的可编程控制器的新的范例方法。希望编程他们的可编程控制器的机构不必购买并维持昂贵的设计工具。相反,一个设计工具可以是web启用的,并且可以被保持在一个可经由一个计算机网络访问的中央服务器上。向具有客户机设备的用户提供经由网络对服务器的访问。服务器从客户机设备接收一个包含编程代码的文档,其中该编程代码是在该客户机设备上用设计工具创建的。该代码可以在服务器处被编译,并且被下载到可编程控制器。如果该设备可经由计算机网络访问的话,则该代码可以被直接地下载到控制器,或者它可以通过一个驻留在该网络上、并且和该可编程控制器连接的客户机设备下载到该设备上。
本发明也允许在一个集中的服务器上产生用于I/O网络和设备的配置数据。一般而言,编程代码的开发可以包含产生配置数据。在本发明的一个实施例中,在一个服务器上保持一个配置编辑器。服务器可通讯地连接到一个网络,而且该配置编辑器适于由一个客户机设备经由网络调用。该配置编辑器可以包含一个图形编辑器,并且它可以是一个设计工具的一部分或者是一个设计工具集的一部分。
本发明还允许用于一个可编程控制器的一段程序的各个版本的版本管理。一个版本管理工具被安装在一个服务器上。利用该工具存储该程序的各个版本。该版本管理工具被配置为可由一个客户机设备经由一个网络调用。该版本管理工具可以具有搜索性能、和用于将一个版本与另一个版本比较以显示在这两者之间的变化的功能。
附图说明
图1是编程可编程控制器所需要的现有技术工具的一个说明。
图2是一个框图,说明了用于编程可编程控制器的现有技术方法和工具的步骤和缺点。
图3是本发明的一个实施例的说明,其中连接到一个PLC的一个客户机设备经由一个网络与一个服务器通信,该服务器包含一个web启用的设计工具,其用于为该PLC编写编程代码以及用于配置该I/O网络和设备。
图4是本发明的一个实施例的大体结构的一个说明,其中一个用于为一个可编程控制器编写编程代码以及用于配置该I/O网络和设备的设计工具驻留在一个可由一个客户机设备经由一个网络访问的服务器上。
图5说明了本发明的一个替换实施例,其中该服务器也包含一个web服务层。
图6从一个客户机和服务器的观点,依据本发明说明了一个在Internet上操作的web启用的设计工具的组件,其中使用了图表编程技术。
图7依据本发明说明了一种用于使用XML格式web启用一个设计工具的替换方法。
图8依据本发明说明了使用该传统工具的应用程序接口web启用一个传统设计工具。
图9是依据本发明的一个web启用的流程图编程设计工具的一个屏幕视图。
图10是依据本发明的一个web启用的框架逻辑编程设计工具的一个屏幕视图。
图11是一个概述了本发明一个实施例中的方法步骤的流程图。
图12是一个概述了一种依据本发明、用于编程一个可编程控制器的方法的流程图。
图13说明了依据本发明的一个系统的一个配置,在该系统中一个客户机设备与一个具有一个web启用的设计工具的服务器联网,而且与该服务器联网的第二个客户机设备在一个具有一个或多个可编程控制器的LAN上。
图14说明了本发明的一个替换配置,其中该可编程控制器直接与一个具有一个web启用的设计工具的服务器连接,该服务器与一个客户机设备进行通信。
图15说明了本发明的又一个替换配置,其中一个具有web启用的设计工具的服务器和一个客户机设备一起在一个Internet或者一个内部网上,而且一个或多个可编程控制器经由一个内部网或者Internet与该服务器联网。
图16是一个依据本发明、概述了用于提供设计工具服务的步骤的流程图。
图17是一个依据本发明、概述了用于离线产生编程代码的步骤的流程图。
图18依据本发明说明了一种用于销售设计工具服务的新商业范例。
图19依据本发明说明了一种用于销售设计工具服务的替换的新商业范例。
图20说明了本发明的一个实施例,其中人类可读的设计代码被存储在一个服务器上,并且被链接到在一个可编程序控制器上运行的被编译了的代码,而且可由一个自动化服务器访问。
图21说明了本发明在单个公司或者企业单位中可以如何被安装。
图22依据本发明说明了一个合作的设计系统。
图23是一个流程图,依据本发明概述了一种开发和测试用于可编程序控制器的编程代码和/或配置数据的方法。
图24是一个流程图,依据本发明概述了一种用于产生并且在一个可编程序控制器上安装编程代码的方法。
图25说明了本发明的一个实施例,其中一个设计工具组驻留在一个服务器上,包含一个配置编辑器,并且可由一个客户机设备经由一个网络调用。
图26是一个概述了由本发明允许的一种合作设计方法的流程图。
图27是一个流程图,依据本发明概述了一种替换的合作设计方法。
图28是一个流程图,依据本发明概述了另一种替换的合作设计方法。
具体实施方式
本发明尤其提供了用于在一个中央服务器上编写编程代码(其通常还涉及产生配置数据)、并且用于下载被编译了的编程代码以及任何配置数据到一个诸如PLC的可编程序控制器的系统和方法。如图3所示,一个客户机设备30,诸如一个包含了一个诸如MicrosoftInternet Explorer或者Netscape Navigator的浏览器的个人计算机,驻留在一个公用或者专用网络35上。网络35可以是Internet,或者它可以是一个内部网。在一个实施例中,一个诸如SiemensS7-200 PLC的PLC 40经由一条诸如SiemensPC/PPI电缆的接口电缆45连接到客户机设备30。该电缆可以包含变光开关48以控制诸如波特率的设置。在这个实施例中,客户机设备30起到一个用于编程该PLC40的编程设备的作用。然而,与其中用于编程PLC的设计工具被安装在编程设备上的、编程PLC 40的现有技术方法不同,为编写和编译编程代码所需要的设计工具驻留在一个服务器50上,其中该服务器50可由客户机设备30经由Internet或者一个内部网或者其它网络35访问。该设计工具最好是web启用的,以在任何客户机设备30上的任何浏览器应用程序中进行操作。
用户55利用客户机设备30经由网络35访问服务器50。客户机设备30可以是一个瘦客户机,即它除了一个浏览器之外不需要包含任何软件。因此,该客户机设备30可以采取许多形式,包含个人计算机、web启用的PDA、蜂窝电话、已备Internet的电视设备、以及Internet设备等。本发明是可扩展的,因为它可以以各种模式在具有各种功能的各种客户机设备上操作。例如,本发明可以用有限的功能在一个web启用的、具有有限功能和计算能力的蜂窝电话浏览器上操作;或者它可以用加强的功能在一个具有高速处理器和大量存储器以及加强的图形性能的复杂个人计算机上操作。
依据本发明,类似于诸如Siemens STEP 7的工具的设计工具,驻留在服务器50上,并且是web启用的。通常,这些设计工具将使用图形编程方案,诸如框架逻辑、流程图编程、连续功能图或功能块框图(例如,参见图1)。更可取地是,它们被配置为处理各种编程语言,包含指令列表编程以及其它的全部标准语言,诸如例如所有的IEC-1131标准语言(例如,LAD、FBD、SFC、IL以及ST)。该工具被配置为在一个浏览器应用程序中运行,因此使得它们独立于由该客户机使用的操作系统进行操作。更可取地是,该设计工具被配置为用一个HTML或者XML接口进行操作,以便使它们能够在任何可用的浏览器上操作。该工具还可以提供一个配置编辑器,以把一个控制器的逻辑I/O区域映射到一个物理I/O区域。
图4描述了用于web启用的设计工具的一般系统结构的一个实施例。一个web客户机设备30包含一个标准的web浏览器。一个用于为一个可编程序控制器产生编程代码的设计工具驻留在一个web服务器50上,并且能够在该web客户机上在一个浏览器应用程序中进行操作。该设计工具是web启用的,并且在它的最基本形式中,它包含一个或者多个可以在该web浏览器上运行的编辑器。有利地是,该编辑器是与操作系统无关的,并且可以在最新的浏览器、操作系统、以及硬件上运行。web服务器50同时可以包含一个用于执行硬件配置的编辑器。它还可以包含执行版本管理以及运行模拟所必需的软件和硬件。web客户机30和web服务器50都驻留在一个诸如内部网或者Internet的网络35上。一个用户在web客户机30上为一个可编程序控制器创建编程代码和/或产生配置数据。该代码和配置数据被转换成一个XML文档,并且经由网络35被传输到web服务器50。编程代码和配置数据可以被保存在一个与该web服务器50有关的项目数据库58中。该项目数据库58可以采取任何标准存储介质的形式。服务器50不需要运行最新的平台(OS和硬件)。
图5描述了一个替换实施例,其中一个web服务层70与该服务器50合并在一起。额外的web服务,诸如模拟服务和工具,可以被分层在现有的设计工具之上。这向设计工具开发者提供了一种快速的和划算的方法来改革和开发新产品。一个设计工具厂商能够平衡和延长他们在开发该设计工具中现有投入的寿命。在这个实施例中,一个基本设计工具的用户将在他们的配置处具有加强的设计服务,这些服务仅仅通过一次鼠标点击即可去掉。
XML尤其适于与本发明一起使用,因为图形表示、诸如由普通PLC编程语言使用的那些可被容易地转换成一个XLM文档。因此,在客户机30和服务器50之间的传输最好是以一个XML文档的形式。
图6说明了使用图表编程技术web启用一个诸如Siemens STEP 7的标准设计工具所需要的客户端、服务器端和Internet组件。虽然图表编程技术可以被用于web启用的、诸如Siemens STEP 7的标准设计工具,但是微软公司的。Net技术提供了一种用于web启用的设计工具的更有效方法。如图7中所示,.Net技术便于使用XML格式连接一个web服务应用程序99和一个web服务器。它还允许以一个XML格式的客户机-服务器数据交换。
如图8所示,能够在一个诸如Siemens STEP 7的现有设计工具77的应用程序接口(“API”)59之上建立一个新的web服务50。服务器50和客户机设备30然后使用标准协议交换XML文档。
该web启用的、浏览器可执行的设计工具最好是具有用户友好的、用于一个自动化项目的各个阶段的功能。在图9和10中描述了如将在一个具有一个标准浏览器的客户机设备上被查看的那样、一个典型的web启用的设计工具的屏幕视图。图9描述了一个web启用的流程图编程设计工具,而图10描述了一个用于以一个框架逻辑方案编程的web启用的设计工具。通常,这些设计工具包含下列功能,诸如硬件的配置和参数化;定义通信;编程;测试、起动和服务;文档编制和存档;以及操作/诊断。该工具同时可以包含一个用于定义符号命名、数据类型、以及全局标记注释的符号编辑器。该工具最好是支持包含但不局限于流程图编程、IL、ST、SFC、LAD、和/或FBD的所有编程语言,以及所有由IEC指定的后续编程语言。
如上所述,取决于设计工具将在其上运行的客户机设备类型,由该设计工具提供的功能可以是可扩展的。例如,一个非常瘦的客户机设备,诸如一个web启用的蜂窝电话,可能仅仅能够运行一个使用基于文字的、或者有限图形编辑功能的工具。一个更复杂的客户机设备,诸如一台IBM 600E Thinkpad,能够支持更多的功能,而且反过来能够允许该设计工具执行更多的功能,诸如在代码开发期间的全部图形编辑。因此,依据本发明,是否在客户机设备上或者在服务器端执行该设计工具功能,可以取决于客户机设备的性能、Internet或者内部网连接的速度、及其它参数而改变。
如图3所示以及在图11的这个流程图中所概述的那样,在本发明的一个实施例中,在步骤1000处,一个用户(或者几个用户)可以访问一个驻留在服务器50上的PLC编程设计工具38(或者一个用于编程其它可编程控制器的设计工具)。在一个实施例中,服务器50驻留在Internet的万维网部分上。在另一个实施例中,该服务器驻留在一个专用企业网或者一个公司的内部网上。在步骤1005处,用户55在客户机设备30上在一个web浏览器上操作该设计工具38,并且在步骤1010处,在该浏览器上创建用于该可编程控制器的编程代码。可以使用标准的安全措施来限制对服务器以及在其上创建的程序的访问。用户55可以在单个会话中或者经由一个几个会话的周期创建一个程序。在步骤1015,用户可以在一个浏览器应用程序中修改、编辑、以及调试该编程代码。在浏览器上产生的代码可以是图形的形式。然后在步骤1020处,该代码被转换为一个文档,并且在步骤1025处,该文档经由网络传输到服务器。更可取地是,在步骤1030中,该编程代码被存储在服务器50上。
编辑软件、调试软件和一个编译器可以位于服务器50上。这实际上允许任何PC、PDA、或者其它web启用的客户机设备30充当一个编程设备。在用户55创建和编辑编程代码之后,该代码可以在服务器50上被存储和编译,其中该服务器50最好是具有一个编译器。在某些实施例中,一个额外的服务器能被用来存档该代码。此外,编译器还可以驻留在一台可由包含设计工具的服务器访问的不同服务器上。
在该代码被创建、调试、以及编译之后,它被下载到一个可编程控制器。如在图12的流程图中显示的那样,在一个实施例中编程一个可编程控制器包含两个步骤:在步骤2000处,在该控制器和服务器之间建立通信;以及在步骤2005处,经由网络把该编程代码下载到控制器。在一个实施例、诸如在如图3中显示的那个中,该代码可以被下载到客户机设备30,其中该客户机设备然后可以与可编程控制器40连接。在这个实施例中,被编译了的编程代码的一个拷贝可以驻留在客户机设备上,或者在客户机设备上被存档。
通常,客户机设备30经由一个电缆接头45、诸如Siemens PC/PPI电缆接头与该可编程控制器40连接(参见图3)。如图3所示,当一个PC被用作客户机设备30时,该电缆接头允许在可编程控制器上的一个串行接口与一个标准的RS-232串行接口进行通信。当另一个设备、诸如一个PDA被用作客户机设备时,该电缆接头与在该设备上的一个通信端口连接。如图3所示,该电缆可以包含用于选择在PLC40和客户机设备30之间传递信息的一个适当速度(波特率)的DIP开关48。如图13所示,该客户机设备可以与多个可编程控制器40连接。在某些实施例中,在有许多可编程控制器与单个客户机设备连接的地方,可能需要一个中继器(没有显示)与该电缆结合。
在一个替换实施例、诸如在图14中所示的那个中,可编程控制器40可以直接或者间接地连接到一个其上驻留了服务器的网络、诸如一个LAN 100上,而不需要通过客户机设备30。在这个实施例中,可编程控制器40经由网络100与服务器50进行通信,其中该网络可以包含一个使用TCP/IP以太网协议的标准网络、一个Profibus网络、或者实际上其它任何网络配置。该编译了的编程代码然后可以被直接下载到一个可编程控制器40。
在还有的另一个实施例、诸如在图15中描述的那个中,可编程控制器40可以经由一个网络110、诸如内部网或者Internet和服务器50进行通信。在某些实施例中,可编程设备可以使用诸如TCP/IP或者Profibus或者其它任何适当协议之类的协议在一个LAN 100上连接在一起。
无论该可编程设备是否直接与其中驻留了服务器的网络进行连接、或者是通过一个客户机设备与服务器通信,该编程代码的一个归档拷贝都可以被保存在该服务器50上、或者在一个与该服务器50有关的存储设备上的一个归档项目数据库120中。(参见图14)。这有利地提供了用于被编译的编程代码的备份拷贝的集中式存储器。该归档拷贝也可以被存储在一个分离的服务器上或者在一个可经由该网络得到的数据库中。
在某些实施例中,可能希望离线地、即在客户机设备从包含设计工具的服务器中断开连接之后创建用于该可编程控制器的编程代码。离线编程允许一个用户创建和编辑该程序代码而不必保持与该服务器的一个连接。如在图17的流程图中概述的那样,在步骤3000中,一个用户在一个客户机设备和一个包含有一个web启用的设计工具和一个编程项目数据库的服务器之间建立通信。在3005处,该用户然后在客户机上在一个浏览器应用程序中打开该web启用的设计工具。然后在步骤3010处,用户从该项目数据库中检测该项目的一个拷贝,而且在3015处,该项目的拷贝被传输到该客户机设备。然后在步骤3020处,终止在客户机和服务器之间的通信。现在在步骤3025处,该用户自由地离线编辑该检测的拷贝。当用户完成编辑时,在步骤3030处,该用户恢复在客户机和服务器之间的通信。在3035处,该编辑了的编程代码然后被返回登记,并且可以由具有访问权限的其它用户访问。在某些实施例中,虽然该项目被检测了,但是可以允许其它用户以被检测了的项目在被检测之前存在的形式读取它的一份拷贝。取决于客户机设备的复杂性和资源,离线编程技术和功能可以变化。
在该客户机设备缺乏复杂性的地方,可以提供一个简单的、基于文本的只编辑功能。在客户端资源包含较高复杂性等级(例如,存储器、绘图能力、处理器速度等)的地方,可以提供更复杂的图形编辑/代码生成功能。因此,本发明是可扩展的。例如,在一个在一个简单的web启用设备上操作的实施例中,可以仅仅向用户提供一个文本编辑功能,而在一个在一个更复杂的客户机上操作的其它实施例中,可以向用户提供一个在web浏览器中操作的设计工具,其中该浏览器包会当该用户连接到该服务器时存在的所有图形编辑功能。
除了取决于客户端资源(例如,存储器)之外,其它的因素、诸如客户端操作系统和安全问题,也可能影响该web启用的设计工具的功能。为了离线工作,该设备的操作系统需要支持某种在客户机设备上安装该应用程序的方法。这对于现代的PDA来说通常不是一个问题,但是对于较小的设备、诸如蜂窝电话来说就可能是一个问题了。为了安全的原因,web浏览器应用程序通常被限制访问系统资源、诸如驱动器和系统存储器。Washington Redmond的微软公司借助于嵌入在该应用程序中的ACTIVEX控件,提供了用于允许在它的Internet Explorer上运行的应用程序访问客户端系统资源的软件。对于那些需要更好安全性的用户来说,微软公司向用户提供了在它的浏览器中禁止下载ACTIVEX控件的能力,或者仅仅从信任的站点接受下载或者仅仅接受最初签发的ACTIVEX控件。
在一个实施例中,根据需要向客户机设备提供特定功能。例如,不提供语法检查直到该客户机设备的用户需要那个功能为止。这允许用户最初下载最少的功能到客户机设备,并且只有当需要附加的功能时才增加那个功能。
通常,当编程代码正被产生和编译时,可编程设备不需要被连接到可编程控制器。然而,在某些实施例中,可能希望让该可编程控制器与服务器和客户机设备同时在线。在这个实施例中,变化被下载到可编程控制器。此外,能够监视输入和输出单元的状态。在某些实施例中,服务器可能具备诊断软件或功能,它允许监视该可编程控制器。在还有的其它实施例中,服务器能够模拟输入和输出,并且把这些与可编程控制器进行通信。这允许集中地创建和存储多种和加强的测试算法。在某些实施例中,该加强的测试算法可以仅仅由授权用户访问,并且这些用户可以为他们的使用支付费用。
本发明在设计工具行业提供了一种新的范例。在本发明之前,设计工具是被制造和销售的产品(参见图2)。依据本发明,web启用的设计工具提供了一种新的商业范例,其中一个设计工具的制造商提供了一种服务(参见图18 & 19)。在一个实施例,诸如由图18的流程图概述的那个中,在步骤200,向一个用户提供对包含一个用于为一个可编程控制器开发和编译编程代码的设计工具的服务器的访问。为了编写编程代码的目的,可以向该用户提供对设计工具的自由访问。在步骤205,该用户能够在和服务器通信的一个客户机设备上开发代码。该用户能够创建和修改编程代码而不需要支付费用。这有利地甚至向小企业提供了访问复杂的和最新的设计工具的业务。仅仅在用户完成该代码和编译它之后,在步骤207处进行收费。在某些实施例中,在编译该编程代码时计算费用。在另一个实施例中,当下载被编译的代码到一个PLC时向用户收费(参见图19、步骤220)。对该代码收费可以基于被编译的代码的大小、编写该代码所需要的时间、该代码被设计成能处理的输入和/或输出的数目、或者各种可以被测量的其它参数。由于该设计工具驻留在一个中央服务器上而不是在一个客户机设备上,所以简化了对该工具的限制和控制访问。此外,在从一个商业前景上看这样的额外使用将是有利的地方,一个客户服务代表或者销售人员向一个用户提供该编程工具的额外使用是一件简单的事情。例如,当一个用户购买一个新的PLC、或者与一个现有PLC连接的新外部设备时,一个销售人员可以提供对一个用于编程和配置一个PLC的web启用的设计工具自由使用的一个有限周期。
从构造和/或提供设计工具的机构的观点来看,该新的商业范例可以采取在图16的流程图中概述的步骤的形式。在步骤1601处,该工具制造商或者供应者在一个可由客户机经由一个网络、诸如Internet访问的服务器上保持一个web启用的设计工具。在步骤1605处,向客户机提供经由网络对工具的访问。在某些实施例中,密码或者其它安全措施可以用来把访问仅仅限制到授权用户,而在其它实施例中,公众可以访问该工具,但不是必定要访问用该工具创建的代码。依据这个实施例,在步骤1610处,该设计工具供应者,例如经由一个网络,从一个用户接收一个包含有利用该web启用的设计工具产生的编程代码的文档。该编程代码然后可以在步骤1615处被编译,或者可以被保存,并且使得创建它的机构或者被授权访问它的机构可以对其进行访问。最后,在步骤1620处,编译该代码,然后把该代码下载到一个可编程控制器。
由于该代码在一个中央服务器上被创建,所以该代码可以以人类可读的形式和以编译了的形式被存档(参见图20)。这提供了一种在新的可编程控制器上重新安装现有软件、或者当一个新版本不能以一种期望的方式执行时恢复代码的老版本的方法。在一个实施例中,用户为获取下载一个存档的拷贝而被收取费用。这个费用可能比用于下载到该用户的第一个拷贝的初始费用要低。
此外,由于在某些实施例中,该代码(亦称为源)的人类可读形式被存档,并且和机器可读的代码链接在一起,所以自动设备的web启用的监视、模拟、和控制是便利的。例如,如在图20中显示的那样,一个web启用的PLC 300可以包含一个嵌入的Web服务器310。该PLC可以被连接到一个诸如Internet或者内部网的网络350。该PLC可以用本发明中的web启用的设计工具进行编程。用于该PLC的编程代码可以以人类可读的形式和以编译了的形式驻留在一个设计服务器400上。该人类可读的形式被保存在一个存储器或者数据存储设备410中,而且该代码被链接到也驻留在与该设计服务器有关的存储设备420中的编译了的形式。由于可经由Internet或者一个内部网访问该设计服务器与该PLC,所以有可能在同一网络上保持另一台服务器(一台物理上和该设计服务器分开的服务器,或者一台物理上是该设计服务器或者PLC的一部分的虚拟服务器),诸如一个自动化服务器。该自动化服务器甚至可以是该PLC的一部分,诸如当该PLC包含一个嵌入的web服务器时。复杂和加强的模拟、监视与控制软件可以驻留在该自动化服务器上,并且是web启用的,以由在该Internet或者内部网上的一个客户设备访问。由于用于在该PLC上执行的软件的编程代码人类可读版本可经由该设计服务器得到,所以加强的模拟、诊断、控制、和监视程序包可以有利地访问该人类可读的代码,并且提供用于运行这些程序包的有价值的信息。例如、由于该人类可读代码是可很容易地访问的,所以访问用于由该PLC控制的各个外部设备的标记信息是便利的。本发明因此允许从一个车间到一个董事室的、复杂和加强的通信和数据传输。
如图5所示,保持一个具有集中的web启用的设计工具的服务器提供了一个用于使该设计工具的开发者启动新服务和产品的平台。例如,在本发明之前,购买用于优化编程代码的模拟工具的成本阻止了许多客户在这些工具中进行投资。因为,在一个实施例中,该编程代码在一个可由许多客户访问的中央服务器上被存储和产生,所以在该服务器上安装模拟软件的成本能够分布在许许多多的这些客户上。此外,在一个实施例中,客户仅仅为该模拟工具的使用付费。此外,诊断工具能够被安装在该服务器上,并且以一种类似的方式被共享。在某些实施例中,该服务器和工具的所有者能够基于使用、基于对客户的保存、或者其它各种方案而被支付报酬。
因为该工具被集中地定位,所以该工具的许可被简化了。该工具可以被授权给公司、在一个公司内的某些个人、或者个人本身。对工具的访问可以使用加密技术和/或口令保护来完成,而且能够在保持一个有效许可时被条件化。在某些实施例中,可能希望提供对该工具自由访问的一个有限周期。在某些情况下,自由访问的数量能够和可编程控制器的购买绑定在一起。免费提供一个实地服务器的一段有限周期,在向客户销售服务器的长期租赁中也可能是有用的。在这个实施例中,向该用户提供了该服务器的一段有限的免费试用周期。
在一个替换实施例中,诸如在图21中显示的那样,一个公司可以选择租借或者拥有它自己的服务器。对于某些大的制造公司和/或其它其中安全是一个主要考虑的机构来说,把对服务器的访问仅仅限制为公司的雇员可能是有利的。因为该设计工具驻留在服务器上,而不是每个用户的PC上,所以版本管理、更新及其它软件维护任务就被简化了。此外,该设计工具独立于在用户编程设备上的操作系统而进行操作。因为该服务器可仅仅由该公司的雇员访问,所以专有信息可以被存储在该服务器上,并且由在不同位置工作的一个编程队伍访问。
本发明也有利地提供了一种用于合作设计的系统和方法。在一个实施例中,多个用户可以共同地访问和开发用于一个或多个可编程控制器的编程代码。如图22中所示,多个用户可以访问一台服务器。一个web启用的设计工具2200驻留在服务器50上,并且能够在客户机设备30上的一个浏览器应用程序中运行。该服务器可以包含一个存储器,用于在一个数据库2210以及一个配置管理器2220中存储设计项目。保存在项目数据库2210中的项目可以是分离的项目,或者它们可以是相关的。通常,创建一个特定项目或者代码段的用户被授予对那个项目的完全读写权限。如图22所示,第一个用户5000可以访问第一个项目2241。当访问第一个项目2241时,其通常为一个以一种人类可读形式存储编程代码的文档,在该服务器50上创建第一个项目的一个有效拷贝2250。借助于web启用的设计工具2200,第一用户5000可以修改第一项目2250的有效拷贝。在该系统上的其它用户5001、5002、5003可能需要查看项目1的一份拷贝。这在第二个和第三个用户在相关项目上工作时经常是这样的情况。因为一个有效拷贝正在工作中,有可能第一用户5000从不保存第一用户5000正对该有效拷贝进行的改变,所以向第二和第三用户授予读取当前拷贝的权利通常不是典型地不利的。相反,通常更可取的是,授予第二和第三用户5002、5003对驻留在项目数据库上的存档拷贝的读取权利。在某些实施例中,向第四个用户5001提供对该有效拷贝的读权利或者读写权利可能是有利的。这在第四用户5001是一个客户服务代表、一个顾问或者监视用户的监控者时可能尤其有用。对保存在数据库中的项目的存档拷贝的访问以及对该有效拷贝的访问通常由一个配置管理器控制。在本发明的一个实施例中,一个项目的创建者通过该配置管理器2220把权利授予其它的用户。通常,至少一个其它用户、诸如一个监控者或者IT管理员,具有授予权利的能力。
在一个实施例、诸如在图22中描述的那个中,一个大的编程任务被分成几个较小的项目。每个项目被存为在该项目数据库中的一个文档。每个用户主要对一个分离的项目负责。例如第一用户5000,负责项目1 2241。因此,第一用户5000经由该配置管理器,被授予对第一项目2241的读和写权利。其它用户,诸如第二和第三用户5002、5003可能负责单独的项目或者相关的项目,并且因此被授予对项目1的较小权利,诸如只读权利。第二用户5002被分派了创建项目2 2242的任务,并且因此被授予对项目2的完全权利,但是用户1和3仅仅被给予对项目2的一个存档拷贝的只读权利。用户3 5003被分派了创建项目3 2243的任务,并且因此被授予了对项目3的读写权利,但是被授予对项目1和2的存档拷贝的只读权利。同样地,第一用户5000被授予对项目2和3的存档拷贝的只读权利。一个项目监控者,诸如第四用户5001,可以被给予监控权利,其可以包含对有效拷贝、以及存档拷贝的读写权利,把各个项目(当前拷贝或者存档拷贝)组合到一个编程代码段中的权利,编译该编程代码的权利,以及监视一个编程项目所需要的其它任何权利。
本发明因此允许许多用于合作编程可编程控制器、以及产生用于I/O网络和设备的配置数据的方法,其通常是编程过程的一部分。图26-28概述了由本发明允许的许多合作设计方法和技术的某些少量例子。虽然在这些附图中显示了特定的例子,但是在此被概述的方法步骤是用于说明性的,并且未穷举由本发明允许的宽广和强大的合作设计方法。
本发明也提供了编程代码的方便存档和版本管理。一个版本管理器或者版本管理系统可以被合并到该配置管理器中或者由该配置管理器控制。在新编译的编程代码被下载到一个可编程控制器(直接从该服务器下载到控制器,或者经由客户机设备从服务器下载到控制器)之前,现有代码的一份拷贝被存档在该服务器上。在某些实施例中,在该编程代码被编译之前,它以一种人类可读形式被存档。被编译了的代码和人类可读代码可以被连接在一起,以便可以基于该编译了的代码访问该人类可读的代码(例如,参见图20)。
一个驻留在服务器上的版本管理工具将提供几个优点,并且提供一种用于设计工具供应商的新商业模型。它提供的许多优点中的一个是:一个客户可以搜索对一个程序的特定改变,或者可以比较一个程序的两个版本。这在由食品和药物管理局(“FDA”)管理的行业中是高度所希望的。例如,在一个食品工厂中,FDA要求所有对一个PLC程序的改变都是有案可查的。一个版本管理工具可以提供这个功能。在某些实施例中,该版本管理工具是一个配置管理器的一部分,并且驻留在一个具有一个设计工具的服务器上。在一个典型的方案中,一个用户对一个PLC程序(例如版本1.0)进行改变,例如增加在一个混合物中的糖的数量。该修改了的程序与文档一起在该服务器上被保存为一个新的版本(例如版本1.1)。如果在随后的时间点确定该产品太甜了,则一个后续的用户能够通过搜索影响了甜度或者被加到该产品中的糖的数量的、对PLC的改变来改正这个。该版本管理器最好是支持这个功能。通常,因为存在后续的改变所以不可能回复到原始版本(例如1.0),但是该用户能够通过对在该PLC上运行的现有版本进行改变来创建一个新的版本。
除了提供搜索功能之外,版本管理工具还可以提供比较功能,其允许一个用户将一个版本与另一个版本进行比较以显示改变。该比较功能可以以基于图形和文本的编程语言的形式进行工作,并且最好是突出显示该改变。
本发明还提供了一种用于测试在一个中央服务器上开发的编程代码的方法和系统。如在图23中显示和概述的那样,在步骤9900处,利用一个客户机设备访问一个包含一个设计工具的服务器。然后在步骤9905处,设计工具在客户机设备上进行操作,最好是在客户机设备上的一个浏览器应用程序中进行操作,然后在步骤9910处在该服务器上创建编程代码。在步骤9915处,该编程代码然后可以通过在服务器上运行模拟软件而被测试。该模拟软件可以模仿一个实际的可编程控制器。在其它实施例中,在步骤9920处,该服务器可以与一个测试的可编程控制器连接。更可取地是,该测试的可编程控制器被配置为测试利用在该服务器上的设计工具产生的编程代码和/或配置数据。在编程代码被测试了之后,在步骤9925处,它可以被下载到一个实际的可编程控制器,其经常被称为目标可编程控制器。
在图24中概述了一种下载由本发明产生的代码的方法。在步骤9000处,在一台服务器上产生编程代码和/或配置数据。然后在步骤9005处编译该代码。然后在步骤9010处,该代码被下载到一个客户机设备。并且在步骤9015处被复制到一个与该客户机设备有关的存储设备中。该存储设备可以采取许多形式,并且可以是一个可移动的存储设备,诸如一个磁盘驱动器或者闪速存储器单元。在步骤9020处,该存储设备可以与一个电子设备连接或者可通讯地连接。然后在步骤9025处,该代码可以被复制到该电子设备。在步骤9030处,该代码然后可以从该电子设备下载到一个目标可编程控制器。
如在图25中显示的那样,本发明还可以包含一个驻留在一台服务器9200上、用于生成用于配置I/O网络和设备的代码或者数据的配置编辑器9100。配置编辑器通常是设计工具9300的一部分或者一个设计工具集9350的一部分。本领域技术人员将会意识到:在大多数情况下在此描述的设计工具可以包含一个配置编辑器,而且编程代码的产生可以包含配置数据的产生。该配置编辑器可以采取许多形式,但是通常是图形的,并且最好是适于由一个客户机设备9500经由一个诸如Internet的网络9600调用。一个图形配置编辑器可以显示一个I/O网络和在该网络上的设备的拓扑结构。用于I/O网络和设备的配置数据一般被下载到在该网络上的一个可编程控制器9700。在某些情况中,该数据可以被下载到在该网络上的智能设备。配置数据通常包含诸如波特率的信息和与逻辑I/O到物理I/O的映射有关的信息。
虽然以上结合特定实施例描述了本发明,但是本发明可以以许多形式体现,这些形式太多而使得不能在此进行描述,而且不应由以上所述的示范实施例限制,其中这些示范实施例说明了本发明而并未穷举。例如,本领域技术人员将会意识到,虽然以一种次序在上面讨论了本发明中的方法步骤,但是经常会是这样的情况,即步骤的次序不是决定性的,而且本发明可能通过以不同的次序执行这些步骤来实践。例如,该方法步骤是否以任何特定次序执行对于本发明的实践来说通常是不重要的。例如,是否在从一个中央服务器下载编译了的代码和配置数据到一个PLC之前或者之后由一个用户传送值是没有差别的。

Claims (58)

1.一个用于利用一个具有一个网络连接的应用程序的客户机设备创建用于一个可编程控制器的编程代码的系统,该系统包含:
一个经由一个网络与该客户机设备通信的服务器;
一个适用于为该可编程控制器创建可编程控制器可执行编程代码的设计工具,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应于创建一个XML版本的编程代码,该设计工具驻留在该服务器上并且可由该客户机设备访问;以及
一个与该服务器相关的存储器,适用于存储该编程代码。
2.如权利要求1所述的系统,其特征在于:该设计工具使用一个图形编程语言。
3.如权利要求1所述的系统,其特征在于:该设计工具使用一个框架逻辑编程语言。
4.如权利要求2所述的系统,其特征在于:该图形编程语言是一个功能块编程方案。
5.如权利要求2所述的系统,其特征在于:该图形编程语言是一个流程图编程方案。
6.如权利要求1所述的系统,其特征在于:该设计工具使用一种基于文本的语言。
7.如权利要求6所述的系统,其特征在于:该设计工具使用一个指令列表编程语言。
8.如权利要求6所述的系统,其特征在于:该设计工具使用一种结构化的文本编程语言。
9.如权利要求1所述的系统,其特征在于:该设计工具被配置为通过一个XML文档在服务器和客户机设备之间交换信息。
10.如权利要求1所述的系统,其特征在于:该网络连接的应用程序是一个web浏览器,并且其中该系统进一步包含一个驻留在该服务器上用于编译该编程代码的编译器。
11.如权利要求1所述的系统,其特征在于:该客户机设备是一个PDA。
12.如权利要求1所述的系统,其特征在于:该客户机设备是一台个人计算机。
13.如权利要求1所述的系统,其特征在于:该客户机设备是一个web启用的蜂窝电话。
14.一种用于在一个具有一个设计工具的服务器上开发用于一个可编程控制器的编程代码的方法,其中该设计工具由在一个客户机设备上的一个网络连接的应用程序调用,该方法包含以下步骤:
经由一个网络,利用该客户机设备访问服务器;
提供一个适应由用户使用的接口以在该客户机设备上创建可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应于创建一个XML版本的编程代码,该设计工具驻留在该服务器上并且可由该客户机设备访问;
把该编程代码转换成为一个文档;以及
经由该网络传输该文档到该服务器。
15.如权利要求14所述的方法,其特征在于:该网络是Internet。
16.如权利要求14所述的方法,其特征在于:该网络是一个内部网。
17.如权利要求14所述的方法,其特征在于:该文档是一个XML文档。
18.如权利要求14所述的方法,其特征在于:该网络连接的应用程序是一个web浏览器。
19.如权利要求14所述的方法,其特征在于:使用一种图形语言创建该编程代码。
20.如权利要求14所述的方法,其特征在于:使用一种基于文本的语言创建该编程代码。
21.如权利要求14所述的方法,其特征在于:使用一种功能框图编程方案创建该编程代码。
22.如权利要求14所述的方法,其特征在于:使用一种流程图编程方案创建该编程代码。
23.如权利要求14所述的方法,进一步包含步骤:在该服务器上编译该编程代码;以及存储该编译了的编程代码。
24.如权利要求23所述的方法,进一步包含:
连接一个可编程控制器到该客户机设备;
下载编译了的编程代码的一份第一拷贝到该客户机设备;以及
从该客户机设备下载编译了的编程代码的一份第二拷贝到该可编程控制器。
25.如权利要求23所述的方法,进一步包含:
在该服务器和另一个客户机设备之间建立通信;
连接一个可编程控制器到该另一个客户机设备;
从该服务器下载该编译了的编程代码到该另一个客户机设备;以及
从该另一个客户机设备下载该编译了的编程代码到该可编程控制器。
26.如权利要求25所述的方法,其特征在于:该可编程控制器是一个可编程逻辑控制器。
27.如权利要求26所述的方法,进一步包含:在该另一个客户机设备上存档编译了的编程代码的一份拷贝。
28.一种编程一个可编程控制器的方法,包含步骤:
在该可编程控制器和一个服务器之间建立通信,该服务器包含通过一个与该服务器通信的客户机设备使用驻留在该服务器上的web启用的设计工具产生的可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该web启用的设计工具适应于创建一个XML版本的编程代码;以及
下载该编程代码到该可编程控制器。
29.如权利要求28所述的方法,其特征在于:在该可编程控制器和服务器之间建立通信的步骤包含:连接该可编程控制器到一个客户机设备,并且在该客户机设备和服务器之间建立通信。
30.如权利要求28所述的方法,其特征在于:在该可编程控制器和服务器之间建立通信的步骤包含:连接该可编程控制器到一个LAN,并且在该LAN和服务器之间建立通信。
31.一种用于编程一个可编程控制器的方法,包含:
在一个服务器上保持一个为该可编程控制器创建可编程控制器可执行编程代码的web启用的设计工具,该编程代码适应于使该可编程控制器来控制基于场的致动器,其中该服务器可经由一个计算机网络访问;
向一个客户机设备的用户提供经由该计算机网络对该web启用的设计工具的访问;
从该客户机设备接收一个包含有由该用户用该web启用的设计工具创建的编程代码的XML语言文档;以及
在该服务器上编译编程代码。
32.如权利要求31所述的方法,其特征在于:由框架逻辑语言程序翻译该XML语言文档。
33.如权利要求32所述的方法,其特征在于:该可编程控制器是一个可编程逻辑控制器。
34.如权利要求33所述的方法,进一步包含:存档该XML语言文档的一份拷贝。
35.如权利要求33所述的方法,进一步包含:存档该编译了的编程代码的一份拷贝。
36.如权利要求35所述的方法,进一步包含:下载该存档的拷贝到该可编程控制器。
37.一种用于编程一个可编程控制器的方法,包含步骤:
通过访问驻留在一个服务器上的一个设计工具,在该服务器上产生用于该可编程控制器的可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应于创建一个XML版本的编程代码;
编译该编程代码;
下载该编译了的编程代码到一个客户机设备;
复制该编译了的编程代码到一个与该可编程控制器连接的一个电子设备;以及
从该电子设备下载编译了的编程代码到该可编程控制器。
38.如权利要求37所述的方法,其特征在于:该客户机设备包括一个可移动的存储设备。
39.如权利要求37所述的方法,其特征在于:该客户机设备包括一个闪速存储器设备;
40.如权利要求37所述的方法,其特征在于:该客户机设备包括一个磁盘驱动器。
41.一种开发用于一个可编程控制器的编程代码的方法,包含步骤:
利用一个客户机设备访问包含一个设计工具的服务器;
通过该客户机设备操作该设计工具;
通过该客户机设备在该服务器上创建可编程控制器可执行编程代码,该编程代码适应于使该可编程控制器来控制基于场的致动器,该设计工具适应创建一个XML版本的编程代码;以及
测试该编程代码。
42.如权利要求41所述的方法,其特征在于:测试编程代码的步骤包含:运行模拟该可编程控制器的模拟软件。
43.如权利要求41所述的方法,其特征在于:测试编程代码的步骤包含:在一个被配置为测试编程代码和配置数据的测试可编程控制器上运行该编程代码。
44.如权利要求41所述的方法,进一步包含:下载该编程代码到一个目标可编程控制器。
45.一种用于配置I/O网络和设备的系统,包含:
一个和一个网络通信连接的服务器;
一个设计工具;以及
驻留在该服务器上的一个配置编辑器,该配置编辑器适应于由一个与该网络通信相连的客户机设备调用,该配置编辑器适应于将可编程逻辑控制器的逻辑I/O区域映射到可编程逻辑控制器的物理I/O区域,通过编程代码控制可编程逻辑控制器,该编程代码适应于使该可编程逻辑控制器来控制基于场的致动器,该设计工具包括配置编辑器,该设计工具适应创建一个XML版本的编程代码,该设计工具驻留在该服务器上。
46.如权利要求45所述的系统,其特征在于:该网络是Internet。
47.如权利要求45所述的系统,进一步包含一个适用于开发用于该可编程逻辑控制器的编程代码的工具。
48.如权利要求45所述的系统,其特征在于:该客户机设备是一台个人计算机。
49.如权利要求45所述的系统,其特征在于:该客户机设备是一个PDA。
50.如权利要求45所述的系统,其特征在于:该客户机设备是一个蜂窝电话。
51.如权利要求45所述的系统,进一步包含一个驻留在该服务器上的版本管理工具。
52.如权利要求51所述的系统,其特征在于:该版本管理工具是一个配置管理器的一部分。
53.如权利要求45所述的系统,进一步包括:一个管理用于该可编程控制器的程序版本的版本管理系统,其中:
该服务器具有安装在其上的版本管理工具,该版本管理工具可由该客户机设备经由该网络调用;以及,其中:
驻留在该服务器上的该程序的多个版本。
54.如权利要求53所述的系统,其特征在于:该版本管理工具是一个驻留在该服务器上的配置管理器的一部分。
55.如权利要求53所述的系统,其特征在于:其中该版本管理工具是一个适用于搜索具有预定属性的版本的应用程序。
56.如权利要求53所述的系统,其特征在于:其中该版本管理工具是一个适用于将两个或更多版本互相比较以显示在该两个或更多版本之间的差别的应用程序。
57.如权利要求53所述的系统,其中该设计工具被配置为在该客户机设备上以一个网络连接的应用程序运行。
58.如权利要求57所述的系统,其特征在于:该网络连接的应用程序是一个web浏览器,而且该网络是Internet。
CNB02132350XA 2001-09-24 2002-09-24 用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置 Expired - Lifetime CN100380359C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/961,931 US8086664B2 (en) 2001-09-24 2001-09-24 Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
US09/961931 2001-09-24

Publications (2)

Publication Number Publication Date
CN1409233A CN1409233A (zh) 2003-04-09
CN100380359C true CN100380359C (zh) 2008-04-09

Family

ID=25505194

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02132350XA Expired - Lifetime CN100380359C (zh) 2001-09-24 2002-09-24 用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置

Country Status (6)

Country Link
US (2) US8086664B2 (zh)
EP (1) EP1296232B1 (zh)
CN (1) CN100380359C (zh)
AT (1) ATE416419T1 (zh)
DE (1) DE60230098D1 (zh)
ES (1) ES2315337T3 (zh)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US6907302B2 (en) * 2001-10-12 2005-06-14 Kar-Tech, Inc. PDA monitoring and diagnostic system for industrial control
US6865425B2 (en) * 2002-01-07 2005-03-08 Siemens Energy & Automation, Inc. State machine for a pulse output function
CN100392587C (zh) * 2002-06-03 2008-06-04 西门子能量及自动化公司 用于编程智能模块的向导
JP2004102373A (ja) * 2002-09-05 2004-04-02 Hitachi Ltd アクセス管理サーバ、方法及びプログラム
DE10241953B4 (de) * 2002-09-10 2005-05-04 Siemens Ag Verfahren zum Übertragen von Meldungen industrieller Steuerungen über Internet-Technologien an vordefinierte Empfänger
DE10251523A1 (de) * 2002-11-04 2004-05-19 Siemens Ag System und Verfahren zur Bereitstellung von Daten und Diensten für Geräte, sowie Gerät, welches die bereitgestellten Daten und Dienste verwendet
US7805716B2 (en) * 2002-12-10 2010-09-28 Siemens Aktiengesellschaft Method for executing a first software program, developed for a stored-program controller, on a computer
US6963814B2 (en) * 2002-12-23 2005-11-08 Siemens Energy & Automation, Inc. Systems, devices, and methods for acceptance testing a fieldbus component configuration program
US8949382B2 (en) * 2003-02-26 2015-02-03 Siemens Industry, Inc. Systems, devices, and methods for network wizards
CN1324511C (zh) * 2003-05-23 2007-07-04 联想(北京)有限公司 基于数据库和可扩展标记语言的动态文件索引设备和方法
DE10327614A1 (de) 2003-06-18 2005-01-20 Siemens Ag Vorrichtung und Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme
EP1678564A1 (en) * 2003-09-03 2006-07-12 Unitronics (1989) (R"G) Ltd. System and method for implementing logic control in programmable controllers in distributed control systems
EP1695272A4 (en) * 2003-11-05 2009-05-06 Shoplogix Inc AUTONOMOUS SYSTEM AND METHOD OF TESTING MACHINES
US7110918B2 (en) 2003-11-05 2006-09-19 Shoplogix Inc. Self-contained system and method for remotely monitoring machines
US20050114435A1 (en) * 2003-11-21 2005-05-26 Microsoft Corporation Web-based deployment of context sensitive navigational elements within a user interface
US20050229004A1 (en) 2004-03-31 2005-10-13 Callaghan David M Digital rights management system and method
US7779404B2 (en) 2004-06-10 2010-08-17 Cisco Technology, Inc. Managing network device configuration using versioning and partitioning
CN100394724C (zh) * 2004-07-09 2008-06-11 英华达(南京)科技有限公司 利用浏览器对可携式电子装置的界面进行编辑的方法
US9537768B2 (en) 2004-09-30 2017-01-03 Rockwell Automation Technologies, Inc. System that provides for removal of middleware in an industrial automation environment
CA2504030A1 (en) * 2005-04-13 2006-10-13 Canimex Inc. Special quiet anchor for spring fitting in counterbalancing door, and door assembly including the same
EE05043B1 (et) * 2005-06-21 2008-06-16 Mirovar O� Meetod elektriliste ja elektrooniliste seadmete, süsteemi sisaldava objekti ning selle osade haldamiseks
US8156232B2 (en) * 2005-09-12 2012-04-10 Rockwell Automation Technologies, Inc. Network communications in an industrial automation environment
DE102006019542A1 (de) * 2006-04-27 2007-10-31 Krauss Maffei Gmbh Verfahren zum Betreiben einer Fertigungsmaschine, insbesondere einer Spritzgussmaschine
EP1860548A1 (de) * 2006-05-26 2007-11-28 Siemens Aktiengesellschaft Verfahren zur Versionsverwaltung von Automatisierungsdaten eines Kraftwerk-Automatisierungssystems
US7668608B2 (en) * 2006-09-01 2010-02-23 Fisher-Rosemount Systems, Inc. Graphical programming language object editing and reporting tool
US9217998B2 (en) 2006-09-29 2015-12-22 Rockwell Automation Technologies, Inc. Management and development of an industrial environment
US8776092B2 (en) 2006-09-29 2014-07-08 Rockwell Automation Technologies, Inc. Multiple interface support
US9261877B2 (en) * 2006-09-29 2016-02-16 Rockwell Automation Technologies, Inc. Multiple machine interface
US9058032B2 (en) * 2006-09-29 2015-06-16 Rockwell Automation Technologies, Inc. Hosting requirements for services
US20090089747A1 (en) * 2007-09-07 2009-04-02 Verizon Data Services Inc. Method and system for managing configuration information
US10997531B2 (en) 2007-09-11 2021-05-04 Ciambella Ltd. System, method and graphical user interface for workflow generation, deployment and/or execution
CN101840216B (zh) * 2009-03-17 2013-09-18 鸿富锦精密工业(深圳)有限公司 可编程控制器的参数设定系统及方法
WO2012022378A1 (de) * 2010-08-18 2012-02-23 Siemens Aktiengesellschaft Verfahren und anordnung zur projektierung und/oder programmierung eines projektes einer industriellen automatisierungsanordnung
US8626827B1 (en) * 2011-03-25 2014-01-07 Amazon Technologies, Inc. Programmatically simulating system conditions
EP2527936B1 (de) * 2011-05-26 2016-05-18 Siemens Aktiengesellschaft Verfahren zum Zugriff auf ein Automatisierungssystem sowie nach dem Verfahren arbeitendes System
EP2538289A1 (de) * 2011-06-22 2012-12-26 Siemens Aktiengesellschaft Verschlüsselung eines Automatisierungsprogramms
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
US9551986B2 (en) 2011-12-06 2017-01-24 Siemens Aktiengesellschaft SCADA system real-time data and event management on a PC card
WO2013103381A1 (en) 2012-01-06 2013-07-11 Ge Intelligent Platforms, Inc. Method and apparatus for network-based testing
US9396504B2 (en) * 2012-04-18 2016-07-19 Abb Research Ltd. Centralized control center for electrical network computational services
US20140056427A1 (en) * 2012-08-21 2014-02-27 Ge Intelligent Platforms, Inc. Apparatus and method for providing secure communications in a network
US20140163739A1 (en) * 2012-12-07 2014-06-12 Flow Data, Inc. Dynamically-configurable local operator interface for upstream oil and gas wellhead control and monitoring
CN103914018A (zh) * 2012-12-31 2014-07-09 施耐德电器工业公司 可编程控制器的编程辅助系统及方法
US9130818B2 (en) 2013-03-11 2015-09-08 Anue Systems, Inc. Unified systems of network tool optimizers and related methods
US9600792B2 (en) * 2013-04-11 2017-03-21 Siemens Aktiengesellschaft Method and apparatus for generating an engineering workflow
DK3011444T3 (en) 2013-06-18 2018-04-16 Ciambella Ltd METHOD AND APPARATUS FOR CODE VIRTUALIZATION AND GENERATION OF REMOTE PROCESS CALLS
DE102013108478A1 (de) * 2013-08-06 2015-02-12 Endress+Hauser Process Solutions Ag Verfahren zur Erweiterung einer eingebetteten Softwarekomponente eines Feldgerätes
DE102013218971A1 (de) * 2013-09-20 2015-03-26 Vega Grieshaber Kg Kundenspezifische Konfiguration und Parametrierung von Füllstandmessgeräten beim Bestellvorgang
WO2015132971A1 (ja) * 2014-03-07 2015-09-11 三菱電機株式会社 プログラミング装置
EP3051369A1 (de) * 2015-01-27 2016-08-03 Siemens Aktiengesellschaft Verfahren zum Zugriff auf ein Automatisierungssystem mit einem Webserver mittels eines Webclients eines Geräts
US10606562B2 (en) * 2015-06-04 2020-03-31 Siemens Aktiengesellschaft Method and system for generating PLC code with a connectivity model
CN108604186B (zh) 2015-12-21 2021-11-16 西安姆贝拉有限公司 用于创建和管理基于控制器的远程解决方案的方法和装置
US11087249B2 (en) 2016-05-24 2021-08-10 Ciambella Ltd. Method and apparatus for triggering execution of a workflow over a network
CN107728561A (zh) * 2016-08-11 2018-02-23 苏州汉扬精密电子有限公司 Plc编程系统及方法
US10798780B2 (en) 2016-08-22 2020-10-06 Ciambella Ltd. Method and apparatus for creating and managing controller based remote solutions
DE102016122324A1 (de) * 2016-11-21 2018-05-24 Weidmüller Interface GmbH & Co. KG Steuerung für eine industrielle Automatisierungsanlage und Verfahren zum Programmieren und Betreiben einer derartigen Steuerung
WO2018170079A1 (en) 2017-03-14 2018-09-20 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
US11762364B2 (en) * 2017-08-18 2023-09-19 Valentin Lvovich KIM Automated programming of a programmable-logic controller (PLC) of a microcontroller using an expert system
CN108132651A (zh) * 2017-09-09 2018-06-08 浙江亚太机电股份有限公司 分布式数控机床联网管理系统
EP3717976A4 (en) * 2017-12-01 2021-08-04 Ciambella Ltd. METHOD AND DEVICE FOR GENERATING AND MANAGING INTELLIGENT SOLUTIONS FOR MEMORY PROGRAMMABLE CONTROLS (PLC)
EP3537239A1 (de) * 2018-03-06 2019-09-11 Siemens Aktiengesellschaft Verfahren zum betreiben einer werkzeugmaschine mittels anpassung eines precompilierten datenmodells
WO2020041820A1 (en) * 2018-08-28 2020-03-05 Peng Choo Improved control and development web platform
EP3734379A1 (en) * 2019-04-30 2020-11-04 Siemens Aktiengesellschaft Method and system for generating control programs in a cloud computing environment
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US10942710B1 (en) 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment
US11733687B2 (en) 2019-09-26 2023-08-22 Rockwell Automation Technologies, Inc. Collaboration tools
US11042362B2 (en) 2019-09-26 2021-06-22 Rockwell Automation Technologies, Inc. Industrial programming development with a trained analytic model
US11308447B2 (en) 2020-04-02 2022-04-19 Rockwell Automation Technologies, Inc. Cloud-based collaborative industrial automation design environment
JP7115506B2 (ja) 2020-04-27 2022-08-09 横河電機株式会社 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
JP7115507B2 (ja) 2020-04-27 2022-08-09 横河電機株式会社 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
JP2021174314A (ja) 2020-04-27 2021-11-01 横河電機株式会社 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
CN111522291A (zh) * 2020-04-28 2020-08-11 同方泰德国际科技(北京)有限公司 一种可编程控制方法及可编程控制器
WO2021249795A1 (en) * 2020-06-12 2021-12-16 Tetra Laval Holdings & Finance S.A. A method and an apparatus for enabling access to process data of a food production plant

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897642A (en) * 1997-07-14 1999-04-27 Microsoft Corporation Method and system for integrating an object-based application with a version control system
CN1226709A (zh) * 1997-11-17 1999-08-25 国际商业机器公司 与硬件设备进行远程交互的方法和装置
US6151609A (en) * 1996-08-16 2000-11-21 Electronic Data Systems Corporation Remote editor system
CN1288539A (zh) * 1998-09-17 2001-03-21 皇家菲利浦电子有限公司 基于因特网的更新可编程控制设备的服务
US6243706B1 (en) * 1998-07-24 2001-06-05 Avid Technology, Inc. System and method for managing the creation and production of computer generated works
US6263487B1 (en) * 1996-01-17 2001-07-17 Siemens Ag Programmable controller
WO2001069335A2 (en) * 2000-03-13 2001-09-20 Schneider Automation Inc. A web browser

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2612309B1 (fr) * 1987-03-11 1989-07-07 Spie Trindel Procede pour valider le fonctionnement d'un automatisme et dispositif pour sa mise en oeuvre
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5835601A (en) * 1994-03-15 1998-11-10 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US5508909A (en) * 1994-04-26 1996-04-16 Patriot Sensors And Controls Method and systems for use with an industrial controller
US5659705A (en) * 1994-12-29 1997-08-19 Siemens Energy & Automation, Inc. Serial access memory cartridge for programmable logic controller
US6289396B1 (en) * 1995-11-21 2001-09-11 Diamond Multimedia Systems, Inc. Dynamic programmable mode switching device driver architecture
US6067575A (en) * 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US5907705A (en) * 1996-10-31 1999-05-25 Sun Microsystems, Inc. Computer implemented request to integrate (RTI) system for managing change control in software release stream
US6802053B1 (en) 1997-08-18 2004-10-05 National Instruments Corporation Graphical programming system with distributed block diagram execution and front panel display
US20020091784A1 (en) * 1997-09-10 2002-07-11 Baker Richard A. Web interface to a device and an electrical network control system
US5909689A (en) 1997-09-18 1999-06-01 Sony Corporation Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created
US6243857B1 (en) * 1998-02-17 2001-06-05 Nemasoft, Inc. Windows-based flowcharting and code generation system
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6201996B1 (en) * 1998-05-29 2001-03-13 Control Technology Corporationa Object-oriented programmable industrial controller with distributed interface architecture
US6369836B1 (en) * 1998-12-23 2002-04-09 Triconex Cause effect diagram program
US6853867B1 (en) * 1998-12-30 2005-02-08 Schneider Automation Inc. Interface to a programmable logic controller
LU90344B1 (fr) * 1999-02-03 2000-08-04 S G F P S A Syst-me de gestion pour un parc de machines-outils - commande num-rique
EP1196838B1 (en) * 1999-03-30 2006-05-31 Siemens Energy & Automation, Inc. Programmable logic controller method, system and apparatus
US6944584B1 (en) * 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
FI111760B (fi) 1999-04-16 2003-09-15 Metso Automation Oy Kenttälaitteen langaton ohjaus teollisuusprosessissa
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
AU6615600A (en) * 1999-07-29 2001-02-19 Foxboro Company, The Methods and apparatus for object-based process control
AT501741B1 (de) * 1999-08-16 2006-11-15 Fronius Int Gmbh Schweissgerät mit kommunikationsschnittstelle und verfahren zum betreiben des schweissgerätes
US7159183B1 (en) * 1999-08-19 2007-01-02 National Instruments Corporation System and method for programmatically creating a graphical program
US6850973B1 (en) * 1999-09-29 2005-02-01 Fisher-Rosemount Systems, Inc. Downloadable code in a distributed process control system
US6518980B1 (en) 1999-11-19 2003-02-11 Fanuc Robotics North America, Inc. Method and system for allowing a programmable controller to communicate with a remote computer
US6560513B2 (en) * 1999-11-19 2003-05-06 Fanuc Robotics North America Robotic system with teach pendant
EP1117034B1 (en) * 2000-01-12 2003-05-14 Fileants AG Method and system for building up an online service platform and computer program product
JP2003529147A (ja) * 2000-03-24 2003-09-30 シーメンス エナジー アンド オートメーション インコーポレイテッド 工業用オートメーションシステムの図形プログラミング言語の記憶及び送信
US6778528B1 (en) * 2000-05-17 2004-08-17 Cisco Technology, Inc. Dial-out with dynamic IP address assignment
US6587739B1 (en) 2000-09-29 2003-07-01 Sunbeam Products, Inc. Appliance communication and control system and appliances for use in same
US6965802B2 (en) * 2000-12-06 2005-11-15 Ge Fanuc Automation North America, Inc. Method for using portable wireless devices to monitor industrial controllers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263487B1 (en) * 1996-01-17 2001-07-17 Siemens Ag Programmable controller
US6151609A (en) * 1996-08-16 2000-11-21 Electronic Data Systems Corporation Remote editor system
US5897642A (en) * 1997-07-14 1999-04-27 Microsoft Corporation Method and system for integrating an object-based application with a version control system
CN1226709A (zh) * 1997-11-17 1999-08-25 国际商业机器公司 与硬件设备进行远程交互的方法和装置
US6243706B1 (en) * 1998-07-24 2001-06-05 Avid Technology, Inc. System and method for managing the creation and production of computer generated works
CN1288539A (zh) * 1998-09-17 2001-03-21 皇家菲利浦电子有限公司 基于因特网的更新可编程控制设备的服务
WO2001069335A2 (en) * 2000-03-13 2001-09-20 Schneider Automation Inc. A web browser

Also Published As

Publication number Publication date
EP1296232B1 (en) 2008-12-03
DE60230098D1 (de) 2009-01-15
US20050132064A1 (en) 2005-06-16
US8086664B2 (en) 2011-12-27
US20030061274A1 (en) 2003-03-27
US8086666B2 (en) 2011-12-27
ATE416419T1 (de) 2008-12-15
ES2315337T3 (es) 2009-04-01
EP1296232A3 (en) 2003-08-06
CN1409233A (zh) 2003-04-09
EP1296232A2 (en) 2003-03-26

Similar Documents

Publication Publication Date Title
CN100380359C (zh) 用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置
CN101388101B (zh) 提供工程工具服务的方法
CN1311335C (zh) 用于合作开发可编程控制器的程序码的方法和系统
US11829121B2 (en) Virtual design environment
KR100563291B1 (ko) 컴퓨터 네트워크를 사용하는 이종 전기기계 시스템의객체지향 제어를 위한 시스템 및 방법
US20090089234A1 (en) Automated code generation for simulators
US11625683B2 (en) System and method of industrial automation multi-developer control code change commits
CN115623014A (zh) 数字工程安全远程访问
US11880680B2 (en) Industrial automation distributed project control with milestone rollback
CN115617447A (zh) 数字工程虚拟机基础设施
US20050188351A1 (en) Device and method for automatically generating automation software
US11900082B2 (en) Industrial automation multi-developer control code synchronization
CN115877797A (zh) 工业自动化项目库交叉共享
Thomas et al. A process definition environment for component based manufacturing machine control systems developed under the foresight vehicle programme
Mendonca et al. Development of the novel methodology to retrofit of the legacy system in context of Industry 4.0

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHENZHEN FANGDA AUTOMATION SYSTEM CO., LTD.

Free format text: FORMER OWNER: FANGDA GROUP CO., LTD.

Effective date: 20101102

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: American Georgia

Patentee after: SIEMENS INDUSTRY, Inc.

Address before: Georgia, USA

Patentee before: SIEMENS ENERGY & AUTOMATION, Inc.

TR01 Transfer of patent right

Effective date of registration: 20191206

Address after: Munich, Germany

Patentee after: SIEMENS AG

Address before: American Georgia

Patentee before: SIEMENS INDUSTRY, Inc.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20080409

CX01 Expiry of patent term