本发明涉及一种在各种电子设备中使用的旋转开关的控制装置,特别是涉及一种能够检测旋转开关的故障的控制装置。
背景技术:
使用于各种电子设备、电气设备等的旋转开关使可动触点旋转来与多个固定触点中的某一个进行连接,输出与其旋转位置相应的代码,旋转开关及其控制装置通常具有图1所示的方式。
该图1示出使用固定触点SW0~SW3的4触点、5端子、16位置、0V共用(common)的旋转开关的示例。旋转开关1根据其旋转位置(position),使固定触点SW0~SW3接通/断开,输出基于接通/断开的输出代码。触点接收器3(3-0、3-1、3-2、3-3)将该旋转开关1的触点输出变换为电信号而发送到微型计算机2的输入端口PT0~PT3。微型计算机2根据由输入端口PT0~PT3接收到的信号的电压电平,将该输出代码进行分析,输出由旋转开关所指令的指令。
在微型计算机2的输入端口PT0~PT3中使用数字信号的输入端口的情况下,触点接收器3由上拉电阻、低通滤波器、波形整形电路、电压电平变换电路等构成。此外,在微型计算机2的软件进行的分析中,在对输入端口PT0~PT3输入高电平的信号时,直观地判断为旋转开关的触点被接通(正逻辑),因此在图1中对触点接收器3使用反相器(inverter)3-0、3-1、3-2、3-3,但是该反相器的反相并非是必须的。
另外,在旋转开关1的输出代码由格雷码(Gray code)构成的情况下,其输出代码表成为图2的表。另外,在旋转开关1的输出代码由二进制码构成的情况下,其输出代码表成为图3的表。
在该图2和图3的输出代码表中,“1”是指固定触点SW0~SW3为接通,“0”是指断开。
作为使用该旋转开关1的示例,例如有时对设定机床的电动机速度的倍率开关(override switch)使用旋转开关。在本例的情况下,根据微型计算机2对输入端口PT0~PT3输入的信号,读取并分析旋转开关1的输出代码,输出速度指令(倍率值),但是例如在旋转开关1的输出代码为图2示出的格雷码的情况下,输出图4所示那样的电动机速度指令。此外,在图4中,用基准值的百分率(%)表示要输出的电动机速度。
在将旋转开关用作这种机床的倍率开关的情况下,当该旋转开关(倍率开关)1发生故障而输出异常代码时,电动机以意外的速度进行旋转,损坏机床和被加工物或发生险情。
例如在为了使电动机停止而将旋转开关的位置操作为“0”时,在固定触点SW3发生故障并在打开状态“1”下成为输出代码[1000](SW3=1、SW2=0、SW1=0、SW0=0)的情况下,在该旋转开关为格雷码输出的情况下,从微型计算机2输出速度指令(倍率值)150%。由此,电动机以意外的速度(基准速度的150%的速度)进行旋转而较危险。
因此,为了防止这种危险和不良情况,作为检测旋转开关的故障的方法,采用图5所示那样的带奇偶校验位的旋转开关1’。
在该图5示出的示例中,对图1示出的旋转开关1追加了奇偶校验位的固定触点SWP(奇偶校验位端子),因此使用5触点、6端子、16位置、0V共用。奇偶校验位的固定触点SWP与固定触点SW0~SW3同样地,其输出经由触点接收器3与微型计算机2的输入端口(未图示)连接。
另外,在该旋转开关1’的输出代码由图2所示那样的格雷码输出构成时,输出由图6的输出代码表示出的代码。在本例中,示出偶数奇偶校验的情况。微型计算机2使用保存在微型计算机2中的软件来进行奇偶校验,奇偶校验的结果是,如果检测出奇偶报警则判断为旋转开关的故障,使机床等设备转移到安全的状态,进行报警显示等。
此外,例如在日本特开平5-63754号公报中公开了使用带奇偶校验位的旋转开关的现有技术。
关于旋转开关的故障,通过将该旋转开关设为带奇偶校验位的旋转开关来进行检测,但是带奇偶校验位的旋转开关只有大型旋转开关,没有小型旋转开关。
技术实现要素:
因此,本发明的目的在于提供一种旋转开关的控制装置,不需要设置奇偶校验位的触点、即使是小型旋转开关也能够检测该旋转开关的故障。
本发明的旋转开关的控制装置,其经由触点接收器接收来自旋转开关的固定触点的信号,并根据由接收到的该信号形成的旋转开关的输出代码来输出指令,其中,该旋转开关使可动触点旋转而与多个固定触点中的某一个进行连接,其中,该控制装置具备:故障检测单元,其监视从上述触点接收器接收的输出代码的过渡,在检测出与上述旋转开关正常动作时的输出代码的过渡模式不一致的过渡时,判断为旋转开关的故障。
可以是,上述故障检测单元由微型计算机和通过该微型计算机进行动作的软件而构成,上述触点接收器的输出与上述微型计算机的输入端口相连接,通过上述软件求出并监视从上述输入端口的信号状态求出的上述输出代码来判断旋转开关的故障。
可以是,上述微型计算机的输入端口为数字输入端口。
可以是,上述微型计算机处理器的输入端口由模拟端口构成,上述故障检测单元将预定的电压与输入到上述输入端口的信号的电压进行比较,判断触点的接通/断开状态来辨别上述输出代码,从该输出代码的过渡来判断旋转开关的故障。
可以是,上述故障检测单元由硬件构成。
可以是,上述故障检测单元具备:未使用代码检测单元,其检测没有分配给上述旋转开关的输出代码的代码,并输出未使用代码报警信号。
可以是,上述控制装置还具备:计测单元,其对上述触点接收器的输出信号的电压处于预定的电压范围内的时间进行计测;以及故障预兆检测单元,其在上述计测单元的计测值到达预定的时间时,输出通知故障预兆的信号。
可以是,上述控制装置还设有:电压下降监视单元,其检测上述微型计算机的电源或者向该电源供给电力的生成源的电压下降;以及能够进行电写入的非易失性存储器,当上述电压下降监视单元检测到电压下降时,上述微型计算机将从上述输入端口输入的输出代码写入至上述非易失性存储器并进行保存,在向上述微型计算机下一次接通电源时,将从上述输入端口输入的输出代码与保存在上述非易失性存储器中的输出代码进行比较,在不一致时判断为旋转开关的故障。
本发明具有上述结构,因此能够提供一种即使旋转开关并非是带奇偶校验位的旋转开关也能够检测该旋转开关的故障的该旋转开关的控制装置。
附图说明
通过说明与附图关联的以下的实施例的说明,能够更加明确本发明的上述和其它目的以及特征。在这些图中:
图1是以往的旋转开关及其控制装置的概要图。
图2是旋转开关使用格雷码时的输出代码表。
图3是旋转开关使用二进制码时的输出代码表。
图4是表示将旋转开关用作倍率开关时的输出代码与速度指令的关系的表。
图5是带奇偶校验位的旋转开关的结构图。
图6是带奇偶校验位的旋转开关使用偶数奇偶校验的格雷码时的输出代码表。
图7是表示本发明的第一实施方式的旋转开关的控制装置的概要的框图。
图8是图7的旋转开关的固定触点的接通/断开读取的动作说明图。
图9是表示图7的旋转开关的故障检测处理的算法的流程图中的初始设定的流程图。
图10是表示作为图7的旋转开关的故障检测处理而每隔规定周期定期地进行的处理的算法的流程图。
图11是接着图10的流程图。
图12是表示本发明的第二实施方式的旋转开关的控制装置的概要的框图。
图13是表示本发明的第三实施方式的旋转开关的控制装置的概要的框图。
图14是图13的故障检测电路中的同步化电路、振荡去除电路以及延迟电路的结构图。
图15是图13的故障检测电路中的异常过渡检测电路的结构图。
图16是图13的故障检测电路中的未使用代码检测电路的结构图。
图17是表示本发明的第四实施方式的旋转开关的控制装置的概要的框图。
图18是图17的旋转开关的控制装置的预兆检测动作的说明图(不检测预兆时的图)。
图19是图17的旋转开关的控制装置的预兆检测动作的说明图(检测预兆时的图)。
图20是表示图17的旋转开关的控制装置进行的预兆检测处理的算法的流程图。
图21是表示本发明的第五实施方式的旋转开关的控制装置的概要的框图。
图22是表示本发明的第五实施方式的一个修正例的旋转开关的控制装置的概要的框图。
具体实施方式
本发明特征在于,通过在操作旋转开关时产生的信号的过渡,检测该旋转开关的故障。
在对位置i的位置的旋转开关进行操作时,旋转开关的位置
·从位置i向位置(i-1)、位置(i-2)···过渡,或
·向位置(i+1)、位置(i+2)···过渡,
输出代码也与其位置的过渡相应地过渡。旋转开关的输出应该从位置i的输出代码向相邻的位置(i-1)或位置(i+1)的输出代码过渡。这样,在对旋转开关进行操作时,从旋转开关输出的输出代码的过渡已经被确定,因此通过该输出代码的过渡,来辨别旋转开关的故障。
例如在图2和图4所示那样的、输出格雷码的旋转开关的情况下,输出代码从[0000](位置0中SW3=0、SW2=0、SW1=0、SW0=0)被允许的输出代码的过渡为[0001](位置1中SW3=0、SW2=0、SW1=0、SW0=1),除此以外的过渡是不可能的,因此在除此以外的输出代码的过渡时判断为旋转开关的故障。
此外,用4位数表示的输出代码的显示,第1位数表示固定触点SW0的输出,第2位数表示固定触点SW1的输出,第3位数表示固定触点SW2的输出,第4位数表示固定触点SW3的输出。
另外,输出代码从[0001](位置1)被允许的输出代码的过渡为相邻的位置的输出代码[0011](位置2中SW3=0、SW2=0、SW1=1、SW0=1)或[0000](位置0)者两种,除此以外的过渡是不可能的,因此除此以外的输出代码的过渡时,判断为旋转开关的故障。同样地,
从输出代码[0011]过渡的输出代码为[0010]或[0001]
从输出代码[0010]过渡的输出代码为[0110]或[0011]
····
····
从输出代码[1000]过渡的输出代码为[1001],
在除此以外过渡时,判断为旋转开关的故障。
这样,在本发明中,使用在对旋转开关进行操作时输出代码成为某种被确定的过渡这一情况,来辨别旋转开关的故障。
但是,在固定触点(SW0~SW3)中存在振荡。因此,有可能根据振荡中的输出代码而错误地判断为旋转开关的故障。但是,振荡时间的最大值由旋转开关确定,因此通过实施对仅持续该最大值的时间以下的短时间的输出代码进行忽视这种振荡去除处理,根据去除了振荡中的输出代码而得的输出代码来辨别旋转开关的故障。
另外,在4位格雷码输出的旋转开关中使用位置数为15或15以下的旋转开关的情况下,例如在使用位置数为12的旋转开关的情况下,存在并未分配的四个未使用代码。在振荡去除后的代码中检测出未使用代码的情况下,直接判断为故障。由此,有可能在使旋转开关旋转之前发现故障。
另外,在旋转开关的输出代码为图3所示那样的二进制码的情况下,有时在相邻的位置之间输出代码变化2位以上。而且,并不限于该两个位完全同时发生变化,因此在位置切换时均不对应于相邻位置的信号被输出短时间。
例如在将旋转开关从位置1向位置2进行操作时,旋转开关的输出代码从[0001]过渡到[0010]。固定触点SW0从“1”变化为“0”,固定触点SW1从“0”变化为“1”,两个位发生变化。该位变化顺序为:
当首先固定触点SW0发生变化之后固定触点SW1发生变化时,输出代码的变化成为[0001]→[0000]→[0010],另一方面,
相反地,当首先固定触点SW1发生变化之后固定触点SW0发生变化时,输出代码的变化成为[0001]→[0011]→[0010]。
这样,在旋转开关的位置从“1”变化为“2”并输出代码从[0001]变化为[0010]时,在其中间继续输出时间短的输出代码[0000]或[0011]。其中,后者的输出代码[0011]并非是位置1的相邻的位置0的输出代码[0000]或位置2的输出代码[0010],因此有可能判断为故障。但是,在切换该位置时出现的中间的输出代码的持续时间短,因此通过振荡去除的方法来去除,因此不会根据其中间出现的短时间的输出代码而进行错误判断。
以下,使用图7~图11说明本发明的旋转开关的控制装置的第一实施方式。
图7是本发明的旋转开关的控制装置的概要图。
控制装置作为微型计算机2的输入端口而使用模拟的输入端口(微型计算机内置的A/D变换器的输入),触点接收器3仅由上拉电阻构成。这些结构与以往的旋转开关的控制装置无变化,如后文中所述设置有由微型计算机的软件构成的故障检测单元这一点与以往技术不同。
如果固定触点(SW0~SW3)被接通,则对A/D变换器的端子(AD0~AD3)施加通过触点的导通电阻(Ron)和上拉电阻Rup将电压VCC分压而得到的接通电压Von,如果触点被断开则施加通过触点的截止电阻(Roff)和上拉电阻Rup分压而得到的断态电压Voff。因此,将接通/断开辨别的阈值电压设定为电压Von与电压Voff之间的适当值,通过微型计算机2的软件来辨别触点的接通/断开状态来读取输出代码。到读取该输出代码为止的阶段与以往技术相同,但是进一步在该本发明的实施方式中,根据这样读取到的输出代码来检测旋转开关的故障,通过软件构成故障检测单元。
以下,向该A/D变换器的各端子(AD0~AD3)输入的信号电压为基于旋转开关的固定触点SW0~SW3的接通/断开的经由触点接收器3的电压,因此将向该A/D变换器的各端子(AD0~AD3)输入的信号设为触点输出信号SSW0~SSW3,将该电压设为触点输出电压。
图8是表示作为对图7的控制装置中的触点的接通/断开进行判断的示例将格雷码(图2)的旋转开关1从位置0旋转到位置3时微型计算机2判断并读取触点的接通/断开的固定触点SW0的情况的图。在固定触点SW0以外的固定触点SW1、SW2、SW3的情况下也相同。
在图8中,“VHL”为对触点从断开切换为接通这一情况进行辨别的阈值电压,微型计算机在向A/D变换器的端子(AD0)输入的电压(触点输出信号SSW0的电压)将阈值电压VHL从上向下横穿时(在端子输入电压从比阈值电压VHL高的状态变为低的状态时),判断为触点(SW0)被接通。
“VLH”为对触点从接通切换为断开这一情况进行辨别的阈值电压,微型计算机在向A/D变换器的端子(AD0)输入的电压(触点输出信号SSW0的电压)将阈值电压VLH从下向上横穿时(在端子输入电压从比阈值电压VLH低的状态变为高的状态时),判断为触点(SW0)被断开。
“SW0_2”为微型计算机的内部信号,是表示以向A/D变换器的端子AD0输入的SSW0电压和阈值电压VHL、VLH由微型计算机的软件判断的固定触点SW0的接通/断开状态的信号,是振荡处理前的信号。
“SW0_3”为微型计算机的内部信号,是从内部信号SW0_2去除振荡的信号,根据该信号对旋转开关的输出代码进行辨别。
在旋转开关被旋转而从位置0变为位置1时,固定触点SW0成为接通,向A/D变换器的端子AD0输入的电压(SSW0电压)从断态电压Voff下降至接通电压Von。通过该电压下降,将辨别触点接通的阈值电压VHL从上向下横穿,因此内部信号SW0_2成为“1(接通)”,对该信号进行振荡去除处理而内部信号SW0_3成为“1(接通)”。
当旋转开关1被进一步旋转而到达位置3时,固定触点SW0成为断开,因此向A/D变换器的端子AD0输入的电压(SSW0电压)从接通电压Von上升至断开电压Voff。在该上升过程中,超过阈值电压VLH,因此内部信号SW0_2成为“0(断开)”,进行振荡去除处理而内部信号SW0_3成为“0(断开)”。
同样地,根据向A/D变换器的端子AD1、AD2、AD3输入的电压进行相同的处理,求得表示触点SW1、SW2、SW3的接通、断开的内部信号SW1_3、SW2_3、SW3_3,根据用这些内部信号SW0_3、SW1_3、SW2_3、SW3_3表示的代码来辨别输出代码,进而判断旋转开关的故障。
图9、图10和图11是表示作为故障检测单元检测由微型计算机2实施的旋转开关的故障的软件的算法的流程图。
该软件由图9示出的初始处理和在图10和图11中示出的每隔规定周期实施的处理构成。初始处理为对在每隔规定周期的处理中使用的变量赋予初始值的处理,在电源接通时仅执行一次。每隔规定周期的处理为在初始处理结束之后例如每隔1毫秒进行的处理,由以下处理构成。
(i)旋转开关的输出代码的振荡去除处理
(ii)在振荡去除后的代码中检测代码过渡异常和未使用代码的处理
(iii)其它处理
首先,说明在图9、图10、图11的流程图示出的算法中使用的变量。
“ALM”是表示故障报警的变量,初始值为0,如果在振荡去除后的旋转开关的输出代码中检测出与旋转开关正常地动作的情况下的信号的过渡模式不一致的过渡则设为1。
“ALM2”是表示未使用代码报警的变量,初始值为0,如果在振荡去除后的旋转开关的输出代码中检测出未使用代码则设为1。
“FLAG”是作为标志而发挥功能的变量,初始值为0,如果确定SW_CLN_N则设为1.
“n”为使用计数器每隔规定周期监视振荡去除前的代码并表示同一代码被连续地检测出的次数的变量。该变量使用于振荡去除。此外,当n达到N时进行钳位(clamp),判断为‘当前的代码并未振荡’。在振荡去除前的代码与前周期的代码不同的情况下,清除为0。
“N”为对上述n的增加进行钳位的值。每隔1毫秒进行上述“每隔规定周期的处理”,在振荡时间的最大值为10毫秒的情况下,为N=10毫秒/1毫秒=10。
“SW_DTY_Q”为SW_DTY_Q(3:0)的简称,存储通过前一次的周期的处理中采样的振荡去除前的信号(输出代码)。
“SW_DTY_N”为SW_DTY_N(3:0)的简称,存储通过本次的周期的处理中采样的振荡去除前的信号(输出代码)。
“SW_CLN_Q”为SW_CLN_Q(3:0)的简称,存储前一次的周期的振荡去除后的信号(输出代码)。
“SW_CLN_N”为SW_CLN_N(3:0)的简称,存储本次的周期的振荡去除后的信号(输出代码)。
“SSW(3:0)”表示由来自固定触点SW0~SW3的触点输出信号SSW0~SSW3构成的4位触点输出信号(输出代码)。
图9是表示在电源接通时仅执行一次的初始处理的流程的流程图。
当电源被接通时,将表示故障报警的变量ALM和表示未使用代码报警的变量ALM2分别设定为“0”,在存储当前周期从输入端口输入的信号(输出代码)的变量SW_DTY_N中保存接通该电源时的4位触点输出信号(输出代码)SSW(3:0)。另外,将作为标志而发挥功能的变量FLAG和计数器n分别设定为“0”,结束该初始处理。
接着,微型计算机2每隔规定周期实施用于检测旋转开关的故障的图10、图11的流程图示出的处理。
首先,判断表示故障报警的变量ALM是否为“1”(初始设定中“0”)(处理1),如果不为“1”则接着判断表示未使用代码报警的变量ALM2是否为“1”(初始设定中“0”)(处理2)。然后,如果变量ALM2不为“1”则将在变量SW_DTY_N中存储的输出代码(最初在图9示出的初始设定中存储有电源接通时的输出代码)保存到变量SW_DTY_Q(处理3)。
接着,读取从输入端口输入的来自固定触点SW0~SW3的触点输出信号(输出代码)SSW(3:0)而保存到变量SW_DTY_N(处理4)。结果,在变量SW_DTY_N中存储在当前周期中采样的输出代码,在变量SW_DTY_Q中存储在前一次的周期中采样的输出代码(最初初始设定时设定的电源接通时的输出代码),然后,判断存储在该两个变量中的输出代码是否一致(处理5)。如果存储在SW_DTY_N中的输出代码与存储在SW_DTY_Q中的输出代码一致,则辨别作为计数器的变量n的值是否与所设定的钳位值N相等(处理6)。如果N与n相等则将该变量n加上1(处理7),结束本周期的处理。以下,在不对旋转开关1进行操作期间,在各周期的每个周期中反复执行处理1~处理7的处理。
反复执行处理1~处理7的处理,当变量n的值达到设定钳位值N时(即,在N周期期间输出代码不会变化时),判断标志FLAG是否为“1”(处理8)。最初在初始设定中将标志FLAG设定为“0”,由此进入到处理9,将存储在变量SW_DTY_N中的输出代码保存到变量SW_CLN_N,并且将标志FLAG设定为“1”(处理9),结束本周期的处理。以下,在不对旋转开关1进行操作期间,在各周期的每个周期中反复执行处理1~处理6、处理8、处理10~处理43的处理。
此外,在处理9中在变量SW_CLN_N中保存的是至少在计数器n到钳位值N为止计数完成期间无变化的输出代码,如后文中所述,存储有并非是由振荡产生的输出代码的部分。
此外,在图10的流程图中,用以附图标记101表示的虚线包围的、处理8和处理9的处理为变量SW_CLN_N的初始值设定处理。
另一方面,对旋转开关1进行操作并在处理5中判断的结果是,在存储在变量SW_DTY_N中的当前周期求得的输出代码与存储在变量SW_DTY_Q中的前一周期求得的输出代码不一致时,将表示计数器的变量n复位至“0”(处理45),结束当前周期的处理。
在存储在变量SW_DTY_N中的输出代码与存储在变量SW_DTY_Q中的输出代码不一致的情况下,计数器n复位,另外,即使一致也在通过处理6和处理7的处理而计数器n达到钳位值N之前检测出不一致时复位计数器n,不会进入于处理8。即,旋转开关1进行旋转,在此期间即使发生振荡,也由于该振荡而产生的输出代码为短时间,在计数器n到钳位值N为止计数为止的时间(N×采样周期的时间)内结束处理,因此在由于该短时间的振荡而发生输出代码期间不会从处理6进入到处理8。在图10的流程图中用以附图标记100表示的虚线包围的、从处理3至处理7和处理45的处理表示振荡去除处理。
另一方面,当计数器n达到钳位值N为止输出代码不会变化时(即,在处理5中,在辨别为存储在变量SW_DTY_N中的输出代码与存储在变量SW_DTY_Q中的输出代码一致时),从处理6进入到处理8。在已经不对旋转开关1进行操作时,在处理9的处理(以图10的附图标记101表示的初始值处理)中标志FLAG被设定为“1”,进入到处理10(参照图11),将存储在变量SW_CLN_N中的输出代码(最初在处理9中,以后在前一周期的处理10中存储的输出代码)保存到变量SW_CLN_Q,进而将存储在SW_DTY_N中的输出代码(在处理4中读取,计数器n达到钳位值N为止无变化的输出代码)保存到变量SW_CLN_N。即,在变量SW_CLN_Q中存储在前一周期(前一个的周期)读取的振荡去除处理后的输出代码,在变量SW_CLN_N中存储在当前周期(本周期)读取的振荡去除处理后的输出代码。
接着,通过处理11至处理42的处理,来判断输出代码的过渡是否正常。
判断存储在变量SW_CLN_Q中的前一周期读取的输出代码是否与在旋转开关1的各位置中产生的输出代码中的某一个相一致。在本实施方式中,旋转开关1如图2所示那样采用16位置,因此判断输出代码是否与[0000]或[0001]或[0011]或、···[1000]者16个中的某一个输出代码一致(处理11~26)。即,判断存储在变量SW_CLN_Q中的输出代码是否与在旋转开关1的16位置的各位置中产生的16个输出代码中的某一个一致。在存储在变量SW_CLN_Q中的输出代码与在旋转开关1的各位置中产生的输出代码中的任一个均不一致时(在本实施方式中在与16个输出代码中的任一个均不一致时),将变量ALM2设定为“1”,输出未使用代码报警(处理44)。在以后的周期中执行处理1、处理2的处理而结束当前周期的处理。
另一方面,在存储在变量SW_CLN_Q中的前一周期读取的输出代码与在旋转开关1的各位置中产生某一个输出代码一致时,辨别存储在变量SW_CLN_N中的当前周期读取的输出代码是否与存储在变量SW_CLN_Q中的输出代码或输出该输出代码的位置的前后位置的输出代码一致。
例如在存储在变量SW_CLN_Q中的输出代码被辨别为[0000]时(处理11),转移到处理27,判断存储在变量SW_CLN_N中的本周期读取的输出代码是否与存储在变量SW_CLN_Q中的前一周期读取的输出代码[0000]或输出该输出代码的位置0后的位置即位置1的输出代码[0001]一致。此外,位置0没有前一位置,因此前后位置仅为一个位置(参照图2的格雷码表)。
同样地,在存储在变量SW_CLN_Q中的输出代码被辨别为[0001]时(处理12),转移到处理28,判断存储在变量SW_CLN_N中的本周期读取的输出代码是否与存储在变量SW_CLN_Q中的前一周期读取的输出代码[0001]或输出该输出代码的位置1前后的位置即位置0和2的输出代码[0000]、[0011]一致。以下,在处理29~42的处理中,
在变量SW_CLN_Q=[0011]时,判断为变量SW_CLN_N=[0001]、[0011]还是[0010],
在变量SW_CLN_Q=[0010]时,判断为变量SW_CLN_N=[0011]、[0010]还是[0110],
在变量SW_CLN_Q=[0110]时,判断为变量SW_CLN_N=[0010]、[0110]还是[0111],
····
····
在变量SW_CLN_Q=[1001]时,判断为变量SW_CLN_N=[1011]、[1001]还是[1000],
在变量SW_CLN_Q=[1000]时,判断为变量SW_CLN_N=[1001]还是[1000]。
在处理27~处理42的处理中,在存储在变量SW_CLN_N中的本周期读取的输出代码与存储在变量SW_CLN_Q中的前一周期读取的输出代码或从输出该输出代码的位置前后的位置输出的输出代码一致时,判断为旋转开关1为正常而结束本周期的处理。
但是,在存储在变量SW_CLN_N中的输出代码与存储在变量SW_CLN_Q中的输出代码或从输出该输出代码的位置前后的位置输出的输出代码不一致的情况下,在旋转开关1旋转时,尽管所产生的输出代码的过渡应该从自身位置的输出代码变化为该位置前后的位置的代码,但是由于输出与此不同的代码,因此判断为旋转开关1发生故障,将变量ALM设定为1(处理43),输出表示故障的报警。在将变量ALM设定为1之后的周期中,进行处理1而结束该周期的处理。
如上所述,图11的流程图示出的处理为检测未使用代码和代码过渡异常的处理。
接着,使用图12说明本发明的旋转开关的控制装置的第二实施方式。
在上述第一实施方式的旋转开关的控制装置中,使用微型计算机的软件(在图10中附图标记100示出的振荡去除处理)进行振荡去除,但是也可以使用滤波器进行振荡去除。这样,如图12所示,在该第二实施方式的旋转开关的控制装置中,不使用微型计算机的软件进行振荡去除,使用低通滤波器LPF来进行。
对触点接收器3附加低通滤波器LPF并且来自各触点SW0、SW1、SW2、SW3的信号经由低通滤波器LPF被输入到A/D变换器的各端子AD0~AD3这一点,本实施方式与图7的框图示出的第一实施方式不同。而且,由低通滤波器LPF去除振荡而不存在向各端子AD0~AD3输入的信号,因此在图8示出的内部信号SW0_2(SW1_2、SW2_2、SW3_2)中不存在振荡,因此根据该内部信号SW0_2、SW1_2、SW2_2、SW3_2来求出输出代码,根据求出的该输出代码来判断旋转开关的故障。
在该情况下,在微型计算机2中实施的图10和图11示出的旋转开关的故障检测处理中,在图10中,不需要用附图标记100表示的处理3至处理7和处理45的振荡去除处理,在处理10中,代替存储在变量SW_DTY_N中的输出代码,读取的触点输出信号(输出代码)SSW(3:0)被保存到变量SW_CLN_N。
此外,也可以使用低通滤波器LPF来去除振荡的一部分,使用微型计算机的软件去除剩余的振荡,在该情况下,根据对使用低通滤波器LPF去除振荡的一部分而得到的内部信号SW0_2、SW1_2、SW2_2、SW3_2进一步进行振荡去除处理而得到的内部信号SW0_3、SW1_3、SW2_3、SW3_3,来辨别旋转开关的故障。如上所述,使用微型计算机2的软件进行的旋转开关的故障检测处理与图10和图11的流程图示出的处理相同。
在上述第一、第二实施方式中,均通过微型计算机的软件处理来构成检测旋转开关的故障的故障检测单元,通过软件处理来检测故障,但是还能够仅使用硬件来进行该旋转开关的故障检测。
因此,使用图13~图16说明本发明的旋转开关的控制装置的第三实施方式。
如图13所示,该第三实施方式的旋转开关的控制装置即使是由硬件构成的故障检测电路4,也检测旋转开关的故障。本实施方式相当于图1示出的现有技术的旋转开关的控制装置中将微型计算机2替换为故障检测电路4的实施方式。
图14、图15以及图16是故障检测电路4的详细框图。
故障检测电路4由使触点接收器的输出与故障检测电路的时钟同步的同步化电路40、振荡去除电路41、延迟电路42、异常过渡检测电路43以及未使用代码检测电路44构成。
从触点接收器3(图1)输出的触点输出信号SSW(3:0)与故障检测电路4的时钟以非同步的方式变化,因此当直接使用时后续的电路有可能错误地进行动作,因此如图14所示,输入到由两级的触发器FF1、FF2构成的同步化电路40,在该同步化电路40中变换为与时钟同步的触点信号H_SW_DTY_N(3:0)。
触点输出信号SSW(3:0)和与时钟(未图示)同步的触点信号H_SW_DTY_N(3:0)等的信号线用粗线表示而表示分别为4位的信号线。时钟信号被输入到构成故障检测电路4的全部触发器FF和计数器的时钟端子Cl。
与时钟同步的触点信号H_SW_DTY_N(3:0)被输入到振荡去除电路41的延迟电路45和栅极G1。该延迟电路45由触发器FF3构成,使触点信号H_SW_DTY_N(3:0)延迟1时钟时间而设为延迟触点信号H_SW_DTY_Q(3:0)并输出到栅极G1和保持电路47。在该栅极G1中检测延迟触点信号H_SW_DTY_Q(3:0)与触点信号H_SW_DTY_N(3:0)的一致。即检测旋转开关的输出没有发生变化。在触点信号H_SW_DTY_N(3:0)没有变化期间,栅极G1将一致信号H_MATCH设为1,另一方面,如果触点信号H_SW_DTY_N(3:0)发生变化,则栅极G1将一致信号H_MATCH设为0仅1时钟时间。
计数器46是用于对一致信号H_MATCH为1的时钟数、即旋转开关的输出信号没有变化的时间进行计测的计数器,在初始值为0并旋转开关的输出信号没有变化期间,对CE端子(Count Enable(可计数)端子)输入一致信号H_MATCH的1,对R端子(负逻辑的同步Reset端子)输入1,因此通过时钟的上升来计数完成。计数值以最大值H_N(相当于振荡时间)进行钳位,在计数值到达H_N的时间点,在1时钟期间,经由RC端子将信号H_RC设为1,将触点信号H_SW_DTY_N(3:0)持续振荡时间以上而保持相同值这一情况通知给后续的由触发器FF4构成的保持电路47。例如在振荡时间为最大10毫秒、异常检测电路的时钟为1MHz的情况下,将H_N的值设为H_N=10毫秒×1MHz=10000。
保持电路(FF4)47如果信号H_RC成为1则作为此时的将延迟触点信号H_SW_DTY_Q(3:0)进行振荡去除处理的触点信号H_SW_CLN_N(3:0)来进行输出。计数器46是当向R端子输入0时将计数值设为0的计数器,在一致信号H_MATCH为0的情况下,通过栅极G2对计数器的R端子输入0,将计数值设为0。这样,得到去除振荡的触点信号H_SW_CLN_N(3:0)。
此外,信号XPCL为上电复位信号,在信号为0时,使计数器46和保持电路(FF4)47复位。
进行振荡去除处理的触点信号H_SW_CLN_N(3:0)被输入到由触发器FF5构成的延迟电路42,因此得到延迟1时钟时间的延迟触点信号H_SW_CLN_Q(3:0)。
进行该振荡去除处理并一个相对于另一个相对延迟1时钟的两个触点信号H_SW_CLN_N(3:0)和H_SW_CLN_Q(3:0)被输入到图15示出的异常过渡检测电路43的解码器48。当两个触点信号H_SW_CLN_N(3:0)和H_SW_CLN_Q(3:0)被辨别为异常的组合时,该解码器48将信号S1设为1,输出到由触发器FF11和栅极G3构成的保持电路49。该保持电路49保持信号S1,将表示旋转开关的故障的报警信号H_ALM设为1而通知给周边电路,由此进行使机械转移为安全的状态等所需的处理。
两个触点信号H_SW_CLN_Q(3:0)与H_SW_CLN_N(3:0)的组合具有16×16=256种,其中正常的组合为46种(针对位置1~14为3种,位置0和位置15为2种,因此合计46种)。因此,将信号S1设为1的组合存在256-46=210种。例如从[0000]向[0010]的信号过渡为异常,因此H_SW_CLN_Q(3:0)、H_SW_CLN_N(3:0)=[0000]、[0010]是将信号S1设为1的原因之一。因而,解码器1以积和标准形式成为8输入的逻辑积210个的逻辑和,成为巨大的设备。在通过ASIC(Application Specific Integrated Circuit:专用集成电路)、FPGA(Field Programmable Gate Array:可现场编程门阵列)来实现的情况下,即使是该尺寸也没问题,但是在通过小微部件来实现的情况下,由于印刷电路板的安装面积的限制而需要逻辑压缩的尺寸。此外,逻辑压缩已经是公知技术。
另一方面,去除了振荡的触点信号H_SW_CLN_N(3:0)还被输入到在图16中示出的未使用代码检测电路44的解码器50。当将未使用代码进行解码时,该解码器50将其信号S2设为“1”,输出到由触发器FF21和栅极G4构成的保持电路51。在保持电路51中保持该信号S2,将未使用代码报警信号H_ALM2设为“1”。当该未使用代码报警信号H_ALM2成为“1”时,该信号被通知给周边电路,进行使机械转移为安全的状态等所需的处理。
在4位格雷码输出中使用位置数12的旋转开关的情况下,未使用代码为4个,因此解码器2以积和标准形式使用4输入的逻辑积4个的逻辑和表示。
此外,图15示出的解码器48将向未使用代码的过渡作为异常过渡来进行解码,因此通过将这种解码器使用于图16的解码器50,能够缩小解码器2的电路规模。另外,在没有未使用代码的旋转开关情况下,不需要设置图16的未使用代码检测电路44。
在上述各实施方式中,在实际使用旋转开关来进行操作时,检测其故障。在输出报警而辨别为故障时,旋转开关1处于已经无法使用的状态,在该时间点执行的作业(例如,在作为机床的倍率开关而使用旋转开关时该机床的切削作业)变得无用的作业。因此,如果能够检测出故障的预兆,则能够防止产生该无用的作业。
因此,使用图17~图20说明本发明的旋转开关的控制装置的第四实施方式。
当旋转次数加重时,旋转开关的触点的劣化加快,出现触点的导通电阻Ron的增加、截止电阻Roff的降低。该现象成为被输入到A/D变换器的端子(AD0~AD3)的、通过触点的导通电阻Ron和上拉电阻Rup对触点接收器3的电压VCC进行分压的电压Von的上升,成为通过触点的截止电阻Roff和上拉电阻Rup对电压VCC进行分压的电压Voff的降低。
当接通电压Von上升而高于阈值电压VHL时,无法检测固定触点SW0~SW3从断开切换为接通这一情况,判断为旋转开关的故障。同样地,当断态电压Voff低于阈值电压VLH时,无法检测固定触点SW0~SW3从接通切换为断开这一情况,判断为旋转开关的故障(参照图8和后述的图18和图19)。
因此,在判断为旋转开关发生故障之前,检测旋转开关的故障预兆(旋转开关的劣化)。在检测旋转开关的故障预兆时,需要根据模拟值来监视触点接收器的输出电压,因此与旋转开关的各固定触点对应的触点接收器的输出需要与微型计算机的模拟输入端口相连接。
因此,在检测该旋转开关的故障预兆的旋转开关的控制装置的第四实施方式中,将其硬件结构设为图7示出的第一实施方式的结构、图12示出的第二实施方式的结构相同,在微型计算机2中使用软件进行旋转开关的故障判断,并且还判断为故障预兆。
另外,如图13示出的第三实施方式那样,在(并非微型计算机2的软件)通过由硬件构成的故障检测电路4来进行旋转开关的故障检测的情况下,在图13示出的实施方式中追加了微型计算机的结构成为第四实施方式。
在图17示出的第四实施方式中,通过硬件的故障检测电路4检测旋转开关的故障,通过微型计算机2的软件来检测故障预兆。
在该第四实施方式中,在图13示出的第三实施方式中追加微型计算机2,将旋转开关1的各固定触点SW0、SW1、SW2、SW3的触点接收器的输出与微型计算机2的模拟输入端口(A/D变换器的端子AD0、AD1、AD2、AD3)进行连接,使用故障检测电路4检测旋转开关的故障,使用微型计算机2检测故障预兆。此外,在图17示出的本实施方式中,由故障检测电路4进行的旋转开关的故障的检测和由微型计算机2进行的故障预兆的检测分别需要振荡去除,但是不需要分开进行这些振荡去除,因此在触点接收器3中设置低通滤波器LPF,统一地进行用于旋转开关的故障的检测的振荡去除和用于故障预兆的检测的振荡去除。
图18和图19是以将格雷码输出的旋转开关1从位置0旋转为位置3时的预兆检测动作为例而进行说明的时序图,图18是未产生故障预兆的报警信号时的示例,图19时产生故障预兆的报警信号时的示例。此外,固定触点SW2和SW3的接通/断开没有变化而保持断开,在图18和图19中省略而没有进行记载。
在图18和图19中,
“SSW0电压、SSW1电压”为向微型计算机的模拟输入端口(A/D变换器的端子)AD0、AD1输入的电压。
“VLH、VHL”如参照图8前面说明那样是用于检测旋转开关的故障的阈值电压。
“V1”为用于检测截止电阻Roff的减少的阈值电压,为了依次产生用于通知故障预兆的报警和通知故障的报警,被设定为大于故障检测用阈值电压VLH且小于断态电压Voff的电压(Voff>V1>VLH)。
“V2”为用于检测导通电阻Ron的增大的阈值电压,该阈值电压V2也为了依次产生用于通知故障预兆的报警和通知故障的报警,被设定为小于故障检测用阈值电压VHL且大于接通电压Von的电压(Von<V2<VHL)。
“S”为微型计算机内的内部信号,是向微型计算机的输入端口(AD0、AD1、AD2、AD3)输入的电压(SSW0电压、SSW1电压等)中的至少一个为阈值电压V2以上且阈值电压V1以下时被断言(assert)而成为“1”的信号。
“CT”为对信号S为“1”(被断言时)的时间进行计测的计数器。
“CTL”为用于发出故障预兆的报警信号的设定值,在计数器CT的计测值到达该设定值CTL时输出报警信号。
在旋转开关1未被操作而没有旋转时,固定触点SW0~SW3没有接通/断开,向各输入端口AD0~AD3输入的SSW0电压~SSW3电压没有变化,因此信号S未被断言,也没有产生报警信号。另一方面,对旋转开关1进行操作,当从位置0移动至位置1时固定触点SW0被接通,向输入端口AD0输入的SSW0电压从断态电压Voff下降至接通电压Von。
在该电压下降的过程中SSW0电压为阈值电压V1以下且阈值电压V2以上的区间,信号S被断言。另外,信号S被断言并由计数器CT对作为“1”的时间进行计测,但是在图18示出的示例中,SSW0电压在短时间内成为阈值电压V2以下,因此计数器CT的计测值不会到达设定为报警用的设定值CTL。
另外,在旋转开关1旋转到位置2时,固定触点SW1被接通,SSW1电压下降,但是在该情况下也是其SSW1电压为阈值电压V1以下且阈值电压V2以上的区间短,并且被断言的信号S也短,因此同样地计数器CT的计测值不会到达设定值CTL。并且,当旋转开关1到达位置3时,固定触点SW0被断开,SSW0电压上升至断态电压Voff。在该电压上升过程中,在SSW0电压为阈值电压V2以上且阈值电压V1以下的区间,信号S被断言,但是在该情况下也断言期间短,在到设定值CTL之前不会到达计数器CT的计测时间,不输出故障预兆的报警信号。如上所述,该图18示出旋转开关1没有劣化而正常地进行动作时的示例。
另一方面,当成为旋转开关劣化而固定触点SW0~SW3的导通电阻Ron变大并向输入端口输入的接通电压Von没有下降至阈值电压V2以下的状态时,产生故障预兆的报警信号。图19示出成为固定触点SW0的导通电阻Ron变大且向输入端口AD0输入的SSW0电压的接通电压Von没有下降至阈值电压V2以下的状态时的示例。
当旋转开关1旋转而成为位置1时,固定触点SW0被接通而SSW0电压从断态电压Voff下降至接通电压Von。但是,由于固定触点SW0的导通电阻Ron大,因此接通电压Von没有下降至阈值电压V2以下,旋转开关旋转至位置3而固定触点SW0被断开为止,SSW0电压持续该接通电压Von。结果,固定触点SW0被接通而SSW0电压到达阈值电压V1以下,固定触点SW0被断开而SSW0电压超过阈值电压V1为止期间(V2<SSW0电压<V1的期间),信号S被断言为“1”。当该信号S被断言为“1”时,计数器CT开始进行计时,当计数器CT的值到达设定为报警用的设定值CTL时输出报警信号。
在该图19示出的示例中,导通电阻Von到达用于固定触点(SW0)的接通/断开判断而设定的阈值电压VHL以下,因此不会产生表示故障的报警,能够继续使用旋转开关。但是,如果在导通电阻Von不会下降至阈值电压VHL以下的状态之前固定触点(SW0)劣化,则通过上述方法,产生表示旋转开关的故障的报警。
图19示出固定触点SW0~SW3的导通电阻Ron变大并到接通电压Von不会下降至阈值电压V2以下的状态为止触点劣化的示例,但是旋转开关劣化,固定触点SW0~SW3中的某一个截止电阻Roff变小,向输入端口输入的断态电压Voff劣化到不会成为阈值电压V1以上的状态时,从劣化的该触点输入的SSW电压(SSW0电压~SSW3电压中的某一个)的断态电压Voff也不会到达阈值电压V1,因此在劣化的该触点处于断开的位置期间,信号S被断言,计数器CT的时间计测值到达设定值CTL,因此输出报警信号WS。此外,在产生导通电阻Ron的增加、截止电阻Roff的减少这两者的情况下,当然也如上所述那样输出报警信号WS。
图20是表示第四实施方式中的微型计算机2所实施的预兆检测处理的算法的流程图。微型计算机2每隔规定周期实施图20示出的处理。此外,在初始设定中,表示报警状态的变量WS和计数器CT均被设定为“0”。
首先,判断表示报警状态的变量WS是否为“1”(处理a)。变量WS在初始设定中被设定为“0”,因此转移到处理b,读取向输入端口输入的触点输出信号SSW(3:0)(=SSW0~SSW3)。判断读取的该各触点输出信号SSW(3:0)的值是否在设定阈值V1与V2之间的区间(V2<SSW(3:0)<V1)(处理c)。如果所有触点输出信号(SSW0~SSW3)在该区间,则在确认计数器CT并非0之后(处理f),从计数器CT减去1(处理g),结束该周期的处理。另一方面,在计数器CT为0的情况下(处理f),将计数器CT保持为0的状态,结束该周期的处理。
另一方面,如果即使是触点输出信号中的一个其大小在设定阈值V1与V2之间的区间,则将计数器CT加上1(处理d),辨别在此之后该计数器CT的值是否到达设定值CTL(处理e),如果没有到达设定值CTL则结束本周期的处理。以下,从下一周期起,只要即使是触点输出信号(SSW0~SSW3)中的一个其大小在设定阈值V1与V2之间的区间,则实施处理a~e的处理。而且,在计数器CT到达设定值CTL之前,在通过处理c判断为所有触点输出信号(SSW0~SSW3)不在设定阈值V1与V2之间的区间时,在确认计数器CT并非0之后(处理f),将计数器CT减去1(处理g),结束本周期的处理。即,在通过处理c判断为所有触点输出信号(SSW0~SSW3)不在设定阈值V1与V2之间的区间的期间,将计数器CT反复减去1,然后,在计数器CT成为0的时间点使计数器CT保持0。
但是,直到计数器CT的值到达设定值CTL为止,当即使是触点输出信号(SSW0~SSW3)中的一个其大小在设定阈值V1与V2之间的区间的状态持续时从处理e进入到处理h,将表示报警状态的变量WS设定为“1”,结束本周期的处理,产生报警信号。从以后的周期起,仅实施处理a而结束该周期的处理。这样,当触点输出信号(SSW0~SSW3)的大小即使是一个在设定阈值V1与V2之间的区间的时间继续发生至“CTL×处理周期时间”时,使产生表示旋转开关的故障预兆的报警信号。
在上述各实施方式中,根据从旋转开关输出的代码信号以及基于使旋转开关进行操作并旋转的从旋转开关输出的代码信号的过渡状态,检测旋转开关的故障和预兆。因此,在电源断开起至电源接通为止期间旋转开关损坏的情况下,也能够根据该旋转开关的输出代码信号以及基于使旋转开关进行旋转的上述输出代码的过渡状态,来检测旋转开关的故障。但是,在电源接通时,在从损坏的该旋转开关输出外观上正确的输出代码的情况下,由此有可能输出错误的指令。如上所述,将旋转开关用作对机床电动机速度进行控制的倍率开关时等,在电源接通时由于错误的输出代码而有可能电动机以始料未及的速度进行旋转。
因此,使用图21和图22说明本发明的旋转开关的控制装置的第五实施方式。
第五实施方式的旋转开关的控制装置在从电源断开至电源接通期间旋转开关损坏的情况下,检测该旋转开关的损坏。在该第五实施方式中,在从电源断开至电源接通期间也存在由旋转开关损坏引起的输出代码的过渡,因此根据该输出代码的过渡来检测旋转开关的损坏。
图21是表示该第五实施方式的旋转开关的控制装置的概要的框图。
旋转开关1的各固定触点SW0~SW3的输出经由触点接收器3与微型计算机2的输入端口相连接。此外,该输入端口可以是数字(PT0~PT3)、模拟(AD0~AD3)中的某一个。在微型计算机2上连接有非易失性存储器5,还设置有对电源10的输出电压下降进行检测的电压下降监视电路11以及使该电压下降监视电路11的输出INT延迟规定时间的延迟电路12。从电源10向微型计算机2供给电力。电压下降监视电路11监视从电源10输出的电压VCC1,当检测到其输出电压VCC1的下降时将电源断开的预告信号INT输出到延迟电路12和微型计算机2。另外,延迟电路12使预告信号INT延迟规定时间来制作微型计算机2的上电复位信号XRST并输出到微型计算机2。
预告信号INT与微型计算机2的输入端口、中断输入端子相连接,在与输入端口相连接的情况下,微型计算机2定期地监视该输入端口,当电源10被断开而其输出电压VCC1下降时,电压下降监视电路11检测其电压下降而对预告信号INT断言。当检测到该预告信号INT为断言这一情况时,微型计算机2在从延迟电路12输出的上电复位信号XRST被断言为止期间,读取来自旋转开关1的输出代码并写入到可电写入的非易失性存储器(例如EEPROM)。
另外,在连接成将预告信号INT输入到微型计算机2的中断输入端子的情况下,如果预告信号INT被断言则微型计算机2启动中断处理,在上电复位信号XRST被断言为止期间,读取来自旋转开关1的输出代码并写入到可电写入的非易失性存储器。
另一方面,在电源接通时,微型计算机2读取从旋转开关1输出的输出代码并且读取保存在非易失性存储器5中的电源断开时的输出代码,将这两者进行比较而在检测出不一致时输出报警。
在该第五实施方式中,当在电源断开中变更旋转开关1的位置时,即使是旋转开关1没有发生故障而为合格品的情况下也输出报警。因此,在电源接通时产生报警时,操作员将从当前的旋转开关的位置期望的指令内容(倍率值等)与实际指令内容(倍率值等)进行比较,如果确认得到这些指令内容一致,则认为旋转开关是合格品,因此解除报警即可。
图22是图21示出的第五实施方式的旋转开关的控制装置的一个修正例,在从电源断开至电源接通期间检测旋转开关损坏这一情况。
该图22示出的旋转开关的控制装置只有以下方面与图21示出的第五实施方式不同:设置有电压下降监视电路13,该电压下降监视电路13检测对电源10提供电力的生成源的电压VCC0的下降,并将预告信号INT输出到微型计算机,而对从电源10输出的电压VCC1的下降进行监视的电压下降监视电路11并没有设置延迟电路以向微型计算机2输出上电复位信号XRST。
在本实施方式中,需要在预告信号INT被断言之后以上电复位信号XRST被断言的方式设计其时机。例如,将在电压下降监视电路11中判断为电压下降的电压电平设为比在电压下降监视电路13中判断为电压下降的电压电平低的电平来设置时间差。