CN115066676A - 控制系统、程序创建辅助装置、程序创建辅助方法及程序创建辅助程序 - Google Patents

控制系统、程序创建辅助装置、程序创建辅助方法及程序创建辅助程序 Download PDF

Info

Publication number
CN115066676A
CN115066676A CN202080096084.7A CN202080096084A CN115066676A CN 115066676 A CN115066676 A CN 115066676A CN 202080096084 A CN202080096084 A CN 202080096084A CN 115066676 A CN115066676 A CN 115066676A
Authority
CN
China
Prior art keywords
program
execution
test
execution code
code
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
Application number
CN202080096084.7A
Other languages
English (en)
Other versions
CN115066676B (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 CN115066676A publication Critical patent/CN115066676A/zh
Application granted granted Critical
Publication of CN115066676B publication Critical patent/CN115066676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • G06F8/4435Detection or removal of dead or redundant code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

控制系统(1A)具有控制器(30)和对控制器(30)用于装置的控制的程序的创建进行辅助的程序创建辅助装置(10),程序包含对装置进行正式控制的控制程序和控制对装置的测试处理的测试程序,程序创建辅助装置(10)具有:主体执行代码创建部(13),其创建控制程序的执行代码即主体执行代码;测试执行代码创建部(23),其创建对针对装置的测试调整处理进行控制的测试程序的执行代码即测试执行代码;以及测试执行条件指定部(22),其创建执行测试执行代码的条件即测试执行条件,该程序创建辅助装置分别创建主体执行代码和测试执行代码,控制器(30)使用主体执行代码、测试执行代码及测试执行条件对装置进行控制。

Description

控制系统、程序创建辅助装置、程序创建辅助方法及程序创建 辅助程序
技术领域
本发明涉及对控制程序的创建进行辅助的控制系统、程序创建辅助装置、程序创建辅助方法及程序创建辅助程序。
背景技术
当前,在确认对伺服电动机等驱动设备进行控制的控制器能否进行所期望的控制动作时,进行对驱动设备的动作进行控制的控制程序的测试等。在进行测试等时,进行驱动设备的控制的主体部的源代码与进行测试等辅助处理的辅助部的源代码被一体化,根据一体化后的源代码来创建执行代码。然后,创建后的执行代码被写入至控制器,控制器通过执行执行代码而进行测试等。
专利文献1所记载的控制器辅助装置使用被设置于控制程序的调试用程序而执行控制程序的模拟。即,专利文献1所记载的控制器辅助装置在进行辅助处理的情况下,使用被设置于控制程序的辅助部的程序而执行控制程序的辅助处理。在该控制器辅助装置的情况下,例如如果需要测试条件的变更,则根据变更后的测试条件对辅助部的源代码进行编辑,根据将主体部的源代码与编辑后的辅助部的源代码一体化后的源代码来重新创建执行代码。然后,控制器通过执行重新创建的执行代码而进行重新测试等。
专利文献1:日本专利第5246186号公报
发明内容
但是,在上述专利文献1的控制器辅助装置中,在控制程序的测试等完成之后,如果不将不需要的辅助部的执行代码从控制程序去除,则有时在仅想要执行控制程序的主体部的执行代码的情况下,会错误地执行辅助部的执行代码。另外,为了将辅助部的执行代码从控制程序准确地去除,需要大量的工作量。
本发明就是鉴于上述课题而提出的,其目的在于得到能够容易地防止在执行主体部的执行代码时错误地执行辅助部的执行代码的控制系统。
为了解决上述课题,达成目的,本发明的控制系统具有:控制器,其对装置进行控制;以及程序创建辅助装置,其对控制器在装置的控制中使用的程序的创建进行辅助。程序包含对装置进行正式控制的控制程序和控制对装置的辅助处理的辅助程序。程序创建辅助装置具有:主体执行代码创建部,其创建控制程序的执行代码即主体执行代码;辅助执行代码创建部,其创建辅助程序的执行代码即辅助执行代码;以及辅助执行条件创建部,其创建执行辅助执行代码的条件即辅助执行条件。另外,程序创建辅助装置分别创建主体执行代码和辅助执行代码。控制器使用主体执行代码、辅助执行代码及辅助执行条件对装置进行控制。
发明的效果
本发明涉及的控制系统取得能够容易地防止在执行主体部的执行代码时错误地执行辅助部的执行代码的效果。
附图说明
图1是表示实施方式1涉及的控制系统的结构的图。
图2是表示由实施方式1涉及的控制系统进行的控制处理的流程的流程图。
图3是表示实施方式1涉及的由程序创建辅助装置进行的数据创建处理的流程的时序图。
图4是表示由实施方式1涉及的控制系统进行的数据发送处理及数据保存处理的流程的时序图。
图5是表示由实施方式1涉及的控制系统进行的控制程序的执行处理的流程的时序图。
图6是表示实施方式2涉及的控制系统的结构的图。
图7是用于对与实施方式2涉及的控制系统所控制的电动机连接的机构部进行说明的图。
图8是表示对实施方式2涉及的控制系统设定的控制用参数的第1例的图。
图9是表示实施方式2涉及的控制系统所使用的运转模式的第1例的图。
图10是表示对实施方式2涉及的控制系统设定的控制用参数的第2例的图。
图11是表示实施方式2涉及的控制系统所使用的运转模式的第2例的图。
图12是表示实施方式1、2涉及的实现程序创建辅助装置的硬件结构例的图。
具体实施方式
以下,基于附图,对本发明的实施方式涉及的控制系统、程序创建辅助装置、程序创建辅助方法及程序创建辅助程序详细进行说明。此外,本发明不限定于这些实施方式。
实施方式1
图1是表示实施方式1涉及的控制系统的结构的图。控制系统1A具有程序创建辅助装置10和控制器30。程序创建辅助装置10与显示装置3连接,控制器30经由放大器4而与电动机2连接。
控制器30是对驱动设备即电动机2进行控制的计算机。程序创建辅助装置10是创建在控制器30对电动机2进行控制时所使用的控制程序的计算机。
程序创建辅助装置10按照来自用户的指示而创建控制程序。另外,程序创建辅助装置10按照来自用户的指示而创建执行控制程序的条件即执行条件。例如,控制程序有时包含控制程序PA、PB、PC。在这种情况下,有时想要仅执行控制程序PA,有时想要跳过控制程序PB,有时想要以特定次数(例如,10次)进行控制程序PC的执行等。用于执行这些处理的条件是执行条件。例如,在执行条件中,如果规定了“在存在控制程序PA的情况下,跳过控制程序PA”,则控制器30在存在控制程序PA的情况下,跳过控制程序PA。
本实施方式的程序创建辅助装置10通过分别创建、分别编译在进行电动机2的控制时所使用的主体部的源代码和主体部以外的源代码,从而创建各自的执行代码。主体部以外的源代码是用于对辅助处理进行控制的源代码。用于对辅助处理进行控制的源代码的例子是进行主体部的测试及调整(以下,称为测试调整)的源代码。此外,有时根据主体部的测试结果而省略主体部的调整。
程序创建辅助装置10根据主体部的源代码而创建主体部的执行代码,根据测试调整用的源代码而创建测试调整用的执行代码。在以下的说明中,将主体部的源代码称为主体源代码,将测试调整用的源代码称为测试源代码。另外,将主体部的执行代码称为主体执行代码,将测试调整用的执行代码称为测试执行代码。
程序创建辅助装置10通过对控制程序的主体源代码进行编译而创建控制程序的主体执行代码。程序创建辅助装置10通过对控制程序的测试源代码进行编译而创建控制程序的测试执行代码。
这样,在程序创建辅助装置10所创建的控制程序中存在成为主体部的控制程序(主体执行代码)和测试调整用的控制程序(测试执行代码)这2个控制程序。成为主体部的控制程序是作为实际的产品而工作的控制程序。
成为主体部的控制程序进行与包含电动机2的装置的控制直接相关的处理。换言之,成为主体部的控制程序是对包含电动机2的装置进行正式控制的程序。
测试调整用的控制程序是对辅助处理进行控制的辅助程序。测试调整用的控制程序在测试调整时是需要的,但在完成了测试调整之后就不再需要。
此外,在以下的说明中,将成为主体部的控制程序简称为主体程序,将测试调整用的控制程序称为测试程序。另外,在指代主体程序及测试程序这两者的程序的情况下,称为控制程序。主体程序有时包含运动控制程序,在这种情况下,测试程序进行运动控制程序的测试调整等。
另外,程序创建辅助装置10分别创建在执行主体执行代码时所使用的执行条件和在执行辅助执行代码即测试执行代码时所使用的执行条件。在以下的说明中,将主体部的执行条件即用于执行主体程序的条件称为主体执行条件,将测试调整用的执行条件即用于执行测试程序的条件称为测试执行条件。
在主体执行条件中规定,在存在特定的主体程序的情况下,跳过该特定的主体程序等。在辅助执行条件即测试执行条件中规定,当存在在主体程序之前执行的测试程序的情况下,执行该测试程序等。另外,在主体执行条件及测试执行条件中也可以规定,在特定的变量变为特定的值的情况下,执行特定的处理等。
程序创建辅助装置10将主体执行代码、测试执行代码、主体执行条件及测试执行条件发送至控制器30。
控制器30在测试调整时使用主体执行代码、主体执行条件、测试执行代码及测试执行条件对电动机2的动作进行控制。另外,控制器30在完成了测试调整之后,使用主体执行代码及主体执行条件对电动机2的动作进行控制。控制器30分别对主体执行代码和测试执行代码进行管理。另外,控制器30分别对主体执行条件和测试执行条件进行管理。
程序创建辅助装置10具有主体源代码编辑部11、主体执行条件指定部12和主体执行代码创建部13。另外,程序创建辅助装置10具有辅助源代码编辑部即测试源代码编辑部21、辅助执行条件创建部即测试执行条件指定部22、辅助执行代码创建部即测试执行代码创建部23、通信部71和输入部72。
通信部71具有主体发送部14、主体接收部15、测试发送部24和测试接收部25。
控制器30具有通信部81、主体执行代码存储部33、测试执行代码存储部43、控制部82和输出部83。通信部81能够与通信部71之间进行通信。通信部81与通信部71之间可以通过无线通信而连接,也可以通过有线通信而连接。
通信部81具有主体接收部31、主体发送部32、测试接收部41和测试发送部42。控制部82具有主体执行控制部34、主体执行条件判定部35、测试执行控制部44和测试执行条件判定部45。
以下,对程序创建辅助装置10及控制器30的各结构要素进行说明。程序创建辅助装置10的输入部72接收来自用户的指示。在输入部72从用户接收到的指示中存在对主体源代码进行编辑的指示、创建主体执行代码的指示、对主体执行条件进行指定的指示、对辅助源代码即测试源代码进行编辑的指示、创建测试执行代码的指示、对测试执行条件进行指定的指示等。
另外,在输入部72从用户接收的指示中存在将控制程序发送至控制器30的指示、将执行条件发送至控制器30的指示、使控制器30执行控制程序的指示(以下,有时称为程序执行指示)等。在将控制程序发送至控制器30的指示中存在发送主体程序的指示(以下,有时称为主体程序发送指示)和发送测试程序的指示(以下,有时称为测试程序发送指示)。
输入部72如果接收到对主体源代码进行编辑的指示,则将该指示发送至主体源代码编辑部11。输入部72如果接收到对测试源代码进行编辑的指示,则将该指示发送至测试源代码编辑部21。
输入部72如果接收到创建主体执行代码的指示,则将该指示经由主体源代码编辑部11而发送至主体执行代码创建部13。输入部72如果接收到创建测试执行代码的指示,则将该指示经由测试源代码编辑部21而发送至测试执行代码创建部23。
输入部72如果接收到对主体执行条件进行指定的指示,则将该指示经由主体源代码编辑部11而发送至主体执行条件指定部12。输入部72如果接收到对测试执行条件进行指定的指示,则将该指示经由测试源代码编辑部21而发送至测试执行条件指定部22。
此外,输入部72也可以将对主体执行条件进行指定的指示直接发送至主体执行条件指定部12。另外,输入部72也可以将对测试执行条件进行指定的指示直接发送至测试执行条件指定部22。
输入部72如果接收到主体程序发送指示,则将该指示发送至通信部71。输入部72如果接收到测试程序发送指示,则将该指示发送至通信部71。输入部72如果接收到程序执行指示,则将该指示经由通信部71而发送至控制器30的通信部81。
主体源代码编辑部11使编辑对象的源代码显示于液晶监视器等显示装置3。主体源代码编辑部11针对正在显示装置3显示的信息而接收对主体源代码进行编辑的指示。主体源代码编辑部11按照对主体源代码进行编辑的指示而对主体源代码进行编辑。主体源代码编辑部11如果接收到创建主体执行代码的指示,则将主体源代码发送至主体执行代码创建部13。
主体执行代码创建部13如果接收到创建主体执行代码的指示,则通过对主体源代码进行编译而创建主体执行代码。主体执行代码创建部13将创建后的主体执行代码发送至通信部71。
主体执行条件指定部12按照对主体执行条件进行指定的指示而创建主体执行条件。主体执行条件指定部12将创建后的主体执行条件发送至通信部71。
通信部71的主体发送部14如果接收到主体程序发送指示,则将主体执行代码及主体执行条件发送至控制器30的通信部81。另外,主体发送部14如果接收到程序执行指示,则将程序执行指示发送至控制器30的通信部81。
通信部71的主体接收部15从控制器30接收表示测试调整的结果的数据、主体执行代码等而发送至主体源代码编辑部11。
测试源代码编辑部21使编辑对象的源代码显示于显示装置3。测试源代码编辑部21针对正在显示装置3显示的信息而接收对测试源代码进行编辑的指示。测试源代码编辑部21按照对测试源代码进行编辑的指示而对测试源代码进行编辑。测试源代码编辑部21如果接收到创建测试执行代码的指示,则将测试源代码发送至测试执行代码创建部23。
测试执行代码创建部23如果接收到创建测试执行代码的指示,则通过对测试源代码进行编译而创建测试执行代码。测试执行代码创建部23将创建后的测试执行代码发送至通信部71。
测试执行条件指定部22按照对测试执行条件进行指定的指示而创建测试执行条件。测试执行条件指定部22将创建后的测试执行条件发送至通信部71。
通信部71的测试发送部24如果接收到测试程序发送指示,则将测试执行代码及测试执行条件发送至控制器30的通信部81。
通信部71的测试接收部25从控制器30接收表示测试调整的结果的数据、测试执行代码等而发送至测试源代码编辑部21。
在控制器30的通信部81中,如果主体接收部31从主体发送部14接收到信息,则使接收到的信息存储于主体执行代码存储部33。主体接收部31从主体发送部14接收的信息是主体执行代码、主体执行条件、程序执行指示等。
主体发送部32从主体执行代码存储部33读出由程序创建辅助装置10请求的信息而发送至程序创建辅助装置10的通信部71。
主体执行代码存储部33是对从通信部81发送来的信息及从控制部82发送来的信息进行存储的存储器等。从通信部81发送至主体执行代码存储部33的信息是主体执行代码、主体执行条件、程序执行指示等,从控制部82发送来的信息是表示测试调整的结果的数据等。
在控制器30的通信部81中,如果测试接收部41从测试发送部24接收到信息,则使接收到的信息存储于测试执行代码存储部43。测试接收部41从测试发送部24接收的信息是测试执行代码、测试执行条件等。
测试发送部42从测试执行代码存储部43读出由程序创建辅助装置10请求的信息而发送至程序创建辅助装置10的通信部71。
测试执行代码存储部43是对从通信部81发送来的信息进行存储的存储器等。从通信部81发送至测试执行代码存储部43的信息是测试执行代码、测试执行条件等。
在控制部82中,主体执行条件判定部35、主体执行控制部34、测试执行控制部44和测试执行条件判定部45相连接。在控制部82中,主体执行控制部34、主体执行条件判定部35、测试执行控制部44、测试执行条件判定部45彼此共享信息而进行动作。此外,控制部82内的通信可以直接在结构要素之间进行,也可以经由其它结构要素进行。
如果主体执行代码存储部33对程序执行指示进行了存储,则主体执行控制部34读出程序执行指示。此外,程序执行指示也可以被从主体接收部31直接发送至主体执行控制部34。
主体执行控制部34如果读出了程序执行指示,则读出在主体执行代码存储部33存储的主体执行代码,向测试执行控制部44发送测试执行代码的读出指示。
主体执行控制部34向主体执行条件判定部35发送是否满足主体执行条件的判定指示。主体执行控制部34在满足主体执行条件的情况下执行主体执行代码,在不满足主体执行条件的情况下不执行主体执行代码(跳过)。
主体执行条件判定部35对是否满足主体执行条件进行判定,将判定结果发送至主体执行控制部34。在满足主体执行条件的情况下,主体执行条件判定部35向测试执行条件判定部45发送是否满足测试执行条件的判定指示。
测试执行控制部44向测试执行条件判定部45发送是否满足测试执行条件的判定指示。测试执行控制部44在满足测试执行条件的情况下执行测试执行代码,在不满足测试执行条件的情况下不执行测试执行代码。
测试执行条件判定部45对是否满足测试执行条件进行判定,将判定结果发送至测试执行控制部44。
控制部82在主体程序是N个(N为自然数)的情况下,针对N个主体程序而执行循环处理。
输出部83将从主体执行控制部34发送来的动作指令经由对信号进行放大的放大器4而输出至电动机2,将从测试执行控制部44发送来的动作指令经由放大器4而输出至电动机2。电动机2按照经由放大器4而发送来的动作指令进行动作。
这样,程序创建辅助装置10能够分别单独地创建控制程序的主体源代码和测试源代码而不使测试源代码混入主体源代码。
另外,程序创建辅助装置10能够通过对测试程序的测试源代码进行变更而变更测试内容或调整内容,无需变更主体程序的主体源代码。
另外,控制器30将主体程序的主体执行代码和测试程序的测试执行代码分别保存于单独的存储区域,因而程序创建辅助装置10无需变更主体执行代码就能够容易地进行诸如测试执行代码的追加、删除这样的变更。
另外,程序创建辅助装置10在完成了电动机2的测试调整之后无需变更主体程序的主体执行代码就能够容易地去除测试程序的测试执行代码。
图2是表示由实施方式1涉及的控制系统进行的控制处理的流程的流程图。在控制系统1A的控制器30中,如果主体执行控制部34读出了程序执行指示,则控制部82执行初始化处理(步骤S110)。在完成初始化处理之后,控制部82读出在主体执行代码存储部33存储的主体程序,开始针对读出的主体程序的反复处理。这里,对以主体程序P1、主体程序P2的顺序而规定了主体程序的处理流程的情况进行说明。
主体执行条件判定部35针对主体程序P1而判定是否满足主体执行条件。这里,对作为主体执行条件而规定了“在主体执行条件成立时跳过主体程序P1的执行”的情况进行说明。在这种情况下,主体执行条件判定部35通过对主体执行条件是否成立进行判定而判定是否跳过主体程序P1的执行(步骤S120)。
在跳过主体程序P1的执行的条件不成立的情况下(步骤S120,No),测试执行条件判定部45对是否满足测试执行条件进行判定。这里,对作为测试执行条件而规定了“当存在在主体程序P1的执行之前执行的测试程序Q1时,在主体程序P1的执行之前执行测试程序Q1”的情况进行说明。在这种情况下,测试执行条件判定部45对是否存在在主体程序P1的执行之前执行的测试程序Q1进行判定(步骤S130)。
当存在在主体程序P1的执行之前执行的测试程序Q1的情况下(步骤S130,Yes),测试执行条件判定部45判定为在主体程序P1的执行之前满足测试执行条件。在这种情况下,测试执行控制部44执行主体程序P1的测试程序Q1(步骤S140)。然后,主体执行控制部34执行主体程序P1(步骤S150)。
另一方面,当没有在主体程序P1的执行之前执行的测试程序Q1的情况下(步骤S130,No),测试执行条件判定部45判定为在主体程序P1的执行之前不满足测试执行条件。在这种情况下,测试执行控制部44不执行测试程序Q1,主体执行控制部34执行主体程序P1(步骤S150)。
如果完成主体程序P1的执行,则测试执行条件判定部45对在主体程序P1的执行之后是否满足测试执行条件进行判定。这里,对作为测试执行条件而规定了“当存在在主体程序P1的执行之后执行的测试程序Q2时,在主体程序P1的执行之后执行测试程序Q2”的情况进行说明。在这种情况下,测试执行条件判定部45对是否存在在主体程序P1的执行之后执行的测试程序Q2进行判定(步骤S160)。
当存在在主体程序P1的执行之后执行的测试程序Q2的情况下(步骤S160,Yes),测试执行条件判定部45判定为在主体程序P1的执行之后满足测试执行条件。在这种情况下,测试执行控制部44执行主体程序P1的测试程序Q2(步骤S170)。
然后,主体执行条件判定部35针对主体程序P2而判定是否满足主体执行条件。这里,对作为主体执行条件而规定了“在主体执行条件成立时跳过主体程序P2的执行”的情况进行说明。在这种情况下,主体执行条件判定部35通过对主体执行条件是否成立进行判定而判定是否跳过主体程序P2的执行(步骤S180)。
另一方面,当没有在主体程序P1的执行之后执行的测试程序Q2的情况下(步骤S160,No),测试执行条件判定部45判定为不满足测试执行条件。在这种情况下,测试执行控制部44不执行测试程序Q2,主体执行条件判定部35对是否跳过主体程序P2的执行进行判定(步骤S180)。
在步骤S120中,在跳过主体程序P1的执行的条件成立的情况下(步骤S120,Yes),主体执行控制部34跳过主体程序P1的执行。在这种情况下,主体执行条件判定部35对是否跳过主体程序P2的执行进行判定(步骤S180)。
在跳过主体程序P2的执行的条件不成立的情况下(步骤S180,No),测试执行条件判定部45对是否满足测试执行条件进行判定。这里,对作为测试执行条件而规定了“当存在在主体程序P2的执行之前执行的测试程序Q3时,在主体程序P2的执行之前执行测试程序Q3”的情况进行说明。在这种情况下,测试执行条件判定部45对是否存在在主体程序P2的执行之前执行的测试程序Q3进行判定(步骤S190)。
当存在在主体程序P2的执行之前执行的测试程序Q3的情况下(步骤S190,Yes),测试执行条件判定部45判定为在主体程序P2的执行之前满足测试执行条件。在这种情况下,测试执行控制部44执行主体程序P2的测试程序Q3(步骤S200)。然后,主体执行控制部34执行主体程序P2(步骤S210)。
另一方面,当没有在主体程序P2的执行之前执行的测试程序Q3的情况下(步骤S190,No),测试执行条件判定部45判定为在主体程序P2的执行之前不满足测试执行条件。在这种情况下,测试执行控制部44不执行测试程序Q3,主体执行控制部34执行主体程序P2(步骤S210)。
如果完成了主体程序P2的执行,则测试执行条件判定部45对在主体程序P2的执行之后是否满足测试执行条件进行判定。这里,对作为测试执行条件而规定了“当存在在主体程序P2的执行之后执行的测试程序Q4时,在主体程序P2的执行之后执行测试程序Q4”的情况进行说明。在这种情况下,测试执行条件判定部45对是否存在在主体程序P2的执行之后执行的测试程序Q4进行判定(步骤S220)。
当存在在主体程序P2的执行之后执行的测试程序Q4的情况下(步骤S220,Yes),测试执行条件判定部45判定为在主体程序P2的执行之后满足测试执行条件。在这种情况下,测试执行控制部44执行主体程序P2的测试程序Q4(步骤S230)。
另一方面,当没有在主体程序P2的执行之后执行的测试程序Q4的情况下(步骤S220,No),测试执行条件判定部45判定为不满足测试执行条件。在这种情况下,测试执行控制部44不执行测试程序Q4。
在步骤S180中,在跳过主体程序P2的执行的条件成立的情况下(步骤S180,Yes),主体执行控制部34跳过主体程序P2的执行。由此,控制部82结束针对从主体执行代码存储部33读出的主体程序的反复处理。
此外,由控制器30进行的反复处理不限于在图2中说明过的方法。例如,控制器30也可以按照由用户预先设定的时间间隔周期性地执行步骤S120至步骤S230的反复处理。另外,控制器30也可以以特定的外部信号(例如在检测到紧急停止按钮的按下时被输入至控制器30的信号)的输入为契机而执行反复处理。
在控制系统1A中,在测试调整时存在测试程序Q1~Q4,因而执行步骤S140、S170、S200、S230的处理。另一方面,在控制系统1A中,在实际运用时,测试程序Q1~Q4在控制器30中被无效化或删除,因而不执行步骤S140、S170、S200、S230的处理。
此外,控制系统1A也可以不使用主体执行条件。在这种情况下,程序创建辅助装置10也可以不具有主体执行条件指定部12。另外,控制器30也可以不具有主体执行条件判定部35。然后,省略图2中的步骤S120、S180的处理。
在控制系统1A中,测试执行条件指定部22能够按照来自用户的指示,指定在主体程序的执行之前执行测试执行代码的条件即事先条件。另外,在控制系统1A中,测试执行条件指定部22能够按照来自用户的指示,指定在主体程序的执行之后执行测试执行代码的条件即事后条件。
测试执行条件判定部45能够按照已设定的事先条件及事后条件而执行测试程序的测试执行代码,因而能够执行测试程序而无需变更主体程序。在事先条件成立的情况下执行的测试执行代码的例子是主体程序的初始化。在事后条件成立的情况下执行的测试执行代码的例子是使用了主体程序的执行结果的运算处理。
另外,在控制系统1A中,在完成了测试调整之后能够容易地将测试执行代码无效化或删除,因而能够容易地防止在执行主体执行代码时错误地执行测试执行代码。
图3是表示实施方式1涉及的由程序创建辅助装置进行的数据创建处理的流程的时序图。这里,对从源代码的编辑至执行条件的指定为止的处理进行说明。在程序创建辅助装置10所创建的数据中包含主体源代码、主体执行代码、主体执行条件、测试源代码、测试执行代码、测试执行条件等。图3所示的由主体源代码编辑部11、测试源代码编辑部21、主体执行代码创建部13、测试执行代码创建部23、主体执行条件指定部12及测试执行条件指定部22构成的结构要素组51配置于程序创建辅助装置10。
如果由用户将主体源代码的编辑指示输入至输入部72,则该编辑指示被发送至主体源代码编辑部11(st1),主体源代码编辑部11按照编辑指示对主体源代码进行编辑。
另外,如果由用户将测试源代码的编辑指示输入至输入部72,则该编辑指示被发送至测试源代码编辑部21(st2),测试源代码编辑部21按照编辑指示对测试源代码进行编辑。此外,就st1的处理和st2的处理而言,谁先执行均可。
如果在st1的处理之后由用户将主体执行代码的创建指示输入至输入部72,则该创建指示被发送至主体源代码编辑部11(st3)。由此,主体源代码编辑部11将主体执行代码的创建指示发送至主体执行代码创建部13(st4),主体执行代码创建部13创建主体执行代码。
如果在st2的处理之后由用户将测试执行代码的创建指示输入至输入部72,则该创建指示被发送至测试源代码编辑部21(st5)。由此,测试源代码编辑部21将测试执行代码的创建指示发送至测试执行代码创建部23(st6),测试执行代码创建部23创建测试执行代码。此外,就st3的处理和st5的处理而言,谁先执行均可。
在以下所说明的st7~st9的处理中,对主体程序是在图2中说明过的主体程序P1的情况进行说明。
如果由用户将指定针对主体程序P1的主体执行条件的指示输入至输入部72,则该指定指示被发送至主体执行条件指定部12(st7)。由此,主体执行条件指定部12按照用户指示而创建针对主体程序P1的主体执行条件。这里的主体执行条件是在图2的步骤S120中使用的主体执行条件。
另外,如果由用户将指定执行主体程序P1之前的事先条件的指示输入至输入部72,则该指定指示被发送至测试执行条件指定部22(st8)。由此,测试执行条件指定部22按照用户指示而创建针对主体程序P1的事先条件。这里的事先条件是在图2的步骤S130中使用的测试执行条件。
另外,如果由用户将指定执行了主体程序P1之后的事后条件的指示输入至输入部72,则该指定指示被发送至测试执行条件指定部22(st9)。由此,测试执行条件指定部22按照用户指示而创建针对主体程序P1的事后条件。这里的事后条件是在图2的步骤S160中使用的测试执行条件。
此外,就st7~st9的处理而言,谁先执行均可。即,主体执行条件、事先条件及事后条件以何种顺序创建均可。另外,st7~st9的处理也可以先于st1~st6中的任意处理而执行。另外,输入部72也可以将指定了主体执行条件的指示经由主体源代码编辑部11而发送至主体执行条件指定部12。另外,输入部72也可以将指定了事先条件后的指示及指定了事后条件的指示经由测试源代码编辑部21而发送至测试执行条件指定部22。
这样,程序创建辅助装置10能够如st8的处理所示将在执行主体程序之前执行的测试程序设定为事先条件。即,在控制系统1A中,能够按照用户指示,将诸如用于进行主体程序的主体执行代码的动作确认及调整的试验数据的准备这样的想要在主体执行代码的执行开始之前执行的测试程序的测试执行代码指定为事先条件。
另外,程序创建辅助装置10能够如st9的处理所示将在执行了主体程序之后执行的测试程序设定为事后条件。即,在控制系统1A中,能够按照用户指示,将诸如对主体程序的主体执行代码的执行结果是否得到了所期望的结果进行判定、对执行结果进行记录这样的想要在主体执行代码的执行完成后执行的测试程序的测试执行代码指定为事后条件。
图4是表示由实施方式1涉及的控制系统进行的数据发送处理及数据保存处理的流程的时序图。这里,对从执行代码的发送至执行代码的保存为止的处理进行说明。在程序创建辅助装置10发送至控制器30的数据中包含主体执行代码及测试执行代码。图4所示的由通信部71、主体发送部14及测试发送部24构成的结构要素组52配置于程序创建辅助装置10。另外,图4所示的由通信部81、主体接收部31、测试接收部41、主体执行代码存储部33及测试执行代码存储部43构成的结构要素组61配置于控制器30。
如果由用户将执行代码的向控制器30的发送指示输入至程序创建辅助装置10的输入部72,则该发送指示被发送至通信部71(st11)。
通信部71将主体执行代码的向控制器30的发送指示即主体发送指示发送至主体发送部14(st12)。由此,主体发送部14执行将主体执行代码发送至控制器30的通信部81的处理即主体发送处理(st13)。
控制器30如果由通信部81接收到主体执行代码,则将表示已接收到主体执行代码这一情况的主体接收信息发送至主体接收部31(st14)。主体接收部31如果接收到主体接收信息,则将主体执行代码的保存指示发送至主体执行代码存储部33(st15)。主体执行代码存储部33对主体执行代码进行保存。
另外,通信部71如果从用户接收到执行代码的发送指示,则将测试执行代码的向控制器30的发送指示即测试发送指示发送至测试发送部24(st16)。由此,测试发送部24执行将测试执行代码发送至控制器30的通信部81的处理即测试发送处理(st17)。
控制器30如果由通信部81接收到测试执行代码,则将表示已接收到测试执行代码这一情况的测试接收信息发送至测试接收部41(st18)。测试接收部41如果接收到测试接收信息,则将测试执行代码的保存指示发送至测试执行代码存储部43(st19)。测试执行代码存储部43对测试执行代码进行保存。
在st15的处理中被保存的主体执行代码对应于在图2的步骤S150及步骤S210中使用的主体程序P1、P2。在st19的处理中被保存的测试执行代码对应于在图2的步骤S140、S170、S200、S230中使用的测试程序Q1~Q4。
此外,尽管在图4中未图示,但关于主体执行条件,也通过与st11~st15相同的处理而进行发送及保存。在该处理中被保存的主体执行条件在图2的步骤S120、S180中被使用。
另外,关于测试执行条件,也通过与st11、st16~st19相同的处理而进行发送及保存。在该处理中被保存的测试执行条件在图2的步骤S130、S160、S190、S220中被使用。
这样,主体程序的主体执行代码与测试程序的测试执行代码是分别创建的,因而,控制器30能够将主体程序的主体执行代码和测试程序的测试执行代码各自储存于不同的存储部。由此,控制系统1A容易进行主体执行代码及测试执行代码的管理。
图5是表示由实施方式1涉及的控制系统进行的控制程序的执行处理的流程的时序图。这里,对主体程序及测试程序的执行处理进行说明。图5所示的由通信部81、主体执行控制部34、主体执行条件判定部35、测试执行控制部44、测试执行条件判定部45、主体执行代码存储部33及测试执行代码存储部43构成的结构要素组62配置于控制器30。
如果由用户将控制程序的执行指示输入至程序创建辅助装置10,则该执行指示被发送至控制器30的通信部81(st21)。通信部81将控制程序的执行指示发送至主体执行控制部34(st22)。
主体执行控制部34执行主体程序的读出处理(st23)。具体地说,主体执行控制部34从主体执行代码存储部33读出主体程序。
另外,主体执行控制部34将测试程序的读出指示发送至测试执行控制部44(st24)。测试执行控制部44执行测试程序的读出处理(st25)。具体地说,测试执行控制部44从测试执行代码存储部43读出测试程序。
然后,在控制器30中,执行主体程序的个数的量的循环处理。针对第1个主体程序,控制器30执行处理101。在处理101中,主体执行控制部34将主体执行条件的判定指示发送至主体执行条件判定部35(st26)。
处理101所包含的处理201是主体执行条件成立的情况下的处理,处理101所包含的处理202是主体执行条件不成立的情况下的处理。
首先,对主体执行条件成立的情况下的处理201进行说明。在处理201中,主体执行条件判定部35将事先条件的判定指示发送至测试执行控制部44(st27)。
处理201所包含的处理301是事先条件成立的情况下的处理,处理201所包含的处理302是事先条件不成立的情况下的处理。在事先条件成立的情况下的处理301中,测试执行控制部44将事先条件的判定指示发送至测试执行条件判定部45(st28)。这里的测试执行条件判定部45判定为事先条件成立。然后,测试执行条件判定部45将执行与事先条件对应的测试程序的指示作为判定结果而发送至测试执行控制部44(st29)。由此,测试执行控制部44执行事先条件成立的情况下的测试程序(st30)。此外,主体执行条件判定部35也可以不经由测试执行控制部44而将事先条件的判定指示直接发送至测试执行条件判定部45。
测试执行控制部44将表示已执行测试程序这一情况的判定结果(执行)作为事先条件的判定结果而发送至主体执行条件判定部35(st31)。st31的处理是针对st27的响应。
在事先条件不成立的情况下的处理302中,也执行上述的st28及st29的处理。该情况下的测试执行条件判定部45判定为事先条件不成立,将不执行与事先条件对应的测试程序的指示作为判定结果而发送至测试执行控制部44。测试执行控制部44将表示未执行测试程序这一情况的判定结果(不执行)作为事先条件的判定结果而发送至主体执行条件判定部35(st32)。st32的处理是针对st27的响应。
在完成了处理301或处理302之后,主体执行条件判定部35将针对st27的判定结果发送至主体执行控制部34。即,主体执行条件判定部35将表示已执行处理301或处理302这一情况的判定结果(执行)作为针对st27的响应而发送至主体执行控制部34(st33)。
在st33的处理之后,主体执行控制部34执行第1个主体程序(st34)。然后,主体执行控制部34将事后条件的判定指示发送至主体执行条件判定部35(st35)。主体执行条件判定部35将事后条件的判定指示发送至测试执行控制部44(st36)。
处理201所包含的处理401是事后条件成立的情况下的处理,处理201所包含的处理402是事后条件不成立的情况下的处理。在事后条件成立的情况下的处理401中,测试执行控制部44向测试执行条件判定部45发送事后条件的判定指示(st37)。这里的测试执行条件判定部45判定为事后条件成立。然后,测试执行条件判定部45将执行与事后条件对应的测试程序的指示作为判定结果而发送至测试执行控制部44(st38)。由此,测试执行控制部44执行事后条件成立的情况下的测试程序(st39)。此外,主体执行条件判定部35也可以不经由测试执行控制部44而将事后条件的判定指示直接发送至测试执行条件判定部45。
测试执行控制部44将表示已执行测试程序这一情况的判定结果(执行)作为事后条件的判定结果而发送至主体执行条件判定部35(st40)。st40的处理是针对st36的响应。
在事后条件不成立的情况下的处理402中,也执行上述的st37及st38的处理。该情况下的测试执行条件判定部45判定为事后条件不成立,将不执行与事后条件对应的测试程序的指示作为判定结果而发送至测试执行控制部44。测试执行控制部44将表示未执行测试程序这一情况的判定结果(不执行)作为事后条件的判定结果而发送至主体执行条件判定部35(st41)。st41的处理是针对st36的响应。
接下来,对主体执行条件不成立的情况下的处理202进行说明。在处理202中,主体执行条件判定部35将表示未执行主体程序这一情况的判定结果(不执行)作为主体执行条件的判定结果而发送至主体执行控制部34(st42)。st42的处理是针对st26的响应。
这里,对对比例的执行代码(对比例的控制程序)进行说明。对比例的执行代码是根据将主体部的源代码和测试调整部的源代码一体化后的源代码而创建的执行代码。测试调整部的源代码是与测试调查用的执行代码对应的源代码。
对使用了对比例的控制程序的情况下的测试处理的流程进行说明。在针对该情况下的控制程序的反复处理中,以第1个控制程序、第2个控制程序的顺序执行控制程序。
在执行第1个控制程序时,执行第1个控制程序所包含的主体部和测试调查部。然后,在执行第2个控制程序时,执行第2个控制程序所包含的主体部和测试调查部。然后,在完成了测试调查之后,从第1个控制程序的源代码将测试调查部删除,从第2个控制程序的源代码将测试调查部删除。在这样的对比例的控制程序中,进行测试调整的执行代码有时使用各种逻辑或,因而难以在测试调整完成之后将进行测试调整的执行代码删除。
然而,有时在用户的运用上,针对完成了动作确认的执行代码而禁止变更。在这种情况下,在对比例的控制程序中,进行测试调整的执行代码也残存于控制器的存储区域。因此,浪费了存储区域。
另外,即使在针对完成了动作确认的执行代码而不禁止变更的情况下,在对比例的执行代码的情况下,在完成了控制程序的测试调整之后,如果从控制程序将测试调整用的执行代码去除,则执行代码产生变更。因此,在对比例的执行代码的情况下,需要再次确认变更后的执行代码是否进行所期望的动作。
另一方面,本实施方式的控制系统1A使测试执行代码与主体执行代码分离地分别存储,因而无需变更主体执行代码就能够容易地仅将测试执行代码无效化或删除。由此,能够避免测试调整完成后的测试执行代码无用地耗费控制器30的存储区域。
另外,在本实施方式的控制系统1A中,即使删除测试执行代码,主体执行代码也不会产生变更,因而无需再次确认主体执行代码是否进行所期望的动作。
这样,根据实施方式1,分别创建主体执行代码和测试执行代码,因而能够容易地防止在执行主体执行代码时错误地执行测试执行代码。
另外,控制系统1A能够将用于执行测试调整的测试执行代码从主体执行代码分离出来,在使它们独立的状态下执行编辑、执行、去除等。由此,控制系统1A能够容易地执行测试程序的编辑、执行、去除等。
实施方式2
接下来,使用图6至图9对实施方式2进行说明。在实施方式2中,基于运动控制的指令值的运算用数据(例如,后述的基准角度)而自动创建测试源代码。
图6是表示实施方式2涉及的控制系统的结构的图。对图6的各结构要素中实现与图1所示的实施方式1的控制系统1A相同的功能的结构要素标注相同的标号,省略重复说明。
控制系统1B除了控制系统1A的结构要素以外,还在程序创建辅助装置10内具有辅助源代码创建部即测试源代码创建部20。测试源代码创建部20与测试源代码编辑部21连接。
测试源代码创建部20基于运动控制的指令值的运算用数据而自动创建电动机2的测试调整所使用的测试源代码。运动控制的指令是控制器30输出至放大器4的输出值。运动控制的指令的例子是移动量、速度、转矩等的目标值。
测试源代码创建部20针对运动控制的指令值,创建测试程序的源代码,该测试程序用于对由控制器30执行的主体程序的主体执行代码是否正在执行所期望的运算进行判定。由此,程序创建辅助装置10能够削减测试程序的创建所需的用户的工时。
接下来,对由测试源代码创建部20进行的测试源代码的创建处理例进行说明。图7是用于对与实施方式2涉及的控制系统所控制的电动机连接的机构部进行说明的图。图8是表示对实施方式2涉及的控制系统设定的控制用参数的第1例的图。图9是表示实施方式2涉及的控制系统所使用的运转模式的第1例的图。
程序创建辅助装置10基于图8所示的控制用参数而创建图9所示的运转模式。此外,在图7中,省略程序创建辅助装置10的图示。
在使工件移动至规定的位置等用途中使用的工件输送装置具有电动机2和机构部分(以下,称为机构部5),该电动机2具有电动机轴(以下,称为控制轴6),该机构部5与控制轴6连接。控制器30通过对控制对象即电动机2的控制轴6进行驱动而对机构部5的位置进行控制。此时的表示机构部5的位置的运转模式是图9所示的运转模式。
在进行运动控制的情况下,作为从控制器30向放大器4提供指令的手段的一个例子,存在提供如图8所示的与作为控制基准的旋转轴的旋转位置(基准角度)相对的机构部5的目标位置及目标位置与目标位置之间的区间的插补方法的手段。作为控制基准的旋转轴也可以是控制轴6以外的(在图7中未示出的)其它电动机轴。或者,作为控制基准的旋转轴也可以是由控制器30模拟的虚拟的电动机轴。
程序创建辅助装置10如果设定了如图8所示的控制用参数,则基于该控制用参数,对图9所示的运转模式(波形71A、72A)进行计算。该运转模式(波形71A、72A)与作为由控制器30执行的控制程序的运算结果而计算出的指令值一致,成为针对测试源代码创建部20的输入数据。
图9所示的曲线图的横轴是控制轴6的基准角度,纵轴是与控制轴6连接的机构部5的目标位置。波形71A是机构部5的目标位置的波形,波形72A是机构部5的目标速度。测试源代码创建部20基于图9所示的波形71A、72A而创建测试源代码。测试源代码是对机构部5的目标位置与实际位置之间的差值是否落在容许范围内进行判定的源代码。
在图9中,例如,示出了基准角度为90度时的机构部5的目标位置是中心位置(0mm),基准角度为210度时的机构部5的目标位置是相对于中心位置而沿正向远离了100mm的位置的情况。
控制器30基于基准角度及目标位置,以能够使机构部5移动至目标位置的方式对电动机2的旋转方向及旋转速度的指令值进行运算,将作为运算结果的指令值输出至放大器4。
用户使用程序创建辅助装置10而创建的主体程序的主体源代码将控制用参数设为输入,该控制用参数将基准角度及目标位置设为组。该主体源代码将控制用参数设为输入,执行对指定值进行运算而求出的处理,该指定值对诸如电动机2的旋转方向及旋转速度这样的电动机2的驱动进行控制。
作为控制用参数,能够指定任意的数量的目标位置,从而使控制对象(在图7的例子中是沿正向或反向进行直线移动的机构部5)可得到所期望的动作。在图9所示的例子中示出由用户指定了(A)、(B)及(C)这3个目标位置的情况。
在图8所示的例子中,区间A-B的开始点为0度,结束点为90度。区间A-B的目标位置是0mm,区间A-B被样条插补。另外,区间B-C的开始点为90度,结束点为210度。区间B-C的目标位置是100mm,区间B-C被样条插补。另外,区间C-A的开始点为210度,结束点为360度。区间C-A的目标位置是0mm,区间C-A被样条插补。此外,为了对机构部5的加减速进行调整,用户也可以追加目标位置。
图10是表示对实施方式2涉及的控制系统设定的控制用参数的第2例的图。图11是表示实施方式2涉及的控制系统所使用的运转模式的第2例的图。示出了图10所示的控制用参数是向图8所示的控制用参数追加了新的目标位置的情况下的运转模式例。
程序创建辅助装置10基于图10所示的控制用参数而创建图11所示的运转模式。这里,对为了调整图9所示的目标位置的(B)至(C)之间的机构部5的加减速而追加了图11所示的(D)及(E)这2个目标位置的情况进行说明。波形71B是机构部5的目标位置的波形,波形72B是机构部5的目标速度。
在图10所示的例子中,区间A-B及区间C-A如在图8中说明过的那样。在图10所示的例子中,区间B-D的开始点为90度,结束点为120度。区间B-D的目标位置是10mm,区间B-D被样条插补。另外,区间D-E的开始点为120度,结束点为180度。区间D-E的目标位置是90mm,区间D-E被样条插补。另外,区间E-C的开始点为180度,结束点为210度。区间E-C的目标位置是100mm,区间E-C被样条插补。
程序创建辅助装置10对控制对象是否通过用户所创建的主体程序及控制用参数而得到所期望的动作进行确认。程序创建辅助装置10为了对控制对象是否得到所期望的动作进行确认,只要能够确认某个基准角度下的、机构部5的目标位置与实际装置的机构部5的实际位置之间的差值落在实际装置所容许的范围内即可。实际装置是具有机构部5及电动机2的工件输送装置等。
这里,某个基准角度是指除了用户使用程序创建辅助装置10而指定的值(在图11中是(A)、(B)、(C)、(D)、(E)这5个基准角度)以外,例如,图9或图11的曲线图所示的区间A-B、B-C、C-A的任一者所包含的任意的基准角度ω(0度≤ω≤360度)。此外,在图11所示的例子中,示出了基准角度的最大值为360度的情况,但也可以将大于360度的值设定为基准角度的最大值。
就与各区间内的任意的基准角度ω相对的机构部5的目标位置而言,在图9或图11的例子中,由用户将目标位置的插补方法指定为“样条插补”,因而,测试源代码创建部20能够通过运算而计算出目标值。
测试源代码创建部20将如下处理作为测试程序的测试源代码进行创建,该处理是对与可通过这样的运算而计算出的任意基准角度ω相对的、机构部5的目标位置与实际装置的机构部5的实际位置之间的差值是否落在实际装置所容许的范围内进行判定。由此,在产生了控制用参数的设定值的追加、变更或删除的情况下,能够节省用户对用于确认实际装置是否得到所期望的动作的测试源代码进行创建或修正的时间。
此外,主体执行代码存储部33与测试执行代码存储部43也可以是物理上不同的存储装置。由此,能够无需挤压对主体执行代码进行储存的存储装置的存储容量而一边将测试执行代码临时地写入至控制器30一边执行主体程序的测试调整。另外,能够简化在测试调整的完成之后用于进行控制程序的主体部以外的测试执行代码的无效化或去除的用户操作。
在主体执行代码存储部33与测试执行代码存储部43是物理上不同的独立的存储装置的情况下,主体执行代码存储部33成为主体执行代码存储装置,测试执行代码存储部43成为测试执行代码存储装置即辅助执行代码存储装置。
另外,也可以将主体执行代码存储部33与测试执行代码存储部43设为物理上不同的存储装置,并且将成为测试执行代码存储部43的存储装置设为相对于控制器30可拆装的存储装置(例如,便携式的外部存储装置)。由此,能够仅通过将成为测试执行代码存储部43的存储装置从控制器30取下就将测试执行代码从控制器30去除。
另外,控制部82也可以使测试执行代码向缓存器的访问无效。由此,成为向缓存器储存主体执行代码而不储存测试执行代码的情况。其结果,即使执行测试执行代码,也能够防止主体执行代码从缓存器的命中率(缓存性能)下降的情况。即,无论是存在测试执行代码的情况和不存在测试执行代码的情况下,都能够使可从缓存器读出主体执行代码的概率相同。因此,控制部82能够以与实际运用时相同的缓存器的命中率一边执行主体执行代码一边执行主体程序的测试调整。
这样,在实施方式2中,测试源代码创建部20基于运动控制的指令值的运算用数据而自动创建测试源代码。由此,在产生了控制用参数的设定值的追加、变更或删除的情况下,能够节省用户对用于确认实际装置是否得到所期望的动作的测试源代码进行创建或修正的时间。
这里,对在实施方式1、2中说明过的程序创建辅助装置10的硬件结构进行说明。图12是表示实施方式1、2涉及的实现程序创建辅助装置的硬件结构例的图。
程序创建辅助装置10能够由图12所示的输入装置151、处理器152、存储器153、通信装置155及输出装置154实现。处理器152的例子是CPU(Central Processing Unit,也称为中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器、DSP(DigitalSignal Processor))或系统LSI(Large Scale Integration)。存储器153的例子是RAM(Random Access Memory)、ROM(Read Only Memory)。
程序创建辅助装置10是通过由处理器152读出并执行在存储器153存储的、用于执行程序创建辅助装置10的动作的计算机可执行程序创建辅助程序而实现的。用于执行程序创建辅助装置10的动作的程序即程序创建辅助程序也称为使计算机执行程序创建辅助装置10的流程或方法的程序。
由程序创建辅助装置10执行的程序创建辅助程序成为包含主体源代码编辑部11、主体执行条件指定部12、主体执行代码创建部13、测试源代码编辑部21、测试执行条件指定部22和测试执行代码创建部23的模块结构,它们被加载至主存储装置上,它们在主存储装置上生成。
存储器153被用作由处理器152执行各种处理时的临时存储器。存储器153例如对程序创建辅助程序、主体执行代码、测试执行代码、主体源代码、测试源代码、主体执行条件、事先条件、事后条件等进行存储。
输入装置151具有输入部72的功能。输入装置151是接收由用户输入的信息的接口装置,将接收到的信息发送至处理器152。输出装置154将处理器152所创建的画面数据输出至显示装置3等外部装置。通信装置155具有通信部71的功能。通信装置155在与控制器30之间执行通信。
对控制程序的创建进行辅助的程序创建辅助程序也可以是以可安装的形式或可执行的形式的文件的方式,存储于计算机可读取的存储介质,作为计算机程序产品而提供的。另外,程序创建辅助程序也可以经由互联网等网络而提供给程序创建辅助装置10。
此外,关于程序创建辅助装置10的功能,也可以一部分由专用电路等专用的硬件实现,一部分由软件或固件实现。
控制器30具有与程序创建辅助装置10相同的硬件结构。关于控制器30的功能,也可以一部分由专用电路等专用的硬件实现,一部分由软件或固件实现。
以上的实施方式所示的结构表示的是一个例子,也能够与其它的公知技术进行组合,有可能将实施方式彼此进行组合,在不脱离主旨的范围也能够省略、变更结构的一部分。
标号的说明
1A、1B控制系统,2电动机,3显示装置,4放大器,5机构部,6控制轴,10程序创建辅助装置,11主体源代码编辑部,12主体执行条件指定部,13主体执行代码创建部,14、32主体发送部,15、31主体接收部,20测试源代码创建部,21测试源代码编辑部,22测试执行条件指定部,23测试执行代码创建部,24、42测试发送部,25、41测试接收部,30控制器,33主体执行代码存储部,34主体执行控制部,35主体执行条件判定部,43测试执行代码存储部,44测试执行控制部,45测试执行条件判定部,71、81通信部,72输入部,82控制部,83输出部,151输入装置,152处理器,153存储器,154输出装置,155通信装置。

Claims (9)

1.一种控制系统,其特征在于,具有:
控制器,其对装置进行控制;以及
程序创建辅助装置,其对所述控制器在所述装置的控制中使用的程序的创建进行辅助,
所述程序包含对所述装置进行正式控制的控制程序和控制对所述装置的辅助处理的辅助程序,
所述程序创建辅助装置具有:
主体执行代码创建部,其创建所述控制程序的执行代码即主体执行代码;
辅助执行代码创建部,其创建所述辅助程序的执行代码即辅助执行代码;以及
辅助执行条件创建部,其创建执行所述辅助执行代码的条件即辅助执行条件,
所述程序创建辅助装置分别创建所述主体执行代码和所述辅助执行代码,
所述控制器使用所述主体执行代码、所述辅助执行代码及所述辅助执行条件对所述装置进行控制。
2.根据权利要求1所述的控制系统,其特征在于,
所述控制器具有:
主体执行代码存储装置,其对所述主体执行代码进行存储;以及
辅助执行代码存储装置,其对所述辅助执行代码进行存储,
所述主体执行代码存储装置和所述辅助执行代码存储装置是独立结构的存储装置。
3.根据权利要求2所述的控制系统,其特征在于,
所述辅助执行代码存储装置是相对于所述控制器可拆装的存储装置。
4.一种程序创建辅助装置,其特征在于,具有:
主体执行代码创建部,其创建对装置进行正式控制的控制程序的执行代码即主体执行代码;
辅助执行代码创建部,其创建控制对所述装置的辅助处理的辅助程序的执行代码即辅助执行代码;以及
辅助执行条件创建部,其创建执行所述辅助执行代码的条件即辅助执行条件,
所述程序创建辅助装置分别创建所述主体执行代码和所述辅助执行代码。
5.根据权利要求4所述的程序创建辅助装置,其特征在于,
还具有:主体执行条件创建部,其创建执行所述主体执行代码的条件即主体执行条件。
6.根据权利要求4或5所述的程序创建辅助装置,其特征在于,
还具有:
主体源代码编辑部,其对所述控制程序的源代码即主体源代码进行编辑;以及
辅助源代码编辑部,其对所述辅助程序的源代码即辅助源代码进行编辑,
所述主体执行代码创建部根据所述主体源代码而创建所述主体执行代码,
所述辅助执行代码创建部根据所述辅助源代码而创建所述辅助执行代码。
7.根据权利要求6所述的程序创建辅助装置,其特征在于,
还具有:辅助源代码创建部,其基于所述控制程序所包含的运动控制的指令值的运算用数据而创建所述辅助源代码。
8.一种程序创建辅助方法,其特征在于,包含以下步骤:
主体执行代码创建步骤,创建对装置进行正式控制的控制程序的执行代码即主体执行代码;
辅助执行代码创建步骤,创建控制对所述装置的辅助处理的辅助程序的执行代码即辅助执行代码;以及
辅助执行条件创建步骤,创建执行所述辅助执行代码的条件即辅助执行条件,
在所述程序创建辅助方法中,分别创建所述主体执行代码和所述辅助执行代码。
9.一种程序创建辅助程序,其特征在于,使计算机执行以下步骤:
主体执行代码创建步骤,创建对装置进行正式控制的控制程序的执行代码即主体执行代码;
辅助执行代码创建步骤,创建控制对所述装置的辅助处理的辅助程序的执行代码即辅助执行代码;以及
辅助执行条件创建步骤,创建执行所述辅助执行代码的条件即辅助执行条件,
在所述程序创建辅助程序中,分别创建所述主体执行代码和所述辅助执行代码。
CN202080096084.7A 2020-02-14 2020-02-14 控制系统、程序创建辅助装置、程序创建辅助方法及计算机可读取的记录介质 Active CN115066676B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/005829 WO2021161518A1 (ja) 2020-02-14 2020-02-14 制御システム、プログラム作成支援装置、プログラム作成支援方法、およびプログラム作成支援プログラム

Publications (2)

Publication Number Publication Date
CN115066676A true CN115066676A (zh) 2022-09-16
CN115066676B CN115066676B (zh) 2023-06-09

Family

ID=73993004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080096084.7A Active CN115066676B (zh) 2020-02-14 2020-02-14 控制系统、程序创建辅助装置、程序创建辅助方法及计算机可读取的记录介质

Country Status (4)

Country Link
JP (1) JP6808102B1 (zh)
CN (1) CN115066676B (zh)
DE (1) DE112020005770T5 (zh)
WO (1) WO2021161518A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179752A (ja) * 1995-12-25 1997-07-11 Hudson Soft Co Ltd Romカートリッジ用デバッグ方法および装置
JP2012256178A (ja) * 2011-06-08 2012-12-27 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN103425909A (zh) * 2012-05-15 2013-12-04 富士电机株式会社 控制系统、控制装置及程序执行控制方法
CN104204975A (zh) * 2012-03-26 2014-12-10 三菱电机株式会社 定序程序调试辅助装置
JP2015201132A (ja) * 2014-04-10 2015-11-12 株式会社ジェイテクト プログラマブルロジックコントローラ用プログラムの作成支援装置及びプログラマブルロジックコントローラ用プログラムの作成支援方法
WO2015170382A1 (ja) * 2014-05-08 2015-11-12 三菱電機株式会社 エンジニアリングツール、プログラム編集装置およびプログラム編集システム
CN110546583A (zh) * 2018-03-28 2019-12-06 三菱电机株式会社 编程辅助装置、编程辅助方法及程序

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5246186B2 (zh) 1973-03-14 1977-11-22

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179752A (ja) * 1995-12-25 1997-07-11 Hudson Soft Co Ltd Romカートリッジ用デバッグ方法および装置
JP2012256178A (ja) * 2011-06-08 2012-12-27 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN104204975A (zh) * 2012-03-26 2014-12-10 三菱电机株式会社 定序程序调试辅助装置
CN103425909A (zh) * 2012-05-15 2013-12-04 富士电机株式会社 控制系统、控制装置及程序执行控制方法
JP2015201132A (ja) * 2014-04-10 2015-11-12 株式会社ジェイテクト プログラマブルロジックコントローラ用プログラムの作成支援装置及びプログラマブルロジックコントローラ用プログラムの作成支援方法
WO2015170382A1 (ja) * 2014-05-08 2015-11-12 三菱電機株式会社 エンジニアリングツール、プログラム編集装置およびプログラム編集システム
CN110546583A (zh) * 2018-03-28 2019-12-06 三菱电机株式会社 编程辅助装置、编程辅助方法及程序

Also Published As

Publication number Publication date
CN115066676B (zh) 2023-06-09
JPWO2021161518A1 (zh) 2021-08-19
JP6808102B1 (ja) 2021-01-06
WO2021161518A1 (ja) 2021-08-19
DE112020005770T5 (de) 2022-09-15

Similar Documents

Publication Publication Date Title
CN107368039B (zh) 数值控制装置
JP2014063389A (ja) 系統間待合せ機能を有する数値制御装置
JP3109413B2 (ja) 機械制御装置
JP5640455B2 (ja) プログラム、記録媒体、サーボモータの制御パラメータ調整方法、開発支援装置、サーボシステムの開発システム
US20110137435A1 (en) Field bus system
JP2006215740A (ja) 数値制御装置
CN115066676B (zh) 控制系统、程序创建辅助装置、程序创建辅助方法及计算机可读取的记录介质
JP2008040542A (ja) 数値制御装置
JP2002118785A5 (zh)
JP2008152332A (ja) 機器、制御装置及び制御ソフトウェア更新方法
CN110297465B (zh) 加工程序编辑装置
JP2000187588A (ja) プログラム書き換え装置
JP2906754B2 (ja) ロボットの制御方法
JP2003125171A (ja) スキャナ装置と、そのスキャナ装置に接続されるホスト装置
JP7407932B2 (ja) 冷凍サイクル装置
KR101058030B1 (ko) 모터 제어 장치 및 방법
JPH09259004A (ja) デバッグ方法
JP2000332923A (ja) 画像読み取りシステム、画像送信方法、画像送信画像処理方法及び記憶媒体
JP3638821B2 (ja) 数値制御装置
JP2002319723A (ja) ガスレーザ発振器
JP2005178169A (ja) 印刷装置
JP2004165956A (ja) 追尾雲台
JP4652492B2 (ja) プログラム書き換え装置
JPH10161720A (ja) 研削加工における砥石の干渉回避位置検出方法及び干渉回避位置自動プログラミング装置
JPH04149720A (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