CN103403631B - 可编程逻辑控制器的cpu单元 - Google Patents
可编程逻辑控制器的cpu单元 Download PDFInfo
- Publication number
- CN103403631B CN103403631B CN201180068882.XA CN201180068882A CN103403631B CN 103403631 B CN103403631 B CN 103403631B CN 201180068882 A CN201180068882 A CN 201180068882A CN 103403631 B CN103403631 B CN 103403631B
- Authority
- CN
- China
- Prior art keywords
- program
- action
- execution
- user
- circulation
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4145—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34287—Plc and motion controller combined
Abstract
一种调度器程序,包括:按每个动作控制循环开始动作运算程序的执行的命令;使微型处理器,按每个第1用户程序执行循环开始第1用户程序的执行的命令;以及用于以与第1用户程序执行循环的周期相当的周期,依次重复输出处理以及输入处理、第1用户程序的执行开始、第1用户程序的执行结束、以及动作运算程序的执行开始的命令。
Description
技术领域
本发明涉及包括用于控制机械和设备等的动作的PLC(ProgrammableLogicController、也称为可编程逻辑控制器)中的输出处理、输入处理、运算处理等的控制动作的调度。
背景技术
PLC的构成为:
例如,包括执行用户程序的微型处理器的CPU(CentralProcessingUnit中央处理单元)单元;担任从外部的开关和传感器来的信号输入以及向外部的继电器和致动器的信号输出的称作IO(InputOutput输入输出)单元的多个单元。在这些单元之间,按每个用户程序执行循环,经过PLC系统总线以及/或者现场网络来交接数据,同时PLC执行控制动作。
作为机械和设备等的动作的控制,存在包括用于控制电机的运动的动作控制的情况。以往,这样的动作控制,代表性的是,对驱动电机的电机致动器周期地输出指令值的控制处理(动作运算程序的执行),是在除PLC之外设置的动作控制器中进行。但是,在信息技术的领域中,微型处理器和通信网络的高速化在持续性的发展。因此,在PLC中也利用这些的技术,变得能够在一个微型处理器中,不仅执行用户程序,也执行动作运算程序。
例如,专利文献1(特开2007-140655号公报)中,公开了通过一个CPU处理控制电机的动作控制功能和执行时序运算(用户程序)的PLC功能的结构。更具体地是,公开了按每个基本时钟的1循环,执行“固定周期动作控制处理以及各轴处理”和“高速时序处理”,进而在各基本时钟循环内的剩余的时间中,执行“低速时序处理”或者“非固定周期动作控制处理”的情况。
现有技术文献
专利文献
专利文献1:日本特开2007-140655号公报
发明内容
发明要解决的问题
在将执行动作运算程序的功能合并至PLC的微型处理器之际,自然可以想到下述的结构:和以往的动作控制器一样,在一定的短的周期的执行循环内执行对于电机致动器的指令值的计算以及计算结果的输出,在各执行循环的剩余的时间中进行用户程序的执行以及其他的PLC动作。但是,由于在各执行循环中剩余的时间的长度是有限的,不能够在各执行循环内进行用于作为PLC动作所需要的全部的处理。在这样的情况下,关于在哪个执行循环的剩余时间中进行怎样的处理是好或是不好,还不明确。进而,用户程序的执行需要输入处理以及输出处理,动作运算执行也至少需要输出处理(根据情况,输入处理也需要),关于应该在什么定时进行这些处理,也还不明确。
所述的专利文献1中,关于“固定周期动作控制处理以及各轴处理”、“高速时序处理”、“低速时序处理”、以及“非固定周期动作控制处理”的各处理,关于设想怎样的处理内容,还没有具体地说明。特别是,在从具体的处理内容看到的情况下,“高速时序处理”和“低速时序处理”如何被区分,以及“非固定周期动作控制处理”是设想了怎样处理内容的处理,关于上述事项,也还不明确。进而,涉及各处理的输入和输出,何时、如何进行,也还不明确。
以往,在除PLC之外设置动作控制器的情况下,PLC和动作控制器相互不同步的,通常在PLC一方长的周期的执行循环中动作。这样的情况下,执行用户程序的PLC的,对于动作控制的任务是,在执行用户程序之中的动作命令的时候,按照动作命令的种类以及参数,对动作控制器提供1个的动作的启动指示。例如,PLC是,将基于“从坐标A至坐标B按照指定速度变化移动”这样的动作命令的指示,提供至动作控制器。动作控制器,根据该指示计算用于实现命令内容的运动的按每个自己的执行循环对于伺服电机致动器的位置指令值(根据命令内容,也有是速度指令值、扭矩指令值等的情况)并输出。一旦提供启动指示,动作控制器则在完成该动作命令的执行之前,在自己的执行循环中重复计算和输出指令值。
另一方面,从专利文献1中还得知,在具有动作控制功能的PLC中,在将动作运算程序的执行循环作为PLC的动作全体的共有循环的情况下,能够执行各执行循环中较短的用户程序。但是,本申请的发明人利用该情况,发现了进行更高精度的动作控制的可能性的存在。
即,通常,作为动作命令的规格,是由输入参数的提供方以及使用输入参数的运算内容决定。动作运算程序是,实际地运算那样的动作命令的内容的程序。动作运算程序自身,大多数情况由PLC的制造商提供,用户自己不容易开发动作运算程序。另一方面,用户程序通过用户自己可以自由地编程。因此,在用户程序中,定义各执行循环中涉及到动作指令的计算的运算内容的一部分,如果动作运算程序和用户程序同步执行,能够提高动作控制的自由度。因此,存在根据个别的用户需要的控制内容,能够实现适合的动作控制的可能性。
进而,本申请的发明人,发现了在用户程序涉及动作指令值的计算的情况下,并不是仅同步用户程序和动作运算的执行,还包括输入处理以及输出处理,如果不通过恰当的顺序执行各处理,则会产生使控制延迟的浪费的时间的情况。
本发明的目的是,在PLC的CPU单元中,同步动作运算程序所执行的用户程序,使用动作控制输入数据,在进行涉及动作指令值的计算的运算的情况下,通过包括输入处理或者输出处理的各处理的执行顺序的合理化,CPU单元以缩短从输入动作控制用输入数据至输出反映该输入数据的动作指令值数据所需要的时间。
用于解决问题的手段
根据本发明的一个方面,提供具有用于控制电机的运动的动作控制功能的PLC的CPU单元。PLC的CPU单元包括微型处理器、存储部件和通信电路。PLC的CPU单元构成为:按每个一定周期的动作控制循环,能够重复执行动作指令值数据的输出处理以及动作控制用输入数据的输入处理和动作运算程序的执行;并且,按每个动作控制循环的周期的整数倍的周期的第1用户程序执行循环,能够重复执行第1用户程序,该第1用户程序根据用户的控制目的生成且包括对动作运算程序提供其执行所需要的指示的处理。存储部件用于系统程序和第1用户程序的存储。系统程序包括:动作运算程序和控制第1用户程序以及动作运算程序的执行的调度器程序。微型处理器执行存储部件中存储的系统程序以及第1用户程序,通信电路,按每个动作控制循环,作为输出处理的至少一部分进行动作指令值数据的发送,以及作为输入处理的至少一部分进行动作控制用输入数据的接收。调度器程序包括:使微型处理器,按每个动作控制循环开始动作运算程序的执行的命令;使微型处理器,按每个第1用户程序执行循环开始第1用户程序的执行的命令;用于以与第1用户程序执行循环的周期相当的周期,依次重复输出处理以及输入处理、第1用户程序的执行开始、第1用户程序的执行结束、以及动作运算程序的执行开始的命令。因此,在第1用户程序包括使用动作控制用输入数据来计算动作运算程序所使用的用户程序输出数据的处理的情况下,从输入处理的开始至反映该输入处理中被输入的动作控制用输入数据的动作指令值数据的输出处理的结束所需要的时间成为与第1用户程序执行循环的周期相当的时间。
优选的,第1用户程序执行循环的周期与动作控制循环的周期相等。通过这样设定第1用户程序执行循环的周期,按每个动作运算程序的执行,能够使用更新的用户程序输出数据来计算动作指令值数据。即,按每次的输出处理,能够输出那样更新的动作指令值数据。
更优选的,调度器程序包括:用于在动作控制循环内,输出处理以及输入处理之后,使微型处理器依次执行第1用户程序以及动作运算程序的命令。根据该命令,在动作控制循环内,能够在第1用户程序以及动作运算程序的执行之前,进行涉及动作控制的输出处理以及输入处理,因此,能够减少用于这些输入输出的通信周期的偏差。所以,能够更高精度地控制电机的运动。
更优选的,存储部件进而用于存储第2用户程序,该第2用户程序根据用户的控制目的生成,且不包括使用动作控制用输入数据来计算动作运算程序所使用的用户程序输出数据的处理,且具有动作控制循环的周期的2以上的整数倍的周期的第2用户程序执行循环。调度器程序,在第2用户程序被存储于存储部件中的情况下,在第2用户程序执行循环内,使微型处理器在从最初的动作运算程序的执行结束至动作控制循环结束的剩余时间内开始第2用户程序的执行。并且,在其后的动作控制循环的动作运算程序的执行结束后的剩余时间内,存在第2用户程序的未执行的部分时,使微型处理器开始该未执行的部分的执行。
根据本方面的PLC的CPU单元,通过如下所述生成用户程序,能够实现处理的高速化。即,使第1用户程序包括:使用动作控制用输入数据来计算动作运算程序中的运算所使用的用户程序的输出数据的命令。另一方面,使第2用户程序包括:用于实现包括于第1用户程序以外的处理的全部或者一部分的命令。然后,比起使第1用户程序包括用于实现全部的处理的命令的情况,由于第1用户程序所分配的处理量减少,能够缩短第1用户程序的执行时间。因此,产生进一步缩短动作控制循环的周期的可能性。
优选的,第1用户程序执行循环的周期与动作控制循环的周期的2以上的整数倍相等。通过这样设定第1用户程序执行循环的周期,在比用户程序执行周期短的控制周期,能够输出更新后的动作指令值数据。
更优选的,调度器程序包括:用于在第1用户程序执行循环内,使微型处理器依次执行动作运算程序的执行,输出处理以及输入处理,第1用户程序的执行的命令。所以,在各动作控制循环内,动作运算程序的执行,输出处理以及输入处理,第1用户程序的执行,也能依次被执行。在各动作控制循环中,输出处理以及输入处理的执行之后,直至动作控制循环结束的时间能够按每个动作控制循环变动,根据这个命令,能够不浪费地使用该时间来进行第1用户程序的执行。所以,由于微型处理器的待机时间变得难以产生,产生进一步缩短用户程序执行循环的可能性。
根据本发明的其他的方面,提供具有用于控制电机的运动的动作控制功能的PLC的CPU单元所执行的PLC用系统程序。PLC的CPU单元包括:用于存储第1用户程序的存储部件,和微型处理器,和通信电路。PLC的CPU单元构成为:按每个一定周期的动作控制循环,能够重复执行动作指令值数据的输出处理以及动作控制用输入数据的输入处理,和动作运算程序的执行;并且,按每个动作控制循环的周期的整数倍的周期的第1用户程序执行循环,能够重复执行第1用户程序,该第1用户程序根据用户的控制目的生成且包括对动作运算程序提供其执行所需要的指示的处理。PLC用系统程序包括:动作运算程序,控制第1用户程序以及动作运算程序的执行的调度器程序。通信电路,按每个动作控制循环,作为输出处理的至少一部分进行动作指令值数据的发送,以及作为输入处理的至少一部分进行动作控制用输入数据的接收。调度器程序包括:使微型处理器,按每个动作控制循环开始动作运算程序的执行的命令;使微型处理器,按每个第1用户程序执行循环开始第1用户程序的执行的命令;用于以与第1用户程序执行循环的周期相当的周期,依次重复输出处理以及输入处理、第1用户程序的执行开始、第1用户程序的执行结束、以及动作运算程序的执行开始的命令。因此,在第1用户程序包括使用动作控制用输入数据来计算动作运算程序所使用的用户程序输出数据的处理的情况下,从输入处理的开始至反映该输入处理中被输入的动作控制用输入数据的动作指令值数据的输出处理的结束所需要的时间成为与第1用户程序执行循环的周期相当的时间。
优选的,第1用户程序执行循环的周期与动作控制循环的周期相等。
更优选的,调度器程序包括:用于在动作控制循环内,输出处理以及输入处理之后,使微型处理器依次执行第1用户程序以及动作运算程序的命令。
更优选的,调度器程序,在第2用户程序被存储于存储部件中的情况下,在第2用户程序执行循环内,使微型处理器在从最初的动作运算程序的执行结束至动作控制循环结束的剩余时间内开始第2用户程序的执行。并且,在其后的动作控制循环的动作运算程序的执行结束后的剩余时间内,存在第2用户程序的未执行的部分时,使微型处理器开始该未执行的部分的执行,所述第2用户程序根据用户的控制目的生成,且不包括使用所述动作控制用输入数据来计算所述动作运算程序所使用的用户程序输出数据的处理,且具有所述动作控制循环的周期的2以上的整数倍的周期的第2用户程序执行循环。
优选的,第1用户程序执行循环的周期,与动作控制循环的周期的2以上的整数倍相等。
更优选的,调度器程序包括:用于在第1用户程序执行循环内,使微型处理器依次执行动作运算程序的执行,输出处理以及输入处理,第1用户程序的执行的命令。
根据该发明进一步其他的方面,提供存储具有用于控制电机的运动的动作控制功能的PLC的CPU单元所执行的PLC用系统程序的记录介质。PLC的CPU单元包括:用于存储第1用户程序的存储部件,和微型处理器,和通信电路。PLC的CPU单元构成为:按每个一定周期的动作控制循环,能够重复执行动作指令值数据的输出处理以及动作控制用输入数据的输入处理,和动作运算程序的执行;并且,按每个动作控制循环的周期的整数倍的周期的第1用户程序执行循环,能够重复执行第1用户程序,该第1用户程序根据用户的控制目的生成且包括对动作运算程序提供其执行所需要的指示的处理。PLC用系统程序包括:动作运算程序,控制第1用户程序以及动作运算程序的执行的调度器程序。通信电路,按每个动作控制循环,作为输出处理的至少一部分进行动作指令值数据的发送,以及作为输入处理的至少一部分进行动作控制用输入数据的接收。调度器程序包括:使微型处理器,按每个动作控制循环开始动作运算程序的执行的命令;使微型处理器,按每个第1用户程序执行循环开始第1用户程序的执行的命令;用于以与第1用户程序执行循环的周期相当的周期,依次重复输出处理以及输入处理、第1用户程序的执行开始、第1用户程序的执行结束、以及动作运算程序的执行开始的命令。因此,在第1用户程序包括使用动作控制用输入数据来计算动作运算程序所使用的用户程序输出数据的处理的情况下,从输入处理的开始至反映该输入处理中被输入的动作控制用输入数据的动作指令值数据的输出处理的结束所需要的时间成为与第1用户程序执行循环的周期相当的时间。
优选的,第1用户程序执行循环的周期与动作控制循环的周期相等。
更优选的,调度器程序包括:用于在动作控制循环内,输出处理以及输入处理之后,使微型处理器依次执行第1用户程序以及动作运算程序的命令。
更优选的,调度器程序,在第2用户程序被存储于存储部件中的情况下,在第2用户程序执行循环内,使微型处理器在从最初的动作运算程序的执行结束至动作控制循环结束的剩余时间内开始第2用户程序的执行。并且,在其后的动作控制循环的动作运算程序的执行结束后的剩余时间内,存在第2用户程序的未执行的部分时,使微型处理器开始该未执行的部分的执行,所述第2用户程序根据用户的控制目的生成,且不包括使用所述动作控制用输入数据来计算所述动作运算程序所使用的用户程序输出数据的处理,且具有所述动作控制循环的周期的2以上的整数倍的周期的第2用户程序执行循环。
优选的,第1用户程序执行循环的周期,与动作控制循环的周期的2以上的整数倍相等。
更优选的,调度器程序包括:用于在第1用户程序执行循环内,使微型处理器依次执行动作运算程序的执行,输出处理以及输入处理,第1用户程序的执行的命令。
另外,本说明书中(日语的)“命令”并不限定于用于实现某种功能的,程序的源表中所表示的一个一个的命令,也表示这些一个一个的命令和函数等的集合,例如,应该像英文中的instructions一样用复数形式来书写。
发明的效果
根据本发明,在PLC的CPU单元中,在第1用户程序包括使用动作控制用输入数据来计算动作运算程序所使用的用户程序输出数据的处理的情况下,从输入处理至反映随后被输入的动作控制用输入数据的动作指令值数据的输出处理所需要的时间,能够变为与用户程序执行循环的周期相当的短的时间。
附图说明
图1是表示本发明的实施方式的PLC系统的简略结构的示意图。
图2是表示本发明的实施方式的CPU单元的硬件结构的示意图。
图3是表示本发明的实施方式的CPU单元所执行的软件结构示意图。
图4是表示本发明的实施方式的CPU单元的主存储器的区域结构的示意图。
图5是表示本发明的实施方式的控制程序(用户程序,时序命令运算程序以及动作运算程序)所提供的动作控制的简略的处理顺序的时序图。
图6是表示本发明的实施方式的CPU单元的应用例1的示意图。
图7是表示本发明的实施方式的CPU单元的应用例2的示意图。
图8是表示本发明的实施方式的CPU单元的应用例3的示意图。
图9是表示本发明的实施方式1的全体处理动作的时序图。
图10是表示涉及图9中所示的全体处理的比较例的全体处理动作的时序图。
图11是表示本发明的实施方式2的全体处理动作时序图。
图12是表示本发明的实施方式3的全体处理动作时序图。
图13是表示本发明的实施方式4的全体处理动作时序图。
图14是表示涉及图13所示的全体处理动作的比较例的全体处理动作的时序图。
图15是表示用于连接本发明的实施方式的CPU单元的PLC支持装置的硬件结构的示意图。
图16是表示用于连接本发明的实施方式的CPU单元的PLC支持装置的软件结构的示意图。
具体实施方式
关于本发明的实施方式,参照附图详细地进行说明。另外,关于图中的相同或者相当的部分,添加相同的标号不重复说明。
<A.系统结构>
本实施方式的PCL具有用于控制电机的运动的动作控制功能。首先,参照图1,说明关于本实施方式的PLC1的系统结构。
图1是表示本发明实施方式的PLC系统的简略结构的示意图。参照图1,PLC系统包括:PLC1,经由PLC1和现场网络所连接的伺服电机致动器3以及电机IO终端5,现场设备的检测开关6以及继电器7。此外,PLC1经由连接电缆10等与PLC支持装置8连接。
PLC1包括:执行主要运算处理的CPU单元13,1个以上的IO单元14,以及特殊单元15。这些单元构成为经由PLC系统总线11,能够相互交换数据。此外,这些单元由电压单元12提供适当电压的电源。另外,构成PLC1的各单元是PLC的制造商提供的单元,因此,PLC系统总线11通常是每个制造商独立开发,并使用。与此相反,关于后述的现场网络2,为了能够连接不同制造商的产品,其规格等往往被公开。
关于CPU单元13的细节,参照图2后续说明。
IO单元14通常是涉及输入输出处理的单元,主管ON/OFF这样的二进制的数据的输入输出。即,IO单元14采集检测开关6等的传感器检测任何的目标的状态(ON)以及任何目标都没检测的状态(OFF)信息的其中之一的信息。此外,IO单元14对继电器7和致动器这样的输出目的地,输出用于激活的指令(ON)以及用于不激活的指令(OFF)的其中之一。
特殊单元15具有模拟数据的输入输出,温度控制,以及通过指定的通信方式的通信这样的IO单元14不支持的功能。
现场网络2传输与CPU单元所交换的各种数据。作为现场网络2,典型地,可以使用各种的工业用以太网(注册商标)。作为工业用以太网(注册商标),例如EtherCAT(注册商标),ProfinetIRT(注册商标),MECHATROLINK(注册商标)-III,Powerlink,SERCOS(注册商标)-III,以及CIPMotion等为一般所知,可以采用这些中的其中之一。再者,也可以采用工业用以太网(注册商标)以外的现场网络。本实施方式的PLC系统SYS,典型地,在本实施方式中,举例说明关于将产业用以太网(注册商标)的EtherCAT(注册商标)作为现场网络2采用的情况的结构。
另外,图1举例说明具有PLC系统总线11以及现场网络2两者的PLC系统SYS。但是,也可以采用只装载一方的系统结构。例如,也可以在现场网络2中连接全部的单元。或者,也可以不使用现场网络2,将伺服电机致动器3直接地连接至PLC系统总线11。再者,也可以将现场网络2的通信单元连接至PLC系统总线11,通过从PUC单元13经由该通信单元,进行连接至现场网络2的设备之间的通信。
另外,PLC1也可以是,通过使CPU单元13具有IO单元14的功能和伺服电机致动器3的功能,CPU单元13不经由IO单元14和伺服电机致动器3等,控制直接控制对象的结构。
伺服电机致动器3经由现场网络2与CPU单元13连接,并且按照来自CPU单元13的指令值,驱动伺服电机4。更具体地是,伺服电机致动器3在一定周期内从PLC1接收位置指令值,速度指令值,以及扭矩指令值这样的指令值。此外,伺服电机致动器3,从与伺服电机4的轴连接的位置传感器和扭矩传感器这样的传感器,获取位置,速度(典型地是,从本次位置与上次位置之差计算),以及扭矩这样的伺服电机4的动作的实际测量值。然后,伺服电机致动器3将来自CPU单元的指令值设定为目标值,将实际测量值作为反馈值进行反馈控制。即,伺服电机致动器3调整用于驱动伺服电机4的电流,以使实际测量值接近目标值。
此外,图1表示组合伺服电机4和伺服电机致动器3的系统的例子。但是,也可以采用其他的结构,例如,组合脉冲电机和脉冲电机致动器的系统。
图1所示的PLC系统SYS的现场网络2,进而连接远程IO终端5。远程IO终端,基本上与IO单元14一样,进行涉及一般的输入输出处理的处理。更具体地是,远程IO终端5包括:现场网络2中用于进行数据传输的处理的通信耦合器,一个以上的IO单元53。这些单元构成为:经由IO终端51,能够相互交换数据。
另外,关于PLC支持装置8后续说明。
<B.CPU单元的硬件结构>
下面,参照图2,说明关于CPU单元13的硬件结构。图2是表示本发明的实施方式的CPU单元13的硬件结构的示意图。参照图2,CPU单元13包括:微型处理器100,芯片组102,主存储器104,非易失性存储器106,系统定时器108,PLC系统总线控制器120,现场网络控制器140,USC连接器110。芯片组102和其他的部件之间,经由各种的总线分别耦合。
微型处理器100以及芯片组102,典型地是,以通用的计算机体系结构为标准被构成。即,微型处理器100对从芯片组102按照内部时钟依次提供的命令代码进行解释并执行。芯片组102,在连接的各种部件之间交换内部的数据,并且生成微型处理器100所需要的命令代码。再者,芯片组102具有高速缓存微型处理器100的运算处理的执行的结果所得的数据等的功能。
CPU单元13作为存储部件具有,主存储器104以及非易失性存储器106。
主存储器104是易失性存储区域(RAM随机存取存储器),保持在向CPU单元13的电源接通后,在微型处理器100中应该执行的各种程序。此外,主存储器104,被也作为微型处理器100的各种程序的执行时的工作用存储器使用。作为这样的主存储器104,被用作DRAM(DynamicRandomAccessMemory动态随机存取存储器)和SRAM(StaticRadomAccessMemory静态随机存取存储器)这样的装置。
另一方面,非易失性存储器106,非易失地保持实时OS(OperatingSystem操作系统),PLC1的系统程序,用户程序,动作运算程序,以及系统设置参数这样的数据。这些程序或者数据,根据需要被复制到主存储器104,使得微型处理器100可以存取。作为这样的非易失性存储器106,可以使用闪速存储器那样的半导体存储器。或者,也可以使用硬盘驱动器那样的磁性记录介质和DVD-RAM(DigitalVersatileDiskRandomAccessMemory数字多功能光盘随机存取存储器)那样的光学记录介质等。
系统定时器108,按每个一定周期产生中断信号,并提供给微型处理器100。典型地是,根据硬件的规格构成为在多个不同周期分别地产生中断信号。但是,也可以设定为根据OS(OperatingSystem操作系统)和BIOS(BasicInputOutputSystem基本输入输出系统)等,在任意的周期产生中断信号。该系统定时器108利用产生的中断信号,实现如后所述的按每个动作控制循环的控制操作。
CPU单元13作为通信电路,具有PLC系统总线控制器120以及现场网络控制器140。这些通信电路,进行动作指令值数据等的输出数据的发送以及动作控制用输入数据等的输入数据的接收。
另外,在CPU单元13自身具有IO单元14和伺服电机致动器3的功能的情况下,通信电路的输出数据的发送以及输入数据的接收,将负责这些功能的部分作为通信的对方,变成在CPU单元的内部进行发送或者接收。
PLC系统总线控制器120控制经由PLC系统总线11的数据的交换。更具体地是,PLC系统总线控制器120包括:DMA(DynamicMemoryAccess动态存储器存取)控制电路122,和PLC系统总线控制电路124,以及缓存存储器126。另外,PLC系统总线控制器120经由PLC系统总线连接器130与PLC系统总线11内部地连接。
缓存存储器126作为经由PLC系统总线11向其他单元输出的数据(以下也称作“输入数据”)的发送缓存,以及经由PLC系统总线11从其他的单元输入的数据(以下也称作“输入数据”)的接收缓存,来发挥作用。另外,由微型处理器100的运算所生成的输出数据,最初地存储于主存储器104。然后,应该向指定的单元传输的输出数据从主存储器104读取,一次性地保持到缓存存储器126之后,移动到主存储器104。
DMA控制电路122进行从主存储器104向缓存存储器126的输出数据的传送,以及从缓存存储器126向主存储器104的输入数据的传送。
PLC系统总线控制电路124,在与连接到PLC系统总线11的其他单元之间,进行缓存存储器126的输出数据的发送处理,以及输入数据的接收并存储到缓存存储器126的处理。典型地是,PLC系统总线控制电路124提供在PLC系统总线11中的物理层以及数据链路层的功能。
现场网络控制器140控制经由现场网络2的数据的交换。即,现场网络控制器140按照所使用的现场网络2的规格,控制输出数据的发送以及输入数据的接收。如上所述,在本实施方式中,采用按照EtherCAT(注册商标)规格的现场网络2,因此,包括用于进行通常的以太网(注册商标)通信的硬件的现场网络控制器140被使用。EtherCAT(注册商标)规格,可以利用实现按照通常的以太网(注册商标)规格的通信协议的一般的以太网(注册商标)控制器。但是,根据作为现场网络2采用的工业用以太网(注册商标)的种类,对应与通常的通信协议不同的专用规格的通信协议的特别规格的以太网(注册商标)控制器被使用。此外,在采用工业用以太网(注册商标)之外的现场网络的情况下,对应该规格的专用的现场网络控制器被利用。
缓存存储器146,作为经由现场网络2向其他的装置等输出的数据(关于该数据,以下也称作“输入数据”)的发送缓存,以及经由现场网络2从其他的装置等输入的数据(关于该数据,以下也称作“输入数据”)的接收缓存,来发挥作用。如上所述,由微型处理器100的运算所生成的输出数据,最初地存储于主存储器104。然后,应该向指定的单元传输的输出数据从主存储器104读取,一次性地保持到缓存存储器146。此外,从其他的装置传送的输入数据在一次性地保持到缓存存储器146之后,移动到主存储器104。
DMA控制电路142进行从主存储器104向缓存存储器146的输出数据的传送,以及从缓存存储器146向主存储器104的输入数据的传送。
现场网络控制电路144,在与连接到现场网络2的其他装置之间,进行缓存存储器146的输出数据的发送处理,以及输入数据的接收并存储到缓存存储器146的处理。典型地使,现场网络控制电路144提供在现场网络2中的物理层以及数据链路层的功能。
USB连接器110是用于连接PLC支持装置8和CPU单元13的接口。典型地是,从PLC支持装置8传送的,在CPU单元13的微型处理器100中可以执行的程序等,经由USB连接器110而读取到PLC1。
<C.CPU单元的软件结构>
下面,参照图3,说明用于提供本实施方式的各种功能的软件组。这些软件所包括的命令代码,在适当的定时读取,由CPU单元13的微型处理器100执行。
图3是表示本发明实施方式的CPU单元13所执行的软件的结构的示意图。参照图3,作为CPU单元13所执行的软件,实时OS200,系统程序210,以及用户程序236变成3层。
实时OS200是按照CPU单元13的计算机体系结构而设计,微型处理器100提供用于执行系统程序210以及用户程序236的基本的执行环境。该实时OS,典型地是,由PLC的制造商或者专门的软件公司等提供。
系统程序210,是用于提供作为PLC的功能的软件组。具体地是,系统程序210包括:调度程序212,输出处理程序214,输入处理程序216,时序命令运算程序232,动作运算程序234,以及其他的系统程序220。另外,输出处理程序214以及输入处理程序216,一般地是,连续地(作为整体)执行。因此,往往将这些程序,统称作IO处理程序218。
用户程序236是按照用户的控制目的而生成。即,按照使用PLC系统SYS来控制的对象的线(处理)等,任意地设计的程序。
如下所述,用户程序236与时序命令运算程序232以及动作运算程序234一致动作,实现用户的控制目的。即,用户程序236通过利用由时序命令运算程序232以及动作运算程序234提供的命令、函数、功能模块,实现被编程的动作。因此,也有将用户程序236,时序命令运算程序232,以及动作运算程序234统称作控制程序230的情况。
这样,CPU单元13的微型处理器100执行存储部件中存储的系统程序210以及用户程序236。
以下,关于各程序进行更详细地说明。
上述用户程序236,如上所述,按照用户的控制目的而生成。用户程序236,典型地是,变成在CPU单元13的微型处理器中100可以执行的目标程序格式。该用户程序236,在PLC支持装置8等中,通过编译梯形语言等撰写的源程序生成。然后,生成的目标程序格式的用户程序236从PLC支持装置经由电缆10向CPU单元13传送,在非易失性存储器106等中被存储。
调度器程序212,关于输出处理程序214、输出处理程序216、以及控制程序230,控制各执行循环的处理开始以及处理中断后的处理恢复。更具体地是,调度器程序212控制用户程序236以及动作运算程序234的执行。
本实施方式的CPU单元13,将适合动作运算程序234的一定周期的执行循环作为处理全体的共有循环来采用。因此,由于在一个动作控制循环难以完成全部处理,按照应该执行的处理的优先顺序等,区分应该在各动作控制循环中完成执行的处理,以及经过多个动作控制循环也可以执行的处理。调度器程序212管理这些被区分的执行顺序等。更具体地是,调度器程序212在各动作控制循环周期内,被赋予越高优先级的程序,越优先地执行。
输出处理程序214将用户程序236(控制程序230)的执行生成的输出数据,以适合向PLC系统总线控制器120以及/或者现场网络控制器140传送的格式,进行再配置。在PLC系统总线控制器120或者现场网络控制器140来自微处理器100的,需要用于执行发送的指示的情况下,输出处理程序214产生那样的指令。
输入处理程序216将用户程序PLC系统总线控制器120以及/或者现场网络控制器140接收的输入数据,以适合控制程序230使用的格式,进行再配置。
时序命令运算程序232,在用户程序236所使用的某种时序命令被执行的时候,被调用,是用于实现该命令而被执行的程序。
动作运算程序234是,按照用户程序236的指令来执行,计算对于伺服电机致动器3和脉冲电机致动器这样的电机致动器输出的指令值的程序。
其他的系统程序220是,图3中个别地表示的程序以外的,表示汇集了用于实现PLC1的各种功能的程序组的程序。其他的系统程序220包括设定动作控制循环的周期的程序222。
动作控制循环的周期,可以按照控制目的适宜地设定。典型地是,用户向PLC支持装置8输入指定动作控制循环的周期的信息。于是,该被输入的信息,从PLC支持装置8向CPU单元13传送。设定动作控制循环的周期的程序222,使非易失性存储器106存储来自PLC支持装置的信息,并且,设定系统定时器108,为了在由系统定时器108指定的动作控制循环的周期中产生中断信号。到CPU单元13的电源接通时,通过执行设定动作控制循环的周期的程序222,从非易失性存储器106读取指定动作控制循环的周期的信息,按照读取的信息设定系统定时108。
作为指定动作控制循环的周期的信息的格式,可以采用表示动作控制循环的周期的时间的值,和从涉及动作控制循环的周期的预先准备的多个选项中指定一个的信息(符号或者字符)等。
本实施方式的CPU单元13中,作为设定动作控制循环的周期的部件,相应于为了获取指定动作控制循环的周期的信息而使用的与PLC支持装置8的通信部件、设定动作控制循环的周期的程序222、以及能够任意地设定规定动作控制循环的中断信号的周期的系统定时器108的结构的,为了任意的设定动作控制循环的周期所使用的要素。
实时OS200提供按照时间的经过而切换多个程序并执行的环境。在本实施方式的PLC1中,作为用于将通过CPU单元13的程序执行所生成的输出数据输出(发送)到其他的单元或者其他的装置的事件(中断),初始设定了输出准备中断(P)以及现场网络发送中断(X)。若产生输出准备中断(P)或者现场网络发送中断(X),则实时OS200将在微型处理器100中的执行对象,在中断产生时刻从执行中的程序切换到调度器程序212。另外,在调度器程序212以及调度器程序212控制其执行的程序都没有执行的情况下,实时OS200执行在其他的系统程序210中包含的程序。作为这样的程序,例如包括涉及经由了CPU单元13和PLC支持装置8之间的连接电缆10(USB)等的通信处理的程序。
<D.主存储器结构>
下面,参照图4,说明在CPU单元13的主存储器104中构成的存储区域。
图4是表示本发明的实施方式的CPU单元13的主存储器104的区域结构的示意图。参照图4,在主存储器104中形成了各种程序区域1041、控制程序的作业区域1042、PLC系统总线发送缓存1043、PLC系统总线接收缓存1044、现场网络发送缓存1045以及现场网络接收缓存1046。
在各种程序区域1041中,暂时地存储用于执行各种程序的代码。
在控制程序的作业区域1042中,暂时地存储通过控制程序230的执行而生成的输出数据。
PLC系统总线发送缓存1043以及PLC系统总线接收缓存1044分别暂时地存储经由PLC系统总线11而发送以及接收的数据。同样地,现场网络发送缓存1045以及现场网络接收缓存1046分别暂时地存储经由现场网络2而发送以及接收的数据。
更具体而言,输出处理程序214在需要经由PLC系统总线11发送任一个输出数据的情况下,将对象的输出数据从控制程序的作业区域1042复制到PLC系统总线发送缓存1043。此时,输出处理程序214为了能够汇总发送对同一个单元发送的多个输出数据,在PLC系统总线发送缓存1043中,将输出数据以汇集朝向同一个单元的输出数据的方式再配置。
同样地,输出处理程序214在需要经由现场网络2发送任一个输出数据的情况下,将对象的输出数据从控制程序的作业区域1042复制到现场网络发送缓存1045。此时,输出处理程序214在现场网络发送缓存1045中,将输出数据再配置为能够作为串行帧发送的格式。
另一方面,输入处理程序216将PLC系统总线控制器120接收并存储在PLC系统总线接收缓存1044中的输入数据以及/或者现场网络控制器140接收并存储在现场网络接收缓存1046中的输入数据复制到控制程序的作业区域1042。此时,输入处理程序216在控制程序的作业区域1042中,将输入数据再配置为适合控制程序230使用的格式。
PLC系统总线控制器120的DMA控制电路122将在PLC系统总线发送缓存1043中存储的输出数据传送到PLC系统总线控制器120的缓存存储器146,并且将在缓存存储器146中存储的输入数据传送到PLC系统总线接收缓存1044。
现场网络控制器140的DMA控制电路142将在现场网络发送缓存1045中存储的输出数据传送到现场网络控制器140的缓存存储器146,并且将在缓存存储器146中存储的输入数据传送到现场网络接收缓存1046。控制程序的作业区域1042、PLC系统总线发送缓存1043、PLC系统总线接收缓存1044、现场网络发送缓存1045以及现场网络接收缓存1046构成为能够相互独立地控制各自的存取。因此,例如能够并行执行以下所示的(1)~(3)的多个动作。
(1)微处理器100进行的、对于伴随用户程序236执行的控制程序的作业区域1042的存取。
(2)PLC系统总线控制器120的DMA控制电路122进行的、对于用于主存储器104上的PLC系统总线发送缓存1043以及/或者PLC系统总线接收缓存1044与PLC系统总线控制器120内的缓存存储器126之间的数据传送的、主存储器104上的PLC系统总线发送缓存1043和/或者PLC系统总线接收缓存1044的存取。
(3)现场网络控制器140的DMA控制电路142进行的、对于用于主存储器104上的现场网络发送缓存1045以及/或者现场网络接收缓存1046与现场网络控制器140内的缓存存储器146之间的数据传送的、主存储器104上的现场网络发送缓存1045以及/或者现场网络接收缓存1046的存取。<E.应用>
下面,说明本实施方式的PLC系统SYS适用的几个应用例。
首先,说明上述的用户程序236包含的典型的结构。用户程序236包含周期地判断电机的运动相关的控制开始的条件是否成立的命令。例如,根据电机的驱动力判断某种处置做的工作是否被传送到规定的处置位置的逻辑。然后,用户程序236进而包括:对于判断为该控制开始的条件成立的情况进行响应并开始动作控制的命令。伴随该动作控制的开始,动作命令的执行被指示。于是,启动对应被指示的动作命令的动作运算程序234。首先,执行用于按每个动作运算程序234的执行,计算对于电机指令值所需要初始处理。此外,在与初始处理相同的动作控制循环中,第1循环的指令值被计算。从而,初始处理以及第一位的指令值计算处理,变成启动的动作运算程序234应该放置至第一位执行的处理。以后,各循环的指令值被依次计算。
图5是表示本发明的实施方式的控制程序230(用户程序230,时序命令运算程序232以及动作运算程序234)所提供的工作控制的概略的处理顺序的时序图。参照图5,微型处理器100周期地判断电机的运动相关的控制开始的条件是否成立(步骤S2)。该控制开始的条件是否成立的判断,通过用户程序236以及时序命令运算程序232来实现。在控制开始的条件不成立的情况(步骤S2为NO的情况)下,重复步骤S2的判断。
控制开始的条件成立的情况(步骤S2为YES的情况)下,微型处理器100,执行动作控制相关的初始处理(步骤S4)。作为该初始处理,包括对电机的运动的开始位置坐标、结束位置坐标、初始速度、初始加速度以及轨迹等的计算处理。接着,微型处理器100执行第1循环的指令值的计算处理(步骤S6)。进而,微型处理器100执行计算出的指令值的输出处理(步骤S8)。
之后,微型处理器100等待直至下一个动作控制循环到来(S10)。然后,微型处理器100周期地判断电机的运动相关的控制结束的条件是否成立。该控制结束的条件成立,是指伺服电机4到达结束位置的状态等。在控制结束的条件成立的情况下(步骤S12为YES的情况),再次重复步骤S2以下的处理。此时,启动中的动作运算程序234维持非活性的状态直至新的控制开始的条件成立。
在控制结束的条件不成立的情况下(步骤S12为NO的情况),微型处理器100执行现在的循环的指令值的计算处理(步骤S14)。进而,微型处理器100执行计算出的指令值的输出处理(步骤S16)。然后,重复步骤S10以下的处理。
以下,列举几个用户需要特别的动作控制内容的例子。
[e1:应用例1]
图6是表示本发明的实施方式的CPU单元13的应用例1的示意图。参照图6,作为应用例1,假设将长的板材502缠绕在辊520上的缠绕装置500。该缠绕装置500,保持对板材502提供一定的张力,同时向辊520缠绕。更具体地是,使用被配置在板材502的送出侧的张力辊514,对板材502提供比较小的制动(摩擦力),并且根据调整辊520的驱动扭矩τ或者旋转速度ω,板材502的张力被控制变成目标值。
缠绕装置500,随着对板材502的缠绕,辊520的辊径r逐渐的变大。另一方面,辊520由与其旋转轴机械地连接的电机504被旋转驱动。本来应该控制的对象,是辊520的最外层面(辊径r的位置)的张力T,但是,作为可以控制的物理量,是电机504的扭矩τ或者旋转速度ω。然后,该扭矩τ或者旋转速度ω与张力T之间的关系,依存于辊520的辊径r而变化。更具体地是,随着辊520的辊径r变大,会变得就算使扭矩指令值变大,张力也只会稍微变大。此外,变得旋转速度的指令值稍微变化,张力T就很大的变化。
因此,电机504的扭矩或者旋转速度(即,向用于驱动电机504的致动器506提供的扭矩指令值或者旋转速度指令值),需要按照辊520的辊径变化。
在缠绕装置500中,检测在板材502上产生的张力T,为了使该张力值T的检测值与目标值一致,计算扭矩指令值或者速度指令值。作为检测该张力T的结构的一例,设置通过弹簧增强的张力检测用辊512、使张力检测用辊512接触在空中移动的板材502。于是,板材502稍微弯曲,张力检测用辊512的压力(弹簧对张力检测用辊512向下的拉力)与板材502的张力的反作用力(对张力检测用辊512向上的推力)平衡时,张力检测用辊512静止。张力检测用辊512的位置按照板材502的张力变化,因此,通过位置传感器(旋转编码器)510检测该位置。检测的张力检出用辊512的位置,向PLC1输入。该张力检测用辊512的位置,变成对应于板材502的张力T的大小的值。
PLC的CPU单元13的微型处理器100,通过执行用户程序236,将输入检测的张力检测用辊512的位置和驱动辊520的电机504的当前的扭矩值以及速度值作为输入,基于张力检测用辊512的位置计算板材502的张力,进而,通过进行对应于缠绕装置500的机械系统的运算,为了计算的张力T向目标值接近,计算需要的扭矩指令值或者速度指令值。
另外,作为计算扭矩指令值或者速度指令值的运算处理,可以采用以下的逻辑:利用不久以前的指令值(扭矩指令值或者速度指令值)变化多少,则张力变化了多少的实际成果的数据,估计指令值与张力的关系,基于该估计的关系,计算本次的循环的指令值(扭矩指令值或者速度指令值)。
或者,也可以检测各周期的辊520的辊径r,基于该检测结果,计算指令值(扭矩指令值或者速度指令值)。作为检测该辊径r的结构的一例,设置弹簧增强的辊径测量用辊516,使辊径测量用辊516接触辊520的中心侧。辊径检测用辊516的位置,按照辊520的辊径而变化,因此,通过传感器518检测该位置。
微型处理器100,通过执行动作运算程序234以及与其相关联的输出处理程序214,将从用户程序236提供的指令值(扭矩指令值或者速度指令值),经由现场网络2,输出到驱动电机504的致动器506。
在图6所示的应用中,用户程序236担任动作运算的实质上所有的部分,动作运算程序234担任对致动器506的指令值的输出管理。
[e2:应用例2]
图7是表示本发明的实施方式的CPU单元13的应用例2的示意图。参照图7,作为应用例2,假设在传送一定的图案重复印刷的板材602的同时,在图案的缝隙的位置进行切断的切断装置600。该切断装置600,由操纵板材602的切断所使用的截断器604的电机606控制。更具体地是,PLC1,对应于传送板材602的辊612、614规定的角度的旋转,控制使切断器604上下移动的电子凸轮动作。
在执行该电子凸轮动作之际,需要决定用于对应于板材602的图案并开始切断的初始相位。此外,板材602由于张力和湿度的变化而伸缩,即使存在板材602伸缩,为了能够在图案的缝隙正确地切断,必须调整切断位置的相位和周期。
图7所示的应用例2中,板材602上印刷有标记630,关联图案的印刷位置。在板材602的传输路径上,设置检测用传感器610(典型地是,光学传感器),使用该传感器610,检测这些标记630的通过。
此外,传送板材602的辊614,由机械地连接的电机618旋转驱动。电机618,由电机致动器622驱动。此外,辊614和机械地连接的电机618,设置用于检测该旋转角度(旋转位置)的旋转编码器624。旋转编码器624中检测的旋转角度,被输入至PLC1。
在传感器610检测到标记630的通过的定时,保持旋转编码器624中的旋转角度(旋转位置)的分别的检测值,通过计算上次保持的检测值与这次保持的检测值之差,能够决定也反映了板材602的伸缩的各板材602的应该切断间隔。
PLC的CPU单元13的微型处理器100,通过执行用户程序236,基于被输入的旋转编码器624的检测值以及传感器610的标记630的检测值,计算作为辊614的旋转角度(旋转位置)被表示的切断定时的初始相位,并且周期地计算其后的各循环的相位以及周期的修正值。计算的相位以及周期的修正值,被送至在微型处理器100被执行的动作运算程序234。微型处理器100,通过执行动作运算程序234,反映被提供的切断定时的初始相位、相位以及周期的修正值,控制电机618的动作。即,通过动作运算程序234的执行,对于电机致动器622,输出反映切断定时的初始相位、相位以及周期的修正值的各自的指令值。
另外,为了指定板材602的图案的位置,可以使用具有照相机的视觉传感器。在该情况下,以其视野范围包括板材602的图案的方式配置照相机。视觉传感器通过进行照相机所拍摄的图像和表示预先登陆的图案的模型图像之间的匹配处理,指定板材602中图像的位置。然后,按照该指定的图案的位置,获得对应的旋转编码器624中的检测值。
[e3:应用例3]
图8是表示本发明的实施方式的CPU单元13的应用例3的示意图。参照图8,作为应用例3,假设传输车710在直线的轨道上运动的传输系统700。在传输车710中,左右的驱动轮712、722分别由独立的电机714、724驱动。
在直线的轨道702上移动,理想地是,左右的驱动轮712、722的旋转量相互相同,因此,也可以从PLC1对于致动器718、728,按每个动作控制循环,分别提供左右相同的旋转位置的指令值。可是,由于传输车710装载的货物的偏斜和轨道702的状态等,会发生仅一侧的驱动轮空转的事态。
例如,仅右侧的驱动轮722暂时地滑动并空转,其后,作为对于右侧的驱动轮722的旋转位置的指令值,需要提供修正空转的旋转量(加上空转量)指令值。为了对应这样的应用,准备被称为多轴合成定位的动作命令。该动作命令,对于主轴(例如,左侧的驱动轮712)的本来的旋转位置的指令值,将加上修正轴的值而算出的位置作为从轴(例如,右侧的驱动轮722)的旋转位置的指令值。
微型处理器100通过执行用户程序236,在一定周期中获得左右的驱动轮712、722的旋转位置(在左右的驱动轮712、722分别设置的旋转编码器716、726的输出),判断左右的驱动轮712、722之前的旋转位置之差是否超过预先设定的容许范围。然后,旋转位置之差超过了预先设定的容许范围,则微型处理器100,以收纳于该容许范围的方式更新辅助轴的值(位置)。进而,更新的辅助轴的值(位置)被送至微型处理器100执行的动作运算程序234。微型处理器100,通过执行动作运算程序234,按照指定别的用途的动作命令,按每个用户程序执行循环计算主轴的指令值,并且使用所提供的最新的辅助轴的值(位置),通过修正主轴的指令值计算从轴的指令值。输出至各自的计算的指令值对应的致动器718以及728。
<F.全体处理动作(实施方式1)>
下面,关于本实施方式的各程序的执行顺序等,进行以下说明。另外,在本说明书中,作为本发明的技术思想的具体例,例示实施方式1~4。
[f1:本实施方式]
图9是表示本发明的实施方式1的全体处理动作的时序图。参照图9,在本实施方式的PLC1的执行中,微型处理器100变成可以执行,至少,IO处理程序218(输出处理程序214以及输入处理程序216)、用户程序236(第1用户程序)以及动作运算程序234的状态。严格地说,实时OS200保持可以执行各自的程序的处理(或者线程)的状态,通过调度器程序212利用实时OS200以及硬件资源(系统定时器108等),各自的程序在适当的定时且以适当的顺序被执行。照这样,各自的程序的执行的开始/终端/结束等由调度器程序212控制,但是,在图9中关于调度器212的处理没有进行图示。
如图9所述,PLC1的执行中,进行以下的时序。
(1)现场网络控制器140接收动作控制用输入数据,在现场网络控制缓存1046中存储该数据,以及/或者,PLC系统总线控制器120接收动作控制用输入数据,在PLC系统总线接收缓存1044(图4)中存储该数据。
(2)按照IO处理程序218的命令,现场网络接收缓存1046以及/或者PLC系统总线接收缓存1044存储的动作控制用输入数据,被传送至用户程序236的作业区域(典型地是,控制程序的作业区域1042(图4)的一部分)。因此,在用户程序236由微型处理器100执行之际,可以存取动作控制用输入数据。
(3)按照IO处理程序218的命令,在现场网络接收缓存1046以及/或者PLC系统总线接收缓存1044中所存储的动作控制用输入数据,被传送至动作运算程序234的作业区域(典型地是,控制程序的作业区域1042(图4)的一部分)。因此,在动作运算程序234由微型处理器100执行之际,可以存取动作控制用输入数据。
(4)按照用户程序236的命令,使用动作控制用输入数据来计算用户程序236的输出数据,计算的输出数据传送至动作运算程序234的作业区域(典型地是,控制程序的作业区域1042(图4)的一部分)。因此,在动作运算程序234由微型处理器100执行之际,可以存取用户程序236的输出数据。
(5)按照动作运算程序234的命令,动作控制用输入数据以及用户程序用输出数据之中,使用需要的数据来计算动作指令值,计算的动作指令值数据被传送至IO处理程序218的作业区域(典型地是,控制程序的作业区域1042(图4)的一部分)。因此,在IO处理程序218由微型处理器100执行之际,可以存取由动作运算程序234计算的动作指令值数据。
(6)按照IO处理程序218的命令,输出动作指令值数据。更具体地是,控制程序的作业区域1042(图4)中存储的动作指令值数据被传送至现场网络发送缓存1045(图4)。进而,继续传送数据至现场网络发送缓存1045,现场网络控制器140发送动作指令值数据至伺服电机致动器3。
另外,在上述的(1)的处理中,关于用户程序236的运算中被使用,动作运算程序234的运算中未使用的输入数据,也被输入得到。此外,通过用户程序236的执行生成的用户程序输出数据,即使是在动作运算处理程序234运算中未使用的输出数据,被传送至IO处理程序218,在(6)的处理中被输出。
本实施方式的“动作控制循环”是动作运算程序234的执行以及通信的周期,即,在向伺服电机致动器3提供动作指令值数据的周期中被执行的一连串的处理的循环。此时,而如图9所示,1个动作控制循环的范围(从开始到结束)可以通过图9的右侧所示的A、B、C中的任一个来充分理解。即,动作控制循环,不是由指定的程序的开始定时以及/或者结束定时定义的,仅仅是包括动作运算程序234的1次的执行的处理的循环。作为1个例子,在图9的左侧表示图9的右侧所示的A的划分方法看到的情况的,动作控制循环1~3(3循环量)。
如图9所示,与动作控制循环的划分方式是A、B、C的哪一个无关,调度器程序212包括:使微型处理器100按每个动作控制循环开始动作运算程序234的执行的命令,以及使微型处理器100按每个用户程序执行循环(在该例中,与动作控制循环一致)开始用户程序236(第1用户程序)的执行的命令。进而,调度器程序212包括:用于以与用户程序执行循环的周期相当的周期依次重复输出处理以及输入处理、用户程序236的执行开始、用户程序236的执行结束、以及动作运算程序234的执行开始的命令。其中,在该命令的一连串的处理的循环和用户程序执行循环之间,循环的相位(循环的开始定时)不一定一致。
在如图9所示的IO处理中,按照输出处理程序214的命令,先执行输出处理,接着按照输入处理程序216执行输入处理。但是,该输出处理和输入处理的执行顺序可以相反,如果可能的话,也可以并行地进行。
如图9所示,PLC1的CPU单元13构成为,按每个一定周期的动作控制循环,能够重复动作指令值数据的输出处理以及动作控制用输入数据的输入处理(IO处理)和动作运算程序234的执行。再者,PLC1的CPU单元构成为,按每个动作控制循环的周期的整数倍的周期的用户程序执行循环,能够重复执行用户程序236,该用户程序236根据用户的控制目的生成且对动作运算程序234提供其执行所需要的指示的处理。
此外,CPU单元13包括的通信电路(PLC系统总线控制器120以及现场网络控制器140),按每个动作控制循环,作为输出处理的至少一部分进行动作指令值数据的发送,以及作为输入处理的至少一部分进行动作控制用输入数据的接收。
根据本实施方式,可以使从输入处理的开始(图9所示的处理)至反映该输入处理所输入的动作控制用输入数据的动作指令值数据的输出处理需要的时间成为与用户程序执行循环的周期相当的,更短的时间。
在图9所示的例子中,用户程序执行循环的周期,与动作控制循环的周期相等。通过这样设置各自的周期,按每个动作运算程序234的执行,可以使用更新的用户程序输出数据来计算动作指令值数据。即,按每次的输出处理,可以那样地输出更新的动作指令值数据。
在图9所示的例子中,A作为动作控制循环的划分方法的情况下,调度器程序212包括:用于在动作控制循环内,输出处理以及输入处理(IO处理)之后,使微型处理器100依次执行用户程序236以及动作运算程序234的命令。在这种情况下,在动作控制循环内,能够在用户程序236以及动作运算程序234的执行之前,进行涉及动作控制的输出处理以及输入处理,因此,能够减少用于这些输入输出的通信周期的偏差。所以,能够更高精度地控制电机的运动。
[f2:比较例]
下面,为了说明本实施方式的调度器程序212的效果,将与图9所示的时序的程序的执行顺序不同的情况的时序作为比较例来说明。
图10是表示图9所示全体处理动作相关的比较例的全体处理动作的时序图。在上述的图9中,表示了按照“IO处理程序218”、“用户程序236”、“动作运算程序234”的顺序,执行各自的程序的例子。但是,在图10中,作为比较例,表示按照“IO处理程序218”、“动作运算程序234”、“用户程序236”的顺序,执行各自的程序的例子。
在采用图10所示的比较例的程序的执行顺序的情况下,从输入处理的开始(图10所示的处理)至反映该输入处理所输入的动作控制用输入数据的动作指令值数据的输出处理,需要相当于用户程序236的执行循环的2个周期的量的时间。所以,比较图9所示的程序的执行顺序,控制延迟用户程序的执行循环的1周期的量的时间。
更具体地是,图10所示的比较例的(1)~(6)的处理的说明,与图9的(1)~(6)的说明相同。图10的(1’)~(6’)的处理的说明,也与图9(1)~(6)的处理的说明相同。图10所示的时序,比(1)~(6)的处理用户程序执行循环的周期,多花动作控制循环1个周期量长的时间。然后,在(1)~(6)的处理的中途,开始(1’)~(6’)的处理。
照这样,因为(1)~(6)的处理以及(1’)~(6’)的处理并行进行,在图10所示的时序中,在动作控制循环2的动作运算程序234的执行时(M2),产生动作控制用输入数据的处理复杂化的问题。例如,在动作控制循环2的动作运算程序234的执行时,动作控制用的新输入数据的输入处理(图10所示(1’)的处理)在动作运算程序234的执行时(M2)之前结束。因此,动作运算程序234的执行时(M2),本来应该使用的动作控制用输入数据(图10所示(3)的处理所传送的输入数据),与不应该使用的动作控制用的新输入数据(图10所示(3”)的处理所传送的输入数据)一并被保持在作业区域中。因此,在动作运算程序234执行时,为了使用本来应该使用的输入数据,不使用新输入数据,需要管理的构造,处理变得复杂化。
如上所述,通过以图9所示的本实施方式的执行顺序来执行各自的程序,可以避免在图10所示的时序中产生的问题,并且控制周期可以更高速化。
<G.全体处理动作(实施方式2)>
在上述的实施方式1中,着眼于IO处理程序218、用户程序236以及动作运算程序234的执行顺序,进行了说明。但是,也有在1个的动作控制循环内,即使将这些的程序全部执行,还可以执行其他处理的情况。那么,在实施方式2中,关于一并执行上述的程序与其他的处理的动作处理进行说明。
图11是表示本实施方式2的全体处理动作的时序图。参照图11,在本实施方式中,在从IO处理程序218的执行结束至用户程序236的执行开始之间,执行“其他的处理P”。此外,用户程序236的执行结束至动作运算程序234的执行开始之间,执行“其他的处理Q”。进而,动作运算程序234的执行结束到IO处理程序218的执行开始之间,执行“其他的处理R”。
关于“其他的处理P”、“其他的处理Q”、“其他的处理R”的处理内容,只要不阻碍用户程序236以及动作运算程序234的正常的执行的处理,可以是任何的处理。更具体地是,作为“其他处理”,假设其他的系统程序220(图3)的执行等。作为该其他的系统程序220的处理内容,例如,可以设想输入数据以及/或者输出数据的记录,故障诊断,与PLC支持系统8的通信,以及经由上位计算机的LAN的通信(本实施方式的CPU单元具有与13经由以太网的上位计算机(注册商标)通信功能的情况)等。
进而,关于用户程序236包括的时序运算相关的输入处理以及输出处理,可以在执行IO执行程序218的时候,与动作控制用输入数据的输入处理以及动作指令值数据的输出处理同时进行。也可以在除此之外的定时,作为任一种“其他的处理”进行。
此外,在“其他的处理”在动作控制循环的最后执行的情况下,“其他的处理”的内容,也可以存在在下一个动作控制循环开始之前待机的空转。
图11中,表示3种的“其他的处理”执行的处理例。但是,关于该“其他的处理”的数量没有特别的限制,例如,可以只存在“其他的处理”当中的1个或者2个。或者,也可以在单一的“其他的处理”中,依次执行多个的种类的处理。
在图11所示的时序中,作为1个的动作控制循环的范围(从开始至结束),将“IO处理程序218”、“用户程序236”、“动作运算程序234”的处理开始定时作为边界的A、B、C之外,可能有将任一中的“其他处理”的处理开始定时作为边界的A’、B’、C’。
<H.全体处理动作(实施方式3)>
对于按照用户的控制目的生成的用户程序能够设定不同的优先级也是实用的。所以,在实施方式3中,对存在设定了更高的优先级的用户程序和设定了更低优先级的用户程序(以下也称作“低优先用户程序”)的情况的动作处理,进行说明。此外,在本实施方式中,与低优先用户程序对比,将与图11所示的用户程序236相当的程序也称作“高优先用户程序236-1”。
图12是表示本发明的实施方式3的全体处理动作的时序图。图12所示的时序,相当于在图11所示的时序中,“其他的处理P”以及“其他的处理Q”不存在,且,作为“其他的处理R”执行低优先用户程序236-2(第2用户程序)的情况。
高优先用户程序236-1包括:使用动作控制用输入数据,计算动作运算程序234的运算中所使用的用户程序输出数据的命令。高优先程序236-1,进而包括动作命令。该动作命令包括:用于提供对于动作运算程序234执行所需要的参数并指示执行开始的命令。例如,用户基于表示检测开关6(图1)的状态的输入数据,在某个条件成立的情况下,能够编程以执行动作命令。
低优先用户程序236-2包括使用动作控制用输入数据来计算用户程序输入数据的命令。典型地是,低优先用户程序236-2包括:与动作控制相比延迟的控制就足够的部分的处理内容。
关于低优先用户程序236-2,与用户程序236同样地存储在非易失性存储器106(图2)中,在执行时被复制到主存储器1041内分割的各种的程序区域1041(图4)。
如上所述,低优先用户程序236-2构成为相比迟缓的控制就足够的部分的处理内容,低优先用户236-2的执行循环的周期设定为动作控制循环的周期的2以上的整数倍的周期。作为1个例子,在图12所示的时序中,低优先用户程序236-2的执行循环的周期设定为动作控制循环的周期的4倍。因此,低优先用户程序236-2将图12所示的动作控制循环1~4看作1个的执行循环而执行。
为了说明的方便,在图12所示的时序图中,与上述的图9~图11不同,表示调度器程序212的动作定时,并且将IO处理程序218区别于输出处理程序214和输入处理程序216而表示。进而,在图12所示时序图中,也表示PLC系统总线控制器120以及现场网络控制器140的动作定时。
在本实施方式中,高优先用户程序236-1以及动作运算程序234,以被包含于被称作动作控制线程的1个线程的形式而被封装。因此,高优先用户程序236-1与动作运算程序234不经由调度器程序212的控制,连续执行。可是,关于动作运算程序234,也可以看作经由动作控制线程全体的执行控制,被调度器程序212执行控制。
在本实施方式中,高优先用户程序236-1和动作运算程序234通常连续执行,因此,构成为动作命令只包括于高优先用户程序236-1,低优先用户程序236-2中不包含动作命令。优选为容易地理解控制结构。
进而,如图12所示,输出处理程序214、输入处理程序236、高优先用户程序236-1以及动作运算程序234,也能够以被包含于被称作动作控制线程的1个线程的形式而被封装。此时,这些的程序的执行顺序与调度程序212无关,调度器212可以只控制该动作控制线程的启动。即使在这种情况下也可以看作,调度器程序212通过控制动作控制线程的执行开始定时,进行开始动作控制线程包含的各自的程序的执行的处理。
即,在本实施方式中,调度器程序212开始某些程序的执行,不限定于个别地开始该程序的执行。
输出处理程序214、输入处理程序216、动作控制线程(高优先用户程序236-1以及动作运算程序234)、以及低优先用户程序236-2,被赋予了各自的优先级。这些的程序以及线程被赋予的优先级,例如,从高的起,输出处理程序214、输入处理程序216、动作控制线程、低优先用户程序236-2的顺序。
调度器程序212,在各动作控制循环内,使微型处理器100,从优先级高的程序/线程起,依次地执行。下面,“使微型处理器100执行”也简单地表现作“执行”。
调度器程序212,在仅限于其自身是目标实例的情况下,可以使被植入其他的各种目标实例(例如,输入处理程序214)并动作的程序(处理)。例如,也可以是在其他的目标实例中被调用而动作的程序。
图12所示符号P以及X,分别表示从系统定时器108(图2)起按每个一定周期产生的中断信号。具体地是,“P”表示输出准备中断、“X”表示现场网络发送中断。另外,在图12中,对表示中断的符号“P”以及“X”添加表示动作控制循环的号码而表现。
(h1:关于动作控制循环1)
调度器程序212,响应输出准备中断(P-1),按照优先级,首先执行输出处理程序214。
在需要经由PLC系统总线11发送任一个输出数据的情况下,输出处理程序214将对象的输出数据从控制程序的作业区域1042复制到PLC系统总线发送缓存1043。此外,在需要经由现场网络2发送任一个输出数据的情况下,输出处理程序214将对象的输出数据从控制程序的作业区域1042复制到现场网络发送缓存1045。输出数据包括:动作运算程序234的执行结果的动作指令值、以及用户程序236的执行结果的其他的输出数据。
接着,输出处理程序214结束向PLC系统总线发送缓冲1043的输出数据的复制,则对PLC系统总线控制器指示发送执行(符号A)。然后,输出处理程序214结束全部的输出数据的复制,则暂时停止执行。
其后,调度器程序212响应现场网络发送中断(X-1),恢复输出处理程序214的执行。
输出处理程序214恢复执行,则对现场网络控制器140指示发送执行(符号B)。然后,输出处理程序214结束自身的执行。
调度器程序212结束输出处理程序214的执行,则按照优先级,下面执行输入处理程序216。
输入处理程序216,在接收来自PLC系统总线控制器120的接收结束通知(符号C)、或者来自现场网络控制器140的接收结束通知(符号D)之前,待机。在图12中,作为1个例子,表示先产生来自PLC系统总线控制器120的接收结束通知(符号C),接着产生来自现场网络控制器140的接收结束通知(符号D)的例子,也存在该产生顺序相反的情况。
输入处理程序216产生接收结束通知(符号C或者D),则对应于是哪一个接收结束通知,将输入数据从PLC系统总线接收缓存1044或者现场网络接收缓存1046复制到控制程序的作业区域1042。输入数据包括动作控制用输入数据以及用户程序236的执行所需要的其他的输入数据。
输入处理程序216结束输入数据的复制,则结束执行。
调度器程序212结束输入程序216的执行,则按照优先级,下面执行动作控制线程。即,用户程序236开始执行。
用户程序236使用动作控制用输入数据来计算用户程序输入数据。此外,用户程序236生成其他的输出数据。伴随用户程序236的执行结束,运算程序234开始执行。动作运算程序234在动作控制用输入数据以及用户程序输出数据中使用需要的数据,计算动作指令值数据。
调度器程序212结束动作运算程序234的执行,则按照优先级,最后执行低优先用户程序236-2。该低优先用户程序236-2的执行,响应下一个动作控制循环的输出准备中断(P-2)而被中断。
如本实施方式的输出准备中断(P)那样,在存在作为中断执行中的处理,新开始一连串的处理的触发的一定周期的中断的情况下,优选为将那样的中断作为控制循环的边界理解。
(h2:关于PLC系统总线控制器120的动作)
PLC系统总线控制器120的DMA控制电路122响应发送执行指示(符号A),将存储在主存储器104的PLC系统总线发送缓冲1043的输出数据传送到PLC系统总线控制器120的缓存存储器126。
向缓存存储器126的输出数据的传送结束,则PLC系统总线控制电路124,将对象的输出数据从缓存存储器126对各输出数据的目的地的单元传送。其后,输入数据的传送结束,则DMA控制回路122将接收结束通知(符号C)对微型处理器100发送。
(h3:关于现场网络控制器140的动作)
现场网络控制器140的DMA控制电路142,响应发送执行指示(符号B),将存储在主存储器104的现场网络发送缓冲1045的输出数据传送到现场网络控制器140的缓存存储器146。
向缓存存储器146的输出数据的传送结束,则现场网络控制电路144,将输出数据从缓存存储器146对各输出数据的目的地的装置传送。其后,现场网络控制电路144,将输入数据从现场网络2上的各装置向现场网络控制器140的缓存存储器146传送。
向缓存存储器146的输入数据的传送结束,则现场网络控制器140的DMA控制电路142,将存储于缓存存储器146的输入数据向主存储器104的现场网络接收缓存1046传送。其后,输入数据的传送结束,则DMA控制回路142将接收结束通知(符号D)对微型处理器100发送。
上面的动作,不限于现场网络2的种类,都是妥当的。现场网络2是本实施方式采用的EtherCAT(注册商标)的情况下,进而执行下面这样的处理。
既,在EtherCAT(注册商标)中,单一的帧中包括发往各单元的输出数据以及来自各单元的输入数据。发送来自设定为主控的CPU单元13的帧,则发送的帧经由菊花链连接的各个的单元而依次传送。另外,CPU单元13之外的各个的单元,设定为从属。帧到达末端的单元,则该帧通过全双工的通信路径折回,又经由作为从属的各个的单元返回CPU单元13。在各从属中,在去路的帧以FIFO(FirstInFirstOut先进先出)方式通过的同时,读取往自从属的输出数据,并且在帧的适当的位置写入自单元中产生的输入数据。各从属,就归路的帧而言,不进行输出数据的读取以及输入数据的写入而通过。
照这样,在EtherCAT(注册商标)的情况下,并不对各单元将帧个别地发送,或者从各单元将帧个别地接收。发送以及接收单一的帧,相当于通过现场网络控制电路144,从缓存存储器146向各单元的输出数据的传送以及从各单元向缓存存储器146的输入数据的传输。
在将EtherCAT(注册商标)作为现场网络2使用的情况下,发送包括输出数据的帧。在该帧经由从属的各个的单元返回的情况下,该帧变得包括输入数据。因此,就执行顺序而言,输出处理之后执行输入处理是自然的。其中,根据使用的现场网络2的种类,存在优选为输入处理之后进行输出处理的情况。照这样,输出处理和输入处理的顺序,可以按照现场网络2等的规格适宜地设计。
(h4:关于动作控制循环2~4)
基本地是,动作控制循环2~4的动作,与动作控制循环1的动作相同。下面,主要关于动作控制循环1的动作的不同点进行说明。
在动作控制循环2中,调度器程序212结束动作运算程序234的执行,则执行低优先用户程序236-2的未执行的部分。该低优先用户程序236-2的执行,响应下一个动作控制循环的输入准备中断(P-2)而再次被中断。
在动作控制循环3中,调度器程序212结束动作运算程序234的执行,则执行低优先用户程序236-2的未执行部分。在图12所示的时序中,表示低优先用户程序236-2在动作控制循环3内结束执行的例子。此时,从低优先用户程序236-2的执行结束至下一个动作控制循环的输出准备中断(P-3)作为待机时间。
在动作控制循环4中,从动作控制循环1开始的低优先用户程序236-2的用户程序执行循环还在继续,由于没有低优先用户程序236-2的未执行的部分,调度器程序212判断为没有在动作运算程序234的执行结束后应该执行的程序,至下一个动作控制循环的输入准备中断(P-4)之间的时间作为待机时间。
另外,在调度器程序212执行控制的程序的待机时间中,利用实时OS的控制,也可以执行其他的系统程序220(图3)。
在动作控制循环5之后,重复与动作控制循环1~4同样地动作。
(h5:总结)
在本实施方式中,调度器程序212,在低优先用户程序236-2(第2用户程序)存储在非易失性存储器106中的情况下,在低优先用户程序236-2的执行循环(用户程序执行循环)内,使微型处理器100在从最初的动作运算程序234的执行结束至动作控制循环结束的剩余时间内开始低优先用户程序236-2的执行,并且在其后的动作控制循环的动作运算程序234的执行结束后的剩余时间内使微型处理器100开始其未执行的部分的执行。
如本实施方式的PLC1那样,设定不同的优先级,通过在不同的执行循环分别执行用户程序,实现如下所述的作用效果。即,使高优先用户程序236-1包括使用动作控制用输入数据,计算动作运算程序234的运算所使用的用户程序输入数据的命令。另一方面,使低优先用户程序236-2包括用于实现高优先用户程序包括的以外的处理的全部或者一部分的命令。然后,与使高优先用户程序236-1包括用于实现全部的处理的命令的情况相比,由于高优先用户程序236-1分配的处理量变少,能够缩短高优先用户程序236-1的执行时间。因此,产生进一步缩短动作控制循环的周期的可能性。
所以,能够适当地进行在更短的周期的动作控制循环内的动作指令值数据的输出处理和动作控制用输入数据的输入处理、高优先用户程序236-1的执行、以及动作运算程序234的执行。
(h6:变形例)
在图12所示时序图中,表示构成为现场网络控制器140接收来自调度器程序212的发送执行的指示(符号B)的例子。代替这个,也可以现场网络控制器140直接接收来自系统定时器108的中断信号并发送执行。
也可以不进行按照输出处理程序214以及输入处理程序216的命令的数据的复制,用户程序236以及/或者动作运算程序234直接对现场网络发送缓存1045以及/或者现场网络接收缓存1046存取。
关于经由PLC系统总线11的数据的输出处理以及输入处理,可以构成为从调度器程序212独立执行。从而,也能够构成为将CPU单元13与调度器程序212独立,执行输出处理以及输入处理。即,调度器程序212不一定需要开始输出处理以及输入处理的执行。
此时,例如,优选为构成为从输出准备中断(P)至接收结束通知(符号C或者D),微型处理器100对主存储器104的各个发送缓存以及接收缓存不进行存取。
<I.全体处理动作(实施方式4)>
在上述的实施方式1中,关于用户程序236的执行循环(用户程序执行循环)的周期与动作控制循环的周期一致的处理例进行了说明。与此相反,在实施方式4中,关于用户程序执行循环的周期是动作控制循环的周期的2以上的整数倍的情况进行说明。
[i1:本实施方式]
图13是表示本发明的实施方式4的全体处理动作的时序图。在图13所示的时序图中,表示用户程序执行循环的周期是动作控制循环的周期的2倍的情况。另外,IO处理程序218以及动作运算程序234的执行循环的周期与动作控制循环的周期一致。
图13所示的(1)~(6)的处理,分别与图9所示的(1)~(6)的处理相同,因此,下面主要说明与图9所示时序的不同点。
即,在图13所示的时序的动作控制循环1内的动作运算程序234的执行开始时,使用动作控制用输入数据来计算的用户程序输出数据((4)的处理)还不存在,因此,按照动作运算程序234的命令,仅使用动作控制用输入数据((3)的处理)计算动作指令值数据。该计算的动作指令值数据被传送至IO处理程序218的作业区域。进而,按照IO处理程序218的命令,输出该被传送的动作指令值数据((8)的处理)。
其后,现场网络控制器140接收新的动作控制用输入数据并存储该新的输入数据于现场网络接收缓存1046、以及/或者PLC系统总线控制器120接收新的动作控制用输入数据并存储该新的输入数据于PLC系统总线接收缓存1044((9)的处理)。接着,按照IO处理程序218的命令,现场网络接收缓存1046以及/或者PLC系统总线接收缓存1044中存储的新的动作控制用输入数据传送至动作运算程序234的作业区域((10)的处理)。
然后,在时序的动作控制循环2中,按照动作运算程序234的命令,在新的动作控制用输入数据((10)的处理)以及用户程序输出数据((4)的处理)中,使用需要的数据来计算动作指令值。然后,计算的动作指令值数据传送至IO处理程序218的作业区域。最后,计算的动作指令值数据,按照IO处理程序218的命令输出((5))以及((6)的处理)。
如图13所示,用户程序执行循环的周期,不需要与动作控制的周期一致,一般地是,也能够是动作控制循环的周期的2以上的整数倍。
根据本实施方式,在比用户程序236的执行周期更短的控制周期中,能够输出更新后的动作指令值数据。此时,只能按每个用户程序执行循环,反映使用动作控制用输入数据由用户程序236计算的用户程序输出数据,更新动作指令值数据。可是,即使在不能那样反映的动作控制循环,通过更新动作指令值数据并输出,存在能够更顺利地控制电机的运动的情况。
例如,本实施方式适合于上述的应用例3的应用(图8)。关于传送车710的驱动轮相关的,主轴的指令值和从轴的指令值,按每个动作控制循环输出更新的指令值。另一方面,按每个用户程序执行循环,更新提供偏差(修正值)至主轴的指令位置和从轴的指令值之间的辅助轴的位置。这种情况,辅助轴的位置的更新周期,变得比对于主轴的指令值以及对于从轴的指令值的更新周期长。但是,应用例3的情况,与其不成为问题,倒不如说指令值的更新周期短变成优点,进而比指令值的更新周期长的周期能够修正对于使用修正轴的从轴的指令值变成优点。
在图13所示时序图中,与实施方式1(图9)相同,动作控制循环的范围的划分方法可以作为A、B、C的任一种。另外,在采用A或者B的划分方法的情况下,需要封装用于在各动作控制循环的途中中断用户程序236的执行、开始动作运算程序234的执行的执行控制(典型地是,使用中断信号)。
在采用C的划分方法的情况下,存在进一步缩短用户程序执行循环的可能性。即,根据C的划分方法,调度器程序212包括:用于在用户程序执行循环(例如,图13的从T1到T3)内,使微型处理器100依次执行动作运算程序234的执行、输出处理以及输入处理、用户程序236的执行。所以,在各动作控制循环(从T1到T2,以及从T2到T3)内,依次执行动作运算程序的执行、输出处理以及输入处理、以及第1用户程序的执行。在各动作控制循环中,输出处理以及输入处理的执行后,到动作控制循环结束为止的时间,能按每个动作控制循环变动。通过该处理顺序,能够不浪费地使用该时间于用户程序236的执行。所以,微型处理器难以产生待机时间,因此,产生进一步缩短用户执行循环的可能性。
[i2:比较例]
下面,为了说明本实施方式的调度器212的效果,将程序的执行顺序与图13所示的时序不同的情况的时序作为比较例进行说明。
图14是表示图13所示全体处理动作相关的比较例的全体处理动作的时序图。在上述的图13中,表示了各个的程序以“IO处理程序218”、“用户程序236”、以及“动作运算程序234”的顺序,被执行的例子。但是,在图14中,作为比较例表示,各个的程序以“IO处理程序218”、“动作运算程序234”、以及“用户程序236”的顺序,被执行的例子。
在采用图14所示的比较例的程序的执行顺序的情况下,从输入处理的开始(图14所示(1)的处理),到反映该输入处理输入的动作控制用输入数据的动作指令值数据的输出处理,是相当于的动作控制循环的3周期量的时间。即,需要比用户程序执行循环的周期,长动作控制循环1周期量的时间。所以,与图13所示程序的执行顺序相比,延迟动作控制循环的1周期量的时间。
<J.支持装置>
接着,说明用于进行在PLC1中执行的程序的生成以及PLC1的维护等的PLC支持装置8。
图15是表示对本发明的实施方式的CPU单元连接而使用的PLC支持装置8的硬件结构的示意图。参照图15,PLC支持装置8,典型地是,由通用的计算机构成。另外,从维护性的观点出发,优选为在可移动性方面优越的笔记本型的个人计算机。
参照图15,PLC支持装置8包括:执行包含OS的各种程序的CPU81、存储BIOS或各种数据的ROM(只读存储器)82、以及提供用于存储在CPU81中的程序的执行所需要的数据的作业区域的存储器RAM83、以非易失性方式存储在CPU81中执行的程序等的硬盘(HDD)84。
PLC支持装置8还包括:接收来自用户的操作的键盘85以及鼠标86、用于向用户提示信息的监视器87。进而,PLC支持装置8包括用于与PLC1(CPU单元13)等进行通信的通信接口(IF)89。
如后所述,在PLC支持装置8中执行的各种程序被存储在CD-ROM9中而流通。存储在该CD-ROM9中的程序通过CD-ROM(致密盘只读存储器)致动器88读取,并存储到硬盘(HDD)84等。或者,也可以构成为从上位的主计算机等通过网络而下载程序。
如上所述,由于使用通用的计算机而实现PLC支持装置8,所以不进行除此之外的详细的说明。
图16是表示本发明的实施方式的连接到CPU单元而使用的PLC支持装置8的软件结构的示意图。参照图16,在PLC支持装置8中执行OS310,提供可执行在PLC支持程序320中包含的各种程序的环境。
PLC支持程序320包括编辑器程序321、编译器程序322、调试器程序323、模拟用时序命令运算程序324、模拟用动作运算用程序325、通信程序326。在PLC支持程序320中包括的各个程序,典型地是,以存储在CD-ROM9中的状态流通,并安装到PLC支持装置8中。
编辑器程序321提供用于生成用户程序236的输入和编辑的功能。更具体地是,编辑器程序321除了提供用户操作键盘85或鼠标86而生成用户程序236的源程序330的功能之外,还提供生成的源程序330的保存功能和编辑功能。此外,编辑器程序321接收来自外部的源程序330的输入。
编译器程序322提供对源程序330进行编译,生成可在CPU单元13的微处理器100中执行的目标程序形式的用户程序236的功能。此外,编译器程序322提供对源程序330进行编译,生成可在PLC支持装置8的CPU81中执行的目标程序形式的用户程序340的功能。该用户程序340是用于通过PLC支持装置8对PLC1的动作进行模拟(模拟)的、模拟用的目标程序。
调试器程序323提供用于对用户程序的源程序进行调试的功能。作为该调试的内容,包括用于跟踪在源程序中将用户指定的范围部分性地执行的、源程序的执行中的变量值的时间变化的动作。
调试器程序323还提供执行作为模拟用的目标程序的用户程序340的功能。在该模拟时,使用在PLC支持程序320中包括的模拟用时序命令运算程序324和模拟用动作运算程序325,来代替在CPU单元13的系统程序中包括的时序命令运算程序232和动作运算程序234。
通信程序326提供向PLC1的CPU单元13传送用户程序236的功能。
一般地是,在PLC1中封装的系统程序210,在CPU单元13的制造阶段存储在CPU单元13的非易失性存储器106中。其中,若在CD-ROM9中存储系统程序210,则用户还能够将CD-ROM9的系统程序210复制到PLC支持装置8,利用通信程序326提供的功能而将复制的系统程序210传送到CPU单元13。再者,若在CD-ROM9中存储在PLC1的CPU单元13中执行的实时OS200,则也能够通过用户操作将实时OS200再次安装到PLC1中。
应认为本次公开的实施方式在所有方面都是例示,并不是限制性的。本发明的范围并非由上述的说明所表示,而是由权利要求书所表示,意图包括与权利要求书的范围等同的含义和范围内的全部变更。
标号说明
1PLC、2现场网络、3伺服电机致动器、4伺服电机、远程IO终端、6检测开关、7继电器、8PLC支持装置、9CD-ROM、10连接电缆、11PLC系统总线、12电源单元、13CPU单元、14,53IO单元、15特殊单元、51远程IO终端、52通信耦合器、81CPU、83RAM、85键盘、86鼠标、87显示器、88CD-ROM致动器、100微型处理器、102芯片组、104主存储器、106非易失性存储器、108系统定时器、110USB连接器、120PLC系统总线控制器、122DMA控制电路、124PLC系统总线控制电路、126,146缓冲存储器、130PLC系统总线连接器、140现场网络控制器、142DMA控制电路、144现场网络控制电路、210系统程序、212调度器程序、214输出处理程序、216输入处理程序、218IO处理程序、220其他的系统程序、222设定动作控制循环的周期的程序、230控制程序、232时序命令运算程序、234动作运算程序、236用户程序、236-1高优先用户程序、236-2低优先用户程序、320PLC支持程序、321编辑器程序、322编译器程序、323调试器程序、324模拟用动作运算程序、326通信程序、330源程序、340用户程序、500缠绕装置、502,602板材、504,506,614,714,724电机、506,718,728致动器、510,518位置传感器,512张力检测用辊、514张力辊、516辊径检测用辊、520,612,618辊、600切断装置、604切断器、610传感器、624,716,726旋转编码器、630标记、700传送系统、702轨道、710传送车、712,722驱动轮、1041程序区域、1042控制程序的作业区域、1043PLC系统总线发送缓冲、1044PLC系统总线接收缓存、1045现场网络发送缓存、1046现场网络接收缓存、SYSPLC系统。
Claims (6)
1.一种PLC的CPU单元,具有用于控制电机的运动的动作控制功能,所述PLC的CPU单元具备:
微型处理器;存储部件;以及
通信电路,
所述PLC的CPU单元构成为:
按每个一定周期的动作控制循环,能够重复执行动作指令值数据的输出处理以及动作控制用输入数据的输入处理和动作运算处理的执行;
并且,按每个所述动作控制循环的周期的整数倍的周期的第1用户处理执行循环,能够重复执行第1用户处理,该第1用户处理根据用户的控制目的生成且包括对所述动作运算处理提供其执行所需要的指示的处理,
所述微型处理器执行系统处理以及所述第1用户处理,
所述系统处理包括:所述动作运算处理、控制所述第1用户处理以及所述动作运算处理的执行的调度器处理,
所述存储部件用于存储微型处理器执行所述系统处理以及所述第1用户处理所需的信息,
所述通信电路,按每个所述动作控制循环,作为所述输出处理的至少一部分进行所述动作指令值数据的发送,以及作为所述输入处理的至少一部分进行所述动作控制用输入数据的接收,
所述调度器处理包括:
使所述微型处理器,按每个所述动作控制循环开始所述动作运算处理的执行;
使所述微型处理器,按每个所述第1用户处理执行循环开始所述第1用户处理的执行;以及
以与所述第1用户处理执行循环的周期相当的周期,依次重复所述输出处理以及所述输入处理、所述第1用户处理的执行开始、所述第1用户处理的执行结束、以及所述动作运算处理的执行开始,
由此,在所述第1用户处理包括使用所述动作控制用输入数据来计算所述动作运算处理所使用的用户处理输出数据的处理的情况下,从所述输入处理的开始至反映该输入处理中被输入的动作控制用输入数据的所述动作指令值数据的输出处理的结束所需要的时间成为与所述第1用户处理执行循环的周期相当的时间。
2.如权利要求1所述的PLC的CPU单元,
所述第1用户处理执行循环的周期与所述动作控制循环的周期相等。
3.如权利要求2所述的PLC的CPU单元,
所述调度器处理包括:在所述动作控制循环内,所述输出处理以及所述输入处理之后,使所述微型处理器依次执行所述第1用户处理以及所述动作运算处理。
4.如权利要求3所述的PLC的CPU单元,
所述微型处理器还执行第2用户处理,该第2用户处理根据用户的控制目的生成,且不包括使用所述动作控制用输入数据来计算所述动作运算处理所使用的用户处理输出数据的处理,且具有所述动作控制循环的周期的2以上的整数倍的周期的第2用户处理执行循环,所述存储部件用于存储所述微型处理器执行所述第2用户处理所需的信息,
所述调度器处理,在所述微型处理器还执行第2用户处理的情况下,在所述第2用户处理执行循环内,使所述微型处理器在从最初的所述动作运算处理的执行结束至所述动作控制循环结束的剩余时间内开始所述第2用户处理的执行,并且在其后的所述动作控制循环的所述动作运算处理的执行结束后的剩余时间内,存在所述第2用户处理的未执行的部分时,使所述微型处理器开始该未执行的部分的执行。
5.如权利要求1所述的PLC的CPU单元,
所述第1用户处理执行循环的周期与所述动作控制循环的周期的2以上的整数倍相等。
6.如权利要求5所述的PLC的CPU单元,
所述调度器处理包括:在所述第1用户处理执行循环内,使所述微型处理器依次执行所述动作运算处理的执行、所述输出处理以及所述输入处理、所述第1用户处理的执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-056766 | 2011-03-15 | ||
JP2011056766A JP4877423B1 (ja) | 2011-03-15 | 2011-03-15 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
PCT/JP2011/056768 WO2012124132A1 (ja) | 2011-03-15 | 2011-03-22 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103403631A CN103403631A (zh) | 2013-11-20 |
CN103403631B true CN103403631B (zh) | 2016-01-20 |
Family
ID=45781982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180068882.XA Active CN103403631B (zh) | 2011-03-15 | 2011-03-22 | 可编程逻辑控制器的cpu单元 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10274923B2 (zh) |
EP (1) | EP2672346B1 (zh) |
JP (1) | JP4877423B1 (zh) |
CN (1) | CN103403631B (zh) |
WO (1) | WO2012124132A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015090548A (ja) * | 2013-11-05 | 2015-05-11 | オムロン株式会社 | 制御装置 |
JP6626240B2 (ja) * | 2014-03-13 | 2019-12-25 | オムロン株式会社 | コントローラ |
JP2015210751A (ja) * | 2014-04-30 | 2015-11-24 | パナソニック デバイスSunx株式会社 | プログラマブルコントローラ、制御方法及び制御プログラム |
WO2016009477A1 (ja) * | 2014-07-14 | 2016-01-21 | 三菱電機株式会社 | 制御装置 |
CN104597832B (zh) * | 2014-12-31 | 2017-04-19 | 浙江中控研究院有限公司 | 一种基于amba总线的plc程序调度器ip核 |
JP6488830B2 (ja) * | 2015-03-31 | 2019-03-27 | オムロン株式会社 | 制御装置 |
JP2016194831A (ja) * | 2015-03-31 | 2016-11-17 | オムロン株式会社 | 制御装置 |
DE102015218906B4 (de) * | 2015-09-30 | 2021-06-10 | Siemens Mobility GmbH | Verfahren zum Betreiben eines Datenübertragungssystems und Datenübertragungssystem |
KR102079499B1 (ko) | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 |
CN105550152B (zh) * | 2015-12-11 | 2018-03-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于时间的gjb289数据总线命令调度电路及方法 |
US20180095441A1 (en) * | 2016-02-15 | 2018-04-05 | Mitsubishi Electric Corporation | Load distribution device |
JP6165286B1 (ja) * | 2016-02-29 | 2017-07-19 | 株式会社安川電機 | モータ制御システム、ロボットシステム、及びモータ制御システムの通信方法 |
CN109891338A (zh) | 2016-10-31 | 2019-06-14 | 三菱电机株式会社 | 拍摄仪器协同装置、拍摄仪器协同程序、协同支持系统及控制系统 |
JP6903976B2 (ja) * | 2017-03-22 | 2021-07-14 | オムロン株式会社 | 制御システム |
JP6984199B2 (ja) * | 2017-07-07 | 2021-12-17 | オムロン株式会社 | 制御システム、および、制御方法 |
JP6919404B2 (ja) | 2017-08-10 | 2021-08-18 | オムロン株式会社 | 制御装置 |
JP6950385B2 (ja) * | 2017-09-12 | 2021-10-13 | オムロン株式会社 | 制御装置および制御方法 |
JP6881174B2 (ja) * | 2017-09-13 | 2021-06-02 | オムロン株式会社 | 制御装置および制御方法 |
JP6903275B2 (ja) * | 2017-09-14 | 2021-07-14 | オムロン株式会社 | 制御装置および制御方法 |
JP6900863B2 (ja) | 2017-09-22 | 2021-07-07 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
JP2019061467A (ja) * | 2017-09-26 | 2019-04-18 | オムロン株式会社 | サポート装置およびサポートプログラム |
JP7087316B2 (ja) * | 2017-09-27 | 2022-06-21 | オムロン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7059673B2 (ja) * | 2018-02-14 | 2022-04-26 | オムロン株式会社 | 制御装置、制御システム、制御方法、および、制御プログラム |
JP6927089B2 (ja) | 2018-03-05 | 2021-08-25 | オムロン株式会社 | 制御装置、システムプログラム、制御方法 |
JP7020198B2 (ja) | 2018-03-09 | 2022-02-16 | オムロン株式会社 | 制御装置および制御システム |
CN108762197B (zh) * | 2018-06-14 | 2019-12-31 | 杭州电子科技大学 | 基于plc的运动控制方法和运动控制器 |
JP7024679B2 (ja) * | 2018-10-05 | 2022-02-24 | オムロン株式会社 | 開発支援プログラム、開発支援装置、および開発支援方法 |
JP6761584B2 (ja) | 2018-10-23 | 2020-09-30 | 株式会社安川電機 | 産業機器の制御装置、産業機器の制御システム、及び産業機器の制御方法 |
JP7103214B2 (ja) * | 2018-12-28 | 2022-07-20 | オムロン株式会社 | サポート装置および支援プログラム |
JP6918849B2 (ja) * | 2019-01-22 | 2021-08-11 | ファナック株式会社 | システム |
JP6729746B2 (ja) * | 2019-04-08 | 2020-07-22 | オムロン株式会社 | 制御装置 |
JP7230703B2 (ja) | 2019-06-20 | 2023-03-01 | オムロン株式会社 | 制御装置 |
JP7318406B2 (ja) | 2019-08-07 | 2023-08-01 | オムロン株式会社 | 制御装置 |
JP7294078B2 (ja) | 2019-11-12 | 2023-06-20 | オムロン株式会社 | 制御装置 |
JP7456165B2 (ja) | 2020-01-16 | 2024-03-27 | オムロン株式会社 | 制御装置 |
CN114598664A (zh) * | 2020-12-03 | 2022-06-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种任务执行方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1475883A (zh) * | 2002-05-31 | 2004-02-18 | ŷķ����ʽ���� | 可编程控制器、cpu单元、通信单元以及通信单元的控制方法 |
CN1477468A (zh) * | 2002-06-07 | 2004-02-25 | 欧姆龙株式会社 | 可编程控制器、cpu单元、特殊功能模块以及双重化处理方法 |
JP2004259112A (ja) * | 2003-02-27 | 2004-09-16 | Omron Corp | 評価用システム及び評価方法並びにモーションコントローラ |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63310004A (ja) * | 1987-06-12 | 1988-12-19 | Omron Tateisi Electronics Co | プログラマブル・コントロ−ラ |
JP3371349B2 (ja) * | 1995-07-21 | 2003-01-27 | オムロン株式会社 | 制御処理装置 |
JP3563541B2 (ja) * | 1996-09-13 | 2004-09-08 | 株式会社東芝 | データ格納装置及びデータ格納方法 |
JPH11249715A (ja) * | 1998-02-26 | 1999-09-17 | Yaskawa Electric Corp | シーケンスプログラムの自動生成方法とモーションコントローラ |
DE10065417B4 (de) * | 2000-12-27 | 2011-07-21 | Siemens AG, 80333 | Programmierung von zyklischen Maschinen |
JP3997988B2 (ja) * | 2001-05-31 | 2007-10-24 | オムロン株式会社 | 安全ユニット及びコントローラシステム並びにコントローラの連結方法及びコントローラシステムの制御方法 |
JP3715258B2 (ja) * | 2002-05-29 | 2005-11-09 | ファナック株式会社 | 制御装置 |
JP2005129026A (ja) * | 2003-10-02 | 2005-05-19 | Omron Corp | プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法 |
DE10357824A1 (de) * | 2003-12-09 | 2005-07-14 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Betreiben zusammenarbeitender unterschiedlicher Geräte |
US7532637B2 (en) * | 2004-03-11 | 2009-05-12 | Omron Corporation | Synchronous controller |
JP4442358B2 (ja) * | 2004-08-02 | 2010-03-31 | 株式会社デンソーウェーブ | 制御装置及びコンピュータプログラム |
JP2006107312A (ja) * | 2004-10-08 | 2006-04-20 | Yaskawa Electric Corp | モーションコントローラ |
JP2007140655A (ja) * | 2005-11-15 | 2007-06-07 | Yaskawa Electric Corp | モーションコントローラ |
JP2008097323A (ja) * | 2006-10-12 | 2008-04-24 | Koyo Electronics Ind Co Ltd | モーションコントロールシステム |
JP4811260B2 (ja) * | 2006-12-11 | 2011-11-09 | 富士電機株式会社 | プログラマブルコントローラ、及びその支援装置 |
US20090106755A1 (en) * | 2007-10-19 | 2009-04-23 | Sundeep Chandhoke | Programmable Controller with Multiple Processors Using Scanning and Data Acquisition Architectures |
JP5069325B2 (ja) * | 2010-03-11 | 2012-11-07 | 株式会社豊田中央研究所 | タスク実行制御装置及びプログラム |
US8977534B2 (en) * | 2011-03-15 | 2015-03-10 | Omron Corporation | Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program |
US8504176B2 (en) * | 2011-03-15 | 2013-08-06 | Omron Corporation | CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC |
-
2011
- 2011-03-15 JP JP2011056766A patent/JP4877423B1/ja active Active
- 2011-03-22 CN CN201180068882.XA patent/CN103403631B/zh active Active
- 2011-03-22 EP EP11860797.7A patent/EP2672346B1/en active Active
- 2011-03-22 WO PCT/JP2011/056768 patent/WO2012124132A1/ja active Application Filing
-
2013
- 2013-09-04 US US14/017,684 patent/US10274923B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1475883A (zh) * | 2002-05-31 | 2004-02-18 | ŷķ����ʽ���� | 可编程控制器、cpu单元、通信单元以及通信单元的控制方法 |
CN1477468A (zh) * | 2002-06-07 | 2004-02-25 | 欧姆龙株式会社 | 可编程控制器、cpu单元、特殊功能模块以及双重化处理方法 |
JP2004259112A (ja) * | 2003-02-27 | 2004-09-16 | Omron Corp | 評価用システム及び評価方法並びにモーションコントローラ |
Also Published As
Publication number | Publication date |
---|---|
WO2012124132A1 (ja) | 2012-09-20 |
EP2672346A4 (en) | 2015-09-02 |
US10274923B2 (en) | 2019-04-30 |
CN103403631A (zh) | 2013-11-20 |
US20140005835A1 (en) | 2014-01-02 |
JP2012194662A (ja) | 2012-10-11 |
EP2672346A1 (en) | 2013-12-11 |
JP4877423B1 (ja) | 2012-02-15 |
EP2672346B1 (en) | 2019-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103403631B (zh) | 可编程逻辑控制器的cpu单元 | |
CN103403632B (zh) | 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序 | |
CN103562807B (zh) | Plc的cpu单元、plc系统、plc辅助装置 | |
CN103403633A (zh) | 可编程控制器的中央处理器单元、可编程控制器用系统程序以及存储了可编程控制器用系统程序的记录介质 | |
CN102792237B (zh) | 可编程逻辑控制器的cpu单元 | |
US9971914B2 (en) | Industrial simulation using redirected I/O module configurations | |
CN102046337B (zh) | 使用关节型四肢的移动机器人的控制指令结构 | |
CN103019163B (zh) | 具有分布式运动规划的工业控制系统 | |
US20080147206A1 (en) | Control system for Real Time Applications for Cooperative Industrial Robots | |
CN102301291A (zh) | 用于路径规划的系统和方法 | |
EP2555068B1 (en) | Synchronization control apparatus | |
CN103019169A (zh) | 伺服驱动系统 | |
US20150177723A1 (en) | Control unit, output control method and program | |
CN102792235B (zh) | 控制器支持装置、以及估计控制程序的执行时间的方法 | |
CN105278402A (zh) | 信息处理装置、信息处理方法以及程序 | |
CN102870053A (zh) | 可编程控制器的cpu单元、可编程控制器用的系统程序以及存储了可编程控制器用的系统程序的记录介质 | |
CN103430109A (zh) | 可编程控制器的cpu单元、可编程控制器用的系统程序以及存储了可编程控制器用的系统程序的记录介质 | |
JP7024677B2 (ja) | 制御システム、サポート装置、サポートプログラム | |
US7606631B2 (en) | Packaging machine | |
US20220035330A1 (en) | Control system, support apparatus and program | |
EP1686075A2 (en) | Monitoring - controlling system for appliances mounted on mobile vehicles | |
CN202018653U (zh) | 具有运动控制与数字通信核心的多工处理器 | |
JP2004280222A (ja) | コントローラ | |
Quintanova | Hybrid System of Distributed Automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |