CN115104088B - 程序提供装置、程序提供方法及程序提供系统 - Google Patents

程序提供装置、程序提供方法及程序提供系统 Download PDF

Info

Publication number
CN115104088B
CN115104088B CN202080096109.3A CN202080096109A CN115104088B CN 115104088 B CN115104088 B CN 115104088B CN 202080096109 A CN202080096109 A CN 202080096109A CN 115104088 B CN115104088 B CN 115104088B
Authority
CN
China
Prior art keywords
program
search
unit
component
control device
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.)
Active
Application number
CN202080096109.3A
Other languages
English (en)
Other versions
CN115104088A (zh
Inventor
山冈孝行
牛田千智
三根健司
菊田宏和
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN115104088A publication Critical patent/CN115104088A/zh
Application granted granted Critical
Publication of CN115104088B publication Critical patent/CN115104088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • 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/32Operator till task planning
    • G05B2219/32361Master production scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

作为程序提供装置的服务器(1)具有:提供处理部(19),其提供构成由控制设备执行的程序即控制程序的程序部件;认证部(16),其针对用于模拟地执行基于程序部件的动作的程序即动作模拟模块,基于能否模拟由执行程序部件实现的控制设备的动作的验证结果而对动作模拟模块作出认证;以及动作确认部(15),其使用被作出了认证的动作模拟模块而进行程序部件的动作确认。

Description

程序提供装置、程序提供方法及程序提供系统
技术领域
本发明涉及提供构成控制程序的程序部件的程序提供装置、程序提供方法及程序提供系统。
背景技术
在创建用于对生产装置进行控制的控制程序时,有时通过再次利用过去所创建的程序部件而实现程序创建所用的作业的高效化。作为用于供创建控制程序的作业者从过去所创建的程序部件之中取得所期望的程序部件的系统,提出了对创建出的程序部件进行积蓄,从所积蓄的程序部件之中进行程序部件的检索并且提供检索到的程序部件的程序提供系统。
作为程序提供系统的方式之一,举出了募集由程序部件的销售者供应的程序部件,将程序部件销售给程序部件的购买者的电子市场的方式。在以下的说明中,有时将运营程序提供系统的人或组织称为平台商(platformer),将向程序提供系统供应程序部件的人或组织称为生产者(producer),将从程序提供系统购入程序部件的人或组织称为消费者(consumer)。生产者也是创建所供应的程序部件的人或组织。消费者也是利用所购入的程序部件而创建控制程序的人或组织。此外,平台商、生产者及消费者是指对它们在电子市场上起到的作用分别作出的称呼。
为了使程序提供系统适当地发挥功用,要求在程序提供系统中针对向消费者提供的程序部件保证正常的动作。消费者对提供的程序部件正常地进行动作这一情况进行确认。
在专利文献1中公开了在提供程序发布服务的系统管理者的服务器中设置有程序执行部的发布系统。根据专利文献1的技术,消费者通过在程序执行部中执行程序部件而对程序部件的动作进行确认。
专利文献1:日本特开2002-312506号公报
发明内容
在上述专利文献1涉及的现有技术的情况下,有可能不能保证在服务器中设置的程序执行部进行与执行程序部件的控制设备相同的动作。在现有技术的情况下,消费者需要使用实际的控制设备或对控制设备的动作进行模拟的模拟器来确认在服务器中确认过的动作是否在控制设备中也能够实现。因此,在现有技术的情况下,针对消费者所取得的各程序部件,在程序部件的取得时或控制程序的创建时需要由消费者进行的动作确认,由此消费者的作业负担变大。为了减少消费者的作业负担,在由平台商或生产者进行针对在程序提供系统上供应的程序部件各自的动作确认的情况下,平台商或生产者的作业负担变大。这样,根据上述现有技术,存在程序部件的动作确认所用的作业负担变大的问题。
本发明就是鉴于上述情况而提出的,其目的在于,得到能够减少程序部件的动作确认所用的作业负担的程序提供装置。
为了解决上述课题,达到目的,本发明涉及的程序提供装置具有:提供处理部,其提供构成由控制设备执行的程序即控制程序的程序部件;认证部,其针对用于模拟地执行基于程序部件的动作的程序即动作模拟模块,基于能否模拟由执行程序部件实现的控制设备的动作的验证结果而对动作模拟模块作出认证;以及动作确认部,其使用被作出了认证的动作模拟模块而进行程序部件的动作确认。
发明的效果
本发明涉及的程序提供装置具有能够减少程序部件的动作确认所用的作业负担的效果。
附图说明
图1是实施方式1涉及的作为程序提供装置的服务器的框图。
图2是程序提供系统的结构图,该程序提供系统包含实施方式1涉及的作为程序提供装置的服务器。
图3是表示构成图2所示的程序提供系统的服务器及各客户端PC(PersonalComputer)的动作流程的图。
图4是表示在图1所示的服务器所具有的部件管理部中储存的属性信息的例子的图。
图5是用于对图1所示的服务器的认证部所实施的试验的第1例进行说明的流程图。
图6是表示由图1所示的服务器的认证部进行的核对的结果的显示例的图。
图7是用于对图1所示的服务器的认证部所实施的试验的第2例进行说明的图。
图8是表示实施方式2涉及的作为程序提供装置的服务器的动作流程的例子的流程图。
图9是实施方式3涉及的作为程序提供装置的服务器的框图。
具体实施方式
以下,基于附图对实施方式涉及的程序提供装置、程序提供方法及程序提供系统详细地进行说明。此外,本发明不受本实施方式限定。
实施方式1
图1是实施方式1涉及的作为程序提供装置的服务器的框图。图2是程序提供系统的结构图,该程序提供系统包含实施方式1涉及的作为程序提供装置的服务器。
对程序提供系统的概要进行说明。程序提供系统是提供程序部件的系统。程序提供系统是募集由创建程序部件的生产者供应的程序部件,将程序部件销售给消费者的电子市场方式的系统。程序部件是构成由控制设备执行的控制程序的程序。另外,程序提供系统募集由创建动作模拟模块的生产者供应的动作模拟模块。动作模拟模块是用于模拟地执行基于程序部件的动作的程序。在实施方式1涉及的作为程序提供装置的服务器1中进行动作模拟模块的认证。在服务器1中,通过使用所供应的动作模拟模块中的被作出了认证的动作模拟模块而进行程序部件的动作确认。
在程序部件中包含关于程序部件的动作规格的记述和可在控制设备上执行的模块。模块也可以是源代码。控制设备是通过执行控制程序而对生产装置进行控制的设备。可编程逻辑控制器(Programmable Logic Controller:PLC)是控制设备的1个例子。省略控制设备的图示。
程序提供系统具有服务器1和客户端PC 2、3、4。平台商使用服务器1来运营程序提供系统。服务器1对创建出的程序部件进行积蓄,进行所积蓄的程序部件的检索和检索到的程序部件的提供。创建动作模拟模块的生产者使用客户端PC 2来创建动作模拟模块。创建程序部件的生产者使用客户端PC 3来创建程序部件。消费者使用客户端PC 4来创建控制程序。
服务器1与各客户端PC 2、3、4经由网络5而彼此连接。就网络5而言,无论有线或无线,能够采用互联网(Internet)、LAN(Local Area Network)或VPN(Virtual PrivateNetwork)等任意种类的通信网络。
此外,在电子市场中,有创建动作模拟模块的多个生产者、创建程序部件的多个生产者和多个消费者参加。在程序提供系统中包含多个客户端PC 2、多个客户端PC 3和多个客户端PC 4。
接下来,对服务器1的结构进行说明。在实施方式1中,服务器1是PC等计算机。在服务器1中安装用于运营程序提供系统的程序。在图1中示出服务器1所具有的功能结构和用于实现服务器1的功能结构的硬件结构。
服务器1具有执行各种处理的处理部即处理器10、对信息进行存储的存储部即存储器11、负责与服务器1的外部的装置之间的信息的收发的通信装置13和对信息进行显示的显示装置14。此外,图1所示的处理器10和存储器11也可以配备于彼此不同的硬件结构中。
处理器10是CPU(Central Processing Unit)。处理器10也可以是处理装置、运算装置、微处理器、微型计算机或DSP(Digital Signal Processor)。存储器11包含RAM(Random Access Memory)、ROM(Read Only Memory)、闪存、EPROM(Erasable ProgrammableRead Only Memory)或EEPROM(注册商标)(Electrically Erasable Programmable ReadOnly Memory)、HDD(Hard Disk Drive)或SSD(Solid State Drive)。用于运营程序提供系统的程序储存于存储器11。处理器10执行在存储器11储存的程序。
服务器1具有动作确认部15、认证部16、部件登记处理部17、模块登记处理部18、提供处理部19及检索处理部20。动作确认部15、认证部16、部件登记处理部17、模块登记处理部18、提供处理部19及检索处理部20各自是通过使用处理器10而实现的功能部。这些功能部的各功能通过处理器10及软件的组合而实现。各功能也可以通过处理器10及固件的组合而实现,还可以通过处理器10、软件及固件的组合而实现。软件或固件被记述为程序,储存于存储器11。处理器10读出软件或固件。处理器10执行软件或固件。
用于运营程序提供系统的程序也可以记录于可由计算机读取的存储介质。服务器1也可以将在存储介质中记录的程序储存于存储器11。存储介质也可以是作为软盘的便携型存储介质或作为半导体存储器的闪存。用于运营程序提供系统的程序也可以被从其它计算机经由通信网络而安装于服务器1。
通信装置13接收从各客户端PC 2、3、4发送的信息并且向各客户端PC 2、3、4发送信息。显示装置14是通过画面对信息进行显示的显示器。
存储器11具有对登记于服务器1的程序部件进行管理的部件管理部24和对在服务器1登记的动作模拟模块进行管理的模块管理部25。在部件管理部24积蓄通过客户端PC 3而创建的程序部件。另外,在部件管理部24储存表示程序部件的属性的属性信息。在模块管理部25积蓄通过客户端PC 2而创建的动作模拟模块。
动作确认部15使用被作出了认证的动作模拟模块而进行程序部件的动作确认。动作确认部15具有执行动作模拟模块的执行处理部21和将表示控制设备的动作环境的信息设定于动作模拟模块的动作环境设定部22。动作确认部15对通过在设定于动作模拟模块的动作环境中执行程序部件实现的控制设备的动作进行模拟。另外,动作确认部15具有执行用于对动作确认的结果进行显示的处理的显示处理部23。
认证部16针对通过客户端PC 2而创建的动作模拟模块,基于能否对通过执行程序部件实现的控制设备的动作进行模拟的验证结果,对动作模拟模块作出认证。认证部16向被判定为能够对控制设备的动作进行模拟的动作模拟模块作出认证。
另外,认证部16将动作模拟模块具有安全对策功能这一点设为认证的条件。安全对策功能是对程序部件有无安全上的问题进行判定的功能。并且,认证部16对动作模拟模块有无安全上的问题进行检查,将没有问题这一点设为认证的条件。
部件登记处理部17按照来自客户端PC 3的登记指示执行用于程序部件的登记的处理。模块登记处理部18按照来自客户端PC 2的登记指示进行动作模拟模块的登记。提供处理部19执行用于向客户端PC 4提供程序部件的处理。检索处理部20执行由部件管理部24管理的程序部件的检索。此外,图1所示的服务器1所具有的功能部中的至少一部分也可以由云服务器实现。
接下来,对各客户端PC 2、3、4的概略结构进行说明。对于各客户端PC 2、3、4的结构中的本发明的说明所需的结构以外的结构,省略说明。
客户端PC 2具有创建动作模拟模块的模块创建部31和生成用于将所创建的动作模拟模块向服务器1进行登记的登记指示的登记指示部32。模块创建部31的功能是通过由客户端PC 2所具有的处理器执行用于创建动作模拟模块的程序而实现的。省略客户端PC 2所具有的处理器的图示。在实施方式1中,动作模拟模块是对控制设备的动作进行模拟的模拟器。
登记指示部32的功能是通过由客户端PC 2所具有的处理器执行生产者用的应用而实现的。生产者用的应用是用于作为供应动作模拟模块的生产者而参加至程序提供系统中的应用,由平台商提供。
客户端PC 3具有创建程序部件的部件创建部33和生成用于将所创建的程序部件向服务器1进行登记的登记指示的登记指示部34。部件创建部33的功能是通过由客户端PC3所具有的处理器执行工程工具而实现的。工程工具是用于创建控制程序的程序。省略客户端PC 3所具有的处理器的图示。
登记指示部34的功能是通过由客户端PC 3所具有的处理器执行生产者用的应用而实现的。生产者用的应用是用于作为供应程序部件的生产者而参加至程序提供系统中的应用,由平台商提供。
客户端PC 4具有执行用于从服务器1取得程序部件的处理的取得处理部35、生成用于对由部件管理部24管理的程序部件进行检索的检索指示的检索指示部36和创建控制程序的程序创建部37。程序创建部37的功能是通过由客户端PC 4所具有的处理器执行工程工具而实现的。工程工具具有将取得的程序部件嵌入至控制程序的功能。省略客户端PC 4所具有的处理器的图示。
取得处理部35的功能和检索指示部36的功能是通过由客户端PC 4所具有的处理器执行消费者用的应用而实现的。消费者用的应用是用于作为接受程序部件的提供的消费者而参加至程序提供系统中的应用,由平台商提供。
接下来,对服务器1与各客户端PC 2、3、4之间的动作进行说明。图3是表示构成图2所示的程序提供系统的服务器及各客户端PC的动作流程的图。
在步骤S1中,客户端PC 2在模块创建部31中创建作为动作模拟模块的模拟器。作为例子之一,模块创建部31创建以向服务器1的登记为目的而开发的专用的模拟器。由模块创建部31创建的模拟器不限于向服务器1进行登记的专用的模拟器,也可以是由生产者开发的作为产品而流通的模拟器。
客户端PC 2的登记指示部32生成针对在步骤S1中创建的模拟器的登记指示。在步骤S2中,客户端PC 2通过将登记指示发送至服务器1,从而向服务器1申请模拟器的登记。服务器1的模块登记处理部18通过将从客户端PC 2发送来的模拟器储存于模块管理部25,从而对模拟器进行登记。
在步骤S3中,服务器1通过认证部16对已登记的模拟器进行用于认证的处理。认证部16通过实施预先指定的系统试验来验证模拟器能否对控制设备的动作进行模拟。即,认证部16实施用于对动作模拟模块能否模拟控制设备的动作进行验证的试验。系统试验也可以不由认证部16实施,而是由创建了模拟器的生产者实施。在这种情况下,客户端PC 2将系统试验的结果发送至认证部16。认证部16如果取得了系统试验的结果,则基于取得的结果,对模拟器能否模拟控制设备的动作进行验证。关于系统试验的具体例,会在后面叙述。
认证部16对通过验证而判定为能够模拟控制设备的动作的模拟器作出认证。服务器1将由认证部16作出了认证的模拟器在网络5上公开。
在步骤S4中,客户端PC 3在部件创建部33中创建程序部件。客户端PC 3的登记指示部34生成针对在步骤S4中创建的程序部件的登记指示。在步骤S5中,客户端PC 3通过将登记指示发送至服务器1而向服务器1申请程序部件的登记。服务器1的部件登记处理部17通过将从客户端PC 3发送来的程序部件储存于部件管理部24,从而对程序部件进行登记。程序部件的属性信息与程序部件一起被储存于部件管理部24。
图4是表示在图1所示的服务器所具有的部件管理部中储存的属性信息的例子的图。在部件管理部24中储存与“ID”、“部件类别”、“登记日期时间”、“创建者”、“用途”各属性相关的属性信息。
“ID”是用于对程序部件进行识别的信息。“部件类别”是表示程序部件的类别的信息。在“部件类别”的信息中包含用于对在程序部件的创建时使用的工程工具进行识别的信息或用于对控制设备进行识别的信息和表示控制程序中的程序部件的部件属性的信息。举个例子,“AAA_功能模块”的“AAA”是工程工具的名称或控制设备的型号名称。“功能模块”是部件属性的名称。此外,用于对工程工具进行识别的信息或用于对控制设备进行识别的信息是在确定在程序部件的动作确认时使用的模拟器时使用的。
“登记日期时间”是程序部件被登记于服务器1的日期时间的信息。“创建者”是创建了程序部件的生产者的信息。“用途”是表示程序部件的用途的信息。“用途”的信息是在程序部件的检索时作为用于对程序部件进行筛选的检索词而使用的。
与“部件类别”、“创建者”及“用途”相关的属性信息是由创建了程序部件的生产者输入的。与“ID”及“登记日期时间”相关的属性信息是在登记程序部件时由部件登记处理部17生成的。此外,在部件管理部24储存的属性信息不限于图4所示的情况。在部件管理部24中也可以储存有与图4所示的属性以外的属性相关的属性信息。
在图3所示的步骤S6中,客户端PC 4的检索指示部36生成用于对登记于服务器1的程序部件进行检索的检索指示。在检索指示中包含所指定的检索条件的信息。
在客户端PC 4显示用于指定检索条件的输入格式。输入格式由电子市场提供。在输入格式中设置有用于输入部件类别的信息和检索词的栏,该检索词用于确定用途。也可以在输入格式中设置有用于指定程序部件的创建者的栏或用于指定程序部件的登记的日期时间的栏等。消费者通过操作客户端PC 4而将与所期望的程序部件相关的条件输入至输入格式。
在步骤S7中,客户端PC 4将包含所指定的检索条件的信息的检索指示发送至服务器1。在步骤S8中,服务器1的检索处理部20按照检索指示而执行检索处理。在步骤S9中,服务器1向客户端PC 4发送检索结果。
在步骤S10中,客户端PC 4的取得处理部35将从通过检索而命中的程序部件之中由消费者选定的程序部件通知给服务器1,向服务器1请求与被选定的程序部件相关的动作确认。
服务器1的执行处理部21按照来自客户端PC 4的通知从模块管理部25读出与被选定的程序部件对应的模拟器。执行处理部21基于被选定的程序部件的“部件类别”从在模块管理部25储存的模拟器之中确定与被选定的程序部件对应的模拟器。
在步骤S11中,服务器1通过由执行处理部21执行程序部件而进行程序部件的动作确认。动作确认部15也可以由动作环境设定部22设定与控制设备的动作相关的动作环境。动作环境设定部22例如将诸如控制设备的型号名称或已创建出的程序这样的事项设定作为动作环境。在步骤S12中,服务器1将动作确认的结果通知给客户端PC 4。
客户端PC 4将从服务器1通知来的动作确认的结果提示给消费者。消费者通过向客户端PC 4的操作而指示程序部件的购入。在步骤S13中,客户端PC 4通过按照消费者的指示而由取得处理部35取得程序部件,从而进行程序部件的购入手续。这样,消费者能够在购入程序部件之前进行控制设备中的程序部件的动作确认。
接下来,对由认证部16实施的验证的具体例进行说明。认证部16通过系统试验来验证对于预先设定的命令来说模拟器是否按照动作规格正常地进行动作。在系统试验中包含针对预先设定的项目的试验。项目的数量是任意的。这里,对针对2个项目的试验的例子进行说明。
图5是用于对图1所示的服务器的认证部所实施的试验的第1例进行说明的流程图。在第1例涉及的试验中,认证部16对被写入至模拟器的验证用的程序与在写入后从模拟器读出的验证用的程序是否一致进行验证。认证部16通过上述验证来确认在从向模拟器写入程序之前至从模拟器读出程序为止的期间,在程序中未产生多余的改写。在图5中,示出第1例涉及的试验中的认证部16及显示装置14的动作流程。
在步骤S21中,认证部16向从模块管理部25读出的模拟器写入验证用的程序。在步骤S22中,认证部16从模拟器读出在步骤S21中写入的验证用的程序。在步骤S23中,认证部16对在步骤S21中写入的验证用的程序与在步骤S22中读出的验证用的程序进行核对。认证部16将核对的结果发送至显示装置14。在步骤S24中,显示装置14对核对的结果进行显示。
当在步骤S23的核对中双方的程序一致的情况下,认证部16判定为在验证用的程序中未产生改写,针对本项目的试验是合格的。另一方面,当在步骤S23的核对中在双方的程序中存在不一致的部分的情况下,认证部16判定为针对本项目的试验是不合格的。
图6是表示由图1所示的服务器的认证部进行的核对的结果的显示例的图。这里,核对源的数据是指在向模拟器的写入之前保存的验证用的程序。核对目标的数据是指在从模拟器读出之后保存的验证用的程序。在图6中,示出对每个程序文件的核对结果进行显示的例子。数据名是指程序文件的名称。显示装置14针对每个程序文件而显示“一致”或“不一致”的核对结果。在图6所示的例子中,针对程序文件“ABCD”而显示“一致”的核对结果,针对程序文件“EFGH”而显示“一致”的核对结果。
图7是用于对图1所示的服务器的认证部所实施的试验的第2例进行说明的图。在第2例涉及的试验中,认证部16对在模拟器中执行试验对象程序得到的结果与由实际的控制设备执行试验对象程序的情况下的动作结果是否相同进行验证。在图7中示出作为试验对象程序的梯形图程序的例子。
通过梯形图语言创建的程序代码包含作为基本结构要素的电路符号及变量。电路符号包含表示控制设备中的处理的触点及线圈。变量表示控制程序上的控制的对象即由电路符号示出的处理的对象。变量是由表示结构要素的类别的字母与用于结构要素的识别的数字之间的组合来记述的。变量与控制设备的存储器内的作业区域的各数据区域相关联。在各数据区域中储存每个结构要素的运算数据。运算数据包含表现ON与OFF之间的区别的位数据和表现出数值的字数据。对处理的每个对象任意地分配变量所包含的数字。
在图7所示的“No.1”的梯形图程序中,“X0”是被输入位数据的设备,“Y10”的设备值与“X0”的ON及OFF联动地切换。认证部16针对“No.1”的梯形图程序,对模拟器能否再现通过将“X0”设为ON的输入操作,从而“Y10”变为ON这一控制设备的动作进行验证。认证部16针对与“No.1”相同的“No.2”的梯形图程序,对模拟器能否再现通过将“X0”设为OFF的输入操作,从而“Y10”变为OFF这一控制设备的动作进行验证。认证部16针对“No.3”及之后的梯形图程序也与“No.1”、“No.2”的梯形图程序的情况同样地,对与输入操作相对的输出结果进行验证。
在模拟器能够再现实际的控制设备的动作的情况下,认证部16判定为针对本项目的试验是合格的。另一方面,在模拟器无法再现实际的控制设备的动作的情况下,认证部16判定为针对本项目的试验是不合格的。
然后,作为试验,认证部16进行模拟器具有安全对策功能的确认和模拟器没有安全上的问题的确认。认证部16对模拟器具有对程序部件中的计算机病毒进行检测的功能作为安全对策功能这一情况进行确认。另外,认证部16为了确认模拟器没有安全上的问题,对在模拟器中未检测到计算机病毒进行确认。
认证部16对针对所有项目的试验都合格的模拟器作出认证。此外,认证部16所进行的试验不限于在实施方式1中说明的试验。认证部16所实施的试验只要是可以验证出动作模拟模块能否模拟由执行程序部件实现的控制设备的动作的试验即可,也可以是上述试验以外的试验。
服务器1通过在动作确认部15进行程序部件的动作确认,从而能够针对向消费者提供的程序部件而保证正常的动作。另外,由于对在动作确认时使用的动作模拟模块作出了认证,因此保证了能够模拟控制设备的动作。因此,消费者能够安心地购入从服务器1取得的程序部件。针对消费者所取得的各程序部件,在程序部件的取得时或控制程序的创建时不需要消费者侧的动作确认,由此能够减少用于由消费者进行动作确认的作业负担。另外,由于还不需要由平台商或生产者单独地进行在程序提供系统上供应的程序部件的动作确认,因此,就平台商及生产者而言,用于动作确认的作业负担也不会变大。
根据实施方式1,程序提供装置具有基于能否模拟控制设备的动作的验证结果而对动作模拟模块作出认证的认证部和使用被作出了认证的动作模拟模块进行程序部件的动作确认的动作确认部,从而具有能够减少程序部件的动作确认所用的作业负担的效果。
实施方式2
在实施方式2中,对程序部件的动作确认时的服务器1的动作例进行说明。图8是表示实施方式2涉及的作为程序提供装置的服务器的动作流程的例子的流程图。在实施方式2中,对与上述实施方式1相同的结构要素标注相同的标号,主要对与实施方式1不同的结构进行说明。
作为图8所示的流程的前提,设为客户端PC 4的取得处理部35从服务器1的部件管理部24取得了程序部件。客户端PC 4向服务器1发送项目文件。项目文件是包含在程序创建部37创建的控制程序和所取得的程序部件的数据文件。
服务器1的动作环境设定部22读入从客户端PC 4发送来的项目文件。在步骤S31中,服务器1在动作环境设定部22中从项目文件取得表示控制设备的动作环境的设定信息。在设定信息中包含控制设备的型号名称、控制设备的连接信息、在控制设备中设定的各种参数等。动作环境设定部22向由执行处理部21执行的动作模拟模块提供设定信息。
在步骤S32中,服务器1由执行处理部21启动虚拟的控制设备,执行由虚拟的控制设备进行的控制。执行处理部21按照来自客户端PC 4的指示而启动虚拟的控制设备。执行处理部21按照从动作环境设定部22提供的控制程序和程序部件而执行控制。在步骤S33中,服务器1将由虚拟的控制设备得到的控制的结果即执行结果从执行处理部21向显示处理部23输出。
在步骤S34中,服务器1在显示处理部23中基于由控制程序及程序部件的执行得到的执行信息而生成用于对虚拟的控制设备的动作状态进行显示的显示信息。服务器1将所生成的显示信息发送至客户端PC 4。
客户端PC 4向服务器1指示由虚拟的控制设备进行的控制的执行开始和由虚拟的控制设备进行的执行的停止。另外,客户端PC 4按照从服务器1发送来的显示信息,通过客户端PC 4的显示装置对执行结果进行显示。客户端PC 4也可以从服务器1读出由动作环境设定部22设定的设定信息,通过客户端PC 4的显示装置对设定信息的内容进行显示。消费者也可以对在动作环境设定部22设定的设定信息的内容进行确认,通过客户端PC 4的操作而追加设定信息。客户端PC 4将追加的设定信息发送至服务器1。在动作环境设定部22中,向从项目文件取得的设定信息追加从客户端PC 4发送来的设定信息。
在虚拟的控制设备的动作状态与消费者期望的动作状态不同的情况下,消费者也可以在程序创建部37中对控制程序进行修正。客户端PC 4将修正后的控制程序发送至服务器1。动作环境设定部22基于从客户端PC 4发送来的控制程序对设定信息进行更新。动作环境设定部22将更新后的设定信息提供给动作模拟模块。
服务器1基于更新后的设定信息而反复进行上述的步骤S32至步骤S34的动作。服务器1和客户端PC 4也可以是直至虚拟的控制设备的动作状态变为与消费者期望的动作状态相同为止,反复进行控制程序的修正、设定信息的更新和上述的步骤S32至步骤S34的动作。这样,消费者能够创建可以实现所期望的动作的控制程序。
根据实施方式2,程序提供装置通过由动作确认部15进行基于设定信息的动作确认,从而具有能够实现与控制设备的动作环境相适应的动作确认的效果,其中,该设定信息表示控制设备的动作环境。
实施方式3
在实施方式3中,对在服务器1处的程序部件的检索中应用人工智能(ArtificialIntelligence:AI)的例子进行说明。图9是实施方式3涉及的作为程序提供装置的服务器的框图。在实施方式3中,对与上述实施方式1及2相同的结构要素标注相同的标号,主要对与实施方式1及2不同的结构进行说明。
服务器1具有使用处理器10而实现的功能部即类似词检索部40。类似词检索部40从在程序部件的检索中过去使用过的检索词之中对与输入来的检索词类似的检索词进行检索。类似词检索部40的功能是通过处理器10及软件的组合而实现的。类似词检索部40的功能可以通过处理器10及固件的组合而实现,也可以通过处理器10、软件及固件的组合而实现。
类似词检索部40具有对检索词彼此的类似度进行计算的类似度学习部42。类似度学习部42应用基于单词彼此的共现关系的类似度的计算方法等而对检索词彼此的类似度进行计算。
存储器11具有积蓄与程序部件的检索相关的信息的检索数据库41。检索数据库41具有积蓄将检索词与程序部件关联起来的检索结果数据的检索结果数据库43和积蓄由类似度学习部42计算出的类似度的类似度数据库44。检索结果数据库43是对在提供程序部件时的程序部件的检索时输入的检索词与所提供的程序部件被关联起来的检索结果数据进行保存的检索结果数据保存部。类似度数据库44是对检索词的组合和组合中的检索词彼此的类似度进行保存的类似度保存部。
客户端PC 4将包含由消费者输入的检索词的检索指示发送至服务器1。在客户端PC 4输入大于或等于1个检索词。例如,设为“a”、“b”、“c”这3个检索词被输入至客户端PC4。在以下的说明中,有时将输入进来的检索词的组合称为输入检索词组合。检索处理部20将从客户端PC 4发送来的输入检索词组合“a、b、c”输出至类似词检索部40。
类似词检索部40从在检索结果数据库43积蓄的检索结果数据,检索包含与输入检索词组合完全一致的检索词的组合的检索结果数据。类似词检索部40在存在包含与输入检索词组合完全一致的检索词的组合的检索结果数据的情况下,将该检索结果数据设定为第1候补。
类似词检索部40针对作为输入检索词组合的要素的各检索词,从类似度数据库44读出在类似度数据库44保存的检索词之中类似度最高的检索词。例如,如果设为与输入检索词组合的要素之一即“c”之间的类似度最高的检索词为“d”,则类似词检索部40从类似度数据库44读出“d”。
接下来,类似词检索部40通过从类似度数据库44读出的检索词对作为输入检索词组合的要素的检索词进行置换,对包含与检索词被置换后的输入检索词组合一致的检索词的组合的检索结果数据进行检索。类似词检索部40在存在包含与检索词被置换后的输入检索词组合一致的检索词的组合的检索结果数据的情况下,将该检索结果数据设定为第2候补。在上述的例子的情况下,置换了检索词后的输入检索词组合是“a、b、d”。此外,类似词检索部40也可以从类似度数据库44读出多个检索词,针对检索词被置换后的多个输入检索词组合各自而对检索结果数据进行检索。类似词检索部40读出在类似度数据库44保存的检索词中的类似度最高的多个检索词。
检索处理部20将各候补即检索结果数据输出至通信装置13。通信装置13将检索结果数据发送至客户端PC 4。客户端PC 4对检索结果数据进行显示。客户端PC 4的取得处理部35按照消费者的操作,向服务器1请求与显示出的检索结果数据各自所包含的程序部件相关的动作确认。服务器1的动作确认部15按照来自客户端PC 4的通知而进行各程序部件的动作确认。服务器1将针对各程序部件的动作确认的结果通知给客户端PC 4。
客户端PC 4将从服务器1通知来的动作确认的结果提示给消费者。消费者通过向客户端PC 4的操作而指示程序部件的购入。检索处理部20将针对由消费者购入的程序部件的检索结果数据追加至检索结果数据库43。
类似度学习部42针对被追加至检索结果数据库43的检索结果数据,对检索词彼此的类似度进行计算。类似度学习部42通过将计算出的类似度的值储存于类似度数据库44,从而对该检索词彼此的类似度进行更新。
例如,设为由消费者输入的输入检索词组合是“a、b、c”,由消费者购入了在检索结果数据库43中与“a、b、d”的检索词关联的“程序部件α”。检索处理部20将“a、b、d”的检索词与“程序部件α”被关联起来的检索结果数据储存于检索结果数据库43。另外,作为具有与检索结果数据中的“a”、“b”、“程序部件α”这3个要素相同的共现关系的“c”及“d”的类似度,类似度学习部42针对“c”及“d”,计算出比在类似度数据库44储存的类似度高的值。即,类似度学习部42进行使“c”及“d”的类似度增加的更新。此外,由服务器1进行的程序部件的检索不限于由AI的应用来实现。服务器1也可以不使用AI地对程序部件进行检索。
根据实施方式3,即使在没有包含与输入检索词组合完全一致的检索词的组合的检索结果数据的情况下,程序提供装置也能够对与输入检索词组合类似度高的检索词的组合关联的程序部件进行检索。程序提供装置能够实现消费者所期望的程序部件的可靠的检索,由此能够使程序部件的再次利用所用的作业高效化。
以上的各实施方式所示的结构表示的是本发明的内容的一个例子。各实施方式的结构能够与其它的公知技术进行组合。各实施方式的结构彼此也可以适当组合。在不脱离本发明的主旨的范围也能够省略、变更各实施方式的结构的一部分。
标号的说明
1服务器,2、3、4客户端PC,5网络,10处理器,11存储器,13通信装置,14显示装置,15动作确认部,16认证部,17部件登记处理部,18模块登记处理部,19提供处理部,20检索处理部,21执行处理部,22动作环境设定部,23显示处理部,24部件管理部,25模块管理部,31模块创建部,32、34登记指示部,33部件创建部,35取得处理部,36检索指示部,37程序创建部,40类似词检索部,41检索数据库,42类似度学习部,43检索结果数据库,44类似度数据库。

Claims (7)

1.一种程序提供装置,其特征在于,具有:
提供处理部,其提供构成由控制设备执行的程序即控制程序的程序部件;
认证部,其针对用于模拟地执行基于所述程序部件的动作的程序即动作模拟模块,基于能否模拟由执行所述程序部件实现的所述控制设备的动作的验证结果而对所述动作模拟模块作出认证;以及
动作确认部,其使用被作出了所述认证的所述动作模拟模块而进行所述程序部件的动作确认。
2.根据权利要求1所述的程序提供装置,其特征在于,
所述动作确认部具有将表示所述控制设备的动作环境的信息设定于所述动作模拟模块的动作环境设定部,所述动作确认部在所述动作环境中对由执行所述程序部件实现的所述控制设备的动作进行模拟。
3.根据权利要求1或2所述的程序提供装置,其特征在于,
所述认证部实施用于验证所述动作模拟模块能否模拟所述控制设备的动作的试验。
4.根据权利要求1或2所述的程序提供装置,其特征在于,
具有:
检索结果数据保存部,其对提供所述程序部件时的所述程序部件的检索所使用的检索词与所提供的所述程序部件被关联起来的检索结果数据进行保存;
类似度保存部,其对过去使用过的检索词的组合和所述组合所包含的检索词彼此的类似度进行保存;以及
类似词检索部,其基于输入进来的检索词和在所述类似度保存部中保存的所述类似度,从在所述检索结果数据保存部中保存的检索结果数据之中检索包含与所述输入进来的检索词类似的检索词的检索结果数据。
5.根据权利要求3所述的程序提供装置,其特征在于,
具有:
检索结果数据保存部,其对提供所述程序部件时的所述程序部件的检索所使用的检索词与所提供的所述程序部件被关联起来的检索结果数据进行保存;
类似度保存部,其对过去使用过的检索词的组合和所述组合所包含的检索词彼此的类似度进行保存;以及
类似词检索部,其基于输入进来的检索词和在所述类似度保存部中保存的所述类似度,从在所述检索结果数据保存部中保存的检索结果数据之中检索包含与所述输入进来的检索词类似的检索词的检索结果数据。
6.一种程序提供方法,其由计算机执行构成控制程序的程序部件的提供,所述控制程序是由控制设备执行的程序,
所述程序提供方法的特征在于,包含以下工序:
针对用于模拟地执行基于所述程序部件的动作的程序即动作模拟模块,基于能否模拟由执行所述程序部件实现的所述控制设备的动作的验证结果而对所述动作模拟模块作出认证;以及
使用被作出了所述认证的所述动作模拟模块而进行所述程序部件的动作确认。
7.一种程序提供系统,其包含提供构成控制程序的程序部件的程序提供装置,该控制程序是由控制设备执行的程序,
所述程序提供系统的特征在于,
所述程序提供装置具有:
认证部,其针对用于模拟地执行基于所述程序部件的动作的程序即动作模拟模块,基于能否模拟由执行所述程序部件实现的所述控制设备的动作的验证结果而对所述动作模拟模块作出认证;以及
动作确认部,其使用被作出了所述认证的所述动作模拟模块而进行所述程序部件的动作确认。
CN202080096109.3A 2020-02-14 2020-02-14 程序提供装置、程序提供方法及程序提供系统 Active CN115104088B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/005898 WO2021161534A1 (ja) 2020-02-14 2020-02-14 プログラム提供装置、プログラム提供方法およびプログラム提供システム

Publications (2)

Publication Number Publication Date
CN115104088A CN115104088A (zh) 2022-09-23
CN115104088B true CN115104088B (zh) 2024-02-06

Family

ID=73452908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080096109.3A Active CN115104088B (zh) 2020-02-14 2020-02-14 程序提供装置、程序提供方法及程序提供系统

Country Status (4)

Country Link
US (1) US11703833B2 (zh)
JP (1) JP6789458B1 (zh)
CN (1) CN115104088B (zh)
WO (1) WO2021161534A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213404A (ja) * 2006-02-10 2007-08-23 Canon Inc 組込機器、ダウンロード方法、記憶媒体、プログラム
CN102156840A (zh) * 2010-02-12 2011-08-17 三菱电机株式会社 控制装置以及管理装置
JP2013235504A (ja) * 2012-05-10 2013-11-21 Toyota Motor Corp ソフトウェア配信システム、ソフトウェア配信方法
CN109791398A (zh) * 2017-06-27 2019-05-21 三菱电机株式会社 调试装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312506A (ja) 2001-04-18 2002-10-25 Hitachi Ltd アプリケーションプログラムの配信方法及び配信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213404A (ja) * 2006-02-10 2007-08-23 Canon Inc 組込機器、ダウンロード方法、記憶媒体、プログラム
CN102156840A (zh) * 2010-02-12 2011-08-17 三菱电机株式会社 控制装置以及管理装置
JP2013235504A (ja) * 2012-05-10 2013-11-21 Toyota Motor Corp ソフトウェア配信システム、ソフトウェア配信方法
CN109791398A (zh) * 2017-06-27 2019-05-21 三菱电机株式会社 调试装置

Also Published As

Publication number Publication date
WO2021161534A1 (ja) 2021-08-19
US20230011646A1 (en) 2023-01-12
US11703833B2 (en) 2023-07-18
JPWO2021161534A1 (zh) 2021-08-19
JP6789458B1 (ja) 2020-11-25
CN115104088A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
EP3798758B1 (en) System, method and medium for generating system project data
JP2007012003A (ja) フィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステム
US11106196B2 (en) Method and apparatus for shaping a production process for producing a product made up of multiple subproducts
US20140113257A1 (en) Automated evaluation of programming code
CN104204976A (zh) 信息处理装置、模拟方法及程序
GB2524737A (en) A system and method for testing a workflow
CN108196861B (zh) 一种数据升级方法及其诊断设备
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN115104088B (zh) 程序提供装置、程序提供方法及程序提供系统
KR20230081501A (ko) 생산 계획 수립 장치 및 방법
EP3734379A1 (en) Method and system for generating control programs in a cloud computing environment
US20230222009A1 (en) System for Determining Data Center Application Program Interface Readiness
US20230021715A1 (en) Simulated Data Center
JP6366811B2 (ja) 検査装置、検査方法、及び、プログラム
CN114169924A (zh) 一种广告全链路自动校验方法、装置与计算设备
JP2021117666A (ja) コード検査ツール、コード検査方法
Hagar IoT Test Design: Frameworks, Techniques, Attacks, Patterns, and Tours
JP7049534B1 (ja) デバッグ支援プログラム、デバッグ支援装置、デバッグ支援方法および機械学習装置
KR102338616B1 (ko) 재난 확산 예측 모델을 검증하기 위한 전자 장치
US20230022737A1 (en) Generation support apparatus, generation support method, and generation support program
US20220351734A1 (en) System for Enterprise Voice Signature Login
JP7256353B2 (ja) 情報処理システム、その制御方法及びプログラム
US20220180153A1 (en) Method and device for generating a computer-readable model for a technical system
JP2024068829A (ja) 情報処理方法、情報処理装置及びプログラム
JPH11212825A (ja) 組み込みシステムテスト方法及び組み込みシステムテスト装置並びに記録媒体

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant