CN105283846A - 监视控制装置 - Google Patents
监视控制装置 Download PDFInfo
- Publication number
- CN105283846A CN105283846A CN201380076726.7A CN201380076726A CN105283846A CN 105283846 A CN105283846 A CN 105283846A CN 201380076726 A CN201380076726 A CN 201380076726A CN 105283846 A CN105283846 A CN 105283846A
- Authority
- CN
- China
- Prior art keywords
- action
- plug
- variable
- unit
- monitor
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Debugging And Monitoring (AREA)
Abstract
监视控制装置具有:插件管理部,其动态地对由多个动作构成的插件进行加载,调用在所述插件的程序中声明的、预先定义的通用功能,由此对在所述插件中储存的动作的执行进行控制,对监视控制系统的功能进行扩展;以及动作参数管理部,其将存储有在所述插件中包含的独有动作所需的参数即动作参数的数组,以与在作业文件中记述的动作的数量进行保存,通过对数组的标识符和要素索引进行指定,由此,对所述动作参数的值进行读取或写入。
Description
技术领域
本发明涉及一种监视控制装置。
背景技术
近年来,插件程序得到了实用化,该插件程序是指,将存在于互联网中的软件下载到PC(PersonalComputer),并在应用程序中使用。对于这种插件程序,存在Adobe公司的FlashPlayer、Oracle的Java(注册商标)Plug-In等,被动态地嵌入被称为浏览器的应用程序中。这里,对于浏览器,已知Microsoft公司的InternetExplorer、MozillaFoundation的Firefox、Apple公司的Safari、Google公司的Chrome等。关于其他应用程序,具有在视频编辑软件例如“ペガシス”公司的视频文件转换软件即TMPGEnc中,针对MPEG、AVI、FLV各视频格式而准备的用于进行视频转换的插件软件等。
此外,本说明书中,“附加组件”(add-on)这一词语定义为,表示物体的功用,指代的是不具有实体的概念性的“功能”,“插件”这一词语定义为,指代的是具有嵌入了功能的实体的“软件”。另外,“主机”(host)是表示供插件嵌入的主体侧的软件。在前述的例子中,浏览器为主机,FlashPlayer为插件。
另外,在嵌入式领域中,还具有能够经由互联网将复合机的软件动态地进行扩展的技术。
在专利文献1中,记载了如下内容,即,在经由LAN与打印机连接的主机计算机中,获取存在于在检索对象信息列表UI控制模块内的检索对象信息列表中记载的检索对象范围中的功能信息,并写入至功能信息列表,将写入至功能信息列表中的功能信息的一部分显示于打印机功能设定画面的显示栏中,接受与所显示的功能信息相对应的功能的追加、更新以及删除的指示,并根据所接受的指示而执行对功能的追加、更新以及删除。由此,根据专利文献1,能够利用与驱动器主体模块连接的插件模块,进行功能的追加、更新以及删除。
另一方面,插件的安全性成为社会问题,在能够动态地追加功能的相反面,在追加了恶意的功能的情况下,有可能对系统整体造成风险。因此,为了提高安全性,已知使插件在与成为主机的程序不同的进程空间进行执行的方法。
在专利文献2中记载有,在计算机装置中,如果确信插件可靠,则应用程序将信息传递给插件,使插件作为与母应用不同的进程而执行。由此,根据专利文献2,由于插件在本身的进程空间中执行,因此,作出不恰当行为的插件不会给母应用造成损伤。
专利文献1:日本专利第4371693号公报
专利文献2:日本专利第4757873号公报
发明内容
在专利文献1所记载的技术中,完全没有针对怎样提高插件的安全性的记载。
在专利文献2所记载的技术中,利用与主机不同的进程空间执行插件,因此由于在主机与插件之间发生进程间通信而可能使执行速度变慢。另外,有可能为了新生成进程而需要多余的存储器。
作为安全性特别重要的领域之一,存在FA(FactoryAutomation)、PA(ProcessAutomation)之类的监视控制领域。在这种领域中,在工厂、车间之类的设施中使用控制装置进行监视控制。监视控制装置从车间内的传感器收集数据,并使用监视控制装置内的运算装置执行控制程序(控制算法),对驱动装置发送控制信号,或者对显示器进行操作。近年来,还存在经由网络与MES(ManufacturingExecutionSystem)、ERP(EnterpriseResourcePlanning)之类的外部系统进行通信的技术,能够与监视控制装置连接的仪器、通信方式也增加。这里,作为监视控制装置,存在PLC(ProgrammableLogicController)、NC(NumericalController)、可编程显示器等。
由于在车间中要求实时性以及节省存储器,因此难以应用专利文献2这种方式。对于这些问题,还存在下述方法,即,以Microsoft公司的OS(OperationSystem)即Windows(注册商标)中使用的动态链接库、UNIX(注册商标)的共享库之类的形式,利用与主机相同的进程空间安装插件,并对功能进行扩展。还可以想到如果使用该方法,则存储器的消耗减小,也不需要进程间通信,能够高速地进行处理。
在这些库中,相对于插件来说成为输入的数据是作为插件的函数的自变量而由主机提供的,或者是由插件使用主机侧的函数而获取的。另外,输出数据即运算结果以下述方式实现,即,同样通过自变量进行传递,或者通过函数的返回值进行传递,或由插件调用主机侧的函数,利用此时的自变量进行传递。在这种情况下,如果为了传递数据而使用的函数的规格即自变量的数据类型、排列发生变化,则需要重新对插件进行编译。其结果,难以高速地执行插件。
另外,在这些库中,因为直接调用插件的函数或主机的函数而对处于相同进程空间的数据进行传递,因此有可能由于非法的存储器操作或非法的插件而妨碍母进程的执行。即,容易发生安全性方面的问题,因此难以安全地执行插件。
本发明就是鉴于上述情况而提出的,目的在于得到能够高速且安全地执行插件的监视控制装置。
为了解决上述课题,实现目的,本发明的1个技术方案所涉及的监视控制装置根据主机对仪器进行监视控制,该监视控制装置的特征在于,具有:插件管理部,其对在安装于所述主机的插件中包含的多个动作之中的作为执行对象的动作进行识别;以及动作参数管理部,其生成储存有与在所述插件中包含的所述多个动作相对应的多个动作参数的多个数组,在由所述主机以及所述插件所共享的进程空间中,配置所述生成的多个数组,访问所述生成的多个数组之中与被所述插件管理部识别出的动作相对应的数组,对与所述指定的动作相对应的动作参数进行操作。
发明的效果
根据本发明,插件和主机能够访问相同的进程空间(共享的进程空间),能够在插件以及主机之间设置以可彼此识别的方式对参数进行储存的专用的区域(多个数组),因此能够在不重新对主机侧进行编译的情况下执行插件,并且能够防止插件直接访问主机。其结果,能够在持续执行主机的同时高速且安全地执行用于对主机的功能进行扩展的插件。
附图说明
图1是表示车间的结构的图,在该车间中应用了实施方式1所涉及的监视控制装置。
图2是表示实施方式1中的监视控制装置的功能结构的图。
图3是表示实施方式1中的动作参数的储存例的图。
图4是表示向实施方式1中的动作参数中储存当前值的例子的图。
图5是表示向实施方式1中的动作参数中储存运算结果的例子的图。
图6是表示实施方式1中的作业文件的例子的图。
图7是表示实施方式1中的动作的例子的图。
图8是表示实施方式1中的动作的登记流程的流程图。
图9是表示实施方式1中的动作参数的生成流程的流程图。
图10是表示实施方式1中的动作执行流程的流程图。
图11是表示实施方式2所涉及的监视控制装置的功能结构的图。
图12是表示实施方式2中的变量定义文件的例子的图。
图13是表示实施方式2中的动作参数和变量表的例子的图。
图14是表示向实施方式2中的动作参数中储存当前值的例子的图。
图15是表示向实施方式2中的动作参数储存运算值的例子的图。
图16是表示实施方式2中的变量管理部的初始化流程的流程图。
图17是表示实施方式2中的作业执行流程的流程图。
图18是表示实施方式3所涉及的监视控制装置的功能结构的图。
图19是表示实施方式3中的异常监视流程的流程图。
具体实施方式
下面,基于附图对本发明所涉及的监视控制装置的实施方式进行详细说明。此外,本发明并不限定于本实施方式。
实施方式1.
利用图1对实施方式1所涉及的监视控制装置100进行说明。图1是表示车间PL的结构例的框图,在该车间PL中应用了实施方式1所涉及的监视控制装置100。
在车间(工厂等)PL中,监视控制装置100根据可编程的主机130,对车间PL中的设备(仪器)30的工艺数据(测量值)进行监视,或者根据主机130中包含的控制程序(控制算法)进行工艺数据的运算并生成控制数据(运算值),并经由网络60发送至外部系统20。监视控制装置100例如是PLC(ProgrammableLogicController)、NC(NumericalController)、可编程显示器等。
监视控制装置100如后述那样是能够在执行主机130的同时进行主机130的功能扩展的嵌入式监视控制装置。监视控制装置100通过执行主机130而在其内部实现监视控制系统(包含多个功能块的结构)100a,因此为了与监视控制装置100内的监视控制系统100a进行区分,将监视控制装置100外部的系统称为外部系统20。外部系统20例如包含经由网络60而与监视控制装置100连接的服务器或者个人计算机(personalcomputer)等信息处理装置。
监视控制装置100利用在设备(仪器)30中包含的传感器32,获取对车间PL的工艺值进行测量而得到的测量值,并储存至监视控制装置100的内部存储器(设备存储器150)。根据该测量值,监视控制装置100根据主机130中包含的使用PID(ProportionalIntegralDerivative)等控制算法而实现的控制程序,计算控制值(运算值)并输出至驱动装置31,对从传感器32获取的测量值进行加工,并作为当前值而输出至灯、仪表等显示器33。
另外,监视控制装置100通过遵循Ethernet(注册商标)/USB/RS232C等规格的通用线缆50而与设定用个人计算机40连接,能够经由互联网、内部网等网络60与数据库、MES/ERP等外部系统20连接、协作。此外,在图1中,为了简化图示,示出了1个设备30,但监视控制装置100也可以对多个设备30进行监视控制。
设定用个人计算机40能够将作业文件110、插件120转送至监视控制装置100,该作业文件110中记述了与外部系统20的协作处理流程(与外部系统20进行协作的逻辑),该插件120用于对主机130的功能进行扩展。设定用个人计算机40例如包含个人计算机(personalcomputer)等信息处理终端。并且,进行如下处理,即,在由设定用个人计算机40所设定的条件时,对监视控制装置100内的存储器即设备存储器150的值进行加工并向外部系统20发送,或者,对从外部系统20获取的数据进行加工并写入至监视控制装置100的设备存储器150。
插件120对实现监视控制装置100的主功能的程序即主机130进行扩展。插件120能够在持续进行主机130的执行的同时追加至主机130。因此,在追加新的外部系统20或者追加TCP/IP、SOAP(SimpleObjectAccessProtocol)之类的新的通信协议等对协作方法进行了变更的情况下,通过将插件120从设定用个人计算机40下载至监视控制装置100,能够应对该变更。对应于此,监视控制装置100能够在持续进行通过主机130的执行而实现的监视控制动作的同时,对应于上述变更而对主机130的功能进行扩展。
图2中示出监视控制装置100内的功能结构(监视控制系统100a的结构)。图2中示出的各功能结构可以对应于主机130的执行(例如,编译时等)而集中地在监视控制装置100内生成,也可以对应于主机130的执行的阶段而依次地生成、终结。图2中,由虚线示出的部分是主机130。插件120功能性地安装于主机130。主机130访问设备存储器150,并将值写入至设备存储器150,或者从设备存储器150对值进行读取。
主机130中,运算部133对经由通信部131从设定用个人计算机40(参照图1)下载的作业文件110(参照图6)内的起动条件即触发是否成立进行监视。作业文件110包含用于对应该在监视控制装置100中执行的插件120进行指定的信息。运算部133在判断为触发成立的情况下,使作业执行单元133A执行作业文件110内的协作处理(作业)。经由通信部131而下载的作业文件110通过通信部131而存储至作业数据存储部134。协作处理是使用动作120a(参照图7)进行记述的。动作120a是在插件120中安装的功能,包含于插件120中。
即,插件120包含多个动作120a,作业文件110对多个动作120a中应当执行的动作120a进行指定。运算部133对应于所指定的动作120a,进行运算处理,将运算结果储存于设备存储器150。
设备存储器150是监视控制装置100内的内部存储器,对测量值进行保存,对利用动作120a运算得到的运算值进行保存。插件管理部132进行所安装(设置)的插件120的登记/删除等的管理。
例如,插件管理部132参照在设备存储器150中储存的运算结果,对在安装于主机130的插件120中包含的多个动作120a之中的作为执行对象的动作进行识别。例如,插件管理部132通过调用在插件120的程序中声明的、对作为执行对象的动作进行指定的标识符,从而控制在插件120中储存的动作120a的执行,并对主机130的功能进行扩展。
通信部131与外部系统20、设备30对运算值、测量值、控制值进行通信。动作120a记述有与外部系统20进行协作的数据的标识符(例如,变量名)、运算内容(参照图7)。
动作参数管理部135生成向插件120传递的、由数据的属性和当前值构成的要素所具有的参数,进行当前值的更新,进行将利用动作120a运算得到的值写入至动作参数135a的处理。
例如,动作参数管理部135生成多个数组。多个数组储存有与插件120所包含的多个动作120a对应的多个动作参数135a。例如,各数组储存有1个动作参数135a(参照图3)。
例如,在图3中,示出了作为1个动作参数135a,储存有执行实施二元运算的动作所需的多个参数(多个值)的例子。该二元运算中,需要在确定出对实施运算的值进行参照的位置时所需的2个参数、用于对储存运算结果的位置进行确定的1个参数,共计3个参数。在图3中,示出在要素中具有要素编号为“001”、“002”、“003”这3个参数的数组。要素编号“001”的要素135a4是将对设备30的存储器进行确定的多个信息组合而成的,排列并储存有所参照的数据的种类、用于进行识别的名称、设备(例如,定序器设备)的种类、偏移地址。因此,此处以WORD(2字节、无符号的整数)型对设备(例如,定序器设备)中的数据寄存器“D”的偏移地址1000处的值进行读取。
对图3的行与列的关系进行说明。图3的要素编号“001”、“002”、“003”的各列(例如,要素编号“001”的列135a4)示出数组的要素。与其相对,变量种类、名称等各行(例如,名称的行135a5)表示要素的属性。因此,例如“D1000”表示动作参数135a的第“001”个要素的值所具有的属性“名称”是“D1000”。
动作参数管理部135在由主机130以及插件120所共享的进程空间(即,分配了存储器区域的地址空间)中,配置其所生成的多个数组(例如,分配存储器地址)。例如,动作参数管理部135调用在插件120的程序即动作120a的记述(参照图7)中所声明的通用功能,由此在由主机130以及插件120所共享的进程空间中对多个数组中的至少1个数组进行配置。即,通用功能(例如,图7的“QueryActionID()”)与由主机130以及插件120所共享的进程空间相对应。
并且,动作参数管理部135访问多个数组之中与被插件管理部132识别出的动作120a相对应的数组,对与所指定的动作120a相对应的动作参数进行操作。例如,动作参数管理部135访问多个数组之中由被插件管理部132调用的标识符指定的数组,并针对所访问的数组而对要素索引进行指定,从而对动作参数中包含的值进行读取或写入。例如,通过赋予要素索引,从而数组将作为监视对象的设备30的属性(例如,设备30的标识符、设备30的类型等)、以及设备30的当前值(例如,表示设备30的当前工作状态或者控制状态的值)作为其要素而返回。
在监视控制系统100a中处理的变量存在多种,并分别具有不同的属性。对于变量的种类,能够举出全局变量、局部变量、设备变量、数据库变量等。全局变量是在1个监视控制系统100a中(即,主机130中)共享的变量,具有站点编号、网络编号、变量名、数据类型等属性。局部变量是监视控制系统100a之中的1个程序内所共享的变量,属性具有程序名、变量名、数据类型,其中,该监视控制系统100a包含在主机130中包含的多个程序(例如,控制程序以及其他程序)。设备变量用于对监视控制装置100的物理存储器进行参照,具有寄存器、高速缓存器(cache)、随机访问存储器、顺序访问存储器之类的存储器种类、表示位置的地址、变量名等属性。数据库变量是与数据库的字段相关联的变量,可以想到其具有表名、字段名、变量名、数据类型、提取条件等属性。这些变量因系统的不同而不同,但变量具有属性这一点是共通的。图12表示将这种变量定义在文件中的例子。在对主机130进行编程时,通过相对于变量对这些属性进行定义(声明),能够对变量的参照范围进行控制。
在图12中示出的变量定义文件134a中,定义有2个设备变量D1000、D2000和数据库变量TB1.FLD1。变量D1000表示的是,变量类型为设备变量,数据类型为WORD(不带符号2字节),偏移地址为1000,设备的种类为数据。变量D2000表示的是,变量类型为设备变量,数据类型为WORD(不带符号2字节),偏移地址为2000,设备的种类为数据。变量TBL.FLD1表示的是,变量类型为数据库变量,数据类型为DWORD(不带符号4字节),数据库名为“Test”,与数据库连接时所需的IP地址为192.168.10.1,表名为“Table1”,字段名为“Field1”。运算处理以下述形式将这样的变量定义预先保存在监视控制装置100的内部(例如,作业数据存储部134),即,在初始化时读入变量定义文件134a,或者从设定用个人计算机40输入至监视控制装置100。
动作120a用于对这种变量(用于对设备30进行监视控制的变量)进行操作,操作所需的数据是动作参数135a。作业文件110对由动作120a处理哪个变量进行定义(参照图6)。例如,作业文件110利用标识符(例如,图6的“42”)对在插件120中包含的多个动作120a中应当执行的动作120a进行指定。动作参数管理部135利用通用功能(例如,图7的“QueryActionID()”)针对在插件120中包含的多个动作120a,对动作120a标识符与哪个动作参数135a相对应进行管理,动作参数管理部135能够对应于所赋予的动作120a标识符而对作为处理对象的动作参数135a进行确定。
例如,以用于取2个变量的平均值的动作120a为例,利用图3对这些概念进行说明。在作业文件110(参照图6)中存在设备变量D1000以及D2000,取2个变量的值的平均值,并写入至数据库变量TBL1.FLD1。在该动作120a中,需要D1000、D2000、TBL1.FLD1这3个变量,在动作参数135a中储存的要素变为3个。图3是表示动作参数135a的储存例的图。动作参数135a能够分为下述3个部分:表示储存位置的索引(要素索引)135a1;对变量的属性(例如,设备30的属性)进行储存的部分135a2;以及对当前值(例如,设备30的当前值)进行储存的部分135a3。属性分类为对变量而言通用的属性(例如,变量名等)和独有属性(例如,设备种类等)。
即,动作参数135a是作为下述数组而实现的,即,如果赋予索引135a1,则例如返回变量的属性和当前值。例如,在初始状态中赋予了索引135a1的情况下,数组返回(表示空白的)“null”等作为当前值。动作参数管理部135以在作业文件110中记述的动作120a的数量,对储存有动作参数135a的数组进行保存。例如,储存有动作参数135a的数组具有图3中示出的索引135a1,作为用于对该数组要素进行指定的要素索引。另外,储存有动作参数135a的数组的标识符与动作120a的标识符相关联。因此,动作参数管理部135根据作为处理对象的动作120a的标识符,对数组的标识符和要素索引进行指定,从而对动作参数135a的值进行读取或写入。
图4是利用监视控制装置100的功能而将当前值135a31、135a32储存至动作参数135a的例子。为了获得当前值135a31、135a32,通常准备有访问API(ApplicatioInterface),因此,使用该访问API(例如,经由主机130以及插件120所共享的进程空间(或者通用功能))进行获取。即,监视控制装置100利用访问API,将从传感器32获取的测量值以及与测量值相对应的属性(以彼此相关联的状态)变换为动作参数135a用的属性以及当前值,将变换得到的当前值设为当前值135a31、135a32。
在图4中,基于变换得到的属性,从监视控制装置100获取“4096(0x1000)”作为变量“001”(变量“D0001”)的当前值135a31,并进行储存。下一个变量“002”(变量“D0002”)也同样,这里,作为当前值135a32而获取“57344(0xE000)”,并进行储存。如果将该2个值相加并进行平均,则成为“30720(0x7800)”。因此,由于如图5所示,变量“003”(变量“TBL1.FLD1”)与其他变量不同,数据类型为DWORD(不带符号4字节),所以作为运算值135a33而储存“0x00007800”。
图6是实施方式1中的作业文件110的例子。这里,以XML(eXtendedMarkupLanguage)格式对作业文件110进行记述,但也可以使用除此以外的数据格式(例如,SGML(StandardGeneralizedMarkupLanguage)或者HTML(HyperTextMarkupLanguage)等标记语言、BASIC或C语言等编程语言)。
在图6中示出的作业文件110中,行001~行004对用于将作业起动的条件即触发进行声明。行005~行018对所执行的作业进行声明。行002是在触发中包含的条件式。这里,示出在“D1000>100”即变量D1000大于100的情况下,对作业进行起动。行003示出所起动的作业的标识符。这里,表示对作业标识符为“001”的作业进行起动。行007表示在作业中包含的第1个动作120a的标识符为“42”。动作120a的标识符是在登记了插件120时,在动作120a中设定的编号。在该例子中,“42”是动作120a,该动作120a根据在第3个自变量中指定的运算符,对第1个变量和第2个变量进行二元运算(取平均值)并将运算结果设定于第4个变量。行008~行011是向动作120a传递的参数。这里,指定变量“D1000”、“D2000”、运算符“+”、变量“TBL.FLD1”。这样,在作业文件110中记述有向动作120a传递的数据。
图7是在插件120中包含的动作120a的记述例。这里,示出使用C语言而实现的动作120a,该动作120a根据动作参数135a的在第3个指定的运算符,对第1个和第2个数据进行二元运算。但是,动作120a的实现并不特别限定于C语言,也能够通过其他编程语言(BASIC等)实现。
行102示出所执行的函数名“doExecute”和自变量“HANDLEparameter”。函数名设为由监视控制系统100a决定的名称。这里,自变量指定的是HANDLE型的名称为parameter的变量“HANDLEparameter”。该变量是动作参数135a的标识符,针对使用该动作参数135a的动作120a生成一个动作参数135a,该动作参数135a在监视控制系统100a内具有唯一的值。从行104至行105对在动作120a中使用的变量进行声明。在行107中,将动作参数135a的第1个值(整数型的值)储存于变量“arg1”。在行108中,同样地将第2个值(整数型的值)储存于变量“arg2”。在行109中,将第3个值(字符型的值)储存于变量“op”。变量“op”表示运算符。利用从行110至行119,根据运算符的种类对变量“arg1”、“arg2”进行运算,并将其结果(整数型的值)储存于变量“result”。在行120中,将变量“result”储存至动作参数135a的第4个要素。
下面,利用图8的流程图对插件管理部132中的动作的登记处理的流程进行说明。
在步骤ST002中,将配置于所指定的位置的插件120加载至存储器。对于所指定的位置,可以是文件夹、目录等文件系统的任意位置。自动地读入该位置处的能够加载的模块。
不过,也可以如步骤ST001那样,进行如下等的控制,即,将加载哪个模块预先记述于设定文件等,并进行选择。
在步骤ST003中,向插件120对动作120a的标识符进行查询。标识符的查询也可以利用规定的函数来实现。例如,如图7所示,在插件120的程序中共通地预先对名称为“QueryActionID()”的函数(通用功能)进行定义,通过在该函数中返回对动作进行识别的ID,例如在之前的图7的例子中,在该函数中返回“42”,由此能够执行图6的作业。
在ST004中,将动作120a的标识符和插件120的地址成对地登记于插件管理部132(参照图2)。这里,插件120的地址是指在执行在插件120中定义的动作120a时所使用的函数指针等。根据图7的例子,“doExecute”是与标识符“42”一起登记的。
在步骤ST005中,判断是否针对在作业中使用的所有动作120a进行了步骤ST002~步骤ST004的处理。在未针对所有的动作120a全部进行上述处理的(ST005中为“No”的)情况下,使处理返回至步骤ST002,在已针对所有的动作120a进行了上述处理的(ST005中为“Yes”的)情况下,结束处理。
下面,关于实施方式1中的动作参数135a的生成处理的流程,根据图9中示出的流程图进行说明。
在步骤ST101中,读入作业文件110。这里,设为读入图6的作业文件110。
在步骤ST102中,生成动作参数135a,并进行初始化。
在步骤ST103中,从作业文件110将在作业中使用的变量的属性储存至动作参数,在图6的例子中是将“D1000”、“D2000”、“TB1.FLD1”的属性储存至动作参数。
在步骤ST105中,判断是否针对在作业中使用的所有动作120a进行了步骤ST102、步骤ST103的处理。在未针对所有的动作120a全部进行上述处理的(ST105中为“No”的)情况下,使处理返回至步骤ST103,在已针对所有的动作120a进行上述处理的情况下(ST105中为“Yes”的)情况下,结束处理。
然后,关于实施方式1中的作业执行流程,根据图10中示出的流程图进行说明。这里,针对执行图6的标识符为“001”的作业的例子进行说明。另外,这里示出的是,作为动作120a而执行标识符为“42”的动作120a的例子。
在步骤ST201中,从作业数据管理部134获取所执行的动作120a的标识符。这里,获取“42”。
在步骤ST202中,从插件管理部132,获取从所获取的动作120a的标识符相应的插件120。即,执行与动作120a的标识符相对应的插件120。这里,设为获取包含图7的动作120a的插件120。因此,变为获取动作120a的函数指针“doExecute”。
在步骤ST203中,从动作参数管理部135获取与插件120的动作120a相对应的动作参数135a。
在步骤ST204中,运算部133参照动作参数135a的属性,利用主机130的功能(以及通用功能)获取变量的当前值,并代入至动作参数135a的要素。这里,主机130的功能是通过针对每个机种而准备的访问API等来实现的。
在步骤ST205中,判断是否已针对相对作为于处理对象的动作120a的所有动作参数135a进行了步骤ST204的处理。在未针对所有的动作参数135a全部进行上述处理的(ST205中为“No”的)情况下,使处理返回至步骤ST204,在已针对所有的动作参数135a进行上述处理的(ST205中为“Yes”的)情况下,返回至步骤ST206。
在步骤ST206中,运算部133创建用于访问动作参数135a的数值(句柄)。
在步骤ST207中,判断是否已针对作业中使用的所有动作120a进行了步骤ST201~步骤ST206的处理。在未针对所有的动作120a全部进行上述处理的(ST207中为“No”的)情况下,使处理返回至步骤ST201,在已针对所有的动作120a进行了上述处理的(ST207中为“Yes”的)情况下,进入步骤ST208。
在步骤ST208中,运算部133执行由句柄指定的插件120。
在步骤ST209中,插件120进行运算。
在步骤ST210中,插件120将运算结果写入至动作参数135a。然后,运算部133将写入至动作参数135a的运算结果写入至主机130。其结果,主机130对设备存储器150的值进行更新,或利用通信部131将值发送至外部系统20。
如上所述,在实施方式1中,在监视控制装置100中,插件管理部132对在安装于主机130的插件120中包含的多个动作120a之中的作为执行对象的动作120a进行识别。动作参数管理部135生成多个数组,并在由主机130以及插件120所共享的进程空间中配置所生成的多个数组,该多个数组储存有与在插件130中包含的多个动作120a相对应的多个动作参数135a。然后,动作参数管理部135访问多个数组之中与由插件管理部132识别的动作120a相对应的数组,并对与该指定的动作120a相对应的动作参数135a进行操作。由此,插件与主机能够访问相同的进程空间(所共享的进程空间),能够在插件以及主机之间设置以可彼此识别的方式对参数进行储存的专用的区域(多个数组),因此能够在不重新对主机侧进行编译的情况下执行插件,并且能够防止插件直接访问主机。其结果,能够在持续执行主机的同时高速且安全地执行用于对主机的功能进行扩展的插件。
例如,能够在插件120与主机130之间设置对参数进行储存的专用的区域,因此能够利用标识符等对具有复杂且不同的属性的变量进行一元化管理,能够削减存储器消耗,另外,由于不直接参照存储器,因此能够提高安全性。
例如,能够将插件120和主机130加载于相同进程,能够在它们之间设置以可彼此识别的方式对参数进行储存的专用的区域,因此,插件120以及母进程(主机130)间仅利用成对地具有标识符和变量值的单纯的缓冲器(buffer)即可进行协作,其中,该标识符用于对变量进行识别。由此,插件120由于母进程(主机130)的规格变更而受到的影响变小。即,由于扩展程序所需的接口不依赖于主体侧,因此能够降低扩展程序的创建、维护上花费的成本。
例如,能够将插件120与主机130加载于相同进程,能够在它们之间设置以可彼此识别的方式对参数进行储存的专用的区域,因此插件120无需对母进程(主机130)的服务进行直接调用。由此,无需利用插件120调用母进程(主机130)的功能,难于进行非法操作。即,由于不对主体侧的存储器进行直接访问,因此难以创建对系统的执行产生妨碍的扩展程序。
另外,在实施方式1中,在监视控制装置100中,通信部131从设备30获取测量值,并储存至设备存储器150,或者,将在设备存储器150中保存的运算值输出至设备30,另外,将在设备存储器150中保存的测量值以及运算值与外部系统20进行通信。运算部133根据主机130而进行运算,并将运算结果作为运算值储存至设备存储器150。并且,运算部133的作业执行单元133A获取对插件120进行指定的作业文件110,参照设备存储器150的值并利用插件120执行与作业相对应的运算,将该运算结果作为运算值储存至设备存储器150。由此,监视控制装置100能够根据主机130以及插件120分别进行设备30的监视控制。
另外,在实施方式1中,在监视控制装置100中,插件管理部132通过调用在插件120的程序(即,动作120a的记述)中声明的、对作为执行对象的动作进行指定的标识符,从而对在插件120中储存的动作120a的执行进行控制,并对主机130的功能进行扩展。动作参数管理部135对所生成的多个数组之中由被插件管理部132调用的标识符指定的数组进行访问,并针对所访问的数组对要素索引进行指定,由此,对在动作参数135a中包含的值进行读取或写入。由此,能够构成为,插件与主机能够访问在相同的进程空间(共享的进程空间)中配置的对参数进行储存的专用的区域(多个数组)中的动作参数。
另外,在实施方式1中,在监视控制装置100中,对插件120的执行所需的动作参数135a赋予用于进行访问的数值(句柄)。因此,能够减小所参照的范围,还能够减少排他控制,所以能够高速且高安全性地执行插件。另外,还能够使进行交换的数据最小化,能够削减不必要的存储器。
实施方式2.
下面,对实施方式2所涉及的监视控制装置进行说明。下面,以与实施方式1不同的部分为中心进行说明。
实施方式2的目标在于,对动作参数135a进行调整(例如,优化),并使要素的尺寸均匀,由此与实施方式1相比,构建更省存储器且更高性能的监视控制系统100aj。
图11是实施方式2中的监视控制装置100j的功能结构例(监视控制系统100aj的结构例)。插件120能够操作的变量例如全部由变量管理部136j进行管理。在变量管理部136j中,根据从设定用个人计算机40(参照图1)设定的内容而对变量进行定义。能够定义的变量可以为全局变量、在作业内局部地进行声明的局部变量、与数据库的字段相映射的数据库变量,或者为常数、字符串等固定值。此时,相对于各变量所具有的多个属性,生成被称作变量ID的ID。在变量管理部136j中,能够根据变量ID获取相应的变量的当前值。在执行插件120时,从插件120侧将变量ID传递给运算部133,通过变量管理部136j获取当前值并向插件120传递。
运算部133根据作业数据存储部134内的记述有作业数据和变量的、图12中示出的变量定义文件134a,创建储存有所处理的变量的属性的变量缓冲136Aj。针对变量缓冲136Aj的属性,能够将被称作变量ID的标识符作为存储器地址而进行访问。
例如,运算部133根据作业数据存储部134内的作业数据,创建储存有插件120的运算所需的变量ID的动作参数135a。运算部133根据在动作参数135a中储存的变量ID直接获取变量的属性,利用主机130的基本功能(例如,访问API)将变量的当前值储存至动作参数135a。即,动作参数135a是作为下述数组而实现的,即,具有成对的变量标识符和变量当前值作为要素,如果赋予索引135a1,则例如返回变量的标识符和变量的当前值。
然后,请求插件120进行执行。如果被请求执行,则插件120从动作参数135a的开头按顺序读入当前值并进行运算,将运算结果回写至动作参数135a。如果检测出插件120的执行已结束,则运算部133对设备存储器150的值进行更新,或者利用通信部131将值发送至外部系统20。
这里,变量ID还能够使用由输入了属性列的哈希函数(如果赋予字符串等键值(key),则返回哈希数的函数)所生成的值。在该情况下,在数据库中储存属性,使用储存有属性的记录的哈希数,由此能够进行更高速的访问。
图12是在实施方式2中,由设定用个人计算机40(参照图1)而设定至监视控制装置100j的设定数据的例子。这里,示出针对2个变量的设定数据。行200~行204定义了第1个变量,行205~行209定义了第2个变量。行210~行215定义了第3个变量。在行200中,定义了变量的名称(name)为“D1000”,变量类型为设备存储器(Device),数据类型为WORD(不带符号2字节)。并且,在行201中定义了监视控制装置的站点编号为001,在行202中定义了存储器的偏移地址为1000,在行203中定义了设备存储器的设备种类为“Data”。接着,在行210中,定义了变量名为“TB1.FLD1”,变量类型为数据库变量(Database),数据类型为DWORD(不带符号4字节)。在行211中,定义了数据库名为“Test”,运行所占用的网络地址为“192.168.10.1”。并且,该变量可以采用阶层式数据构造,含义是在内部具有数据库的表“Table1”,能够参照其中的字段“Field1”。
图13示出变量管理部136j中的动作参数135a与变量缓冲136Aj的例子。在变量缓冲136Aj中,连续地写入变量的属性。将写入目标(变量缓冲136Aj)的存储器地址写入至动作参数135a中。这里,第1个变量(索引为“0107”的变量)储存于地址0003,第2个变量(索引为“0108”的变量)位于0001C,第3个变量(索引为“0109”的变量)位于0x00035。如图14所示,向动作参数135a写入当前值135a31j、135a32j。这里,对第1个变量写入“0x1000”,对第2个变量写入“0xE000”。最后,如图15所示将运算的结果135a33j写入至变量缓冲136Aj。这里,将“0x00007800”写入。
下面,利用图16的流程图对变量管理部136j的初始化动作的流程进行说明。
在步骤ST301中,为了变量缓冲136Aj而确保用于对变量的属性进行储存的连续区域。该容量由监视控制系统100aj预先定义。
在步骤ST302中,将图12所示的变量定义文件134a读入。在该步骤中,读入1个变量。
在步骤ST303中,从变量缓冲136Aj中的所指定的存储器地址的开头起,追加所读入的属性(参照图3所示的对变量的属性进行储存的部分135a2),并进行写入。
在步骤ST304中,对是否已针对1个变量的所有属性进行了处理进行判断。在未针对所有的属性全部进行上述处理的(ST304中为“No”的)情况下,使处理返回至步骤ST303,在已针对所有的属性进行了上述处理的(ST304中为“Yes”的)情况下,使处理进入步骤ST305。
在步骤ST305中,生成变量ID。变量ID只要是在监视控制系统100aj内能够唯一识别变量的值,则可以为任意值。在图13的例子中,存储器地址成为变量ID。
步骤ST306中,向使用了变量的动作参数135a写入变量ID。
在步骤ST307中,判断是否已针对在作业中使用的所有的变量进行了步骤ST302~步骤ST306的处理。在未针对所有的变量全部进行上述处理的(ST307中为“No”的)情况下,使处理返回至步骤ST302,在已针对所有的变量进行了上述处理的(ST307中为“Yes”的)情况下,使处理结束。
下面,利用图17的流程图对动作120a的执行流程进行说明。
步骤ST401中,针对在动作120a中包含的1个变量获取变量的ID。
步骤ST402中,从以变量ID作为地址的动作参数135a的要素,获取变量的属性。
步骤ST403中,利用获取的属性,从监视控制装置100j获取当前值。例如,如果是设备变量,则利用设备种类“D”(数据寄存器)、偏移100,将D100地址处的存储器映像作为WORD型的数据而进行读取。
步骤ST404中,判断是否已针对在动作120a中包含的所有的变量进行了步骤ST401~步骤ST403的处理。在未针对所有的变量全部进行上述处理的(ST404中为“No”的)情况下,使处理返回至步骤ST401,在已针对所有的变量进行了上述处理的(ST404中为“Yes”的)情况下,进入步骤ST405。
步骤ST405中,利用获取的当前值进行运算。
步骤ST406中,获取对运算出的运算结果进行存储的变量的变量ID。
步骤ST407中,将运算结果写入至以变量ID作为存储器地址的动作参数135a的要素中。
如上所示,在实施方式2中,在监视控制装置100j中,变量管理部136j通过获取存储器(变量缓冲136Aj)上的值、外部系统20上的数据并进行操作,从而进行运算,将其结果发送至外部系统20,此外,写入至存储器(变量缓冲136Aj)上,此时,将成为程序的处理对象的存储器(变量缓冲136Aj)上的值、外部系统20上的数据作为变量而进行定义,并向用于对该变量进行识别的属性的集合分配标识符(变量ID)而进行管理。动作参数135a是具有成对的变量标识符(变量ID)和变量当前值作为要素的数组。运算部133在动作120a的执行之前,从与作业中包含的所有的动作120a相关的动作参数135a,获取变量的属性,利用该属性获取变量的当前值,并储存至动作参数135a。另外,运算部133在所有的动作120a的执行完毕之后,将运算结果从动作参数135a中提取出来,根据属性对当前值进行更新。由此,针对动作120a的执行所需的参数,与变量种类无关地将固定长度的标识符(变量ID)保存于动作参数135a内,因此能够削减动作120a的执行时所需的存储器。另外,能够使动作参数135a(数组)中的要素的尺寸(数据长度)均等,因此能够高速地进行指定了数组的要素索引时的检索,能够提高动作120a的执行性能。即,由于能够对动作参数135a进行调整(例如,优化)并使要素的尺寸均匀,因此与实施方式1相比,能够构建更省存储器且更高性能的监视控制系统100aj。
实施方式3.
下面,对实施方式3所涉及的监视控制装置进行说明。以下,以与实施方式1不同的部分为中心进行说明。
实施方式3的目标在于,通过对异常(exception)处理、超时等动作的执行状态进行监视,从而与实施方式1相比,构建可靠性更高的系统。
在UNIX(注册商标)、Microsoft公司Windows(注册商标)等通常的操作系统(OS)中,存在被称为信号的进程间通信的方法。在发送了信号时,OS在发送目标进程的正常的处理的流程中发起中断。如果接收进程已经登记有信号处理程序(signalhandler),则在信号接收时执行该程序。在发生了除零运算、段错误之类的程序的异常的情况下,也发送信号。另外,如果对于超时,也与信号相同地,已登记有处理程序(handler),则在处理的执行过程中发起中断。在Windows(注册商标)中,已知使用了Win32API即“WaitForSinglObject()”的方法。在UNIX(注册商标)中,使用了如下方法,即利用函数“alarm()”而产生信号SIGALRM,并起动在函数“signal()”中登记的处理程序。
图18是监视控制装置100k的功能结构例(监视控制系统100ak的结构例)。
插件管理部132k具有异常监视单元132Ak以及执行时间监视单元132Bk。
异常监视单元132Ak对插件120是否发生了异常处理进行监视。异常监视单元132Ak对动作120a的运行进行监视,并捕捉已在监视控制装置100k中定义的异常处理。异常监视单元132Ak将监视结果提供给插件管理部132k。例如,异常监视单元132Ak在捕捉到已定义的异常处理的情况下,将该情况的监视结果提供给插件管理部132k。
执行时间监视单元132Bk在起动了插件120之后,对动作120a是否在所指定的时间内结束进行监视。即,执行时间监视单元132Bk对是否是虽然经过了所指定的时间但动作120a的执行仍未完毕进行监视。执行时间监视单元132Bk将监视结果提供给插件管理部132k。例如,执行时间监视单元132Bk在虽然经过了所指定的时间但动作120a的执行仍未完毕的情况下,将该情况的监视结果提供给插件管理部132k。
插件管理部132k根据异常监视单元132Ak以及执行时间监视单元132Bk的监视结果,对在动作120a的运行中是否发生了故障进行判断。插件管理部132k例如在第1条件和第2条件的至少一者成立的情况下,判断为在动作120a的运行中发生了故障,在第1条件和第2条件均不成立的情况下,判断为在动作120a的运行中未发生故障。第1条件是指插件120发生了已在监视控制装置100k中定义的异常处理。第2条件是指虽然经过了所指定的时间但动作120a的执行仍未完毕。
插件管理部132k在动作120a的运行中发生了故障的情况下,立即停止动作120a的执行,并执行预先分配的由用户定义的故障处理,在执行结束之后,将写入至动作参数135a中的值废弃。
关于异常监视单元132Ak以及执行时间监视单元132Bk,如前所述,能够利用信号来实现是显而易见的,但利用下述方法也能够实现,即在插件120侧在起动时生成随机数,并在执行过程中以所指定的时间对该随机数进行更新。
图19是表示该流程的流程图。插件120通过动作120a的执行而得以起动,由此开始该流程。
在步骤ST501中,插件120生成随机数。
在步骤ST502中,进行插件120的处理。
在步骤ST503中,对是否已经过所指定的时间进行判断。在未经过所指定的时间的(步骤S503中为“No”的)情况下,使处理返回至步骤ST502,在经过了所指定的时间的(步骤S503中为“Yes”的)情况下,使处理进入步骤ST504。
在步骤ST504中,插件120对随机数进行更新。
在步骤ST505中,主机130(参照图2)将由插件120更新后的随机数读入,并判断值是否已更新。在值已更新的(步骤ST505中为“Yes”的)情况下,使处理返回至步骤ST502,在值未更新的(步骤S505中为“No”的)情况下,使处理进入步骤ST506。
在步骤ST506中,插件120执行异常处理。
由此,在主机130中以所指定的周期对插件120的随机数进行监视。例如,主机130对随机数的前一次值进行存储,并在获取了随机数的当前值时,对随机数的当前值和前一次值进行对比。主机130根据其对比结果,在判断为随机数与前一次值相比未发生变化的情况下,判断为在动作120a的运行中发生了故障,因此,起动插件120的异常处理程序(用户定义的故障处理)。
此外,插件120的异常处理程序例如在插件120的登记时预先进行登记。此时,也可以不对句柄进行登记而是对通用的函数进行定义。例如,通过在图7的动作中对名称为“ExceptionHandler()”的函数进行定义也能够实现。
如上所示,在实施方式3中,监视控制装置100k中,异常监视单元132Ak对动作120a的运行进行监视,并对已在监视控制装置100k中定义的异常处理进行捕捉。执行时间监视单元132Bk对是否是虽然经过了所指定的时间但动作120a的执行仍未完毕进行监视。插件管理部132k根据异常监视单元132Ak以及执行时间监视单元132Bk的监视结果,对在动作120a的运行中是否发生了故障进行判断。插件管理部132k在动作120a的运行中发生了故障的情况下,立即停止动作120a的执行,并执行预先分配的由用户定义的故障处理,在执行结束之后,将写入至动作参数135a的值废弃。由此,能够对插件的运行故障进行监视,能够抑制对监视控制系统造成损害的插件的执行,所以能够提高监视控制系统的可靠性。即,能够对异常处理、超时等动作的执行状态进行监视,因此与实施方式1相比,能够构建可靠性更高的系统。
工业实用性
如上所示,本发明所涉及的监视控制装置适用于仪器的监视控制。
标号的说明
20外部系统、30设备、40设定用个人计算机、100、100j、100k监视控制装置。
Claims (5)
1.一种监视控制装置,其根据主机对仪器进行监视控制,
该监视控制装置的特征在于,具有:
插件管理部,其对在安装于所述主机的插件中包含的多个动作之中的作为执行对象的动作进行识别;以及
动作参数管理部,其生成储存有与在所述插件中包含的所述多个动作相对应的多个动作参数的多个数组,在由所述主机以及所述插件所共享的进程空间中,配置所述生成的多个数组,访问所述生成的多个数组之中与被所述插件管理部识别出的动作相对应的数组,对与所述指定的动作相对应的动作参数进行操作。
2.根据权利要求1所述的监视控制装置,其特征在于,还具有:
存储器;
通信部,其从所述仪器获取测量值并存储至所述存储器,此外,将在所述存储器中保存的运算值输出至所述仪器,另外,与外部系统对在所述存储器中保存的测量值以及运算值进行通信;以及
运算部,其根据所述主机而进行运算,将运算结果作为运算值而储存至所述存储器,并且获取对所述插件进行指定的作业文件,参照所述存储器的值并利用所述插件来执行与作业相对应的运算,将运算结果作为运算值而储存至所述存储器。
3.根据权利要求1所述的监视控制装置,其特征在于,具有:
所述插件管理部通过调用标识符而对在所述插件中储存的动作的执行进行控制,并对所述主机的功能进行扩展,其中,该标识符在所述插件的程序中进行了声明,用于对所述作为执行对象的动作进行指定,
所述动作参数管理部对所述生成的多个数组之中由所述标识符指定的数组进行访问,相对于所述访问的数组而对要素索引进行指定,由此对在所述动作参数中包含的值进行读取或写入。
4.根据权利要求2所述的监视控制装置,其特征在于,
还具有变量管理部,所述动作是与外部系统进行协作的逻辑,该变量管理部通过获取所述存储器的值以及所述外部系统上的数据并进行操作而进行运算,将运算得到的结果发送至所述外部系统,此外,写入至所述存储器上,将成为所述控制程序的处理对象的所述存储器上的值以及所述外部系统上的数据作为变量而进行定义,向用于对所定义的变量进行识别的属性的集合标注标识符并进行管理,
所述动作参数是具有成对的变量标识符和变量当前值作为要素的数组,所述运算部在所述动作的执行之前,从与作业中包含的所有的所述动作相关的所述动作参数,获取变量的属性,并利用所获得的属性来获取变量的当前值,并储存至所述动作参数,另外,在所有的所述动作的执行完毕之后,从所述动作参数中取出所述运算结果,并根据所述获取的属性对当前值进行更新。
5.根据权利要求1所述的监视控制装置,其特征在于,
所述插件管理部具有:
异常监视单元,其对所述动作的运行进行监视,并捕捉已在所述监视控制装置中定义的异常处理;以及
执行时间监视单元,其对是否是虽然经过了所指定的时间但所述动作的执行仍未完毕进行监视,
所述插件管理部根据所述异常监视单元以及所述执行时间监视单元的监视结果,在判断为所述动作的运行中发生了故障的情况下,立即停止所述动作的执行,并执行预先分配的由用户定义的故障处理,在执行结束之后,将写入至所述动作参数中的值废弃。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/063958 WO2014188492A1 (ja) | 2013-05-20 | 2013-05-20 | 監視制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105283846A true CN105283846A (zh) | 2016-01-27 |
CN105283846B CN105283846B (zh) | 2017-06-13 |
Family
ID=51933084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380076726.7A Active CN105283846B (zh) | 2013-05-20 | 2013-05-20 | 监视控制装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10317860B2 (zh) |
JP (1) | JP5832703B2 (zh) |
KR (1) | KR101673836B1 (zh) |
CN (1) | CN105283846B (zh) |
DE (1) | DE112013007000B4 (zh) |
WO (1) | WO2014188492A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632578A (zh) * | 2016-07-19 | 2018-01-26 | 发那科株式会社 | 运行管理系统以及测量系统 |
CN107797529A (zh) * | 2016-09-01 | 2018-03-13 | 阿自倍尔株式会社 | 设施管理系统、设施管理装置、控制器以及设施管理方法 |
CN109313415A (zh) * | 2016-07-05 | 2019-02-05 | 株式会社安川电机 | 产业机器控制装置的参数编辑装置、产业机器控制系统、产业机器控制系统的制造方法以及程序 |
CN109709900A (zh) * | 2017-10-25 | 2019-05-03 | 发那科株式会社 | 数值控制装置 |
CN113672300A (zh) * | 2021-08-17 | 2021-11-19 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
CN114537299A (zh) * | 2016-10-03 | 2022-05-27 | 日立安斯泰莫株式会社 | 车载处理装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3065051A1 (en) * | 2015-03-05 | 2016-09-07 | Ingo Josopait | Flow control for language-embedded programming in general-purpose computing on graphics processing units |
DE102015106116A1 (de) * | 2015-04-21 | 2016-10-27 | Phoenix Contact Gmbh & Co. Kg | Verfahren und Steuereinrichtung zur flexiblen Prozesssteuerung |
JP6532610B2 (ja) * | 2016-08-30 | 2019-06-19 | 三菱電機株式会社 | プログラム編集装置、プログラム編集方法及びプログラム編集プログラム |
WO2018234246A1 (en) * | 2017-06-21 | 2018-12-27 | Tetra Laval Holdings & Finance S.A. | METHOD OF LOGGING PROCESS DATA IN AN API CONTROLLED EQUIPMENT |
JP7087420B2 (ja) * | 2018-02-02 | 2022-06-21 | 富士通株式会社 | 処理プログラム、およびイベント処理方法 |
US11442428B2 (en) * | 2018-04-18 | 2022-09-13 | Fisher-Rosemount Systems, Inc. | Quality review management system |
WO2020026452A1 (ja) * | 2018-08-03 | 2020-02-06 | 三菱電機株式会社 | 設備機器管理装置、設備機器管理システム、設備機器管理方法、及び、プログラム |
CN115857458B (zh) * | 2023-02-08 | 2023-06-02 | 中国电子科技集团公司第十研究所 | 一种多模式异构测运控资源集中管控方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632761A (zh) * | 2003-12-24 | 2005-06-29 | 华为技术有限公司 | 一种遍历和访问被测应用程序中对象的方法 |
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN101110951A (zh) * | 2007-08-08 | 2008-01-23 | 南京联创网络科技有限公司 | 视频监控系统的通信插件的动态加载方法 |
CN102289370A (zh) * | 2010-06-15 | 2011-12-21 | 微软公司 | 用于静态主机的动态语言 |
CN102646056A (zh) * | 2012-03-01 | 2012-08-22 | 宁波电业局 | 基于电网gis平台的应用的功能扩展方法及装置 |
CN102722409A (zh) * | 2011-03-04 | 2012-10-10 | 通用电气公司 | 用于装置软件的移植的系统和方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09134309A (ja) | 1995-11-08 | 1997-05-20 | Hitachi Ltd | 情報処理システム、および、共用メモリのアクセス態様管理方法 |
US6349408B1 (en) | 1998-03-23 | 2002-02-19 | Sun Microsystems, Inc. | Techniques for implementing a framework for extensible applications |
JP4000718B2 (ja) | 1999-06-24 | 2007-10-31 | 株式会社日立製作所 | プログラム間バインド方法及び分散処理システム |
JP2003330756A (ja) | 2002-05-14 | 2003-11-21 | Mitsubishi Electric Corp | 監視制御ソフトウェアの構成管理方法 |
JP4371693B2 (ja) | 2003-04-25 | 2009-11-25 | キヤノン株式会社 | 印刷制御装置、印刷制御方法及びコンピュータプログラム |
GB2415065B (en) | 2004-06-09 | 2009-01-21 | Symbian Software Ltd | A computing device having a multiple process architecture for running plug-in code modules |
US8108470B2 (en) * | 2004-07-22 | 2012-01-31 | Taiwan Semiconductor Manufacturing Co., Ltd. | Message management system and method |
JP2006252358A (ja) * | 2005-03-11 | 2006-09-21 | Nec Corp | ディスクアレイ装置及びその共有メモリ装置、ディスクアレイ装置の制御プログラム及び制御方法 |
WO2007047359A2 (en) * | 2005-10-14 | 2007-04-26 | Carrier Web Llc | System and method for real-time management of mobile resources |
US8269725B2 (en) * | 2006-06-28 | 2012-09-18 | Microsoft Corporation | Input simulation system for touch based devices |
JP2008009591A (ja) * | 2006-06-28 | 2008-01-17 | Matsushita Electric Ind Co Ltd | キャッシュメモリシステム |
JP2008165582A (ja) * | 2006-12-28 | 2008-07-17 | Hitachi Ltd | 記憶システム及びデータ保証方法 |
JP2008225906A (ja) | 2007-03-13 | 2008-09-25 | Toyota Motor Corp | 情報処理システム及びその情報処理システムを構成するコア識別コントローラ |
US8463894B2 (en) * | 2007-06-08 | 2013-06-11 | Oracle International Corporation | Performance monitoring web console for distributed transaction service |
US8155769B2 (en) * | 2008-03-17 | 2012-04-10 | National Instruments Corporation | Industrial control with integrated machine vision |
US8745361B2 (en) * | 2008-12-02 | 2014-06-03 | Microsoft Corporation | Sandboxed execution of plug-ins |
US8856783B2 (en) * | 2010-10-12 | 2014-10-07 | Citrix Systems, Inc. | Allocating virtual machines according to user-specific virtual machine metrics |
JP2011070528A (ja) | 2009-09-28 | 2011-04-07 | Nec Corp | マルチプロセッサシステム及びメモリアクセス制御方法 |
JP5424965B2 (ja) | 2010-04-16 | 2014-02-26 | 三菱電機株式会社 | 監視制御システム及び監視制御プログラム |
WO2012048007A2 (en) * | 2010-10-05 | 2012-04-12 | Citrix Systems, Inc. | Touch support for remoted applications |
US9119236B1 (en) * | 2011-03-04 | 2015-08-25 | Alarm.Com Incorporated | Monitoring system control technology |
US8959362B2 (en) * | 2012-04-30 | 2015-02-17 | General Electric Company | Systems and methods for controlling file execution for industrial control systems |
US9244446B2 (en) * | 2012-11-29 | 2016-01-26 | International Business Machines Corporation | Configuring, optimizing and managing micro-grids |
-
2013
- 2013-05-20 US US14/787,803 patent/US10317860B2/en active Active
- 2013-05-20 JP JP2015517944A patent/JP5832703B2/ja active Active
- 2013-05-20 WO PCT/JP2013/063958 patent/WO2014188492A1/ja active Application Filing
- 2013-05-20 DE DE112013007000.6T patent/DE112013007000B4/de active Active
- 2013-05-20 CN CN201380076726.7A patent/CN105283846B/zh active Active
- 2013-05-20 KR KR1020157035625A patent/KR101673836B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632761A (zh) * | 2003-12-24 | 2005-06-29 | 华为技术有限公司 | 一种遍历和访问被测应用程序中对象的方法 |
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN101110951A (zh) * | 2007-08-08 | 2008-01-23 | 南京联创网络科技有限公司 | 视频监控系统的通信插件的动态加载方法 |
CN102289370A (zh) * | 2010-06-15 | 2011-12-21 | 微软公司 | 用于静态主机的动态语言 |
CN102722409A (zh) * | 2011-03-04 | 2012-10-10 | 通用电气公司 | 用于装置软件的移植的系统和方法 |
CN102646056A (zh) * | 2012-03-01 | 2012-08-22 | 宁波电业局 | 基于电网gis平台的应用的功能扩展方法及装置 |
Non-Patent Citations (1)
Title |
---|
无: "《Wonderware S7SIMATIC DAServer User"s Guide》", 8 November 2004 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109313415A (zh) * | 2016-07-05 | 2019-02-05 | 株式会社安川电机 | 产业机器控制装置的参数编辑装置、产业机器控制系统、产业机器控制系统的制造方法以及程序 |
CN107632578A (zh) * | 2016-07-19 | 2018-01-26 | 发那科株式会社 | 运行管理系统以及测量系统 |
CN107632578B (zh) * | 2016-07-19 | 2021-10-26 | 发那科株式会社 | 运行管理系统以及测量系统 |
CN107797529A (zh) * | 2016-09-01 | 2018-03-13 | 阿自倍尔株式会社 | 设施管理系统、设施管理装置、控制器以及设施管理方法 |
CN107797529B (zh) * | 2016-09-01 | 2020-03-27 | 阿自倍尔株式会社 | 设施管理系统、设施管理装置、控制器以及设施管理方法 |
CN114537299A (zh) * | 2016-10-03 | 2022-05-27 | 日立安斯泰莫株式会社 | 车载处理装置 |
CN109709900A (zh) * | 2017-10-25 | 2019-05-03 | 发那科株式会社 | 数值控制装置 |
CN109709900B (zh) * | 2017-10-25 | 2021-05-07 | 发那科株式会社 | 数值控制装置 |
CN113672300A (zh) * | 2021-08-17 | 2021-11-19 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
CN113672300B (zh) * | 2021-08-17 | 2023-12-26 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20160009663A (ko) | 2016-01-26 |
DE112013007000B4 (de) | 2020-09-10 |
KR101673836B1 (ko) | 2016-11-07 |
DE112013007000T5 (de) | 2016-01-14 |
JPWO2014188492A1 (ja) | 2017-02-23 |
CN105283846B (zh) | 2017-06-13 |
WO2014188492A1 (ja) | 2014-11-27 |
US20160070246A1 (en) | 2016-03-10 |
US10317860B2 (en) | 2019-06-11 |
JP5832703B2 (ja) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105283846A (zh) | 监视控制装置 | |
US9804908B2 (en) | Log output condition setting method and apparatus | |
CN112148343B (zh) | 规则发布方法、装置及终端设备 | |
WO2022063133A1 (zh) | 敏感信息检测方法、装置、设备与计算机可读存储介质 | |
US10678864B2 (en) | Analysis model preparing system, programming apparatus, and analysis model preparing method | |
US20120011490A1 (en) | Development system | |
US11720422B1 (en) | Unified container for hardware and software binaries | |
US20180081779A1 (en) | Recording medium recording analysis program, analysis method, and analysis apparatus | |
KR101968501B1 (ko) | 데이터 처리 장치 및 데이터 처리 장치의 메모리에 기록된 데이터의 확인 방법 | |
JP6688433B2 (ja) | 計算機システム | |
CN113407504B (zh) | 一种数据处理方法、用户空间文件系统以及存储介质 | |
KR102243708B1 (ko) | Hmi 시스템의 편집 툴 갱신 방법 | |
JP6950271B2 (ja) | パラメータ確認装置、パラメータ確認方法、パラメータ確認プログラム及び記録媒体 | |
KR102134711B1 (ko) | 스마트 컨트랙트의 룰 관리 방법 및 장치 | |
KR101220695B1 (ko) | 멀티 파일 접근 공통 인터페이스 지원 시스템 및 그 시스템에서의 파일 관리 방법 | |
JP5229855B2 (ja) | メモリシステム及びコンピュータシステム | |
JP6608544B2 (ja) | データ処理システム | |
JP4508245B2 (ja) | データ処理装置 | |
JP4103900B2 (ja) | データ処理装置 | |
CN104678945A (zh) | 路径关联装置和高级过程控制组件 | |
CN115186302A (zh) | 版本信息管理方法、装置、可读存储介质及电子设备 | |
JP5437282B2 (ja) | センサ情報処理方法、センサ情報処理装置及びプログラム | |
US20090037576A1 (en) | Data analyzing system and data analyzing method | |
CN116680314A (zh) | 一种用于银行数据库的慢查询监控方法、装置及电子设备 | |
JP2014026368A (ja) | 情報処理装置、その制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |