控制系统、支持装置、支持程序的制作方法

文档序号:24641955发布日期:2021-04-13 12:46阅读:72来源:国知局
1.本发明涉及一种控制系统、控制系统所包括的支持装置以及支持程序。
背景技术
::2.在多数制造现场,为了安全地使用设备或机械,正推进安全系统(safetysystem)的导入。安全系统用于提供遵循国际规格的安全功能,包含安全控制器,安全传感器,安全开关及安全继电器等安全组件(safetycomponent)。3.对于安全系统,要求对驱动装置也提供安全功能,所述驱动装置对用于驱动设备或机械的伺服马达等进行驱动。在安全系统中,作为用于交换数据的网络,采用以太网控制自动化技术(ethernetforcontrolautomationtechnology,ethercat(注册商标)),非专利文献1中,公开了在与ethercat相关的组织即以太网控制自动化技术技术协会(ethercattechnologygroup,etg)的规格中跟安全功能相关的若干个规定。4.现有技术文献5.非专利文献6.非专利文献1适用于安全相关应用的可调速电力驱动系统的安全驱动配置文件类的安全驱动配置文件pds(sr)文档:etg.6100.2s(r)v1.2.0(safetydriveprofilegenericsafetydriveprofileforadjustablespeedelectricalpowerdrivesystemsthataresuitableforuseinsafety‑relatedapplicationpds(sr)document:etg.6100.2s(r)v1.2.0)技术实现要素:7.发明所要解决的问题8.根据非专利文献1中公开的规定,关于驱动装置所执行的所有安全功能,以在默认(default)时为有效的方式而预先固定了设定。更具体而言,在用于指定对安全功能的有效或无效的指定信息中,对第一字节的每位分配的所有标记被固定为表示有效的标记。9.但是,在实际使用中还存在下述情况,即,必须根据工序内的作业内容来变更安全功能的有效/无效设定,以在某工序中将安全功能设为有效,而在其他工序中将安全功能设为无效。此种情况下,用户必须另行准备用于将安全功能的有效/无效设定从默认状态进行变更的程序,从而可能产生作业量增加的事态。而且,在编程作业中,由于必须记述源代码,因此也有用户无意地记述错误的设定内容之虞。10.本发明的一个目的在于解决如上所述的问题,其目的在于使安全功能中的有效或无效的设定变得容易。11.解决问题的技术手段12.依据本公开的一例,提供一种控制系统。控制系统包括:驱动装置,具有至少一个以上的安全功能并且驱动马达;控制器,按照安全程序,对驱动装置输出与至少一个以上的安全功能相关的指令;以及支持装置,支持安全程序的开发。在安全程序中,包含用于使至少一个以上的安全功能中的特定的安全功能无效化的信息。支持装置包含:受理部,关于至少一个以上的安全功能分别受理用户所进行的有效或无效的指定;生成部,根据由受理部所受理的有效或无效的指定而生成安全程序;以及转发部,将由生成部所生成的安全程序转发至控制器。13.根据本公开,用户针对支持装置而关于特定的安全功能来指定有效或无效,由此,根据所述有效或无效的指定而生成安全程序并转发至控制器。由此,用户无须记述源代码,便能够生成用于关于特定的安全功能来指定有效或无效的安全程序,因此能够使安全功能中的有效或无效的设定变得容易。14.所述公开中,支持装置提供用户接口,所述用户接口用于关于至少一个以上的安全功能而分别通过受理部来受理有效或无效的指定。15.根据本公开,用户能够使用支持装置所提供的用户接口,来关于至少一个以上的安全功能分别指定有效或无效。16.所述公开中,支持装置提供用户接口,所述用户接口用于对于从多个驱动装置中选择的特定的驱动装置,关于至少一个以上的安全功能而分别通过受理部来受理有效或无效的指定。17.根据本公开,用户能够使用支持装置所提供的用户接口,对于从多个驱动装置中选择的特定的驱动装置,关于至少一个以上的安全功能分别指定有效或无效。18.所述公开中,支持装置响应指定了至少一个以上的安全功能中的特定的安全功能的无效的情况,而禁止在与所述特定的安全功能相关的安全程序中参照的变量的使用。19.根据本公开,能够避免用户无意地设定在与经无效化的安全功能相关的程序中参照的变量的事态。20.所述公开中,支持装置通知所述变量的使用的禁止。21.根据本公开,能够将在与经无效化的安全功能相关的程序中参照的变量的使用已被禁止的情况通知给用户。22.所述公开中,由所述生成部所生成的所述安全程序无法由用户编辑。23.根据本公开,由支持装置所生成的安全程序不会被用户编辑,因此能够避免下述问题的发生,即,用户对支持装置所指定的关于安全功能的有效或无效的设定内容、与由支持装置所生成的安全程序中的设定内容不一致。24.依据本公开的另一例,提供一种支持装置,支持安全程序的开发,所述安全程序是由对驱动马达的驱动装置进行控制的控制器所执行且与至少一个以上的安全功能相关。安全程序中,包含用于使至少一个以上的安全功能中的特定的安全功能无效化的信息。支持装置包括:受理部,关于至少一个以上的安全功能分别受理用户所进行的有效或无效的指定;生成部,根据由受理部所受理的有效或无效的指定而生成安全程序;以及转发部,将由生成部所生成的安全程序转发至控制器。25.根据本公开,用户针对支持装置而关于特定的安全功能来指定有效或无效,由此,根据所述有效或无效的指定而生成安全程序并转发至控制器。由此,用户无须记述源代码,便能够生成用于关于特定的安全功能来指定有效或无效的安全程序,因此能够使安全功能中的有效或无效的设定变得容易。26.依据本公开的另一例,提供一种支持程序,支持安全程序的开发,所述安全程序是由对驱动马达的驱动装置进行控制的控制器所执行且与至少一个以上的安全功能相关。支持程序包含用于使至少一个以上的安全功能中的特定的安全功能无效化的信息。支持程序使计算机执行下述步骤:关于至少一个以上的安全功能分别受理用户所进行的有效或无效的指定;根据所受理的有效或无效的指定而生成安全程序;以及将所生成的安全程序转发至控制器。27.发明的效果28.根据本发明,能够使安全功能中的有效或无效的设定变得容易。附图说明29.图1是表示本实施方式的控制系统的适用例的示意图。30.图2是表示在etg的规格中定义的、对安全功能的有效/无效设定进行指定的第一字节的信息的示意图。31.图3是表示构成本实施方式的控制系统的标准控制器的硬件结构例的示意图。32.图4是表示构成本实施方式的控制系统的安全控制器的硬件结构例的示意图。33.图5是表示构成本实施方式的控制系统的安全驱动器以及伺服马达的硬件结构例的示意图。34.图6是表示构成本实施方式的控制系统的支持装置的硬件结构例的示意图。35.图7是表示本实施方式的控制系统的功能分担的一例的示意图。36.图8是表示与本实施方式的控制系统的安全驱动器的安全功能相关的处理流程的一例的序列图。37.图9是表示本实施方式的控制系统所提供的运动安全功能的一例的图。38.图10是表示本实施方式的控制系统中的标准控制以及安全控制的实现例的示意图。39.图11是表示本实施方式的运动安全功能的有效或无效的迁移的一例的示意图。40.图12是表示本实施方式的安全程序中的安全功能的有效/无效设定部分的示意图。41.图13是表示本实施方式的支持装置所提供的用于进行运动安全功能的有效/无效设定的用户接口的一例的图。42.图14是表示本实施方式的支持装置所提供的用于进行运动安全功能的有效/无效设定的用户接口的一例的图。43.图15是表示本实施方式的支持装置所提供的用于进行安全程序中的变量设定的用户接口的一例的图。44.图16是用于说明本实施方式的支持装置所执行的安全有效/无效程序生成处理的流程图。45.图17是用于说明本实施方式的安全驱动器所执行的安全指令接收处理的流程图。具体实施方式46.一边参照附图,一边详细说明本发明的实施方式。另外,对于图中的相同或相当的部分,标注相同的符号并不再重复其说明。47.<a.适用例>48.首先,对适用本发明的场景的一例进行说明。49.图1是表示本实施方式的控制系统1的适用例的示意图。本实施方式的控制系统1例如除了iec61508等中规定的安全功能以外,还提供在非专利文献2(“iec61800‑5‑2:2016可调速电力驱动系统‑第5‑2部分:安全要求‑功能”,国际电工委员会,2016‑04‑18)中规定的安全转矩关断(safetorqueoff,sto)、安全停止1(safestop1,ss1)、安全停止2(safestop2,ss2)以及安全操作停止(safeoperatingstop,sos)等与驱动装置关联的若干个安全功能。50.参照图1,控制系统1主要包含标准控制器100、以及经由现场网络2而与标准控制器100连接的安全控制器200以及一个或多个安全驱动器(安全伺服驱动器)300。安全驱动器300分别驱动电连接的伺服马达400。另外,并不限于伺服马达400,而能够采用任意种类的马达。而且,安全驱动器300的实体既可为伺服驱动器,也可为通用的逆变器装置。以下的说明中,将安全驱动器300作为“驱动装置”的一例进行说明。51.标准控制器100按照预先制作的标准控制程序(后述的标准控制程序1104),来执行对包含伺服马达400的控制对象的标准控制(后述的标准控制150)。典型的是,标准控制器100通过循环执行与来自一个或多个传感器(未图示)等的输入信号相应的控制运算,从而周期性地算出对伺服马达400等致动器的指令。52.安全控制器200对应于“控制器”,按照安全程序(后述的安全程序2104),对安全驱动器300发送与安全功能(后述的安全功能250)的动作相关的安全指令。安全控制器200是与标准控制器100独立地,循环执行用于实现对控制对象的安全功能250的监测及控制运算。53.安全控制器200能够受理来自任意的安全设备240的输入信号、和/或向任意的安全设备240输出指令。安全程序2104是利用与安全控制器200可通信地连接的支持装置500所提供的开发环境而由用户预先制作,并转发至安全控制器200。54.安全驱动器300按照来自标准控制器100的指令,对伺服马达400供给电力,由此来驱动伺服马达400。安全驱动器300基于来自伺服马达400的反馈信号等,周期性地算出伺服马达400的旋转位置、旋转速度、旋转加速度及所产生的转矩等。55.进而,安全驱动器300根据来自安全控制器200的安全指令,执行与伺服马达400的驱动相关的规定的运动安全功能(后述的运动安全功能360)。更具体而言,安全驱动器300将安全功能250所需的状态信息提供给安全控制器200,并且执行与所要求的安全功能相应的运动安全程序(后述的运动安全程序3204),由此来调整或阻断对伺服马达400供给的电力。56.伺服马达400具有接受来自安全驱动器300的电力而旋转的马达(后述的三相交流马达402),并且将来自与马达的旋转轴结合的编码器(后述的编码器404)的检测信号作为反馈信号而输出至安全驱动器300。57.支持装置500支持标准控制器100侧的开发以及安全控制器200侧的开发。更具体而言,作为标准控制器100侧的开发,支持装置500支持由标准控制器100所执行的标准控制程序(后述的标准控制程序1104)的开发或与标准控制150相关的设定等。进而,作为安全控制器200侧的开发,支持装置500支持由安全控制器200所执行的安全程序(后述的安全程序2104)的开发或与安全功能250相关的设定等。支持装置500向用户提供用于通过将至少一个以上的命令信息予以组合而生成程序的开发环境(程序制作编辑工具、分析器、编译器等)。58.本说明书中,“设备”是能够经由现场网络2等任意网络来与其他装置进行数据通信的装置的总称。本实施方式的控制系统1中,“设备”包含标准控制器100、安全控制器200及安全驱动器300。59.本说明书中,对比性地使用了“标准控制”及“安全控制”的术语。“标准控制”是用于按照预先规定的要求规格来对控制对象进行控制的处理的总称。另一方面,“安全控制”是对用于防止因设备或机械等而威胁到人的安全的处理的总称。“安全控制”被设计成,满足用于实现iec61508等中规定的安全功能的要件。60.本说明书中,将驱动装置(安全设备300)特有的安全功能总称为“运动安全功能”或简单地总称为“安全功能”。典型的是,“功能”包含所述非专利文献2中规定的与驱动装置相关的安全功能。例如,包含用于监测控制轴的位置或速度以确保安全的控制。61.本说明书中,“过程数据(processdata)”是在标准控制或安全控制的至少任一控制中所用的数据的总称。具体而言,“过程数据”包含从控制对象获取的输入信息、向控制对象输出的输出信息、被用于各设备中的控制运算的内部信息等。62.输入信息包含由光电传感器等所检测的导通/断开(on/off)信号(数字输入)、由温度传感器等所检测的物理信号(模拟输入)、以及脉冲编码器(pulseencoder)等所产生的脉冲信号(脉冲输入)等。输出信息包含用于驱动继电器等的导通/断开(数字输出)、对伺服马达的旋转速度等进行指示的速度指令(模拟输出)、以及对步进马达(steppingmotor)的移动量等进行指示的位移指令(脉冲输出)等。内部信息包含通过将任意的过程数据作为输入的控制运算等而决定的状态信息等。63.在控制系统1的现场网络2中,进行过程数据通信,将标准控制器100作为通信主机,通信帧600循环(例如数msec~十数msec)地在设备间巡回一圈。通信帧600传输的周期也称作过程数据通信周期。本实施方式中,作为循环地传输此种通信帧600的现场网络2的协议的一例,采用ethercat。64.对于通信帧600,针对每个设备而分配有数据区域。各设备在收到周期性地传输的通信帧600时,向所述收到的通信帧600内的被分配给自身设备的数据区域写入预先设定的数据的当前值。并且,将写入当前值后的通信帧600送出至下段的设备。由各设备所写入的数据的当前值可从其他设备进行参照。65.通过各设备在通信帧600中写入预先设定的数据的当前值,从而在现场网络2中巡回一圈而返回通信主机(标准控制器100)的通信帧600中,将包含由各设备所收集的最新的值。66.本实施方式中,利用此种过程数据通信,在安全控制器200与安全驱动器300各自之间形成逻辑连接4。所述逻辑连接4被用于用以实现安全功能250的数据的交换。67.如上所述,在采用ethercat来作为现场网络2的协议的情况下,能够使用被称作基于ethercat的故障安全(failsafeoverethercat,fsoe)的协议来形成逻辑连接4。68.更具体而言,对通信帧600分配用于保存为了形成逻辑连接4而交换的命令的专用数据区域。通过使用所述专用数据区域来在设备间交换命令,从而形成逻辑连接4。69.如图1所示,各安全驱动器300保持用于对运动安全功能360的有效或无效进行管理的安全状态70。可通过安全驱动器300来实现的运动安全功能360包含安全转矩关断(safetorqueoff,sto)、安全停止1(safestop1,ss1)、安全停止2(safestop2,ss2)、安全操作停止(safeoperatingstop,sos)、安全速度范围(safespeedrange,ssr)、安全方向正(safedirectionpositive,sdip)以及安全方向负(safedirectionnegative,sdin)。用于指定所述各运动安全功能360的有效或无效的指定信息被配置在安全状态70中所含的针对每位而设的区域。另外,错误确认(erroracknowledge,errorack)是用于在错误发生时解除错误的功能,始终被有效化。70.各安全驱动器300仅具有预先决定的运动安全功能360。例如,在特定的安全驱动器300中,未安装图1所示的各运动安全功能360中的ssr,而安装除此以外的sto、ss1、ss2、sos、sdip以及sdin。这不过是例示,在其他安全驱动器300中也同样,仅具有预先决定的运动安全功能360。71.安全驱动器300按照安全状态70中所含的指定信息,对每个运动安全功能360进行有效化或无效化。“指定信息”只要是用于关于运动安全功能360分别指定有效或无效的信息,则为任何信息皆可。本实施方式中,指定信息通过以“0”或“1”所示的标记来指定有效或无效。更具体而言,当标记为“0”时,运动安全功能360成为有效,当标记为“1”时,运动安全功能360成为无效。72.所有的运动安全功能360以在启动时(即,默认)时成为有效的方式而将标记固定,用户无法变更其内容。即,默认时的运动安全功能360全被被固定为有效。这是在所述非专利文献1所公开的规定中所要求的。73.此处,一边参照图2,一边对在etg的规格中定义的安全状态70中的安全功能的有效/无效设定进行说明。图2是表示在etg的规格中定义的对安全功能的有效/无效设定进行指定的第一字节的信息的示意图。74.如图2所示,非专利文献1中表示了对安全功能的有效/无效设定进行指定的第一字节的信息。具体而言,在非专利文献1所示的与运动安全功能360相关的控制字700中,包含位栏702、名称栏704与说明栏706。在位栏702中,作为第一字节中所含的位,配置有0位至7位为止的各位。在名称栏704中,表示了与各位相关联的运动安全功能360的简称。在说明栏706中,表示了各运动安全功能360的正式名称以及与标记相关联的运行状态。75.本实施方式中,关于所有的运动安全功能360,在默认状态下标记被固定为表示有效的“0”。各运动安全功能360要求在默认时标记以“0”而起动。76.在图2所示的对安全功能的有效/无效设定进行指定的第一字节中,0位至7位为止的各位的标记在默认时被固定为“0”,且用户无法变更默认状态。另外,尽管省略图示,但关于第二字节,用户能够变更默认状态。77.另外,所谓安全功能的“有效”,是指用于进行安全控制的功能处于运行状态。例如,关于sto、ss1、ss2、sos以及ssr,当标记为“0”时处于“有效(active)”。这意味着用于进行安全控制的功能处于运行状态。而且,关于sdip或sdin,当标记为“0”时处于“禁用(disable)…”。这意味着禁止马达向正方向或负方向运行,即,用于进行安全控制的功能处于运行状态。78.另一方面,所谓安全功能的“无效”,是指用于进行安全控制的功能处于非运行状态。例如,关于sto、ss1、ss2、sos以及ssr,当标记为“1”时处于“无效(deactivate)”。这意味着用于进行安全控制的功能处于非运行状态。而且,关于sdip或sdin,当标记为“1”时处于“启用(enable)…”。这意味着允许马达向正方向或负方向运行,即,用于进行安全控制的功能处于非运行状态。79.返回图1,各安全驱动器300无论是否安装,与所有的运动安全功能360对应的标记在默认时均为“0”而起动。因此,关于所安装的运动安全功能360,通过使默认时的设定固定为有效,从而使其功能有效化。假设有未安装的运动安全功能360,关于所述未安装的运动安全功能360,即使标记被设定为有效也不会执行。80.这样,在各安全驱动器300中,无论是否安装,关于所有的运动安全功能360,默认时的设定均被固定为有效。但是,在实际使用中,也存在下述情况,即,必须根据工序内的作业内容来变更安全功能的有效/无效设定,以将运动安全功能360设为有效或者设为无效。81.作为以后变更特定的运动安全功能360的有效或无效的方法,考虑使来自安全控制器200的安全指令中包含用于使特定的运动安全功能360有效化或无效化的指定信息。例如,本实施方式中,在逻辑连接4建立后,能够从安全控制器200对安全驱动器300发送安全指令。只要使所述安全指令中包含用于使特定的运动安全功能360有效化或无效化的指定信息,便能够在以后变更特定的运动安全功能360的有效或无效。82.然而,此时,用户为了从默认状态变更特定的运动安全功能360的有效/无效设定,必须使用支持装置500等工具来制作安全程序2104,有可能产生作业量增加的事态。因而,用户记述源代码而频繁地制作安全程序2104会导致效率降低。而且,若用户要记述源代码,则也有无意地记述错误的设定内容之虞。进而,在控制系统1内设有多个安全驱动器300的情况下,必须对于所有的安全驱动器300制作此种安全程序2104,从而存在作业量变得庞大的问题。83.因此,在本实施方式的控制系统1中,提出一种用户无须记述源代码而极为简单地制作安全程序2104的方法。84.例如,如图1所示,支持装置500包含:受理部5216,关于至少一个以上的运动安全功能360分别受理用户所进行的有效或无效的指定;生成部5212,根据由受理部5216所受理的有效或无效的指定而自动生成安全程序2104;以及转发部5218,将由生成部5212所生成的安全程序2104转发至安全控制器200。85.此处,关于“转发”,支持装置500既可通过进行编译而将源代码转换为目标代码,以目标代码的形态将安全程序2104转发至安全控制器200,也可不进行编译而以源代码的形态将安全程序2104转发至安全控制器200。而且,支持装置500既可经由标准控制器100将安全程序2104转发至安全控制器200,也可不经由标准控制器100而直接将安全程序2104转发至安全控制器200。86.用户通过利用此种支持装置500,能够针对支持装置500而关于运动安全功能360分别进行有效或无效的指定。并且,在支持装置500中,根据由用户所指定的运动安全功能360的有效/无效设定而自动生成安全程序2104。因此,用户无须特意记述源代码,便能够生成用于关于运动安全功能360分别指定有效或无效的安全程序2104。[0087]“指定信息”只要是用于关于运动安全功能360分别指定有效或无效的信息,则为任何信息皆可。本实施方式中,指定信息是通过将与运动安全功能360各自对应的位排列而成的位串,关于所述运动安全功能360分别通过以“0”或“1”所示的标记来指定有效或无效。如前所述,用户能够使用支持装置500来设定指定信息中的标记,由此,能够从默认状态变更特定的运动安全功能360的有效或无效。[0088]例如,如图1所示,在默认时,所有的运动安全功能360的标记被固定为“0”。此处,在关于特定的安全驱动器300的运动安全功能360而想要使ss2、sos以及sdip无效化的情况下,用户只要对支持装置500指定将与ss2、sos以及sdip各自对应的标记设定为“1”(无效状态)的意旨即可。这样,用户利用支持装置500来指定运动安全功能360的有效或无效,由此,通过自动生成的安全程序2104,便能够在以后变更默认时所规定的运动安全功能360的有效/无效设定。[0089]这样,用户针对支持装置500而关于特定的运动安全功能360来指定有效或无效,由此,根据所述有效或无效的指定而生成安全程序2104并转发至安全控制器200。由此,用户无须记述源代码便能够生成用于关于特定的运动安全功能360而指定有效或无效的安全程序2104,因此能够使运动安全功能360中的有效或无效的设定变得容易。[0090]<b.控制系统1中所含的设备的结构例>[0091]接下来说明控制系统1中所含的设备的结构例。[0092](b1:标准控制器100)[0093]图3是表示构成本实施方式的控制系统1的标准控制器100的硬件结构例的示意图。参照图3,标准控制器100包含处理器102、主存储器104、贮存器110、上位网络控制器106、现场网络控制器108、通用串行总线(universalserialbus,usb)控制器120、存储卡接口112以及局部总线控制器(localbuscontroller)116。这些组件经由处理器总线118而连接。[0094]处理器102相当于主要执行与标准控制150相关的控制运算的运算处理部,包含中央处理器(centralprocessingunit,cpu)或图形处理器(graphicsprocessingunit,gpu)等。具体而言,处理器102读出保存在贮存器110中的程序(作为一例,为系统程序1102及标准控制程序1104),并在主存储器104中展开而执行,由此,实现与控制对象(例如安全驱动器300或伺服马达400)相应的控制运算以及如后所述的各种处理。[0095]主存储器104包含动态随机存取存储器(dynamicrandomaccessmemory,dram)或静态随机存取存储器(staticrandomaccessmemory,sram)等易失性存储装置等。贮存器110例如包含固态硬盘(solidstatedrive,ssd)或硬盘驱动器(harddiskdrive,hdd)等非易失性存储装置等。[0096]在贮存器110中,除了用于实现基本功能的系统程序1102以外,还保存根据控制对象而制作的标准控制程序1104。而且,在贮存器110中,保存用于设定变量等的设定信息1106。[0097]上位网络控制器106经由上位网络而与任意的信息处理装置之间交换数据。[0098]现场网络控制器108经由现场网络2而与包含安全控制器200及安全驱动器300的任意设备之间交换数据。图1所示的控制系统1中,标准控制器100的现场网络控制器108作为现场网络2的通信主机(master)发挥功能。[0099]usb控制器120经由usb连接而与支持装置500等之间交换数据。[0100]存储卡接口112受理作为可装卸的记录介质的一例的存储卡114。存储卡接口112能够对存储卡114写入数据,对从存储卡114读出各种数据(日志或跟踪数据等)。[0101]局部总线控制器116经由局部总线而与连接于标准控制器100的任意单元之间交换数据。[0102]图3中表示了通过处理器102执行程序而提供所需功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如专用集成电路(applicationspecificintegratedcircuit,asic)或现场可编程门阵列(field‑programmablegatearray,fpga)等)而实现。或者,标准控制器100的主要部分也可使用遵循通用架构的硬件(例如将通用个人计算机作为基础的工业个人计算机)来实现。此时,也可使用虚拟技术来并列地执行用途不同的多个操作系统(operatingsystem,os),并且在各os上执行所需的应用。进而,也可采用将显示装置或支持装置等的功能综合至标准控制器100中的结构。[0103](b2:安全控制器200)[0104]图4是表示构成本实施方式的控制系统1的安全控制器200的硬件结构例的示意图。参照图4,安全控制器200包含处理器202、主存储器204、贮存器210、现场网络控制器208、usb控制器220及安全局部总线控制器216。这些组件经由处理器总线218而连接。[0105]处理器202相当于主要执行与安全控制相关的控制运算的运算处理部,包含cpu或gpu等。具体而言,处理器202读出保存在贮存器210中的程序(作为一例,为系统程序2102及安全程序2104),并在主存储器204中展开而执行,由此来实现用于提供所需的安全功能250的控制运算以及如后所述的各种处理。[0106]尤其,安全控制器200通过执行安全程序2104,从而将包含指定信息的安全指令输出至安全驱动器300,所述指定信息用于指定安全驱动器300的运动安全功能360的有效或无效。安全驱动器300的安全状态70中所含的指定信息可基于安全指令中所含的指定信息而受到更新。[0107]主存储器204包含dram或sram等易失性存储装置等。贮存器210例如包含ssd或hdd等非易失性存储装置等。[0108]在贮存器210中,除了用于实现基本功能的系统程序2102以外,还保存根据所要求的安全功能250而制作的安全程序2104。进而,在贮存器210中,保存用于对如后所述的变量等进行设定的设定信息2106。[0109]现场网络控制器208经由现场网络2而与包含标准控制器100及安全驱动器300的任意设备之间交换数据。图4所示的控制系统1中,安全控制器200的现场网络控制器208作为现场网络2的通信从机发挥功能。[0110]usb控制器220经由usb连接而与支持装置500等信息处理装置之间交换数据。[0111]安全局部总线控制器216经由安全局部总线而与连接于安全控制器200的任意的安全单元之间交换数据。图4中,作为安全单元的一例,表示了安全io单元230。[0112]安全io单元230与任意的安全设备240之间交换输入/输出信号。更具体而言,安全io单元230受理来自安全传感器或安全开关等安全设备240的输入信号。或者,安全io单元230向安全继电器等安全设备240输出指令。[0113]图4中表示了通过处理器202执行程序而提供所需的功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如asic或fpga等)而实现。或者,安全控制器200的主要部分也可使用遵循通用架构的硬件(例如将通用个人计算机作为基础的工业个人计算机)来实现。[0114](b3:安全驱动器300以及伺服马达400)[0115]图5是表示构成本实施方式的控制系统1的安全驱动器300及伺服马达400的硬件结构例的示意图。参照图5,安全驱动器300包含现场网络控制器302、控制部310、驱动电路330以及反馈接收电路332。[0116]现场网络控制器302经由现场网络2而与包含标准控制器100及安全控制器200的任意设备之间交换数据。图5所示的控制系统1中,安全驱动器300的现场网络控制器302作为现场网络2的通信从机发挥功能。[0117]控制部310执行为了使安全驱动器300运行所需的运算处理。作为一例,控制部310包含处理器312、处理器314、主存储器316以及贮存器320。[0118]处理器312相当于主要执行用于驱动伺服马达400的控制运算的运算处理部。处理器314主要执行用于提供与伺服马达400相关的安全功能250的控制运算。本实施方式中,处理器314根据安全指令来使特定的运动安全功能360无效化。处理器312、314均包含cpu等。[0119]主存储器316包含dram或sram等易失性存储装置等。贮存器320例如包含ssd或hdd等非易失性存储装置等。[0120]在贮存器320中,保存用于实现后述的伺服控制350的伺服控制程序3202、用于实现后述的运动安全功能360的运动安全程序3204、以及用于对在其他设备中公开的变量等进行设定的设定信息3206。进而,在设定信息3206中,保存有用于对关于运动安全功能360的有效/无效设定进行管理的安全状态70。[0121]图5中,例示了通过两个处理器312、314分别执行不同目标的控制运算来提高可靠性的结构,但并不限于此,只要能够实现所要求的安全功能250,则采用任何结构皆可。例如,在单个处理器中包含多个核心的情况下,也可执行与处理器312、314分别对应的控制运算。而且,图5中,表示了通过处理器312、314执行程序而提供所需的功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如asic或fpga等)而实现。[0122]驱动电路330包含转换器电路及逆变器电路等,根据来自控制部310的指令,生成所指定的电压、电流、相位的电力,并供给至伺服马达400。[0123]反馈接收电路332接收来自伺服马达400的反馈信号,并将其接收结果输出至控制部310。[0124]典型的是,伺服马达400包含三相交流马达402以及被安装于三相交流马达402的旋转轴的编码器404。[0125]三相交流马达402是接受从安全驱动器300供给的电力而产生旋转力的致动器。图5中,作为一例,例示了三相交流马达,但并不限于此,也可为直流马达,还可为单相交流马达或者多相交流马达。进而,还可采用线性伺服(linearservo)那样的沿着直线来产生驱动力的致动器。[0126]编码器404输出与三相交流马达402的转速相应的反馈信号(典型的是,与转速相应的数量的脉冲信号)。[0127](b4:支持装置500)[0128]图6是表示构成本实施方式的控制系统1的支持装置500的硬件结构例的示意图。作为一例,支持装置500是使用遵循通用架构的硬件(例如通用个人计算机)而实现。[0129]参照图6,支持装置500包含处理器502、主存储器504、输入部506、输出部508、贮存器510、光学驱动器512与usb控制器520。这些组件经由处理器总线518而连接。[0130]处理器502包含cpu或gpu等,读出保存在贮存器510中的程序(作为一例,为os5102及支持程序5104),并在主存储器504中展开而执行,由此来实现如后所述的各种处理。即,处理器502具有执行支持程序5104的计算机的功能。尤其,处理器502具有图1所示的生成部5212的功能,根据从用户受理的运动安全功能360的有效或无效的指定来生成安全源程序5112。[0131]主存储器504包含dram或sram等易失性存储装置等。贮存器510例如包含hdd或ssd等非易失性存储装置等。[0132]在贮存器510中,除了用于实现基本功能的os5102以外,还保存用于提供作为支持装置500的功能的支持程序5104。即,支持程序5104是由连接于控制系统1的计算机予以执行,由此来实现本实施方式的支持装置500。在支持程序5104中,包含有效/无效设定支持程序90。支持装置500通过执行有效/无效设定支持程序90,从而受理用户所进行的运动安全功能360的有效或无效的指定,并且根据所受理的有效或无效的指定而由处理器502生成安全源程序5112。[0133]进而,在贮存器510中,保存项目数据(projectdata)5106,所述项目数据5106是在通过执行支持程序5104而提供的开发环境下由用户所制作。[0134]本实施方式中,支持装置500提供能够综合性地实现对控制系统1中所含的各设备的设定以及各设备中所执行的程序的制作的开发环境。项目数据5106包含通过此种综合性的开发环境而生成的数据。典型的是,项目数据5106包含标准控制源程序5108、标准控制器设定信息5110、安全源程序5117、安全控制器设定信息5114以及安全驱动器设定信息5116。[0135]标准控制源程序5108在被转换成目标代码(objectcode)后,被发送至标准控制器100,并被保存为标准控制程序1104(参照图3)。另外,标准控制源程序5108也可不转换为目标代码而直接被发送至标准控制器100。同样,关于标准控制器设定信息5110,也被发送至标准控制器100,并被保存为设定信息1106(参照图3)。[0136]安全源程序5117在被转换成目标代码后,被发送至安全控制器200,并被保存为安全程序2104(参照图4)。另外,安全源程序5117也可不转换为目标代码而直接被发送至安全控制器200。同样,关于安全控制器设定信息5114,也被发送至安全控制器200,并被保存为设定信息2106(参照图4)。[0137]安全驱动器设定信息5116被发送至安全驱动器300,并被保存为设定信息3206(参照图5)。[0138]输入部506是受理通过键盘或鼠标等而输入的信息的接口,具有图1所示的受理部5216的功能。尤其,输入部506受理用户所进行的运动安全功能360的有效或无效的指定。输出部508包含显示器、各种指示器、打印机等,输出来自处理器502的处理结果等。[0139]usb控制器520具有图1所示的转发部5218的功能,经由usb连接来与标准控制器100等之间交换数据。尤其,usb控制器520将由处理器502自动生成的安全源程序5112转发至安全控制器200。另外,usb控制器520既可经由标准控制器100而将安全源程序5112转发至安全控制器200,也可不经由标准控制器100而将安全源程序5112转发至安全控制器200。[0140]支持装置500具有光学驱动器512,从非一次性地保存计算机可读取的程序的记录介质514(例如数字多功能光盘(digitalversatiledisc,dvd)等光学记录介质)中,读取保存在其中的程序并安装到贮存器510等中。[0141]由支持装置500所执行的支持程序5104等既可经由计算机可读取的记录介质514而安装,也可以从网络上的服务器装置等下载的形式而安装。而且,本实施方式的支持装置500所提供的功能也有时以利用os所提供的模块的一部分的形式而实现。[0142]图6中,表示了通过处理器502执行程序而提供作为支持装置500所需的功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如asic或fpga等)而实现。[0143]另外,在控制系统1运转中,支持装置500也可从标准控制器100予以拆卸。[0144]<c.控制系统1的功能分担>[0145]接下来,对控制系统1中的功能分担的一例进行说明。图7是表示本实施方式的控制系统1的功能分担的一例的示意图。[0146]参照图7,关于标准控制器100所执行的标准控制150,安全驱动器300执行伺服控制350。标准控制150包含下述处理,即:按照对控制对象预先设定的用户程序,来周期性地算出用于驱动伺服马达400的指令。而且,伺服控制350包含用于通过标准控制150依据周期性地算出的指令来驱动伺服马达400的控制、及获取表示伺服马达400的动作状态的状态值并予以输出的处理。伺服控制350是由安全驱动器300的处理器312(参照图5)来负责。[0147]另一方面,与安全控制器200所提供的安全功能250对应地,安全驱动器300提供运动安全功能360。运动安全功能360是由安全驱动器300的处理器314(参照图5)来负责。[0148]安全功能250基于标准控制器100所执行的标准控制150所保持的状态值、由来自安全设备240的信号所示的状态值、及安全驱动器300所保持的状态值等,当预先规定的条件成立时,使预先指定的安全功能250有效化。[0149]使预先指定的安全功能250有效化的处理例如包含针对安全驱动器300的安全指令的输出、或者针对安全设备240的安全指令的输出(例如,阻断与对特定装置的电力供给相关的安全继电器)等。[0150]安全驱动器300通过执行运动安全程序3204,从而响应来自安全控制器200的安全指令而实现指定的运动安全功能360。另外,在各安全驱动器300中,预先规定有可执行的运动安全功能360。根据所指定的运动安全功能360的种类,介入伺服控制350对伺服马达400的控制,而执行阻断对伺服马达400的电力供给的处理、或者监测伺服控制350对伺服马达400的控制的状态值是否收敛在预先规定的限制范围内的处理等。运动安全程序3204根据由安全状态70中所含的指定信息所指定的安全功能的有效/无效设定,来使各运动安全功能360有效化或无效化。[0151]图8是表示由本实施方式的控制系统1的安全驱动器300所进行的与安全功能250相关的处理流程的一例的序列图。参照图8,通过标准控制器100的标准控制150而周期性地算出指令,并输出至安全驱动器300(伺服控制350)(序列sq2)。安全驱动器300的伺服控制350根据来自标准控制150的指令,来驱动伺服马达400(序列sq4)。[0152]当在某时机,发生来自安全设备240(例如安全传感器)的安全事件(safetyevent)时(序列sq6),安全控制器200对安全驱动器300(运动安全功能360)输出安全指令(序列sq8)。响应所述安全指令,安全驱动器300的运动安全功能360使所指定的安全功能250有效化(序列sq10)。[0153]响应安全功能250的有效化,从标准控制器100的标准控制150输出及输出与所述被有效化的安全功能250相应的指令(序列sq12)。另一方面,安全驱动器300(运动安全功能360)监测伺服马达400的动作状态是否收敛在预先规定的限制范围内。若判断为伺服马达400的动作状态未收敛在预先规定的限制范围内,或者,若预先规定的停止时间已到来,则安全驱动器300(运动安全功能360)阻断对伺服马达400的电力供给(序列sq14)。[0154]这样,安全驱动器300能够依据来自标准控制器100(标准控制150)的指令来驱动伺服马达400,并且能够根据用于使安全功能250有效化的指令,来实现对安全控制器200(安全功能250)的运动安全功能360。[0155]<d.控制系统1的运动安全功能360>[0156]接下来,对控制系统1所提供的运动安全功能360的一例进行说明。[0157]图9是表示本实施方式的控制系统1所提供的运动安全功能360的一例的图。图9(a)中,表示与sto对应的伺服马达400的行为的一例,图9(b)中,表示与ss1对应的伺服马达400的行为的一例。[0158]参照图9(a),在伺服马达400正以某旋转速度而运转的状态下,当在时刻t1给予安全指令(sto)时,安全驱动器300阻断对伺服马达400的电力供给,将伺服马达400所产生的转矩设为零。其结果,伺服马达400在因惰性而旋转后停止。另外,在伺服马达400安装有制动器的情况下,伺服马达400也能够立即停止。[0159]参照图9(b),在伺服马达400正以某旋转速度而运转的状态下,当在时刻t1给予安全指令(ss1)时,安全驱动器300以预先规定的加速度来降低旋转速度。此时,安全驱动器300也可执行从伺服马达400的电力回收(即再生)等。并且,当在时刻t2,伺服马达400的旋转速度变为零时,安全驱动器300阻断对伺服马达400的电力供给,将伺服马达400所产生的转矩设为零。在时刻t2以后,成为与图9(a)所示的sto同样的状态。[0160]在图9(a)所示的sto及图9(b)所示的ss1中,根据与伺服马达400机械连结的设备的特性等,适当选择能够更安全地停止的安全功能。[0161]所述的非专利文献1不仅规定了图9(a)及图9(b)所示的运动安全功能,而且规定了多个运动安全功能。为了实现各运动安全功能,需要用于规定伺服马达400的行为的设定。[0162]<e.标准控制以及安全控制的实现例>[0163]如上所述,在本实施方式的控制系统1中,可实现借助数据通信以及逻辑连接4的安全通信。接下来,对利用各个通信的标准控制以及安全控制的实现例进行说明。[0164]图10是表示本实施方式的控制系统1中的标准控制以及安全控制的实现例的示意图。为了便于说明,图10中表示除了标准控制器100以及安全控制器200以外,还包含一个安全驱动器300的控制系统1的示例。[0165]如图10所示,标准控制器100包含数据通信层170与io管理模块172以作为主要的功能结构。安全控制器200包含数据通信层270、io管理模块272、逻辑连接层276及安全功能状态管理引擎278,以作为主要的功能结构。安全驱动器300包含数据通信层370、逻辑连接层376、运动安全功能状态管理引擎378、伺服控制执行引擎352以及运动安全功能执行引擎362,以作为主要的功能结构。[0166]数据通信层170、数据通信层270以及数据通信层370负责现场网络2上的通信帧600的转发。[0167]安全控制器200的逻辑连接层276及安全驱动器300的逻辑连接层376负责安全通信帧630的交换。即,逻辑连接层276及逻辑连接层376按照用于建立逻辑连接4的协议(本实施方式中为fsoe),使用通信帧600中所含的安全通信帧630来交换命令及数据。安全控制器200包含建立模块277,所述建立模块277用于经由逻辑连接层276而与安全驱动器300之间建立逻辑连接4。[0168]标准控制器100中,io管理模块172通过与控制对象之间交换信号,从而更新过程数据174。在标准控制器100中执行的标准控制程序1104参照过程数据174来执行控制运算,并且根据控制运算的执行结果来更新过程数据174。[0169]安全控制器200中,io管理模块272通过与安全设备240之间交换信号,从而更新过程数据274。[0170]在安全控制器200中执行的安全程序2104参照过程数据274及安全功能状态管理引擎278来执行控制运算,并且基于控制运算的执行结果来更新过程数据274,或者对安全功能状态管理引擎278输出内部指令。[0171]安全功能状态管理引擎278根据安全程序2104所进行的控制运算的执行结果,生成用于对特定的安全驱动器300来使特定的运动安全功能360有效化或无效化的安全指令。逻辑连接层276响应来自安全功能状态管理引擎278的指令,与作为对象的安全驱动器300的逻辑连接层376之间使用安全通信帧630来交换所需的命令及数据。[0172]在安全驱动器300中,伺服控制执行引擎352参照过程数据374及经由反馈接收电路332而获取的反馈信号的信息来执行与伺服控制相关的控制运算。伺服控制执行引擎352基于控制运算的执行结果来更新过程数据374,并且对驱动电路330输出内部指令。驱动电路330依据来自伺服控制执行引擎352的指令来驱动伺服马达400。[0173]运动安全功能状态管理引擎378依据来自安全控制器200的安全指令来管理运动安全功能360的状态。安全状态70是由运动安全功能状态管理引擎378予以保持。运动安全功能状态管理引擎378依据安全状态70中所含的指定信息,对运动安全功能执行引擎362输出内部指令。[0174]在运动安全功能执行引擎362中,通过执行运动安全程序3204,从而实现指定的运动安全功能360。[0175]逻辑连接层376响应来自运动安全功能状态管理引擎378的指令,与安全控制器200的逻辑连接层276之间使用安全通信帧630来交换所需的命令以及数据。[0176]<f.运动安全功能的有效或无效的迁移的一例>[0177]图11是表示本实施方式的运动安全功能360的有效或无效的迁移的一例的示意图。[0178]如前所述,安全驱动器300无论是否安装,与所有的运动安全功能360对应的标记在默认时均为“0”而起动。即,在默认时,安全状态70中所含的所有位的标记为“0”。[0179]当用户利用支持装置500来指定运动安全功能360的有效或无效,以为了使ss2无效化而将与ss2对应的第二位的标记设定为“1”,为了使sos无效化而将与sos对应的第三位的标记设定为“1”,进而为了使sdip无效化而将与sdip对应的第五位的标记设定为“1”时,根据所述有效或无效的指定而自动生成安全程序2104。并且,安全控制器200执行所述安全程序2104,由此,将包含用户对运动安全功能360的有效或无效的指定信息的安全指令发送至安全驱动器300。[0180]当安全驱动器300收到来自安全控制器200的安全指令时,安全状态70中所含的指定信息依据所述安全指令中所含的指定信息而受到更新。更具体而言,安全状态70中所含的指定信息被覆盖,以变得与安全指令中所含的指定信息相同。[0181]这样,本实施方式的控制系统1中,在现场网络2中的连接建立后,通过安全指令,能够从默认状态变更特定的运动安全功能360的有效或无效的设定。[0182]<g.安全程序的一例>[0183]接下来,一边参照图12,一边对安全程序2104中的安全功能的有效/无效设定部分的一例进行说明。图12是表示本实施方式的安全程序2104中的安全功能的有效/无效设定部分的示意图。[0184]如图12所示,在安全程序2104的一部分,对应于控制系统1中所含的一个或多个安全驱动器300的每一个,而记述有用于指定运动安全功能360的有效或无效的源代码。[0185]更具体而言,关于与识别码“e010”关联的安全驱动器300,对ss2、sos以及sdip指定有“真(true)”。而且,关于与识别码“e011”关联的安全驱动器300,对于ss1、sos、ssr以及sdin指定有“真”。[0186]关于指定有“真”的运动安全功能360,在指定信息中所含的各位中将标记设定为“1”。即,在执行基于图12所示的源代码而生成的安全程序2104时,关于与“e010”关联的安全驱动器300,在安全指令中包含对与ss2、sos以及sdip各自对应的标记指定“1”的指定信息,关于与“e011”关联的安全驱动器300,在安全指令中包含对与ss1、sos、ssr以及sdin各自对应的标记指定“1”的指定信息。[0187]以往,必须通过用户自身的输入操作来记述此种源代码,但在本实施方式中,用户只要在支持装置500中指定安全功能的有效/无效设定,便会自动生成记述有同样的源代码的安全程序2104。[0188]由支持装置500自动生成的安全程序2104无法由用户编辑。例如,所生成的安全程序2104不会被显示在支持装置500等的显示部上,用户无法认识到所述程序的内容,当然也无法编辑。或者,所生成的安全程序2104也可被显示在支持装置500等的显示部上,但用户无法编辑所述程序的内容。[0189]由此,由支持装置500所生成的安全程序2104不会被用户编辑,因此能够避免下述问题的发生,即,用户对支持装置500所指定的关于安全功能的有效或无效的设定内容与由支持装置500所生成的安全程序2104中的设定内容不一致。[0190]<h.与运动安全功能360相关的用户接口>[0191]接下来,对与支持装置500所提供的运动安全功能360相关的用户接口的一例进行说明。[0192]图13以及图14是表示本实施方式的支持装置500所提供的用于进行运动安全功能360的有效/无效设定的用户接口的一例的图。而且,图15是表示本实施方式的支持装置500所提供的安全程序2104中的用于进行变量设定的用户接口的一例的图。用户在支持装置500中执行支持程序5104(有效/无效设定支持程序90),从而能够显示与图13~图15所示的用户接口相关的画面。[0193]如图13所示,在与用户接口601相关的画面的左侧,设有多视图资源管理器(multiviewexplorer)栏610。在多视图资源管理器栏610中,包含用于对成为开发对象的程序进行指定的切换开关612。本例中,在切换开关612中,指定了与安全程序2104对应的“new_safetycpu0”。[0194]进而,在多视图资源管理器栏610中,包含用于对在控制系统1中进行网络连接的结构进行设定的结构/设定开关614。在通过结构/设定开关614而展开的下位层,包含用于指定运动安全功能360的有效或无效的有效/无效设定图标616、与用于进行在安全程序2104中参照的变量的映射的i/o映射图标618。所谓“变量”,是指数据其自身、以及保存所述数据的容器或存储区域等。例如,作为在安全程序2104中参照的变量,关联有伺服马达400等的状态值等,根据与所述变量关联的状态值来实现各运动安全功能360。[0195]有效/无效设定图标616是对应于与控制系统1连接的一个或多个安全驱动器300的每一个而设,本例中,选择了与节点(node)10的安全驱动器300对应的有效/无效设定图标616。[0196]在与用户接口601相关的画面的中央,显示有用于指定运动安全功能360的有效或无效的画面620。在所述画面620中,包含编号栏622与标记栏624。[0197]在编号栏622中,以与安全状态70中所含的指定信息相同的排列,从第一位起依次对每个运动安全功能360表示有编号。另外,本例中,未安装第四位的ssr的运动安全功能360,因此与第四号对应的信息全部为“保留(reserved)”。[0198]在标记栏624中,准备了能够由用户来勾选的复选框。用户在安全程序2104中的源代码中指定“真”时,只要在标记栏624的复选框中取消勾选即可。关于在复选框中取消了勾选的运动安全功能360,在安全指令中所含的指定信息中将标记设定为“1”。另一方面,关于在复选框中进行了勾选的运动安全功能360,在安全指令中所含的指定信息中将标记设定为“0”。这样,用户通过在标记栏624的复选框中进行勾选或者取消勾选,能够容易地进行安全指令中的运动安全功能360的有效/无效设定。[0199]另外,关于运动安全功能360的有效/无效设定,对于安全状态70的第二字节,能够由用户来变更默认状态,但如图13所示,对于第二字节,用户能够通过在标记栏624的复选框中进行勾选或取消勾选而容易地进行有效/无效设定。[0200]图13所示的示例中,在标记栏624的复选框中,ss2、sos以及sdip的勾选被取消。因此,在安全指令中,与ss2、sos以及sdip对应的标记被指定为“1”。[0201]用户如前述那样,关于各安全驱动器300中的各运动安全功能360而指定了有效或无效后,选择转发图标680,由此,便能够生成与所述有效或无效的指定相应的安全程序2104,所生成的安全程序2104被转发至安全控制器200。[0202]如图14所示,在标记栏624的复选框中,当关于特定的运动安全功能360进行无效化时,切换为与用户接口602相关的画面,在位于画面下方的输出窗口670中,通知与经无效化的特定的运动安全功能360相关联的变量已被解除的意旨。[0203]如图15所示,当i/o映射图标618受到选择时,切换为与用户接口603相关的画面。在与用户接口603相关的画面的中央,显示用于对各运动安全功能360进行变量映射的画面650。在所述画面650上,包含端口栏652、变量栏654与变量注释栏656。[0204]在端口栏652中,表示了在选择中的安全驱动器300(本例中为节点10)中安装的各运动安全功能360。在变量栏654中,表示了与各运动安全功能360相关联的变量。在变量注释栏656中,表示了与跟各运动安全功能360关联的变量相关的注释。[0205]此处,如图14所示,在标记栏624的复选框中,当关于特定的运动安全功能360而进行了无效化时,与经无效化的特定的运动安全功能360相关联的变量被解除。因此,在图15所示的与用户接口603相关的画面上,变量栏654以及变量注释栏656变为空白。例如,本例中,在标记栏624的复选框中,ss2以及sos被无效化而变量被解除,因此与ss2以及sos对应的变量栏654以及变量注释栏656变为空白。[0206]这样,支持装置500响应指定了特定的运动安全功能360的无效的情况,而禁止在与所述特定的运动安全功能360相关的安全程序2104中参照的变量的使用。由此,能够避免用户无意地设定在与经无效化的运动安全功能360相关的安全程序2104中参照的变量的事态。[0207]<i.安全有效/无效程序生成处理>[0208]接下来,对支持装置500所执行的安全有效/无效程序生成处理进行说明。图16是用于说明本实施方式的支持装置500所执行的安全有效/无效程序生成处理的流程图。[0209]如图16所示,支持装置500判定是否受理了安全功能的有效/无效设定画面的显示(s502)。若未受理安全功能的有效/无效设定画面的显示(s502中为否),则支持装置500结束本处理。[0210]另一方面,若受理了安全功能的有效/无效设定画面的显示(s502中为是),则支持装置500显示图13所示的安全功能的有效/无效设定画面(s504)。[0211]接下来,支持装置500判定是否受理了安全功能的有效/无效设定(s506)。具体而言,支持装置500判定在与图13所示的用户接口601相关的画面上,用户对标记栏624的复选框是进行了勾选还是取消了勾选。若未受理安全功能的有效/无效设定(s506中为否),则支持装置500重复s506的处理,直至受理有效/无效设定为止。[0212]另一方面,若受理了安全功能的有效/无效设定(s506中为是),则支持装置500判定是否受理了转发的指示(s508)。具体而言,支持装置500判定在图13所示的与用户接口601相关的画面上,转发图标680是否受到了选择。若未受理转发的指示(s508中为否),则支持装置500返回s506的处理。[0213]另一方面,若受理了转发的指示(s508中为是),则支持装置500判定对于被设定为无效的运动安全功能360是否存在变量的映射(s510)。若对于被设定为无效的运动安全功能360无变量的映射(s510中为否),则支持装置500结束本处理。[0214]另一方面,若对于被设定为无效的运动安全功能360存在变量的映射(s510中为是),则支持装置500解除与被设定为无效的运动安全功能360对应的变量(s512),并通知已解除的意旨(s514)。例如,支持装置500在图14所示的输出窗口670中,通知已解除了与经无效化的特定的运动安全功能360相关联的变量的意旨。[0215]接下来,支持装置500对于被设定为无效的安全功能,映射用于生成安全程序2104的变量(s516)。另外,关于此时所用的变量,变量名优选标注用户未设定的唯一的名称。而且,若同一名称被用于变量名,则只要标注编号等添标以便能够识别即可。支持装置500使用在s516中映射的变量来生成安全程序2104(s518)。另外,若对于被设定为无效的安全功能已映射有用于生成安全程序2104的变量,则支持装置500也可使用所述变量来生成安全程序2104。[0216]并且,支持装置500禁止对被设定为无效的运动安全功能360的变量的映射(s520),并将所生成的安全程序2104转发至安全控制器200(s522)。此时,支持装置500既可通过进行编译而将源代码转变为目标代码,以目标代码的形态将安全程序2104转发至安全控制器200,也可不进行编译而以源代码的形态将安全程序2104转发至安全控制器200。而且,支持装置500既可经由标准控制器100来将安全程序2104转发至安全控制器200,也可不经由标准控制器100而直接将安全程序2104转发至安全控制器200。随后,支持装置500结束本处理。[0217]这样,支持装置500根据由用户所进行的关于运动安全功能360的有效或无效的指定来生成安全程序2104,并将所生成的安全程序2104转发至安全控制器200。由此,用户无须记述源代码便能够生成用于关于特定的运动安全功能360来指定有效或无效的安全程序2104,因此能够使运动安全功能360中的有效或无效的设定变得容易。[0218]而且,支持装置500响应指定了特定的运动安全功能360的无效的情况,禁止在与所述特定的运动安全功能360相关的安全程序2104中参照的变量的使用。由此,能够避免用户无意地设定在与经无效化的运动安全功能360相关的安全程序2104中参照的变量的事态。[0219]进而,支持装置500能够将在与经无效化的运动安全功能360相关的安全程序2104中参照的变量的使用已被禁止的情况通知给用户。[0220]<j.安全指令接收处理>[0221]接下来,对安全驱动器300所执行的安全指令接收处理进行说明。图17是用于说明本实施方式的安全驱动器300所执行的安全指令接收处理的流程图。另外,安全驱动器300在现场网络2中的连接建立而逻辑连接4建立后,执行图17所示的安全指令接收处理。[0222]如图17所示,安全驱动器300判定是否从安全控制器200收到安全指令(s322)。若未收到安全指令(s322中为否),则安全驱动器300结束本处理。[0223]另一方面,若已收到安全指令(s322中为是),则安全驱动器300判定安全指令中是否包含运动安全功能360的有效/无效设定(s324)。即,安全驱动器300判定依据由支持装置500自动生成的安全程序2104的执行而转发的安全指令中,是否包含从支持装置500输入的用户所进行的关于安全功能的有效或无效的指定。[0224]若在安全指令中不含运动安全功能360的有效/无效设定(s324中为否),则安全驱动器300结束本处理。[0225]另一方面,若在安全指令中包含运动安全功能360的有效/无效设定(s324中为是),则安全驱动器300根据安全指令中所含的指定信息,进行特定的运动安全功能360的有效/无效设定(s326)。例如,如图11所示,安全驱动器300在收到了包含使ss2以及sos无效化且使sdip有效化的意旨的指定信息的安全指令的情况下,在安全状态70的指定信息中也使ss2以及sos无效化且使sdip有效化。随后,安全驱动器300结束本处理。[0226]这样,安全驱动器300依据在逻辑连接4建立后收到的安全指令来进行运动安全功能360的有效/无效设定。由此,用户通过安全指令,能够从默认状态变更特定的运动安全功能360的有效或无效。[0227]<k.变形例>[0228]在图13所示的用于安全功能的有效/无效设定的用户接口601中,对于安全驱动器300未安装的运动安全功能360(本例中为ssr),支持装置500也受理在标记栏624的复选框中进行勾选或取消勾选的操作,但并不限于此。例如,支持装置500对于安全驱动器300未安装的运动安全功能360,也可不受理在标记栏624的复选框中进行勾选或取消勾选的操作。更具体而言,支持装置500对于安全驱动器300未安装的运动安全功能360,也可不显示标记栏624的复选框,还可尽管显示但设为非运行状态。[0229]在图13所示的用于进行安全功能的有效/无效设定的用户接口601中,支持装置500针对每个安全驱动器300而受理运动安全功能360的有效/无效设定,但并不限于此。例如,用户也有可能想要关于多个安全驱动器300而共同地进行运动安全功能360的有效/无效设定,因此支持装置500也可提供关于多个安全驱动器300共同地受理运动安全功能360的有效/无效设定的用户接口。而且,此时,支持装置500也可针对多个安全驱动器300而汇总生成包含相同内容的运动安全功能360的有效/无效设定的安全程序2104,并且,当转发图标680受到选择时,也可针对多个安全驱动器300分别汇总转发所生成的安全程序2104。[0230]<l.附注>[0231]如上所述,本实施方式中包含如下所述的公开。[0232][结构1][0233]一种控制系统(1),包括:[0234]驱动装置(300),具有至少一个以上的安全功能并且驱动马达(400);[0235]控制器(200),按照安全程序(2104),对所述驱动装置输出与所述至少一个以上的安全功能相关的指令;以及[0236]支持装置(500),支持所述安全程序的开发,[0237]在所述安全程序中,包含用于使所述至少一个以上的安全功能中的特定的安全功能无效化的信息,[0238]所述支持装置包含:[0239]受理部(5216),关于所述至少一个以上的安全功能分别受理用户所进行的有效或无效的指定;[0240]生成部(5212),根据由所述受理部所受理的所述有效或无效的指定而生成所述安全程序;以及[0241]转发部(5218),将由所述生成部所生成的所述安全程序转发至所述控制器。[0242][结构2][0243]根据结构1所述的控制系统,其中所述支持装置提供用户接口(601),所述用户接口(601)用于关于所述至少一个以上的安全功能而分别通过所述受理部来受理所述有效或无效的指定。[0244][结构3][0245]根据结构1或结构2所述的控制系统,其中所述支持装置提供用户接口(601),所述用户接口(601)用于对于从多个所述驱动装置中选择的特定的所述驱动装置,关于所述至少一个以上的安全功能而分别通过所述受理部来受理所述有效或无效的指定。[0246][结构4][0247]根据结构1至结构3中任一项所述的控制系统,其中所述支持装置响应指定了所述至少一个以上的安全功能中的所述特定的安全功能的无效的情况,而禁止在与所述特定的安全功能相关的所述安全程序中参照的变量的使用。[0248][结构5][0249]根据结构4所述的控制系统,其中所述支持装置通知所述变量的使用的禁止。[0250][结构6][0251]根据结构1至结构5中任一项所述的控制系统,其中由所述生成部所生成的所述安全程序无法由用户编辑。[0252][结构7][0253]一种支持装置(500),支持安全程序(2104)的开发,所述安全程序(2104)是由对驱动马达(400)的驱动装置(300)进行控制的控制器(200)所执行且与至少一个以上的安全功能相关,其中[0254]所述安全程序中,包含用于使所述至少一个以上的安全功能中的特定的安全功能无效化的信息,所述支持装置(500)包括:[0255]受理部(5216),关于所述至少一个以上的安全功能分别受理用户所进行的有效或无效的指定;[0256]生成部(5212),根据由所述受理部所受理的所述有效或无效的指定而生成所述安全程序;以及[0257]转发部(5218),将由所述生成部所生成的所述安全程序转发至所述控制器。[0258][结构8][0259]一种支持程序(5104),支持安全程序(2104)的开发,所述安全程序(2104)是由对驱动马达(400)的驱动装置(300)进行控制的控制器(200)所执行且与至少一个以上的安全功能相关,[0260]所述支持程序(5104)包含用于使所述至少一个以上的安全功能中的特定的安全功能无效化的信息,[0261]所述支持程序使计算机执行:[0262]步骤(s506),关于所述至少一个以上的安全功能分别受理用户所进行的有效或无效的指定;[0263]步骤(s510),根据所受理的所述有效或无效的指定而生成所述安全程序;以及[0264]步骤(s512),将所生成的所述安全程序转发至所述控制器。[0265]<m.优点>[0266]根据本实施方式的控制系统1,用户针对支持装置500而关于特定的运动安全功能360来指定有效或无效,由此,根据所述有效或无效的指定而生成安全程序2104并转发至安全控制器200。由此,用户无须记述源代码,便能够生成用于关于特定的运动安全功能360来指定有效或无效的安全程序2104,因此能够使运动安全功能360中的有效或无效的设定变得容易。[0267]应认为,此次公开的实施方式在所有方面仅为例示而非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。[0268]符号的说明[0269]1:控制系统[0270]2:现场网络[0271]4:逻辑连接[0272]70:安全状态[0273]90:无效设定支持程序[0274]100:标准控制器[0275]102、202、312、314、502:处理器[0276]104、204、316、504:主存储器[0277]106:上位网络控制器[0278]108、208、302:现场网络控制器[0279]110、210、320、510:贮存器[0280]112:存储卡接口[0281]114:存储卡[0282]116:局部总线控制器[0283]118、218、518:处理器总线[0284]120、220、520:usb控制器[0285]150:标准控制[0286]170、270、370:数据通信层[0287]172、272:管理模块[0288]174、274、374:过程数据[0289]200:安全控制器[0290]216:安全局部总线控制器[0291]230:安全io单元[0292]240:安全设备[0293]250:安全功能[0294]276、376:逻辑连接层[0295]277:建立模块[0296]278:安全功能状态管理引擎[0297]300:安全驱动器[0298]310:控制部[0299]330:驱动电路[0300]332:反馈接收电路[0301]350:伺服控制[0302]352:伺服控制执行引擎[0303]360:运动安全功能[0304]362:运动安全功能执行引擎[0305]378:运动安全功能状态管理引擎[0306]400:伺服马达[0307]402:三相交流马达[0308]404:编码器[0309]500:支持装置[0310]506:输入部[0311]508:输出部[0312]512:光学驱动器[0313]514:记录介质[0314]600:通信帧[0315]601、602、603:用户接口[0316]610:多视图资源管理器栏[0317]612:切换开关[0318]614:设定开关[0319]616:无效设定图标[0320]618:i/o映射图标[0321]620、650:画面[0322]622:编号栏[0323]624:标记栏[0324]630:安全通信帧[0325]652:端口栏[0326]654:变量栏[0327]656:变量注释栏[0328]670:输出窗口[0329]680:转发图标[0330]700:控制字[0331]702:位栏[0332]704:名称栏[0333]706:说明栏[0334]1102、2102:系统程序[0335]1104:标准控制程序[0336]1106、2106、3206:设定信息[0337]2104:安全程序[0338]3202:伺服控制程序[0339]3204:运动安全程序[0340]5104:支持程序[0341]5106:项目数据[0342]5108:标准控制源程序[0343]5110:标准控制器设定信息[0344]5112、5117:安全源程序[0345]5114:安全控制器设定信息[0346]5116:安全驱动器设定信息[0347]5212:生成部[0348]5216:受理部[0349]5218:转发部当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1