掌桥专利:专业的专利平台
掌桥专利
首页

程序创建辅助装置、程序创建辅助方法、程序创建辅助程序以及可编程逻辑控制器

文献发布时间:2024-04-18 20:01:23


程序创建辅助装置、程序创建辅助方法、程序创建辅助程序以及可编程逻辑控制器

技术领域

本发明涉及程序创建辅助装置、程序创建辅助方法、程序创建辅助程序以及可编程逻辑控制器。

背景技术

FA(Factory Automation)控制系统由作为定序控制装置的可编程逻辑控制器构成。以下,将可编程逻辑控制器记载为“PLC”。PLC是“Programmable Logic Controller”的缩写。PLC由定序程序进行控制。定序程序是例如通过梯形图程序、功能块图或结构文本这样的编程语言而记述的程序。通常来说,通过由国际电气标准会议发行的“IEC61131-3标准”规定的定序程序被广泛使用。

定序程序是由在个人计算机上构成的程序创建辅助装置即工程设计工具所创建的。个人计算机与PLC连接,定序程序存储于PLC的存储部。

以往,对产品进行制造的工厂中的机械装置在与某些行为联动地对其它行为进行控制的情况下,使如凸轮机构、连杆机构以及齿轮机构这样的多个机构机械地联动而进行控制。

例如,操作者在使带式输送机的速度与旋转切刀的动作同步的情况下,为了变更该速度的比率而对机械部件进行更换,从而实现了使旋转切刀的动作与带式输送机的速度同步。机械部件的例子是齿轮。机械部件的更换作业是非常麻烦的。在此,考虑了使用PLC而电气地实现减速齿轮的方法。例如,PLC通过使电动机的转速可变,从而能够发挥与对减速齿轮的传动比进行变更相同的效果。如上所示,PLC通过设置假想的机械部件而对机械部件进行模拟,该假想的机械部件具有使用用于对机械部件的动作进行运算的各种参数而对机械部件的动作进行定义的用户程序。例如,PLC由基本单元和扩展单元构成。

专利文献1所公开的程序创建辅助装置具有:显示部,其与从同步控制的同步主轴到同步控制的同步从轴为止的各个轴依次连接,对将各个输入轴的位置向输出轴的位置变换的多个假想的机械部件进行显示;设定部,其设定对多个假想的机械部件各自的变换动作进行定义的参数;指定部,其从在显示部中显示出的多个假想的机械部件之中对进行与预先准备好的变换动作不同的变换动作的机械部件进行指定;程序接收部,其接收对由指定部指定出的机械部件所执行的变换动作进行规定的通用语言的用户程序的输入;以及转发部,其为了使扩展单元执行用户程序而将用户程序向扩展单元转发。

专利文献1:日本特开2017-79007号公报

发明内容

在专利文献1所公开的程序创建辅助装置中,假想的机械部件被限定为以预先设定的顺序连接的差动齿轮、可变齿轮、离合器以及凸轮,在创建使实际的机械装置动作的程序时,需要进行与机械装置对应的参数的追加以及编程。在专利文献1所公开的程序创建辅助装置中,存在以下课题,即,在创建需要进行复杂控制的机械装置的程序时操作者的负担大。

本发明就是鉴于上述情况而提出的,其目的在于得到一种能够使创建需要进行复杂控制的机械装置的程序时的操作者的负担减小的程序创建辅助装置。

为了解决上述的课题而达成目的,本发明涉及的程序创建辅助装置具有:显示部,其显示多个假想机械部件,该假想机械部件是具有至少一个轴的信息,设定对内部动作进行规定的运算处理,执行运动控制的假想的机械部件;用户定义假想机械部件创建部,其基于从显示出的多个假想机械部件中指定出的一个或多个机械部件,创建与显示出的多个假想机械部件不同的假想机械部件作为用户定义假想机械部件;以及假想机械部件参数设定部,其设定对多个假想机械部件各自的内部动作进行定义的参数。本发明涉及的程序创建辅助装置还具有:用户定义假想机械部件程序编辑部,其通过用户程序对用户定义假想机械部件的运算处理进行编辑;用户定义假想机械部件参数设定部,其对用户定义假想机械部件的参数进行设定;以及用户程序处理执行代码生成部,其将基于由用户定义假想机械部件参数设定部设定出的参数而代码化后的用户程序输出至可编程逻辑控制器,执行在用户程序中记述的运动控制。

发明的效果

本发明涉及的程序创建辅助装置取得能够使创建需要进行复杂控制的机械装置的程序时的操作者的负担减小的效果。

附图说明

图1是表示实施方式涉及的PLC系统的结构的图。

图2是表示实施方式涉及的程序创建辅助装置的硬件结构的图。

图3是表示实施方式涉及的程序创建辅助装置的功能的图。

图4是表示实施方式涉及的程序创建辅助装置软件的用户界面的例子的图。

图5是表示表现出解卷器的示意图、表现出解卷器的假想机械部件名称和解卷器的假想机械部件参数设定区域的图。

图6是表示表现出带式输送机的示意图、表现出带式输送机的假想机械部件名称和带式输送机的假想机械部件参数设定区域的图。

图7是表示表现出梭箱机构的示意图、表现出梭箱机构的假想机械部件名称和梭箱机构的假想机械部件参数设定区域的图。

图8是表示表现出横枕包装机的示意图、表现出横枕包装机的用户定义假想机械部件名称和横枕包装机的用户定义假想机械部件参数设定区域的图。

图9是表示横枕包装机的用户定义假想机械部件参数设定区域的图。

图10是表示横枕包装机的用户定义假想机械部件参数设定区域的图。

图11是用于对实施方式涉及的PLC所具有的CPU(Central Processing Unit)单元的功能进行说明的图。

图12是表示实施方式涉及的程序创建辅助装置的CPU按照程序创建辅助装置软件而执行的程序创建辅助方法的步骤的流程图。

图13是表示机械模型所模拟的机械系统的例子的图。

图14是表示实施方式涉及的神经网络的图。

图15是表示通过处理电路而实现实施方式涉及的程序创建辅助装置的假想机械部件指定部、用户定义假想机械部件创建部、假想机械部件参数设定部、用户定义假想机械部件参数编辑部、用户定义假想机械部件参数设定部、用户定义假想机械部件程序编辑部、描绘部、用户程序处理执行代码生成部、用户定义假想机械部件名输入部、用户定义假想机械部件程序名输入部以及用户定义假想机械部件图输入部的一部分或全部的情况下的处理电路的图。

具体实施方式

以下,针对实施方式涉及的程序创建辅助装置、程序创建辅助方法、程序创建辅助程序以及可编程逻辑控制器基于附图进行详细说明。

实施方式

首先,针对实施方式涉及的PLC系统的结构进行说明。如上所述,PLC是“Programmable Logic Controller”的缩写。图1是表示实施方式涉及的PLC系统1000的结构的图。PLC系统1000具有用于进行用户程序的编辑的程序创建辅助装置1和用于集中地对例如在工厂中设置的各种控制装置进行控制的PLC 2。

PLC 2具有对PLC系统1000的整体的动作进行控制的CPU单元3、多个扩展单元4和将CPU单元3和多个扩展单元4连接的总线单元5。PLC 2也可以不具有多个扩展单元4,而具有一个扩展单元4。在PLC 2具有一个扩展单元4的情况下,一个扩展单元4与总线单元5连接。

用户程序例如可以使用梯形图语言或图形编程语言而创建,也可以使用高级编程语言而创建。图形编程语言的例子是用于实现运动流程的编程语言。高级编程语言的例子是C语言。

CPU单元3通过用户程序对包含扩展单元4的PLC系统1000整体进行控制。

扩展单元4是进行比较简单的运算而对CPU单元3的控制功能进行扩展的单元。作为扩展单元4使用了各种类型的单元。扩展单元4的例子是模拟输入单元、定位单元、温度输入单元或温度调节单元。在扩展单元4是温度调节单元的情况下,温度调节单元如果被CPU单元3请求将外部装置的温度设为预先决定的温度,则以达到该预先决定的温度的方式进行针对外部装置的温度的控制。

程序创建辅助装置1例如通过能够携带的所谓笔记本类型或平板类型的个人计算机而实现。程序创建辅助装置1具有输入部105以及显示部106。用于对PLC 2进行控制的用户程序是使用程序创建辅助装置1创建的。所创建的用户程序在程序创建辅助装置1的内部被变换为代码。程序创建辅助装置1经由传送路径9与PLC 2的CPU单元3连接,变换为代码的用户程序被从程序创建辅助装置1发送至CPU单元3。用户程序被存储于CPU单元3所包含的存储器中。传送路径9的例子是USB(Universal Serial Bus)。

图2是表示实施方式涉及的程序创建辅助装置1的硬件结构的图。程序创建辅助装置1通过在个人计算机上安装程序创建辅助装置而构成。程序创建辅助装置1具有CPU 101、RAM(Random Access Memory)102、ROM(Read Only Memory)03、存储部104、输入部105、显示部106以及通信接口107。

CPU 101是执行程序创建辅助装置软件的运算装置。RAM 102是CPU 101在执行程序时使用的工作区域。ROM 103非易失性地存储在程序创建辅助装置1启动时由CPU 101执行的程序。在程序创建辅助装置1启动时由CPU 101执行的程序的例子是初始程序加载器。存储部104非易失性地存储信息。存储部104例如通过硬盘驱动器或固态驱动器实现。

输入部105是用于由操作者将信息输入至程序创建辅助装置1的用户接口,例如通过定点设备以及键盘中的一者或两者而实现。定点设备的例子是鼠标或触摸面板。显示部106是对信息进行显示的装置,例如通过液晶显示装置或有机发光显示装置而实现。

通信接口107是用于由程序创建辅助装置1通过传送路径9与PLC 2进行通信的接口。在程序创建辅助装置1安装的程序创建辅助装置软件被储存于存储部104。通过由CPU101将在存储部104中储存的程序创建辅助装置软件读出而执行,从而个人计算机作为程序创建辅助装置1起作用。

在实施方式中,通过在个人计算机安装程序创建装置辅助软件,从而构成程序创建辅助装置1。然而,程序创建辅助装置1也可以通过从作为客户端的个人计算机的Web浏览器向在Web服务器上运行的应用程序委托处理的Web应用程序的形态而构成。

图3是表示实施方式涉及的程序创建辅助装置1的功能的图。存储部104存储程序创建辅助装置软件111。CPU 101通过执行在存储部104中存储的程序创建辅助装置软件111,从而作为假想机械部件指定部112、用户定义假想机械部件创建部113、假想机械部件参数设定部114、用户定义假想机械部件参数编辑部115、用户定义假想机械部件参数设定部116、用户定义假想机械部件程序编辑部117、描绘部118、用户程序处理执行代码生成部119、用户定义假想机械部件名输入部120、用户定义假想机械部件程序名输入部121以及用户定义假想机械部件图输入部122起作用。

存储部104存储定序程序123。描绘部118使显示部106显示用于对定序程序123进行编辑的用户界面,即定序程序编辑区域132。定序程序编辑区域132在图4中示出。图4是表示实施方式涉及的程序创建辅助装置软件111的用户界面的例子的图。

描绘部118使显示部106显示用于对假想机械部件的图像以及名称进行显示的用户界面,即假想机械部件区域133。

描绘部118使显示部106显示用于对用户定义假想机械部件的图像以及名称进行显示的用户界面,即用户定义假想机械部件区域134。

描绘部118以及假想机械部件参数设定部114使显示部106显示用于接收在与各假想机械部件相对应的内部处理中使用的假想机械部件参数126的设定的用户界面,即假想机械部件参数设定区域135。存储部104存储假想机械部件参数126。假想机械部件参数设定部114作为设定对多个假想机械部件的内部处理进行定义的参数的假想机械部件参数设定部起作用。

描绘部118、用户定义假想机械部件参数编辑部115以及用户定义假想机械部件参数设定部116使显示部106显示用于接收在与用户定义假想机械部件相对应的内部处理中使用的用户定义假想机械部件参数127的追加和输入的用户界面,即用户定义假想机械部件参数设定区域136。用户定义假想机械部件参数127存储于存储部104。用户定义假想机械部件参数编辑部115以及用户定义假想机械部件参数设定部116作为编辑对用户定义假想机械部件各自的内部处理进行定义的参数的用户定义假想机械部件参数编辑部、以及对参数进行设定的用户定义假想机械部件参数设定部起作用。

描绘部118以及用户定义假想机械部件创建部113使显示部106显示用于创建用户定义假想机械部件的用户界面,即用户定义假想机械部件编辑区域137。

如上所述,图4是表示实施方式涉及的程序创建辅助装置软件111的用户界面的例子的图。如图4所示,显示部106将表示假想机械部件的示意图和表示假想机械部件的名称汇总作为假想机械部件的一览而显示。描绘部118负责用户界面的描绘处理。程序创建辅助装置软件111具有树状图131、定序程序编辑区域132、假想机械部件区域133、用户定义假想机械部件区域134、假想机械部件参数设定区域135、用户定义假想机械部件参数设定区域136、用户定义假想机械部件编辑区域137和用户定义假想机械部件程序编辑区域138。

在树状图131中分层地显示由用户使用程序创建辅助装置软件111创建出的定序程序123、用户定义假想机械部件、用户定义假想机械部件具有的用户定义假想机械部件参数127和用户定义假想机械部件具有的用户定义假想机械部件程序125。用户定义假想机械部件程序125存储于存储部104。在树状图131中设置用于对用户定义假想机械部件的名称进行输入的文本输入部139。用户定义假想机械部件名输入部120接收通过文本输入部139输入的用户定义假想机械部件名作为用户定义假想机械部件的名称。

在树状图131中设置用于对用户定义假想机械部件程序125的名称进行输入的文本输入部140。用户定义假想机械部件程序名输入部121接收通过文本输入部140输入的程序名作为对用户定义假想机械部件的动作进行定义的程序的名称。

在定序程序编辑区域132中,创建定序程序123。

在假想机械部件区域133中,显示预先准备的假想机械部件。

在用户定义假想机械部件区域134中,显示由用户定义的假想机械部件。该假想机械部件是用户定义假想机械部件。

在用户定义假想机械部件编辑区域137中,对用户定义假想机械部件进行编辑。

在假想机械部件参数设定区域135中,设定假想机械部件参数126。

在用户定义假想机械部件参数设定区域136中,对用户定义假想机械部件参数127进行编辑、设定。

在用户定义假想机械部件编辑区域137中,对用户定义假想机械部件的定义进行设定。

针对在假想机械部件区域133中显示的假想机械部件进行更详细的说明。假想机械部件具有假想机械部件名称、假想机械部件参数和假想机械部件程序。假想机械部件名称是表示假想机械部件的名称。假想机械部件参数是对假想机械部件的内部动作进行定义的各规格值。假想机械部件程序是对基于假想机械部件参数的假想机械部件的内部动作进行记述的程序。如果将假想机械部件名称、假想机械部件参数和假想机械部件程序看作一体的信息体,则能够将假想机械部件名称、假想机械部件参数以及假想机械部件程序作为面向对象的思想中的针对对象的每个种类定义的模板、即类(Class)而定义。

基于类而创建的数据称为实例(Instance),将根据类生成实例称为实体化。当在定序程序123中使假想机械部件程序124能够使用时,通过将假想机械部件具有的类实体化,生成实例,从而能够调用在类中定义的程序。假想机械部件程序124存储于存储部104。

多个假想机械部件包含凸轮、解卷器、带式输送机以及梭箱机构模块。

凸轮是通常具有输入轴和输出轴,将输入轴的相位变换为输出轴的相对坐标的机械部件。

解卷器是具有输入轴和输出轴,通过将输入轴的相位变换为输出轴的相对坐标,从而将卷绕于卷轴的板以及膜通过输出轴而送出的机械部件。解卷器的输出轴是解卷轴。解卷器是能够通过校正量的输入而对膜的输送位置进行校正的机械部件。将输入轴的相位变换为输出轴即解卷轴的相对坐标的功能可以通过使用解卷器以及凸轮,将解卷器的输入轴和输出轴即解卷轴与凸轮的输入轴和输出轴连接而实现。这等效于在面对对象中对解卷器类的成员变量附加凸轮类。

带式输送机是具有输入轴和输出轴,通过将输入轴的相位变换为输出轴的相对坐标,从而进行通过输出轴而动作的带式输送机上的工件的搬运以及密封、以及膜的输送的机械装置。带式输送机的输出轴是带式输送机轴。带式输送机是能够通过校正量的输入而对带式输送机的输送位置进行校正的机械部件。将输入轴的相位变换为输出轴即带式输送机轴的相对坐标的功能可以通过使用带式输送机以及凸轮,将带式输送机的输入轴和输出轴即带式输送机轴与凸轮的输入轴和输出轴连接而实现。这等效于在面向对象中对带式输送机类的成员变量附加凸轮类。

梭箱机构是具有输入轴、第一输出轴以及第二输出轴,通过将输入轴的相位分别变换为第一输出轴的相对坐标以及第二输出轴的相对坐标,从而进行将通过带式输送机而送来的板或膜以成为所设定的尺寸的方式一边降下切刀一边前进,以与板或膜同步的速度将板或膜切断的梭箱机构动作的机械装置。上述的第一输出轴是行进轴,上述的第二输出轴是密封轴。

梭箱机构(Box motion)是能够进行动作速度的增加以及减少的调整的机械装置。将输入轴的相位变换为行进轴以及密封轴各自的相对坐标的功能可以通过使用梭箱机构、第一凸轮以及第二凸轮,将梭箱机构的输入轴和行进轴与第一凸轮的输入轴和输出轴连接,将梭箱机构的输入轴和密封轴与第二凸轮的输入轴和输出轴连接而实现。这等效于在面向对象中对梭箱机构类的成员变量附加两个凸轮类。

图5是表示表现出解卷器的示意图141、表现出解卷器的假想机械部件名称142和解卷器的假想机械部件参数设定区域143的图。显示部106显示图5。由于显示部106显示图5,因此操作者能够视觉地对假想机械部件的种类进行识别。解卷器是假想机械部件的例子。如图5所示,作为解卷器的假想机械部件参数,包含输入轴、输出轴即解卷轴、用于将输入轴的相位变换为解卷轴的相对坐标的变换图案即凸轮图案、以及膜径。

在图5的例子中,作为表示输入轴的参数定义了inputAxis,作为表示解卷轴的参数定义了unwindAxis,作为表示凸轮图案的参数定义了camPattern,作为表示膜径的参数定义了filmDiameter。作为解卷器的假想机械部件程序包含将解卷器的输入轴的相位通过凸轮图案进行变换而对解卷轴的相对坐标进行计算的程序、以及输入校正量而对膜的输送位置进行校正的程序。

图6是表示表现出带式输送机的示意图144、表现出带式输送机的假想机械部件名称145和带式输送机的假想机械部件参数设定区域146的图。显示部106显示图6。由于显示部106显示图6,因此操作者能够视觉地对假想机械部件的种类进行识别。带式输送机是假想机械部件的例子。如图6所示,作为带式输送机的假想机械部件参数包含输入轴、输出轴即带式输送机轴、用于将输入轴的相位变换为带式输送机轴的相对坐标的变换图案即凸轮图案、以及带式输送机速度。

在图6的例子中,作为表示输入轴的参数定义了inputAxis,作为表示输出轴即带式输送机轴的参数定义了conveyorAxis,作为表示凸轮图案的参数定义了camPattern,作为表示带式输送机速度的参数定义了conveyorVelocity。作为带式输送机的假想机械部件程序包含将带式输送机的输入轴的相位通过带式输送机凸轮图案进行变换而对带式输送机轴的相对坐标进行计算的程序、以及输入校正量而对带式输送机的输送位置进行校正的程序。

图7是表示表现出梭箱机构的示意图147、表现出梭箱机构的假想机械部件名称148和梭箱机构的假想机械部件参数设定区域149的图。显示部106显示图7。由于显示部106显示图7,因此操作者能够视觉地对假想机械部件的种类进行识别。梭箱机构是假想机械部件的例子。如图7所示,作为梭箱机构的参数包含输入轴、第一输出轴、第二输出轴、用于将输入轴的相位变换为第一输出轴的相对坐标的变换图案即行进凸轮图案、用于将输入轴的相位变换为第二输出轴的相对坐标的变换图案即密封凸轮图案、以及梭箱机构合成速度。第一输出轴是行进轴,第二输出轴是密封轴。

在图7的例子中,作为表示输入轴的参数定义了inputAxis,作为表示行进轴的参数定义了travelAxis,作为表示密封轴的参数定义了seelAxis,作为表示行进凸轮图案的参数定义了travelCamPattern,作为表示密封凸轮图案的参数定义了seelCamPattern,作为表示梭箱机构速度的参数定义了boxMotionVelocity。作为梭箱机构的假想机械部件程序包含将梭箱机构的输入轴的相位通过凸轮图案进行变换而对行进轴以及密封轴的相对坐标进行计算的程序、以及用于使梭箱机构的合成速度增加或减少的程序。

表现出解卷器的示意图141、表现出带式输送机的示意图144和表现出梭箱机构的示意图147是指在假想机械部件区域133中显示的图标。表现出解卷器的假想机械部件名称142、表现出带式输送机的假想机械部件名称145和表现出梭箱机构的假想机械部件名称148是指在假想机械部件区域133中显示的部件的名称。解卷器的假想机械部件参数设定区域143、带式输送机的假想机械部件参数设定区域146和梭箱机构的假想机械部件参数设定区域149是假想机械部件参数设定区域135的一部分。

针对在用户定义假想机械部件区域134中显示的用户定义假想机械部件进行更详细的说明。用户定义假想机械部件与假想机械部件相同地具有用户定义假想机械部件名称、用户定义假想机械部件参数和用户定义假想机械部件程序。用户定义假想机械部件的一个例子是通过将解卷器、带式输送机和梭箱机构组合而创建的横枕包装机。

横枕包装机是具有输入轴、解卷轴、带式输送机轴、行进轴和密封轴,通过将输入轴的相位变换为解卷轴、带式输送机轴、行进轴以及密封轴各自的相对坐标,从而具有将由解卷器送出的膜和由带式输送机搬运的工件相组合,通过由梭箱机构进行密封以及切断而对产品进行打包的功能的机械部件。

横枕包装机具有的功能可以通过使用横枕包装机、解卷器、带式输送机以及梭箱机构,将横枕包装机的输入轴和横枕包装机的与解卷轴对应的输出轴连接至解卷器的输入轴和解卷轴,将横枕包装机的输入轴和横枕包装机的与带式输送机轴对应的输出轴连接至带式输送机的输入轴和带式输送机轴,将横枕包装机的输入轴、横枕包装机的与行进轴对应的输出轴以及横枕包装机的与密封轴对应的输出轴连接至梭箱机构的输入轴、行进轴以及密封轴而实现。这等效于在面向对象中对横枕包装机类的成员变量附加解卷器类、带式输送机类以及梭箱机构类。

图8是表示表现出横枕包装机的示意图150、表现出横枕包装机的用户定义假想机械部件名称151和横枕包装机的用户定义假想机械部件参数设定区域152的图。如图8所示,在横枕包装机的用户定义假想器械部件创建区域中,配置表现出解卷器、带式输送机以及梭箱机构的示意图。作为横枕包装机的参数包含输入轴、与解卷轴对应的输出轴、与带式输送机对应的输出轴、与行进轴对应的输出轴、与密封轴对应的输出轴、解卷器、带式输送机以及梭箱机构。

在图8的例子中,作为表示解卷器的参数定义了Unwinder类的unwinder1,作为表示带式输送机的参数定义了Conveyor类的conveyor1,作为表示梭箱机构的参数定义了BoxMotion类的boxMotion1,作为表示输入轴的参数定义了inputAxis,作为表示解卷轴的参数定义了unwindAxis,作为表示带式输送机轴的参数定义了conveyAxis,作为表示行进轴的参数定义了travelAxis,作为表示密封轴的参数定义了seelAxis。

作为横枕包装机的用户定义假想机械部件程序,包含将横枕包装机的输入轴的相位通过解卷器、带式输送机以及梭箱机构进行变换,对解卷轴、带式输送机轴、行进轴以及密封轴各自的相对坐标进行计算的程序。

表现出横枕包装机的示意图150是在用户定义假想机械部件区域134中显示的图标,是用户定义假想机械部件创建区域的背景图像。表现出横枕包装机的用户定义假想机械部件名称151是在用户定义假想机械部件区域134中显示的部件的名称。横枕包装机的用户定义假想机械部件参数设定区域152是用户定义假想机械部件参数设定区域136的一部分。

图9是表示横枕包装机的用户定义假想机械部件参数设定区域153的图。在图9的例子中,作为横枕包装机的参数而设置用于对横枕包装机的示意图的参照进行输入的参数。用户定义假想机械部件图输入部122基于通过参数输入的路径而接收成为横枕包装机的示意图的图像。

图10是表示横枕包装机的用户定义假想机械部件参数设定区域152的图。虽然在图10的例子中,用户定义假想机械部件程序125是通过结构化文本语言记述的,但用户定义假想机械部件程序125也可以通过其它高级语言记述。其它高级语言的例子是C语言。在图10的例子中,定义了进行解卷器、带式输送机以及梭箱机构各自的从输入轴向输出轴的变换的程序MC_CamIn、和使各输出轴处于能够动作的状态的程序MC_PowerOn,在横枕包装机的程序AllCamIn中自由地定义了所有的执行MC_CamIn的控制。

图11是用于对实施方式涉及的PLC 2所具有的CPU单元3的功能进行说明的图。CPU单元3具有CPU 301以及存储部302。CPU 301具有执行部303。存储部302存储从程序创建辅助装置1的用户程序处理执行代码生成部119转发来的定序程序123、假想机械部件程序124、用户定义假想机械部件程序125、假想机械部件参数126以及用户定义假想机械部件参数127。进一步地说,存储部302保存从程序创建辅助装置1输出的用户程序和参数。存储部302例如由半导体存储器实现。

执行部303按照与用户定义假想机械部件对应的用户程序和参数而执行运动控制。进一步地说,执行部303按照假想机械部件参数126和用户定义假想机械部件参数127而执行使用用户定义假想机械部件程序125记述的定序程序123,进行定序控制。

图12是表示实施方式涉及的程序创建辅助装置1的CPU 101按照程序创建辅助装置软件111而执行的程序创建辅助方法的步骤的流程图。

在步骤S1中,CPU 101具体来说是描绘部118使显示部106显示树状图131、定序程序编辑区域132、假想机械部件区域133、用户定义假想机械部件区域134、假想机械部件参数设定区域135、用户定义假想机械部件参数设定区域136以及用户定义假想机械部件编辑区域137。在图12中,步骤S1的动作以“显示用户界面”这样的语言表示。

在步骤S2中,CPU 101具体来说是用户定义假想机械部件名输入部120基于通过输入部105向树状图131的文本输入部139输入的指示而接收用户定义假想机械部件的名称的输入。在CPU 101自动地赋予用户定义假想机械部件的名称的情况下,也可以省略步骤S2的动作。

在步骤S3中,CPU 101具体来说是用户定义假想机械部件程序名输入部121基于通过输入部105向树状图131的文本输入部140输入的指示而接收用户定义假想机械部件程序的名称的输入。在CPU 101自动地赋予用户定义假想机械部件程序的名称的情况下,也可以省略步骤S3的动作。

在步骤S4中,CPU 101具体来说是用户定义假想机械部件创建部113基于通过输入部105输入的指示而进行用户定义假想机械部件的编辑。该指示也可以通过从在假想机械部件区域133中预先准备的多个假想机械部件中由操作者用鼠标选择期望的假想机械部件并用鼠标使所选择的假想机械部件向用户定义假想机械部件编辑区域137移动而实现。用鼠标使假想机械部件移动是通过拖放而进行的。将追加至用户定义假想机械部件的假想机械部件如图8所示追加至用户定义假想机械部件的参数。用户定义假想机械部件编辑区域137的显示也可以通过由操作者点击树状图131的用户定义假想机械部件而实现。

在步骤S5中,CPU 101具体来说是假想机械部件参数设定部114基于通过输入部105向假想机械部件参数设定区域135输入的指示而对用户定义假想机械部件所具有的多个假想机械部件各自的参数进行设定。假想机械部件参数设定区域135的显示可以通过由操作者点击用户定义假想机械部件编辑区域137的假想机械部件的图标而实现,也可以通过由操作者点击用户定义假想机械部件参数设定区域136的假想机械部件而实现。

在步骤S6中,CPU 101具体来说是用户定义假想机械部件参数编辑部115基于通过输入部105向用户定义假想机械部件参数设定部116输入的指示而对用户定义假想机械部件的参数进行编辑。

在步骤S7中,CPU 101具体来说是用户定义假想机械部件参数设定部116基于通过输入部105向用户定义假想机械部件参数设定区域136输入的指示而对用户定义假想机械部件的参数进行设定。用户定义假想机械部件参数设定区域136的显示也可以通过由操作者点击树状图131的用户定义假想机械部件的参数而实现。

在步骤S8中,CPU 101具体来说是用户定义假想机械部件程序编辑部117基于通过输入部105向用户定义假想机械部件程序编辑区域138输入的指示而接收用户定义假想机械部件的程序的编辑的指示。用户定义假想机械部件程序编辑区域138的显示也可以通过由操作者点击树状图131的用户定义假想机械部件的程序而实现。

在由操作者追加新的用户定义假想机械部件的情况下,从通过由操作者对树状图131的用户定义假想机械部件进行鼠标的右键点击而显示的弹出菜单中进行新的用户定义假想机械部件的追加的指示。创建出的用户定义假想机械部件在树状图131中分层地显示,并且还显示于用户定义假想机械部件区域134。

在由操作者追加新的用户定义假想机械部件程序的情况下,从通过由操作者对树状图131的用户定义假想机械部件程序进行鼠标的右键点击而显示的弹出菜单中进行新的用户定义假想机械部件程序的追加的指示。创建出的用户定义假想机械部件程序在树状图131中分层地显示。

在步骤S9中,CPU 101基于通过输入部105向定序程序编辑区域132输入的指示而接收定序程序的编辑的指示。与该指示对应的动作可以通过从在假想机械部件区域133中预先准备的多个假想机械部件中由操作者用鼠标选择期望的假想机械部件,用鼠标使所选择的假想机械部件向定序程序编辑区域132移动而实现,也可以同时进行向定序程序编辑区域132移动后的假想机械部件具有的类的实体化。操作者能够使用追加至定序程序的假想机械部件的实例而通过假想机械部件程序124对定序程序进行记述。

与上述的指示对应的动作可以通过由操作者在用户定义假想机械部件区域134中用鼠标选择期望的用户定义假想机械部件,用鼠标使所选择的用户定义假想机械部件向定序程序编辑区域132移动而实现,也可以同时进行向定序程序编辑区域132移动后的用户定义假想机械部件具有的类的实体化。操作者能够使用追加至定序程序的用户定义假想机械部件的实例而通过用户定义假想机械部件程序125对定序程序进行记述。在图12中,步骤S9的动作以“将用户定义假想机械部件配置于定序程序中”这样的语言表示。

在步骤S10中,CPU 101具体来说是用户程序处理执行代码生成部119基于通过输入部105作出的指示,针对假想机械部件程序124、用户定义假想机械部件程序125、和使用假想机械部件程序124以及用户定义假想机械部件程序125记述的定序程序123而进行用于由PLC 2执行的代码化。

在步骤S11中,CPU 101具体来说是用户程序处理执行代码生成部119将代码化后的定序程序123、代码化后的假想机械部件程序124、代码化后的用户定义假想机械部件程序125、假想机械部件参数126和用户定义假想机械部件参数127经由通信接口107转发至PLC 2。

在步骤S12中,CPU单元3将定序程序123、假想机械部件程序124、用户定义假想机械部件程序125、假想机械部件参数126以及用户定义假想机械部件参数127在存储部302中保存。

在步骤S13中,CPU 301的执行部303执行定序程序123。

如上所述,在实施方式涉及的程序创建辅助装置1中,显示部106显示多个假想机械部件,该假想机械部件为具有至少大于或等于一个轴的信息,设定有对内部动作进行规定的运算处理,执行运动控制的假想的机械部件。假想机械部件指定部112从由显示部106显示的多个假想机械部件中对构成用户定义假想机械部件的假想机械部件进行指定。用户定义假想机械部件创建部113基于从显示出的多个假想机械部件中指定出的一个或多个机械部件,创建与显示出的多个假想机械部件不同的假想机械部件作为用户定义假想机械部件。进一步地说,用户定义假想机械部件创建部113将预先定义的假想机械部件变更或组合,对新的用户定义假想机械部件进行定义。用户定义假想机械部件参数编辑部115对由用户定义假想机械部件创建部113定义的用户定义假想机械部件的用户定义假想机械部件参数127进行编辑。用户定义假想机械部件参数设定部116对用户定义假想机械部件参数127进行设定。假想机械部件参数设定部114对定义出多个假想机械部件各自的内部动作的参数进行设定。进一步地说,假想机械部件参数设定部114对用户定义假想机械部件所具有的假想机械部件的假想机械部件参数126进行设定。用户定义假想机械部件程序编辑部117通过用户程序对用户定义假想机械部件的运算处理进行编辑。进一步地说,用户定义假想机械部件程序编辑部117自由地使用用户定义假想机械部件所具有的假想机械部件的假想机械部件程序124,对用户定义假想机械部件程序125进行编辑。用户程序处理执行代码生成部119将包含用户定义假想机械部件程序的定序程序代码化,向PLC 2转发。进一步地说,用户程序处理执行代码生成部119基于由用户定义假想机械部件参数设定部116设定出的参数而将定序程序代码化,将代码化后的用户程序输出至PLC 2,使PLC 2执行在用户程序中记述的运动控制。

假想机械部件程序124被包含于预先准备的假想机械部件中而提供。因此,操作者仅通过对各假想机械部件的参数进行指定就能够实现控制。操作者通过将至少一个假想机械部件变更或组合而对用户定义假想机械部件进行定义,从而能够使用用户定义假想机械部件所具有的假想机械部件程序124对用户定义假想机械部件程序125进行定义。因此,实施方式涉及的程序创建辅助装置1能够减小创建需要进行复杂控制的机械装置的程序时的操作者的负担。

如使用图4说明过的那样,也可以设置用于对用户定义假想机械部件的名称进行输入的用户定义假想机械部件名输入部120。由此,操作者也能够自由地决定用户定义假想机械部件的名称。进一步地说,操作者能够将决定出的名称用于程序。

如使用图4说明过的那样,也可以设置用于对用户定义假想机械部件程序125的名称进行输入的用户定义假想机械部件程序名输入部121。由此,操作者也能够自由地决定用户定义假想机械部件程序125的名称。进一步地说,操作者能够将决定出的名称用于程序。

如使用图9说明过的那样,也可以设置用于对用户定义假想机械部件的示意图进行输入的用户定义假想机械部件图输入部122。由此,操作者能够自由地决定用户定义假想机械部件的示意图,一边对在用户定义假想机械部件创建区域中显示的示意图进行视觉识别一边将假想机械部件配置于用户定义假想机械部件创建区域,因此能够一边意识到用户定义假想机械部件与假想机械部件之间的关系一边创建直观的用户定义假想机械部件。

图12的步骤S4中的用户定义假想机械部件的编辑通过从在假想机械部件区域133中预先准备的多个假想机械部件中用鼠标选择期望的假想机械部件,用鼠标使所选择的假想机械部件向用户定义假想机械部件编辑区域137移动而实现。然而,用户定义假想机械部件的编辑也可以通过从用户定义假想机械部件区域134的用户定义假想机械部件中用鼠标选择期望的用户定义假想机械部件,用鼠标使所选择的用户定义假想机械部件向用户定义假想机械部件编辑区域137移动而实现。

操作者通过将至少一个用户定义假想机械部件变更或组合而对不同的用户定义假想机械部件进行定义,从而能够使用用户定义假想机械部件所具有的用户定义假想机械部件程序125对不同的用户定义假想机械部件程序125进行定义。因此,程序创建辅助装置1即使对于具有多个相同的用户定义假想机械部件的不同的用户定义假想机械部件,也能够减小创建程序时的操作者的负担。

显示部106也可以显示多个由用户定义假想机械部件创建部113创建出的用户定义假想机械部件。用户定义假想机械部件创建部113基于从显示出的多个假想机械部件或用户定义假想机械部件中指定出的一个或多个机械部件,创建与显示出的多个假想机械部件以及用户定义假想机械部件不同的假想机械部件作为用户定义假想机械部件。在此情况下,程序创建辅助装置1能够提高用户定义假想机械部件的复用性,进而减小创建需要进行复杂控制的机械装置的程序时的操作者的负担。

如使用图7以及图8说明过的那样,在实施方式中,多个假想机械部件是凸轮、解卷器、带式输送机以及梭箱机构。然而,也可以作为抽象度进一步增加的假想机械部件而将机械模型模块包含于多个假想机械部件中。

机械模型模块是具有至少一个输入轴、至少一个输出轴和机械模型,具有将由各输入轴驱动的机械的动作通过机械模型进行模拟,将模拟的结果输出至各输出轴的功能的机械部件。图13是表示机械模型所模拟的机械系统401的例子的图。机械系统401具有X轴401a、Y轴401b以及Z轴401c这3个轴的电动机,进行通过X轴401a和Y轴401b而在XY平面上移动的工作台的位置控制。通过Z轴401c的动作,由在Z轴401c的前端安装的头部401d对在工作台401e之上配置的工件实施加工。

机械模型例如是以X轴401a的轴位置、Y轴401b的轴位置和Z轴401c的轴位置为输入,以工作台401e的位置和头部401d的位置为输出,将输入通过基于电动机位置的运动学而变换为工作台位置以及头部位置的机械模型。

机械模型也可以是考虑了机械的动力学的模型,能够对振动特性进行模拟。

可以预先准备机械模型,但也可以准备生成机械模型的机械模型生成程序。假想机械部件也可以具有用于生成基于实机的数据对由电动机驱动的机械的动作进行模拟的机械模型的模型生成程序。在假想机械部件具有模型生成程序的情况下,即使没有事先准备机械模型也能够由具有机械模型的机械模型模块进行控制。

机械模型生成程序基于输入进来的实机信息而生成模型。实机信息是指使机械系统实际地动作而得到的信号。例如,X轴、Y轴以及Z轴的电动机位置的时序数据、工作台位置以及头部位置的时序数据包含于实机信息中。

机械模型生成程序生成将X轴、Y轴以及Z轴的电动机位置的时序数据作为输入,将工作台位置以及头部位置的时序数据输出的机械模型。

为了得到输入与输出之间的关系,可以使用例如神经网络或支持向量回归这样的机器学习技术、或例如预测误差法或部分空间法这样的系统识别技术。以下示出使用神经网络的例子。

模型生成程序将X轴、Y轴以及Z轴的电动机位置的时序数据、工作台位置以及头部位置的时序数据作为学习用的数据,进行使用了神经网络的学习动作。图14是表示实施方式涉及的神经网络的图。神经网络具有输入层、中间层以及输出层。将表示输入即X轴、Y轴以及Z轴的电动机位置的M个输入数据i1、i2、…、iM输入至输入层,从输出层输出表示工作台位置以及头部位置的N个输出数据o1、o2、…、oN。M以及N都是大于或等于2的自然数。

能够将针对输入层的各节点至中间层的各节点的多个权重系数各自独立地设定,但在图14中,多个权重系数全都被记作相同的权重系数W1。同样地,在图14中,针对中间层的各节点至输出层的各节点的多个权重系数全都被记作相同的权重系数W2。

对输入层的各节点的输出值乘以权重系数W1,将通过相乘得到的结果的线性组合输入至中间层的各节点。对中间层的各节点的输出值乘以权重系数W2,将通过相乘得到的结果的线性组合输入至输出层的节点。在各层的各节点中,例如也可以通过S型函数(sigmoid function)这样的非线性函数,根据输入值对输出值进行计算。在输入层以及输出层中,输出值也可以是输入值的线性组合。

模型生成程序使用X轴、Y轴以及Z轴的电动机位置的时序数据、工作台位置以及头部位置的时序数据,对神经网络的权重系数W1和权重系数W2进行计算。神经网络的权重系数W1以及权重系数W2能够通过使用误差反向传播法或梯度下降法而进行计算。但是,只要是能得到神经网络的权重系数的计算方法即可,权重系数W1以及权重系数W2的计算方法不限于上述的方法。

如果决定了神经网络的权重系数,则得到X轴、Y轴以及Z轴的电动机位置的时序数据与工作台位置以及头部位置的时序数据之间的关系式。到此为止示出了使用3层神经网络的学习。使用了神经网络的学习不限定于上述的例子。

通过模型生成程序,得到将X轴、Y轴以及Z轴的电动机位置作为输入、将工作台位置以及头部位置作为输出的机械模型。

由神经网络进行的模拟的精度能够通过变更神经网络的层数以及节点数中的一者或两者而任意地设定。即,能够简单地生成多个精度不同的机械模型。通过如实施方式那样基于实机的数据而生成机械模型,从而即使用户没有事先准备机械模型,也能够由具有机械模型的机械模型模块进行控制。

此外,图12所示的程序创建辅助方法是通过由CPU 101执行程序创建辅助装置软件111而实现的。即,根据实施方式,除程序创建辅助装置1之外,还提供程序创建辅助方法以及程序创建辅助程序。

图15是表示通过处理电路91实现实施方式涉及的程序创建辅助装置1的假想机械部件指定部112、用户定义假想机械部件创建部113、假想机械部件参数设定部114、用户定义假想机械部件参数编辑部115、用户定义假想机械部件参数设定部116、用户定义假想机械部件程序编辑部117、描绘部118、用户程序处理执行代码生成部119、用户定义假想机械部件名输入部120、用户定义假想机械部件程序名输入部121以及用户定义假想机械部件图输入部122的一部分或全部的情况下的处理电路91的图。即,假想机械部件指定部112、用户定义假想机械部件创建部113、假想机械部件参数设定部114、用户定义假想机械部件参数编辑部115、用户定义假想机械部件参数设定部116、用户定义假想机械部件程序编辑部117、描绘部118、用户程序处理执行代码生成部119、用户定义假想机械部件名输入部120、用户定义假想机械部件程序名输入部121以及用户定义假想机械部件图输入部122的一部分或全部也可以通过处理电路91实现。

处理电路91是专用的硬件。处理电路91例如是单一电路、复合电路、程序化的处理器、并行程序化的处理器、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)或它们的组合。假想机械部件指定部112、用户定义假想机械部件创建部113、假想机械部件参数设定部114、用户定义假想机械部件参数编辑部115、用户定义假想机械部件参数设定部116、用户定义假想机械部件程序编辑部117、描绘部118、用户程序处理执行代码生成部119、用户定义假想机械部件名输入部120、用户定义假想机械部件程序名输入部121以及用户定义假想机械部件图输入部122的一部分也可以通过与剩余部分不同的专用的硬件而实现。

对于假想机械部件指定部112、用户定义假想机械部件创建部113、假想机械部件参数设定部114、用户定义假想机械部件参数编辑部115、用户定义假想机械部件参数设定部116、用户定义假想机械部件程序编辑部117、描绘部118、用户程序处理执行代码生成部119、用户定义假想机械部件名输入部120、用户定义假想机械部件程序名输入部121以及用户定义假想机械部件图输入部122的多个功能,也可以是该多个功能的一部分通过软件或固件实现,该多个功能的剩余部分通过专用的硬件实现。如上所述,该多个功能能够通过硬件、软件、固件或它们的组合而实现。

PLC 2所具有的执行部304也可以通过与处理电路91相同的处理电路而实现。

在以上的实施方式中示出的结构表示的是一个例子,能够与其它公知的技术相组合,能够在不脱离主旨的范围省略或变更结构的一部分。

标号的说明

1程序创建辅助装置,2PLC,3CPU单元,4扩展单元,5总线单元,9传送路径,91处理电路,101、301CPU,102RAM,103ROM,104、302存储部,105输入部,106显示部,107通信接口,111程序创建辅助装置软件,112假想机械部件指定部、113用户定义假想机械部件创建部、114假想机械部件参数设定部、115用户定义假想机械部件参数编辑部、116用户定义假想机械部件参数设定部、117用户定义假想机械部件程序编辑部、118描绘部、119用户程序处理执行代码生成部、120用户定义假想机械部件名输入部、121用户定义假想机械部件程序名输入部、122用户定义假想机械部件图输入部、123定序程序,124假想机械部件程序,125用户定义假想机械部件程序,126假想机械部件参数,127用户定义假想机械部件参数,131树状图,132定序程序编辑区域,133假想机械部件区域,134用户定义假想机械部件区域,135假想机械部件参数设定区域,136用户定义假想机械部件参数设定区域,137用户定义假想机械部件编辑区域,138用户定义假想机械部件程序编辑区域,139、140文本输入部,141表现出解卷器的示意图,142表现出解卷器的假想机械部件名称,143解卷器的假想机械部件参数设定区域,144表现出带式输送机的示意图,145表现出带式输送机的假想机械部件名称,146带式输送机的假想机械部件参数设定区域,147表现出梭箱机构的示意图,148表现出梭箱机构的假想机械部件名称,149梭箱机构的假想机械部件参数设定区域,150表现出横枕包装机的示意图,151表现出横枕包装机的用户定义假想机械部件名称,152、153横枕包装机的用户定义假想机械部件参数设定区域,303执行部,401机械系统,401a X轴,401bY轴,401c Z轴,401d头部,401e工作台,1000PLC系统。

技术分类

06120116546958