具体实施方式
下面对本发明的实施例进行说明
【实施例】
图1中示出了本发明的第1实施例的控制装置。中央存储运算装置1(CPU)经并行传送总线0(线路0)与通信控制装置3(P0)相连接,通信控制装置3(P0)经使用串行传送的控制总线2(线路1)与通信控制装置4(S1)、7(S2)之间对数据进行发送接收。
通信控制装置4(S1)与输入装置,经由采用并行传送的输入输出总线5(线路2)发送接收来自控制对象6的输入数据与控制信号。通信控制装置7(S2)与输出装置,经由采用并行传送的输入输出总线8(线路2)对针对控制对象6的输出数据和控制信号进行发送接收。
输入装置由n个输入设备9、10、11(1~n)构成,各个输入设备经由输入输出总线5(线路2)与通信控制装置4(S1)之间对来自控制对象6的输入数据进行发送接收。同样,输出装置由m个输出设备12、13、14(1~m)构成,各个输出设备经由输入输出总线8(线路2)与通信控制装置7(S2)之间对针对控制对象6的输出数据进行发送接收。
对输入输出总线5(线路2)的断线胶着进行诊断的线路诊断装置41,通过来自通信控制装置4(S1)的控制信号42而起动。另外,通过控制信号43进行切换,将开关44连接到D侧。线路诊断装置41是设置在输入输出总线5(线路2)的一端侧,对输入输出总线5(线路2)的并行传送线路进行巡回诊断的装置。例如,添加对第k个传送线路的信号电平进行切换的诊断用信号模式,而将其他的信号都固定在电平H上。接下来,将其他信号都固定在电平L上,并再次给第k个传送线路加上诊断用信号模式。设置在另一方端部的接收装置45中,不但对第k个传送线路,还对所有的传送线路的接收信号模式(pattern)进行串行变换,并经传送线路46传送给线路诊断装置41。线路诊断装置对第k个接收信号模式是否与诊断用信号模式相同,以及其他传送线路的信号是否受到了诊断用信号模式的影响进行监视。并将以上的诊断结果经传送线路47报告给通信控制装置4(S1),如果诊断结果正常,便将切换开关44连接到C侧,重新开始与输入输出总线5(线路2)之间的传送。接下来,如果线路诊断装置41起动,便将诊断用信号模式加给第(k+1)个传送线路。这样,通过对传送线路进行巡回诊断,能够缩短输入输出总线5(线路2)的停止期间。
对输入输出总线8(线路2)的断线胶着进行诊断的线路诊断装置71,由来自通信控制装置7(S2)的控制信号72起动。线路诊断装置71及接收装置75的动作分别与线路诊断装置41和接收装置45相同,省略说明。
图2中示出了经由使用串行传送的控制总线2(线路1)的通信控制装置3(P0)与通信控制装置4(S1)、7(S2)间的发送接收数据的经路。通信控制装置3(P0)中所设置的通信存储器38中,分配有序列号用存储器381、输入数据用存储器382、输出数据用存储器383、以及读回数据用存储器384这些区域。通信存储器38的数据被通信控制电路39进行并行/串行变换,经控制总线2(线路1)在通信控制装置4(S1)、7(S2)的通信存储器48、78之间进行复制。
设于通信控制装置4(S1)的通信存储器48中,分配有序列号用存储器481与输入数据用存储器482的区域。通信存储器48中输入数据用存储器482的数据被通信控制电路49进行并行/串行变换,经控制总线2(线路1)复制到通信控制装置3(P0)的通信存储器38的输入数据用存储区域382中。
通信控制装置7(S2)中所设置的通信存储器78中,分配有序列号用存储器781、输出数据用存储器783、读回数据用存储器784、以及暂时存储器785这些区域。通信控制装置3(P0)的通信存储器38的输出数据用存储区域383的数据被通信控制电路79进行并行/串行变换,经控制总线2(线路1)复制到通信存储器78的暂时保持存储器785中。确认到通信控制装置3(P0)与7(S2)之间的通信正常之后,便将暂时保持存储器785的数据复制到输出数据用存储器783中。读回数据用存储器784的数据复制到通信控制装置3(P0)的读回数据用存储器384中。
图3中示出了经由控制总线2(线路1)的通信控制装置3(P0)、4(S1)、7(S2)之间的数据通信动作顺序。
时刻t1中,从通信控制装置3(P0)将发往通信控制装置4(S1)的输入请求IR(1,N),输出给控制总线2(线路1)。
【公式1】
输入请求IR(I,N)由输入请求命令(IR)、对应于发送站编号0的发送密钥(Key)(SendKey=0)、对应于接收站编号1的接收密钥(Rcv.Key=1)、用来确认传送数据顺序的序列号(Seq.No.=N)、来自通信控制装置4(S1)的传送目的地的输入设备信息(Dev.Adr.)、以及输入数据大小(DataSize)这些数据列构成。此外,不管哪个传送数据中都在数据列的开头与结尾添加有共同的开始标志位与结束标志位,但这里为了简单化而省略了显示。在此,输入设备信息(Dev.Adr.)在(图1)的实施例中为n位开关数据,例如,在从输入设备1输入的情况下,将第1位的数据设为1,在没有从输入设备2输入的情况下,将第2位数据设为0,而进行传送。
通信控制装置4(S1),根据输入请求IR(1,N)的接收密钥(Rcv.Key=1)识别出是发给自己的请求,将输入请求回应IE(1,N)输出给控制总线2(线路1)。
【公式2】
输入请求回应IE(1,N)是输入请求回应命令(IE),由对应于发送站编号1的发送密钥(SendKey=1)、对应于接收站编号0的接收密钥(Rcv.Key=0)、以及用来确认传送数据顺序的序列号(Seq.No.=N)这些数据列构成。
通信控制装置3(P0)通过将输入请求回应IE(1,N)的发送密钥·接收密钥与输入请求IR(1,N)反转,根据序列号(Seq.No.=N)没有变化来确认输入请求IR(1,N)被正常发送给了通信控制装置4(S1)。
通过像这样使用反转的发送密钥·接收密钥,来对通信的伪装(masquerade)进行监视。另外,通过在输入请求IR(1,N)的发送与输入请求回应IE(1,N)的接收中进行动作的通信计时器1对传送的超时进行监视。
时刻t2中,将从通信控制装置3(P0)发往通信控制装置4(S1)的输入访问请求ID(1,N)输出给控制总线2(线路1)。
【公式3】
输入访问请求ID(1,N)由输入请求回应命令(IA)、对应于发送站编号0的发送密钥(SendKey=0)、对应于接收站编号1的接收密钥(Rcv.Key=1)、以及用来确认传送数据顺序的序列号(Seq.No.=N)这些数据列构成。
通信控制装置4(S1),从输入访问请求ID(1,N)的接收密钥(Rcv.Key=1)识别出是发给自己的请求,将从输入数据用存储器482所读取的输入访问数据IA(1,N)输出给控制总线2(线路1)。
输入访问数据IA(1,N)由输入访问请求命令(IA)、对应于发送站编号1的发送密钥(SendKey=1)、对应于接收站编号0的接收密钥(Rcv.Key=0)、用来确认传送数据顺序的序列号(Seq.No.=N)、与输入请求IR(1,N)相同的输入设备信息(Dev.Adr.)、输入数据大小(DataSize)、以及输入数据(InputData)这些数据列构成。
【公式4】
通信控制装置3(P0)对输入访问数据IA(1,N)的发送密钥·接收密钥、序列号(Seq.No.=N)、输入设备信息(Dev.Adr.)以及输入数据大小(DataSize)进行确认。
在确认结果正常的情况下,将输入数据(InputData)写入到通信控制装置3(P0)内的输入数据用存储器382中。并相应地增加序列号(Seq.No.=N+1)。中央存储运算装置1(CPU)能够在由程序所控制的时刻从输入数据用存储器读入。
此间,通信计时器1在ID(1,N)与IA(1,N)时动作。另外,通信计时器2在输入请求IR(1,N)的发送与输入访问数据IA(1,N)的接收中,对输入通信的超时进行监视。
时刻t3中,将从通信控制装置3(P0)发给通信控制装置7(S2)的输出请求QR(2,N+1)输出给控制总线2(线路1)。
【公式5】
输出请求QR(2,N+1)由输出请求命令(QR)、对应于发送站编号0的发送密钥(SendKey=0)、对应于接收站编号2的接收密钥(Rcv.Key=2)、序列号(Seq.No.=N+1)、来自通信控制装置7(S1)的传送目的地的输出设备信息(Dev.Adr.)、输出数据大小(DataSize)、以及输出数据(OutputData)这些数据列构成。输出数据(OutputData)从输出数据用存储器383写出。
这里,输出设备信息(Dev.Adr.)在图1的实施例中是m位的开关数据。
通信控制装置7(S2),根据输出请求QR(2,N+1)的接收密钥(Rcv.Key=21)识别出是发给自己的请求,将输出数据(OutputData)写入到通信控制装置7(S2)内的暂时保持存储器785中。另外,将输出请求回应QE(2,N+1)输出给控制总线2(线路1)。
【公式6】
输出请求回应QE(2,N+1)由输出请求回应命令(QE)、发送密钥(SendKey=2)、接收密钥(Rcv.Key=0)、以及序列号(Seq.No.=N+1)这些数据列构成。
通信控制装置3(P0),根据输出请求QR(2,N+1)与输出请求回应QE(2,N+1)的发送密钥·接收密钥、以及序列号(Seq.No.=N+1),对输出请求QR(2,N+1)是否被正常发送给了通信控制装置7(S2)进行确认。通信计时器1通过输出请求QR(2,N+1)与输出请求回应QE(2,N+1)而动作。
【公式7】
时刻t4中,将从通信控制装置3(P0)发给通信控制装置7(S2)的输出访问请求QD(2,N+1)输出给控制总线2(线路1)。
输出访问请求QD(2,N+1)由输出访问请求命令(QA)、对应于发送站编号0的发送密钥(SendKey=0)、对应于接收站编号2的接收密钥(Rcv.Key=2)、以及用来确认传送数据顺序的序列号(Seq.No.=N+1)这些数据列构成。
通信控制装置7(S2)根据输出访问请求QD(2,N+1)的接收密钥(Rcv.Key=2)与序列号(Seq.No.=N+1),识别出是发给自己的输出请求,将通信控制装置7(S2)内的暂时保持存储器785的数据输出给输出数据用存储器783。另外,将输出访问数据QA(2,N+ 1)输出给控制总线2(线路1)。
【公式8】
输出访问数据QA(2,N+1)由输出访问请求命令(QA)、发送密钥(SendKey=2)、接收密钥(Rcv.Key=0)、序列号(Seq.No.=N+1)、输出访问请求QA(2,N+1)、输出设备信息(Dev.Adr.)、输出数据大小(DataSize)、以及从暂时保持存储器785所写出的输出回波返回(OutputEchoback)这些数据列构成。
通信控制装置3(P0)对输出访问数据QA(2,N+1)的发送密钥·接收密钥、序列号(Seq.No.=N+1)、输出设备信息(Dev.Adr.)、输出数据大小(DataSize)进行确认。在确认结果正常的情况下,序列号相应地进行增加(Seq.No.=N+2)。
此间,通信计时器1通过QD(2,N+1)与QA(2,N+1)而动作。另外,通信计时器2在输出请求QR(2,N+1)的发送与输出访问数据QA(1,N+1)的接收中,对输出通信的超时进行监视。
图1的实施例中,通过在输出访问数据QA(2,N+1)中添加输出回波(OutputEchoback),能够在通信控制装置3(P0)中与输出数据(OutputData)进行比较,从而能够输出数据的正常传送进行确认。
时刻t5到t7的期间中,示出了输出装置的输出设备12,13,14(1~m)的一部分或全部都具有输出读回功能的情况下的输入通信。
与时刻t1至t3的期间中的输入通信的不同除了序列号以外,还在于:与通信控制装置3(P0)的对方是通信控制装置4(S1)相对,是通信控制装置7(S2),与输入设备信息(Dev.Adr.)是n位开关数据相对,是m位开关数据,与输入数据(InputData)相对是输出读回数据(OutputEchoback)。另外,输入设备信息(Dev.Adr.)的m位数据表示输出设备12、13、14(1~m)的输出读出的有无。其他与时刻t1至t3的输入通信相同。具体的数据列如下所示。
【公式9】
【公式10】
【公式11】
【公式12】
以上是经由控制总线2(线路1)的通信控制装置3(P0)、4(S1)、7(S2)间的数据通信的一个巡回,在时刻t7再次开始与时刻t1相同的动作。除了序列号变成了(Seq.No.=N+3)这一点以外,均与时刻t1相同。像这样经由控制总线2(线路1)的数据传送,是周期性的一定动作顺序的存储器复制,时刻t1至t6的动作顺序不可颠倒或省略。由此,不需要数据列的顺序控制,能够让数据列间的无效时间极小化,提高传送效率。
但通信计时器1的复位时序(t1,t2,…,t6)中可以插入其他通信命令。这种情况下,只需要等待所插入的通信命令的结束,而不可颠倒或省略存储器复制的动作顺序。
图4中示出了经由输入输出总线5(线路2)的通信控制装置4(S1)与输入装置之间的发送接收数据的经路。构成输入装置的n个输入设备9、10、11(1~n)中分别设有输入寄存器91、101、111,来自控制对象6的测量数据,以对应于输入设备的构造的时序或周期,写入到输入寄存器中。输入寄存器91、101、111经由输入输出总线5(线路2)周期性复制到通信控制装置4(S1)的通信存储器48的输入数据用存储区域482中。但在线路诊断装置41的动作中等输入输出总线停止时,复制也停止。经由输入输出总线5(线路2)的数据传送周期,一般远短于经由控制总线2(线路1)的数据传送周期,因此可以在复制重新起动之后,总是从特定的输入寄存器例如输入寄存器91开始。通过这样,能够简化输入输出总线5(线路2)的复制的缓冲器功能。
图5中示出了经由输入输出总线8(线路2)的通信控制装置7(S2)与输出装置之间的发送接收数据的经路。构成输出装置的m个输出设备12、13、14(1~m)中分别设有输出寄存器121、131、141,以对应于输出设备的构造的时序或周期,向控制对象6输出。通信控制装置7(S2)的通信存储器78的输出数据用存储区域783的数据,经输入输出总线8(线路2)周期性复制到输出寄存器121、131、141中。另外,图5的各个实施例中,各个输出设备12、13、14(1~m)中具有将针对控制对象6的输出读回的功能,其结果是,被写入到读回寄存器122、132、142中,并经由输入输出总线8(线路2)周期性复制到通信控制装置7(S2)的通信存储器78的读回数据用存储区域784中。但在线路诊断装置71的动作中等输入输出总线停止时,复制也停止。与输入输出总线5(线路2)同样,经由输入输出总线8(线路2)的数据传送周期,一般远短于经由控制总线2(线路1)的数据传送周期,因此可以在复制重新起动之后,总是从特定的输出寄存器例如输出寄存器121开始。
以上,如图2、图3、图4、图5所示,控制总线2(线路1)、输入输出总线5(线路2)、输入输出总线8(线路2)的基本构成都是以固有周期独立执行存储器复制。
图6中示出了经由控制总线2(线路1)对输入装置的线路诊断装置41与输出装置的线路诊断装置71进行起动的动作顺序。
图中,与图3中相同的数据列、时序的符号表示相同内容,因此为了避免重复而省略说明。
图6的实施例中,通过通信控制装置3(P0)的通信控制程序,在来自通信控制装置4(S1)的输入数据通信结束之后,使线路诊断装置41起动,在来自通信控制装置7(S2)的输出读回数据通信结束之后,起动线路诊断装置71。另外,在来自通信控制装置4(S1)的输入数据通信开始之前,对输入输出总线5(线路2)能否工作(准备完成)进行确认,在对通信控制装置7(S2)的输出数据通信开始之前,对输入输出总线8(线路2)能否工作(准备完成)进行确认。
通过以上的通信控制装置3(P0)的通信控制程序,在时刻tc1将总线诊断指令R(1,BD)发送给通信控制装置4(S1)。
【公式13】
总线诊断指令R(1,BD)由诊断请求命令(BD)、发送密钥(SendKey=0)、以及接收密钥(Rcv.Key=1)构成。由于是通过挤入(割り込む)而插入的传送,因此没有序列号。
通信控制装置4(S1)从总线诊断指令R(1,BD)的接收密钥(Rcv.Key=1)识别出是发给自己的请求,将诊断请求回应E(1,BD)输出给控制总线2(线路1)。
【公式14】
诊断请求回应E(1,BD)由诊断请求命令(BD)、发送密钥(SendKey=1)、以及接收密钥(Rcv.Key=0)构成。
与诊断请求回应E(1,BD)同时地,通过控制信号42使线路诊断装置41起动,并通过控制信号43进行切换,将开关44连接到D侧。通过以上操作,输入装置的线路诊断开始。
时刻tc2中,向通信控制装置7(S2)发送总线准备完访问确认D(1,BA)。
【公式15】
总线准备完访问确认D(2,BA)由总线访问命令(BA)、发送密钥(SendKey=0)、以及接收密钥(Rcv.Key=2)构成。
通信控制装置7(S2),从总线准备完访问确认D(2,BA)的接收密钥(Rcv.Key=2)识别出是发给自己的请求,将诊断请求回应A(2,BA)输出给控制总线2(线路1)。
【公式16】
诊断请求回应A(2,BA)由总线访问命令(BA)、发送密钥(SendKey=2)、接收密钥(Rcv.Key=0)、以及状态信号(Status)构成。状态信号由(m+1)位的开关信号构成,各个位表示线路诊断装置71的诊断动作状态以及输出设备12、13、14(1~m)的诊断动作状态。诊断状态为1,通常动作状态为0。因此,在所有的位都为0时,与通信控制装置7(S2)相连接的输出装置准备完成。
时刻t3′至时刻t6′中,通过与图2的时刻t3至时刻t6相同的动作来继续数据传送。
时刻tc3中,通过通信控制装置3(P0)的通信控制程序,向通信控制装置7(S2)发送总线诊断指令R(2,BD),使线路诊断装置71起动。动作与时刻tc1中使线路诊断装置41起动时相同,为了避免重复而仅示出数据列。
【公式17】
【公式18】
通过图6的实施例,能够在从输入输出装置经由控制总线2(线路1)的数据传送的间隙,实施输入输出总线5(线路2)与输入输出总线8(线路2)的总线诊断,因此不会损害控制性能。
图7中示出了输入设备9的内部构成的实施例。通过变换电路201,对来自控制对象6的测量信号进行信号变换,并写入到信号输入电路202内的输入寄存器91中。从输入寄存器91经由输入输出总线5(线路2)向通信控制装置4(S1)的存储器复制,如图4中所述。以上的基本构成中,在通常的数据输入时,开关203与开关204均连接在C侧。
图8中示出了输入设备9中所设有的输入诊断电路205的测试的实施例。输入诊断电路205的测试,在按照图6的动作顺序所起动的线路诊断装置(或称作总线诊断装置)41的诊断结束之后实施。将切换开关203与开关204均连接到D侧。输入诊断电路205内部的比较器206中,将输入诊断用基准信号207与通信控制装置4(S1)的程序所生成并经由输入输出总线5(线路2)所输入的信号进行比较。从程序生成比较器一致的信号和不一致的信号,从而能够实施是否含有比较器206的输出胶着的诊断。
图9中示出了基于输入设备9中所备置的输入诊断电路205的输入诊断的实施例。输入诊断在图8的测试结束之后实施。将切换开关203连接到D侧,将开关204连接到C侧。比较器206中将输入诊断用基准信号207与来自输入寄存器91的信号进行比较。如果输入设备9正常则一致。输入诊断用基准信号207采用顺次输出多个基准信号的构成,也即,在数字输入的情况下,产生ON信号与OFF信号,在模拟输入的情况下,产生多个电平的基准信号。通过这样,能够进行包括信号输入电路202的输出胶着的诊断。
以上,若图8的测试与图9的诊断结束,则表示发送给通信控制装置4(S1)的诊断动作状态信号位变为表示通常动作状态的0。通过来自通信控制装置4(S1)经由输入输出总线5(线路2)的起动指令,能够返回到通常的输入动作。
图10中示出了输出设备12的内部构成的实施例。从通信控制装置7(S2)经由输入输出总线8(线路2)向输出电路301内的输出寄存器121的存储器复制,如图5中所述。输出寄存器121的数据经由数据保持电路302通过变换电路303进行信号变换,并输出给控制对象6。输出信号由逆变换电路304进行信号变换,并写入到读回寄存器122中。以上的基本构成中,在通常的数据输出时,保持电路302不进行动作,输入输出信号相等。另外切换开关305、306、307均连接在C侧。
图11中示出了输出设备12中所备有的输出诊断电路308的测试的实施例。输入诊断电路309的测试,在按照图6的动作顺序所起动的线路诊断装置71的诊断结束之后实施。将切换开关305、306、307均连接到D侧。将数据保持电路302切换到动作状态,保持测试实施前一刻的输出。输出诊断电路308内部的比较器309中,将输出诊断用基准信号310与通信控制装置7(S2)的程序所生成并经由输入输出总线8(线路2)所输入的信号进行比较。由程序生成比较器一致的信号和不一致的信号,从而能够实施是否含有比较器309的输出胶着的诊断。
图12中示出了输出设备12中所设有的输出诊断电路309的输出诊断的实施例。输出诊断在图11的测试结束之后实施。将切换开关305、307连接到D侧,将切换开关306连接到C侧。数据保持电路302继续动作状态,保持测试实施前一刻的输出。比较器309中,对输出诊断用基准信号310与经由输出寄存器121的信号输出电路301的输出信号进行比较。如果输出设备12正常则一致。输入诊断用基准信号310采用顺次输出多个基准信号的构成,也即,在数字输出的情况下,产生ON信号与OFF信号,在模拟输出的情况下,产生多个电平的基准信号。通过这样,能够进行包含信号输出电路301的输出胶着的诊断。
以上,若图11的测试与图12的诊断结束,则发送给通信控制装置7(S2)的诊断动作状态信号位变为表示通常动作状态的0。借助于经由输入输出总线8(线路2)而来自通信控制装置7(S2)的起动指令,能够返回到通常的输出动作。
根据图7至图12的实施例,通过紧接着输入输出总线诊断,进行输入设备与输出设备的测试与诊断,能够进行输入输出装置的诊断而不损害控制性能。另外,借助于通信控制装置4(S1)与通信控制装置7(S2)的微处理器中所执行的程序,能够对多个输入设备、输出设备进行测试与诊断,因此不需要在各个输入设备、输出设备中设置诊断用微处理器。
图13中示出了本发明的第2实施例的控制装置。图中相同的符号是与前述图4相同的内容,省略说明。
通信控制装置4(S1)的通信存储器48中,设有输入密钥用存储区域483。下面对输入密钥进行说明。
控制装置的连接构成信息中,包括通信控制装置4(S1)或通信控制装置7(S2)的连接的有无、与其相连接的输入设备9、10、11(1~n)以及输出设备12、13、14(1~m)的种类与顺序。本发明中,还将输入设备9、10、11(1~n)中希望从控制对象6同时输入的设备的组合也添加到连接构成信息中。通过输入密钥与设备地址的组合来表示该信息。控制装置起动时,经控制总线2(线路1)写入到通信控制装置4(S1)的输入密钥用存储区域483中。进而,经输入输出总线5(线路2),将输入设备9、10、11(1~n)中所设置的输入密钥93、103、113(1~n)中希望同时输入的输入设备的输入密钥的状态设为开。设定成了以上的状态之后,起动控制装置,一旦加载给输入输出总线5(线路2)的输入冻结信号线51变为H电平,各个输入设备9、10、11(1~n)中所设置的输入缓存器92、102、112(1~n)中只有输入密钥为开状态的输入设备使来自输入寄存器91、101、111(1~n)的数据输入更新停止,并将保持为一定的数据输出到输入输出总线5(线路2)。一旦输入冻结信号线51变为L电平,输入密钥为开状态的输入设备的输入缓存器92、102、112(1~n)便重新开始来自输入寄存器91、101、111(1~n)的数据输入,并将输入寄存器91、101、111(1~n)的数据直接输出到输入输出总线5(线路2)。
图14中示出了经由控制总线2(线路1)与输入输出总线5(线路2)对输入缓存器92、102、112(1~n)的数据更新进行许可/停止的动作顺序。
图中的数据列或时刻符号中相同的名称是与图3以及图6相同的内容,省略说明。
时刻ti1中,一旦中央存储运算装置1(CPU)的输入指令变为L电平,便在通信控制装置3(P0)受理通信命令的时刻tc4,将输入触发指令R(1,IFS)插入并传送。
【公式19】
IFS:Input Freeze Start
R(1,IFS)中包含有希望同时输入的设备的组合输入密钥(IKey)与设备地址(Dev)。设备地址在(图1)的实施例中变为n位开关数据,例如在从输入设备1输入的情况下,将第1位数据设为1,在不从输入设备2输入的情况下,将第2位数据设为0而进行传送。虽然这些是已经预先作为连接结构信息写入到了通信控制装置4(S1)的通信存储器48中,但通过在每次传送时每次都进行对照,能够提高可靠性。
通信控制装置4(S1)识别出是发给自己的指示,并传送回应E(1,IFS)。
【公式20】
另外,通信控制装置4(S1)将输入输出总线5(线路2)的输入冻结信号线51设为H电平。通过这样,输入密钥为开状态的输入设备的输入缓存器92、102、112(1~n),停止数据输入更新,将保持为一定的数据输出给输入输出总线5(线路2)。
图14的实施例中成为如下构成:即在通信控制装置3(P0)中所设置的安全通信层中实施R(1,IFS)与E(1,IFS)命令的对照,假设在异常的情况下,发出后述的输入更新指令R(1,IFR),重新开始输入缓存器的更新。
此后,时刻t1,t2中,输入数据从通信控制装置4(S1)将数据传送给通信控制装置3(P0)。
图14的实施例中,在时刻t10再次发送输入数据,在安全通信层中对照2次的输入数据,提高了数据的安全性。时刻ti14中输入对照结束之后,向中央存储运算装置1(CPU)发送数据输入结束信号。
此后的时刻ti5中,一旦中央存储运算装置1(CPU)的输入指令变为H电平,通信控制装置3(P0)便在受理通信命令的时刻tc6,对输入更新指令R(1,IFR)进行插入并发送。
【公式21】
IFR:Input Freeze Release
R(1,IFR)中包含有希望重新开始输入缓存器的更新的设备地址(Dev)。
通信控制装置4(S1)识别出针对自己的指示,并发送回应E(1,IFR)。
【公式22】
另外,通信控制装置4(S1)将输入输出总线5(线路2)的输入冻结信号线51设为L电平。通过这样,输入密钥为开状态的输入设备的输入缓存器92、102、112(1~n)重新开始数据输入更新,将输入寄存器91、101、111(1~n)的数据原样输出到输入输出总线5(线路2)。
通过以上的动作顺序,将中央存储运算装置1(CPU)的输入触发指令经控制总线2(线路1)与输入输出总线5(线路2)传送给输入装置,并停止/许可输入缓存器的数据更新,由此能够以距离输入触发指令最小的延迟来同时输入数据。
另外,通过接着输入更新指令R(1,IFR)在时刻tc7传送图6的总线诊断指令R(1,BD),能够在对控制性能的影响最少的时刻,进行输入输出总线5(线路2)与输入设备9、10、11(1~n)的测试与诊断。
图1 5中示出了本发明的第3实施例的控制装置。图中,相同的符号是与图5相同的内容,省略说明。
通信控制装置7(S2)的通信存储器78中设有输出密钥用存储区域786。下面对输出密钥进行说明。除了控制装置的基本连接构成信息之外,输出设备12、13、14(1~m)中希望同时对控制对象6进行输出的设备组合也添加在连接构成信息中。输出密钥与设备地址的组合来表示该信息通过。控制装置起动时,经控制总线2(线路1)写入到通信控制装置7(S2)的输出密钥用存储区域786中。进而,经输入输出总线8(线路2),将各个输出设备12、13、14(1~m)中所设置的输出密钥124、134、144(1~m)中希望同时输入的输出设备的输出密钥状态设为开。若设定了以上的状态之后起动控制装置,且仅仅加载给输入输出总线8(线路2)的输出冻结信号线81变为H电平,则各个输出设备12、13、14(1~m)中所设置的输出缓存器123、133、143(1~m)中,只有输出密钥为开状态的输出设备停止对输出寄存器121、131、141(1~m)的数据输出更新,将暂时保持的数据输出给控制对象6。其中,输出缓存器123、133、143(1~m)自身从输出数据存储区域783经输入输出总线8(线路2)而继续更新。一旦数据输出冻结信号线81变为L电平,输出密钥为开状态的输出设备的输出寄存器121、131、141(1~m)便也重新开始来自输出缓存器123、133、143(1~m)的数据更新,将输出数据存储区域783的数据原样输出给控制对象6。
图16中示出了经由控制总线2(线路1)与输入输出总线8(线路2)许可/保持来自输出缓存器123、133、143(1~m)的数据更新的动作顺序。
图中的数据列或时刻标记中相同的名称,是与图3以及图6相同的内容,省略说明。
时刻tq1中,一旦中央存储运算装置1(CPU)的输出指令变为L电平,经传送总线0(线路0),通信控制装置3(P0)的写保护(write protect)就变为有效(H电平)。通过这样,通信存储器38的输出数据存储区域383中,对该区域的写入被保护起来。接下来,在通信控制装置3(P0)对通信命令进行受理的时刻tc8中,插入输出触发指令R(2,QFS)并传送。
【公式23】
QFS:Output Freeze Start
R(2,QFS)中包含有希望同时输出的设备的组合输出密钥(QKey)与设备地址(Dev)。设备地址在(图1)的实施例中是m位开关数据,例如在从输出设备1输入的情况下,将第1位的数据设为1,在没有从输入设备2输入的情况下,将第2位数据设为0而进行传送。虽然这些是已经预先作为连接结构信息写入到了通信控制装置7(S1)的通信存储器78中,但通过在每次传送时每次都进行对照,能够提高可靠性。
通信控制装置7(S2)识别出是发给自己的指示,并传送回应E(2,QFS)。
【公式24】
另外,通信控制装置7(S2)将输入输出总线8(线路2)的输出冻结信号线81设为H电平。通过这样,将来自输出密钥为开状态的输出设备的输出缓存器123、133、143(1~m)的数据输出更新停止,并将保持为一定的输出输出给控制对象6。
图16的实施例中成为如下结构:即在通信控制装置3(P0)中所设置的安全通信层中,实施R(2,QFS)与E(2,QFS)命令的对照,假设在异常的情况下,发出后述的输入更新指令R(2,QFR),重新开始来自输出缓存器的更新的这种构成。
此后,时刻t3,t4中,输出数据从通信控制装置3(P0)将数据传送给通信控制装置7(S2)。
图14的实施例中,在时刻tq5对照输出数据与输出回应,提高了数据的安全性。一旦输出对照结束,便在时刻tq4向中央存储运算装置1(CPU)发送输出数据结束信号。
此后的时刻tq6中,一旦中央存储运算装置1(CPU)的输出指令变为H电平,通信控制装置3(P0)的写保护(write protect)就被解除(L电平)。另外,在通信控制装置3(P0)受理通信命令的时刻tc10,插入并发送输出更新指令R(2,QFR)。
【公式25】
QFR:Output Freeze Release
R(2,QFR)中包含有希望重新开始输出缓存器的输出更新的设备地址(Dev)。
通信控制装置7(S2)识别出对自己的指示,并发送回应E(2,QFR)。
【公式26】
另外,通信控制装置7(S2)将输出总线8(线路2)的输出冻结信号线81设为L电平。通过这样,使输出密钥为开状态的输出设备的输出缓存器123、133、143(1~m)的输出更新重新开始,经输出寄存器121、131、141(1~m)原样输出到控制对象6。
通过以上的动作顺序,将中央存储运算装置1(CPU)的输出触发指令经控制总线2(线路1)与输入输出总线8(线路2)传送给输出装置,并停止/许可输出缓存器的数据更新,由此能够以距离输出触发指令最小的延迟来同时输出数据。
另外,通过接着输出更新指令R(2,QFR)在时刻tc11传送图6的总线诊断指令R(2,BD),能够在对控制性能的影响最少的时刻,进行输入输出总线8(线路2)与各个输出设备12、13、14(1~m)的测试与诊断。这种情况下,输出读回的读入时刻t5’、t6’在tc11之后,输出读回的结果变为前一次周期的数据。但通过该方式,能够在中央存储运算装置1(CPU)中不意识到数据输入时刻地进行编程。
图17中示出了本发明的第4实施例的控制装置。中央存储运算装置1001(CPU)经并行传送总线1000(线路0)与通信控制装置1003(P0)相连接,通信控制装置1003(P0)经使用串行传送的控制总线1002(线路1)与通信控制装置1004(S1)、1007(S2)之间发送接收数据。
通信控制装置1004(S1)与输入装置,经由采用并行传送的输入输出总线1005(线路2)发送接收来自控制对象1006的输入数据与控制信号。通信控制装置1007(S2)与输出装置,经由采用并行传送的输入输出总线1008(线路2)发送接收针对控制对象1006的输出数据和控制信号。
输入装置由n个输入设备1009、1010、1011(1~n)构成,各个输入设备经由输入输出总线1005(线路2)与通信控制装置1004(S1)之间发送接收来自控制对象1006的输入数据。同样,输出装置由m个输出设备1012、1013、1014(1~m)构成,各个输出设备经由输入输出总线1008(线路2)与通信控制装置1007(S2)之间发送接收针对控制对象1006的输出数据。
通信控制装置1003(P0)与GPS(Global Position System)接收装置1015经基准时刻信号1016发送接收基准时刻。
图18中示出了经由使用串行传送的控制总线1002(线路1)的通信控制装置1003(P0)与通信控制装置1004(S1)、1007(S2)之间的发送接收数据的经路。通信控制装置1003 (P0)中所设置的通信存储器1038中,分配有序列号用存储器1381、输入数据用存储器1382、输出数据用存储器1383、以及读回数据用存储器1384这些区域。通信存储器1038的数据,通过通信控制电路1039进行并行/串行变换,并经控制总线2(线路1)与通信控制装置1004(S1)、1007(S2)的通信存储器1048、1078之间进行复制(転写)。
通信控制装置1004(S1)中所设置的通信存储器1048中,分配有序列号用存储器1481与输入数据用存储器1482的区域。通信存储器1048中输入数据用存储器1482的数据通过通信控制电路1049进行并行/串行变换,经控制总线2(线路1)复制到通信控制装置1003(P0)的通信存储器1038的输入数据用存储区域1382中。
通信控制装置1007(S2)中所设置的通信存储器1078中,分配有序列号用存储器1781、输出数据用存储器1783、读回数据用存储器1784、以及暂时保持存储器1785这些区域。通信控制装置1003(P0)的通信存储器1038的输出数据用存储区域1383的数据被通信控制电路1079进行并行/串行变换,经控制总线1002(线路1)复制到通信存储器1078的暂时保持存储器1785中。确认到通信控制装置1003(P0)与1007(S2)之间的通信正常之后,便将暂时保持存储器1785的数据复制到输出数据用存储器1783中。并将读回数据用存储器1784的数据复制到通信控制装置1003(P0)的读回数据用存储器1384中。
图19中示出了经由控制总线1002(线路1)的通信控制装置1003(P0)、1004(S1)、1007(S2)之间的数据通信动作顺序。
时刻t1中,从通信控制装置1003(P0)将发往通信控制装置1004(S1)的输入请求IR(1,N),输出到控制总线1002(线路1)。
【公式27】
输入请求IR(I,N)由输入请求命令(IR)、对应发送站编号0的发送密钥(SendKey=0)、对应于接收站编号1的接收密钥(Rcv.Key=1)、用来确认传送数据顺序的序列号(Seq.No.=N)、来自通信控制装置1004(S1)的传送目的地的输入设备信息(Dev.Adr.)、以及输入数据大小(DataSize)这些数据列构成。此外,不管哪个传送数据中都在数据列的开头与结尾添加有共同的开始标志与结束标志,但这里为了简单化而省略了显示。在此,输入设备信息(Dev.Adr.)(图17)的实施例中为n位开关数据,例如,在从输入设备1001输入的情况下,将第1位的数据设为1,在没有从输入设备1002输入的情况下,将第2位数据设为0而进行传送。
通信控制装置1004(S1),根据输入请求IR(1,N)的接收密钥(Rcv.Key=1)识别出是发给自己的请求,将输入请求回应IE(1,N)输出到控制总线1002(线路1)。
【公式28】
输入请求回应IE(1,N)是输入请求回应命令(IE),由对应于发送站编号1的发送密钥(SendKey=1)、对应接收站编号0的接收密钥(Rcv.Key=0)、以及用来确认传送数据顺序的序列号(Seq.No.=N)这些数据列构成。
通信控制装置1003(P0)通过将输入请求回应IE(1,N)的发送密钥·接收密钥与输入请求IR(1,N)反转,根据序列号(Seq.No.=N)没有变化来确认输入请求IR(1,N)被正常发送给了通信控制装置1004(S1)。
通过像这样使用反转的发送密钥·接收密钥,来对通信的伪装(masquerade)进行监视。另外,通过在输入请求IR(1,N)的发送与输入请求回应IE(1,N)的接收中进行动作的通信计时器1对传送的超时进行监视。
时刻t2中,将从通信控制装置1003(P0)发往通信控制装置1 004(S1)的输入访问请求ID(1,N)输出给控制总线1002(线路1)。
【公式29】
输入访问请求ID(1,N)由输入请求回应命令(IA)、对应于发送站编号0的发送密钥(SendKey=0)、对应于接收站编号1的接收密钥(Rcv.Key=1)、以及用来确认传送数据顺序的序列号(Seq.No.=N)这些数据列构成。
通信控制装置1004(S1),从输入访问请求ID(1,N)的接收密钥(Rcv.Key=1)识别出是发给自己的请求,将从输入数据用存储器1482所读取的输入访问数据IA(1,N)输出给控制总线1002(线路1)。
输入访问数据IA(1,N)由输入访问请求命令(IA)、对应于发送站编号1的发送密钥(SendKey=1)、对应于接收站编号0的接收密钥(Rcv.Key=0)、用来确认传送数据顺序的序列号(Seq.No.=N)、与输入请求IR(1,N)相同的输入设备信息(Dev.Adr.)、输入数据大小(DataSize)、以及输入数据(InputData)等这些数据列构成。
【公式30】
通信控制装置1003(P0)对输入访问数据IA(1,N)的发送密钥·接收密钥、序列号(Seq.No.=N)、输入设备信息(Dev.Adr.)以及输入数据大小(DataSize)进行确认。
在确认结果正常的情况下,将输入数据(InputData)写入到通信控制装置1003(P0)内的输入数据用存储器1382中。并相应地增加序列号(Seq.No.=N+1)。中央存储运算装置1001(CPU)能够在程序所控制的时刻从输入数据用存储器读入。
此间,通信计时器1通过ID(1,N)与IA(1,N)而动作。另外,通信计时器2在输入请求IR(1,N)的发送与输入访问数据IA(1,N)的接收中,对输入通信的超时进行监视。
时刻t3中,从通信控制装置1003(P0)将发给通信控制装置1007(S2)的输出请求QR(2,N+1)输出给控制总线1002(线路1)。
【公式31】
输出请求QR(2,N+1)由输出请求命令(QR)、对应于发送站编号0的发送密钥(SendKey=0)、对应于接收站编号2的接收密钥(Rcv.Key=2)、序列号(Seq.No.=N+1)、来自通信控制装置1007(S1)的传送目的地的输出设备信息(Dev.Adr.)、输出数据大小(DataSize)、以及输出数据(OutputData)这些数据列构成。输出数据(OutputData)从输出数据用存储器1383写出。
这里,输出设备信息(Dev.Adr.)在图17的实施例中是m位的开关数据。
通信控制装置1007(S2),根据输出请求QR(2,N+1)的接收密钥(Rcv.Key=2)识别出是发给自己的请求,将输出数据(OutputData)写入到通信控制装置1007(S2)内的暂时保持存储器1785中。另外,将输出请求回应QE(2,N+1)输出给控制总线1002(线路1)。
【公式32】
输出请求回应QE(2,N+1)由输出请求回应命令(QE)、发送密钥(SendKey=2)、接收密钥(Rcv.Key=0)、以及序列号(Seq.No.=N+1)这些数据列构成。
通信控制装置1003(P0),根据输出请求QR(2,N+1)与输出请求回应QE(2,N+1)的发送密钥·接收密钥、以及序列号(Seq.No.=N+1),对输出请求QR(2,N+1)是否正常发送给了通信控制装置1007(S2)这一事实进行确认。通信计时器1通过输出请求QR(2,N+1)与输出请求回应QE(2,N+1)而进行动作。
【公式33】
时刻t4中,将从通信控制装置1003(P0)发给通信控制装置1007(S2)的输出访问请求QD(2,N+1)输出到控制总线1002(线路1)。
输出访问请求QD(2,N+1)由输出访问请求命令(QA)、对应于发送站编号0的发送密钥(SendKey=0)、对应于接收站编号2的接收密钥(Rcv.Key=2)、以及用来确认传送数据顺序的序列号(Seq.No.=N+1)这些序列号构成。
通信控制装置1007(S2)根据输出访问请求QD(2,N+1)的接收密钥(Rcv.Key=2)与序列号(Seq.No.=N+1),识别出是发给自己的输出请求,将通信控制装置1007(S2)内的暂时保持存储器1785的数据输出到输出数据用存储器1 783。另外,将输出访问数据QA(2,N+1)输出给控制总线1002(线路1)。
【公式34】
输出访问数据QA(2,N+1)由输出访问请求命令(QA)、发送密钥(SendKey=2)、接收密钥(Rcv.Key=0)、序列号(Seq.No.=N+1)、输出访问请求QA(2,N+1)、输出设备信息(Dev.Adr.)、输出数据大小(DataSize)、以及从暂时保持存储器785所写出的输出回波(OutputEchoback)这些数据列构成。
通信控制装置1003(P0)对输出访问数据QA(2,N+1)的发送密钥·接收密钥、序列号(Seq.No.=N+1)、输出设备信息(Dev.Adr.)、输出数据大小(DataSize)进行确认。在确认结果正常的情况下,序列号相应地进行增加(Seq.No.=N+2)。
此间,通信计时器1通过QD(2,N+1)与QA(2,N+1)而动作。另外,通信计时器2在输出请求QR(2,N+1)的发送与输出访问数据QA(1,N+1)的接收中,对输出通信的超时进行监视。
图17的实施例中,通过在输出访问数据QA(2,N+1)中添加输出回波(OutputEchoback),能够在通信控制装置1003(P0)中与输出数据(OutputData)进行比较,从而能够确认输出数据的正常传送。
时刻t5到t7的期间,示出了输出装置的输出设备1012,1013,1014(1~m)的一部分或全部都具有输出读回功能的情况下的输入通信。
与时刻t1至t3的期间中的输入通信的不同之处,除了序列号以外,还在于:相对于通信控制装置3(P0)的对方是通信控制装置1004(S1),是通信控制装置1007(S2);相对于输入设备信息(Dev.Adr.)是n位开关数据,是m位开关数据;相对于输入数据(InputData)是输出读回数据(OutputEchoback)。另外,输入设备信息(Dev.Adr.)的m位数据表示输出设备1012、1013、1014(1~m)的输出读出的有无。其他与时刻t1至t3的输入通信相同。具体的数据列如下所示。
【公式35】
【公式36】
【公式37】
【公式38】
以上是经由控制总线1002(线路1)的通信控制装置1003(P0)、1004(S1)、1007(S2)间的数据通信一个巡回,在时刻t7再次开始与时刻t1相同的动作。除了序列号变成了(Seq.No.=N+3)这一点以外,均与时刻t 1相同。像这样经由控制总线1002(线路1)的数据传送,是周期性的一定动作顺序的存储器复制,时刻t1至t6的动作顺序不可颠倒或省略。通过这样,不需要数据列的顺序控制,能够让数据列间的无效时间极小化,提高传送效率。
但通信计时器1的复位时序(t1,t2,…,t6)中可以插入其他通信命令。这种情况下,只需要等待所插入的通信命令的结束,而不可颠倒或省略存储器复制的动作顺序。
图20中示出了经由输入输出总线1005(线路2)的通信控制装置1004(S1)与输入装置之间的发送接收数据的经路。构成输入装置的n个输入设备1009、1010、1011(1~n)中分别设有输入寄存器1091、1101、1111,来自控制对象1006的测量数据,以对应于输入设备的构造的时序或周期,写入到输入寄存器中。输入寄存器1091、1101、1111经由输入输出总线1005(线路2)周期性复制到通信控制装置1004(S1)的通信存储器1048的输入数据用存储区域1482中。
图21中示出了经由输入输出总线1008(线路2)的通信控制装置1007(S2)与输出装置之间的发送接收数据的经路。构成输出装置的m个输出设备1012、1013、1014(1~m)中分别设有输出寄存器1121、1131、1141,以对应于输出设备的构造的时序或周期,输出到控制对象1006。通信控制装置1007(S2)的通信存储器1078的输出数据用存储区域1783的数据,经输入输出总线1008(线路2)周期性复制到输出寄存器1121、1131、1141中。另外,图21的各个实施例中,各个输出设备1012、1013、1014(1~m)中具有对针对控制对象1006的输出进行读回的功能,其结果是,被写入到读回寄存器1122、1132、1142中,并经由输入输出总线1008(线路2)周期性复制到通信控制装置1007(S2)的通信存储器1078的读回数据用存储器1784中。
以上,如图18、图19、图20、图21所示,控制总线1002(线路1)、输入输出总线1005(线路2)、输入输出总线1008(线路2)的基本构成都是以固有周期独立执行存储器复制。
以上的基本构成是本发明的第4实施例,通过图22、图23、图24来对实现在输入数据中添加时间戳的方法进行说明。
图22中示出了通信控制装置1003(P0)的内部构成。从GPS接收装置1015经基准时刻信号1016对针对通信控制装置1003(P0)的基准时刻进行发送接收。基准时刻信号1016正确的是每1秒进行1次位反转的信号。时刻计数器1310是每1毫(ミリ)秒进行一次加法的计数器。基准时刻信号1016,被用于输入到时刻计数器1310的时刻校准。具体的是,将基准时刻信号1016的变化时序中不满时刻计数器1310的1秒的位舍去或升入。
时间戳设定信息1385表示关于每一台输入设备1009、1010、1011(1~n)以及输出设备1012、1013、1014(1~m)的时间戳的信息。由站编号13851、设备编号13852、时间戳有效13853、数字/模拟种类13854、事件种类13855、时间戳指示器13856、上次数据13857、以及上次数据有效位13858构成。
站编号13851是该设备经输入输出总线1008(线路2)所连接的通信控制装置的控制总线1002(线路1)中的站编号。设备编号13852是该设备所连接的输入输出总线1008(线路2)中的设备编号。时间戳有效13853是用来选择是否生成时间戳的位。数字/模拟种类13854表示输入设备1009、1010、1011(1~n)与输出设备1012、1013、1014(1~m)的输入输出是数字的还是模拟的。事件种类1 3855是生成时间戳数据的条件。数字信号中,从“0→1”、“1→0”或“0→1与0→1双方”选择事件。模拟信号中选择边界值数据与事件。该事件从“增加并超过了边界值时”、“减少并超过了边界值时”、或“不管是增加还是减少总之超过了边界值时”中选择。时间戳指示器13856表示时间戳存储器1387中所存储的时间戳中最新的时间戳所存储的地址。关于上次数据13857,为了在事件发生判断时保存与最新的数据进行比较的上一次数据,而在数据输入时在事件判断后将最新的数据写入到上次数据中。上次数据有效位13858表示上次数据的有效/无效。
中央运算存储装置1001(CPU),在控制装置起动时设定时间戳设备设定信息1385。
输入时刻缓存器1386是用来暂时存储输入时刻的缓存器。
时间戳存储器1387是生成并存储时间戳的区域。由每一个输入输出信号的有效位13871、数据13872、以及时刻13873构成。有效位13871表示该时间戳的有效/无效。数据13872表示事件种类13855中所设定的事件发生时的数据。如果是输入信号便表示输入数据,如果是输出信号便表示读回数据。时刻13873表示事件种类13855中所设定的事件发生时的时刻。
中央运算存储装置1001(CPU)能够从时间戳指示器13856所表示的时间戳存储器13857中,读出发生了最新的事件的时刻与发生了其以前的事件的时刻。在输入输出数据通信前,在有效位13871与上次数据有效位13858中写入无效。
用图23对输入密钥用存储区域1388的详细内容进行说明。
图23中示出了输入输出总线1008(线路2)周边的电路构成。图中相同的符号是与前述图20相同的内容,省略说明。
通信控制装置1004(S1)的通信存储器1048中设有输入密钥用存储区域1483。下面对输入密钥进行说明。
控制装置的连接构成信息中包括通信控制装置1004(S1)或通信控制装置1007(S2)的连接的有无、以及与其相连接的输入设备1009、1010、1011(1~n)和输出设备1012、1013、1014(1~m)的种类与顺序。本发明中,还将输入设备1009、1010、1011(1~n)中希望从控制对象1006添加时间戳的设备的组合也添加到连接构成信息中。通过输入密钥与设备地址的组合来表示该信息。控制装置起动时,经控制总线1002(线路1)写入到通信控制装置1004(S1)的输入密钥用存储区域1483中。进而,经输入输出总线1005(线路2),将各输入设备1009、1010、1011(1~n)中所设置的输入密钥1093、1103、1113(1~n)中希望添加时间戳的输入设备的输入密钥的状态,设为开。一旦在设定成了以上的状态之后起动控制装置,并加载给输入输出总线1005(线路2)的输入冻结信号线1051变为H电平,各个输入设备1009、1010、1011(1~n)中所设置的输入缓存器1092、1102、1112(1~n)中只有输入密钥为开状态的输入设备使来自输入寄存器1091、1101、1111(1~n)的数据输入更新停止,并将保持为一定的数据输出到输入输出总线1005(线路2)。一旦输入冻结信号线1051变为L电平,输入密钥为开状态的输入设备的输入缓存器1092、1102、1112(1~n)便重新开始来自输入寄存器1091、1101、1111(1~n)的数据输入,并将输入寄存器1091、1101、1111(1~n)的数据原样输出到输入输出总线1005(线路2)。
图24中示出了经由控制总线1002(线路1)与输入输出总线1005(线路2)对针对输入缓存器1092、1102、1112(1~n)的数据更新进行许可/停止的动作顺序。
图中的数据列或时刻符号中相同的名称是与图19相同的内容,省略说明。
时刻ti1中,一旦中央存储运算装置1001(CPU)的输入指令变为L电平,便在通信控制装置1003(P0)受理通信命令的时刻tc4将输入触发指令R(1,IFS)插入而传送。
【公式39】
IFS:Input Freeze Start
R(1,IFS)中包含有希望输入时间戳的设备的组合输入密钥(IKey)与设备地址(Dev)。设备地址在(图17)的实施例中变为n位开关数据,例如在从输入设备1输入的情况下,将第1位数据设为1,在不从输入设备2输入的情况下,将第2位数据设为0而传送。虽然这些是已经预先作为连接结构信息写入到了通信控制装置1004(S1)的通信存储器1048中,但通过在每次传送时每次都进行对照,能够提高可靠性。
R(1,IFS)的发送结束后(时刻ti2a),为了对通过输入设备开始输入冻结的当前时刻进行保存,通信控制电路1039将时刻计数器1310中所存储的当前时刻(Tn)保存到输入时刻缓存器1386中。
通信控制装置1004(S1)识别出是发给自己的指示,并传送回应E(1,IFS)。
【公式40】
另外,通信控制装置1004(S1)将输入输出总线1005(线路2)的输入冻结信号线51设为H电平。通过这样,输入密钥为开状态的输入设备的输入缓存器1092、1102、1112(1~n),停止数据输入更新,将保持为一定的数据输出给输入输出总线1005(线路2)。
图24的实施例中成为如下结构:即在通信控制装置1003(P0)中所设置的安全通信层中实施R(1,IFS)与E(1,IFS)命令的对照,假设在异常的情况下,发出后述的输入更新指令R(1,IFR),并重新开始输入缓存器的更新。
此后,时刻t1,t2中,输入数据从通信控制装置1004(S1)将数据传送给通信控制装置1003(P0)。
图24的实施例中,在时刻t10再次发送输入数据,在安全通信层中对照2次输入数据,提高了数据的安全性。
时刻ti14中,如果输入对照相一致,便参照时间戳设备设定信息1385,判断是否生成时间戳。
在生成时间戳的情况下,参照时间戳设定信息1385,将数字/模拟种类13854、事件种类13855,与上次数据13857以及输入数据进行比较,判断是否发生了事件。
在数字设备的情况下,如果下式成立,则判断发生了事件。设上次数据13857=d0,输入数据=d1。
事件种类13855=“0→1”的情况
(d0=0)·(d1=1) …(式1)
事件种类13855=“1→0”的情况
(d0=1)·(d1=0) …(式2)
事件种类13855=“0→1与1→0双方”的情况
(d0=0)·(d1=1)+(d0=1)·(d1=0) …(式3)
在模拟设备的情况下,如果下式成立,则判断发生了事件。设上次数据13857=d0,输入数据=d1,边界值=b。
事件种类13855=“增加并超过边界值时”的情况
(d0≤b)·(d1>b) …(式4)
事件种类13855=“减少并超过边界值时”的情况
(d0≥b)·(d1<b) …(式5)
事件种类13855=“不管是增加还是减少总之超过了边界值时”的情况
(d0≤b)·(d 1>b)+(d0≥b)·(d1<b) …(式6)
在判断发生了事件的情况下,将时间戳写入到时间戳存储器1387中。如果时间戳指示器13856所表示的时间戳存储器1387的有效位13871有效,则为了移动到下一个时间戳存储地址而加算并写回到时间戳指示器13856中。在时间戳指示器13856所表示的时间戳存储器1387的有效位13871中写入有效,在数据13872中写入输入数据,在时刻13873中写入从输入时刻缓存器1386所读出的值。
不管事件是否发生,都将输入数据写入到上次数据13857中,并在上次数据有效位13858中写入有效。
一系列的处理结束之后,向中央存储运算装置1001(CPU)发送数据输入结束信号。
此后的时刻ti5中,一旦中央存储运算装置1001(CPU)的输入指令变为H电平,通信控制装置1003(P0)便在受理通信命令的时刻tc6,插入并发送输入更新指令R(1,IFR)。
【公式41】
IFR:Input Freeze Release
R(1,IFR)中包含有希望重新开始输入缓存器的更新的设备地址(Dev)。
通信控制装置1004(S1)识别出针对自己的指示,并发送回应E(1,IFR)。
【公式42】
另外,通信控制装置1004(S1)将输入输出总线1005(线路2)的输入冻结信号线1051设为L电平。通过这样,输入密钥为开状态的输入设备的输入缓存器寄存器1092、1102、10112(1~n)重新开始数据输入更新,将输入缓存器1091、1101、1111(1~n)的数据原样输出到输入输出总线1005(线路2)。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输入触发指令经控制总线1002(线路1)与输入输出总线1005(线路2)传送到输入装置,并停止·许可输入缓存器的数据更新,并由通信控制装置1003(P0)判断输入设备中发生了事件并写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输入数据与时间戳关联起来。
通过图22、图25、图26,对本发明的第5实施例即实现在对应于输出数据的读回数据中添加时间戳的方法进行说明。
图22中示出了通信控制装置1003(P0)的内部结构。省略与前述图22相同的内容的说明。
输出时刻缓存器1389是用来暂时保存输出时刻的缓存器。
通过图25对输出密钥用存储器区域13810的详细进行说明。
图25中示出了输入输出总线1008(线路2)周边的通信构成。图中相同的符号是与前述的图21相同的内容,省略说明。
通信控制装置1007(S2)的通信存储器1078中设有输出密钥用存储区域1786。下面对输出密钥进行说明。除了控制装置的基本连接构成信息之外,输出设备1012、1013、1014(1~m)中希望给控制对象1006添加时间戳的设备组合也添加在连接构成信息中。通过输出密钥与设备地址的组合来表示该信息。控制装置起动时,经控制总线1002(线路1)写入到通信控制装置1007(S2)的输出密钥用存储区域786中。进而,经输入输出总线1008(线路2),将各个输出设备1012、1013、1014(1~m)中所设置的输出密钥1124、1134、1144(1~m)中希望添加时间戳的输出设备的输出密钥状态设为开。若在设定了以上的状态之后起动控制装置,且加载给输入输出总线1008(线路2)的输出冻结信号线81变为H电平,则各个输出设备1012、1013、1014(1~m)中所设置的输出缓存器1123、1133、1143(1~m)中,只有输出密钥为开状态的输出设备停止对输出寄存器1121、1131、1141(1~m)的数据输出更新,将保持为一定的数据输出给控制对象1006。但输出缓存器1123、1133、1143(1~m)自身从输出数据存储区域1783经输入输出总线1008(线路2)而继续更新。一旦数据输出冻结信号线1081变为L电平,输出密钥为开状态的输出设备的输出寄存器1121、1131、1141(1~m)便也开始来自输出缓存器1123、1133、1143(1~m)的数据更新,将输出数据存储区域1783的数据原样输出到控制对象1006。
图26中示出了经由控制总线1002(线路1)与输入输出总线1008(线路2)对来自输出缓存器1123、1133、1143(1~m)的数据更新进行许可/保持的动作顺序。
图中的数据列或时刻标记中相同的名称,是与图19相同的内容,省略说明。
时刻tq1中,一旦中央存储运算装置1001(CPU)的输出指令变为L电平,经传送总线1000(线路0),通信控制装置1003(P0)的写保护(writeprotect)就变为有效(H电平)。通过这样,通信存储器1038的输出数据存储区域1383中,对该区域的写入被保护起来。接下来,在通信控制装置1003(P0)对通信命令进行受理的时刻tc8中,插入输出触发指令R(2,QFS)并传送。
【公式43】
QFS:Output Freeze Start
R(2,QFS)中包含有希望同时输出的设备的组合输出密钥(QKey)与设备地址(Dev)。设备地址在(图17)的实施例中是m位开关数据,例如在从输出设备1输入的情况下,将第1位的数据设为1,在没有从输入设备2输入的情况下,将第2位数据设为0进行传送。其已经预先作为连接结构信息写入到了通信控制装置1007(S1)的通信存储器1078中,但通过在每次传送时每次都进行对照,能够提高可靠性。
通信控制装置1007(S2)识别出是发给自己的指示,并传送回应E(2,QFS)。
【公式44】
另外,通信控制装置1007(S2)将输入输出总线1008(线路2)的输出冻结信号线1081设为H电平。通过这样,使来自输出密钥为开状态的输出设备的输出缓存器1123、1133、1143(1~m)的数据输出更新停止,并将保持为一定的输出输出到控制对象6。
图26的实施例中成为如下结构:即在通信控制装置1003(P0)中所设置的安全通信层中实施R(2,QFS)与E(2,QFS)命令的对照,假设在异常的情况下,发出后述的输入更新指令R(2,QFR),并重新开始来自输出缓存器的更新。
此后,时刻t3,t4中,输出数据从通信控制装置1003(P0)将数据传送给通信控制装置1007(S2)。
图26的实施例中,在时刻tq5将输出数据与输出回应返回相对照,提高了数据的安全性。一旦输出对照结束,便在时刻tq5向中央存储运算装置1001(CPU)发送输出数据结束信号。
此后的时刻tq6中,一旦中央存储运算装置1(CPU)的输出指令变为H电平,便在通信控制装置1003(P0)对通信命令进行受理的时刻tc10,将输出更新指令R(2,QFR)插入并发送。
【公式45】
QFR:Output Freeze Release
R(2,QFR)中包含有希望重新开始输出缓存器的输出更新的设备地址(Dev)。
R(2,QFR)的发送结束之后(时刻tq8a),为了对通过输出设备而开始输出更新的当前时刻进行保存,通信控制电路1039将时刻计数器1310中所存储的当前时刻(Tn)保存到输出时刻缓存器1389中。
通信控制装置1007(S2)识别出对自己的指示,并发送回应E(2,QFR)。
【公式46】
另外,通信控制装置1007(S2)将输入输出总线1008(线路2)的输出冻结信号线1081设为L电平。通过这样,输出密钥为开状态的输出设备的输出缓存器1123、1133、1143(1~m)的输出更新重新开始,并经输出寄存器输入缓存器1121、1131、1141(1~m),原样输出给控制对象1006。
时刻tq9中,一旦命令对照结束,便向中央存储运算装置1001(CPU)发送输出更新指令结束信号。
此后,在中央存储运算装置1001的读回指令变为L电平的时刻tq10,通信控制装置1003(P0)的安全通信层一直等待到输出读回数据的接收。
此后,如果接收到输出读回,在tq11便将时间戳设备设定信息1385与读回数据进行比较,在判断发生了事件的情况下,便将时间戳写入到时间戳存储器1387中。如果时间戳指示器13856所表示的时间戳存储器1387的有效位13871有效,为了移动到下一个时间戳存储器地址中而相加,并写回到时间戳指示器13856中。在时间戳指示器13856所指示的时间戳存储器1387的有效位13871中写入有效,在数据13872中写入读回数据,在时刻13873中写入从输出时刻缓存器1389所读出的值。
不管事件是否发生,都将输入数据写入到上次数据13857中,并在上次数据有效位13858中写入有效。
一系列的处理结束之后,向中央存储运算装置1001(CPU)发送数据输入结束信号。
此后的时刻tq12中,一旦中央存储运算装置1001(CPU)的输出指令变为H电平,在时刻tq13将通信控制装置1003(P0)的写保护(writeprotect)解除(L电平)。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输出触发指令经控制总线1002(线路1)与输入输出总线1008(线路2)传送给输出装置,并使输出缓存器的数据更新停止/许可,通信控制装置1003(P0)输出设备中发生了事件这一事实进行判断,并写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输出数据与时间戳关联起来。
通过图22、图27、图28、图29对本发明的第6实施例即实现在输入数据中添加时间戳的方法进行说明。
图22中示出了通信控制装置1003(P0)的内部结构。图中相同的编号是与前述图22相同的内容,省略说明。与本发明的第5实施例的不同点在于,输入时刻缓存器1486是用来暂时保存经控制总线1002(线路1)所接收到的输入时刻的缓存器。输出时刻缓存器1489是用来对经控制总线1002(线路1)所接收到的输出时刻暂时进行保存的缓存器。
图27中示出了通信控制装置1003(P0)、通信控制装置1004(S1)、7(S2)中经由控制总线1002(线路1)的时刻的同步方法的时序图。通信控制装置1003(P0)具有时刻计数器1310,通信控制装置1004(S1)具有时刻计数器1410,通信控制装置1007(S2)具有时刻计数器1710。
从GPS接收装置1015经基准时刻信号1016向通信控制装置1003(P0)发送接收基准时刻。基准时刻信号1016正确的是每1秒进行1次位反转的信号。时刻计数器1310是每1毫(ミリ)秒进行一次加法的计数器。基准时刻信号1016用于输入到时刻计数器1310的时刻校准。如果时刻tt1中基准时刻信号1016发生变化,便将不满时刻计数器1310的1秒的位舍去或升入,进行时刻修正。通信计数器1039每1秒钟请求一次通信控制电路1039将时刻同步发送给控制总线1002(线路1)。在通信控制电路1039受理通信命令的时刻tc1,发送时刻同步R(ALL,TMS)。
【公式47】
TMS=Time Synchronize
时刻同步R(ALL,TMS)由时刻同步命令TMS、发送密钥(SendKey=0)、接收密钥(Rcv.Key=ALL)、以及时刻(Time)构成。接收密钥(Rcv.Key=ALL)表示与控制总线1002(线路1)相连接的通信控制装置1004(S1)、1007(2)进行接收。时刻(time)是在时刻tc1从时刻计数器1310所读出的值。
时刻tt2中,通信控制装置1004(S1)、1007(S2)识别出是给自己的指示,在时刻计数器1410、1710中设定时刻(Time)而进行时刻同步。通信控制装置1004(S1)、1007(S2)不进行回应。通信控制装置1003(P0)发送下一个数据。
图28中示出了输入输出总线1005(线路2)周边的通信构成。图中相同的符号是与前述的图23相同的内容,省略说明。在图23的构成中添加了输入时刻缓存器486。时间戳设定信息1485由设备编号14852与时间戳有效14853构成。设备编号14852与时间戳有效14853从通信控制装置1003(P0)经控制总线1002(线路1)在控制装置上升时设定。
图29中示出了经由控制总线1002(线路1)与输入输出总线1005(线路2)对来自输入缓存器1092、1102、1112(1~n)的数据更新进行许可/保持的动作顺序。图中的数据列或时刻标记中相同的名称,是与图24相同的内容,省略说明。
时刻ti2a中,通信控制装置1004(S1)为了对通过输入设备开始输入冻结的当前时刻进行保存,将时刻计数器1410中所存储的当前时刻(Tn)保存到输入时刻缓存器1486中。
通信控制装置1004(S1)发送输入访问数据IA。
【公式48】
如果根据设备编号14852与时间戳有效14853,相应的输入设备的时间戳有效,便追加时刻(time)。
若通信控制装置1003(P0)接收到输入访问数据IA,并根据设备编号14852与时间戳有效14853,相应的输入设备的时间戳有效,便将时刻(Time)写入到输入时刻缓存器1386中。之后生成时间戳。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输入触发指令经控制总线1002(线路1)和输入输出总线1005(线路2)传送给输入装置,并停止/许可输入缓存器的数据更新,通信控制装置1004(S1)判断输入设备中发生了事件并取得时刻,经控制总线1002(线路1),由通信控制装置1003(P0)判断并写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输入数据与时间戳关联起来。
通过图30、图31对本发明的第7实施例即实现在与输出数据相对应的读回数据中添加时间戳的方法进行说明。
图30中示出了输入输出总线1008(线路2)周边的通信构成。图中相同的符号是与前述的图25相同的内容,省略说明。在图25的构成中添加了输出时刻缓存器1789。时间戳设定信息1785由设备编号17852与时间戳有效17853构成。设备编号17852与时间戳有效17853,由通信控制装置1003(P0)经控制总线1002(线路1)在控制装置上升时被设定。
图31中示出了经由控制总线1002(线路1)与输入输出总线1008(线路2)使来自输出缓存器1123、1133、1143(1~n)的数据更新许可/保持的动作顺序。图中的数据列或时刻标记中相同的名称,是与图26相同的内容,省略说明。
在时刻tq8a,通信控制装置1007(S2)为了对通过输出设备而重新开始输出更新的当前时刻(Tn)进行保存,将时刻计数器1710中所存储的当前时刻(Tn)保存到输出时刻缓存器1789中。
通信控制装置1007(S2)发送输出读回访问数据IA。
【公式49】
如果根据设备编号17852与时间戳有效17853,相应的输入设备的时间戳有效,便追加时刻(time)。
通信控制装置1003(P0)接收到输出读回访问数据IA之后,如果根据设备编号13852与时间戳有效13853相应的输出设备的时间戳有效,便将时刻(Time)写入到输出时刻缓存器1386中。之后生成时间戳。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输出更新指令,经控制总线1002(线路1)与输入输出总线1008(线路2)传送给输出装置,并停止/许可输出缓存器的数据更新,通信控制装置1007(S2)对输出设备中发生了事件这一事实进行判断并取得时刻,经控制总线1002(线路1),由通信控制装置1003(P0)判断并写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输出数据与时间戳关联起来。
本发明的第4、第5、第6、第7实施例中,对通过指定事件的发生来收集时间戳的方式进行了说明。接下来,对不特意指定事件,重复收集时间戳的方式进行说明。
通过图32、图23、图24,对本发明的第8实施例进行说明。
先对与前述本发明的第4实施例的不同进行说明。
图32中示出了通信控制装置1003(P0)的内部构成。图中相同的编号是与前述图22相同的内容,省略说明。
时间戳设定信息1385中,对每一个输入输出设备分配有时间戳有效13853。
时间戳存储器1387中,对每一个输入输出设备分配:有效位13871、数据13872、时刻13873的一组。
图23中示出了输入输出总线1008(线路2)周边的通信构成。与本发明的第4实施例(图23)相同,省略说明。
图24中示出了本发明的输入动作的时间图。与本发明的第4实施例的不同在于时刻ti4中的时间戳判断与生成方法。
时刻ti4中,如果输入对照一致,便参照时间戳有效13853,如果有效便在分配给该输入设备的时间戳存储器1387中生成设备时间戳。在有效位13871中写入有效,在数据13872中写入输入数据,在时刻13873中写入从输入时刻缓存器1386中读出的值。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输入触发指令经控制总线1002(线路1)与输入输出总线1005(线路2)传送到输入装置,并停止/许可输入缓存器的数据更新,将在输入设备中输入的数据及其时刻写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输入数据与时间戳关联起来。
通过图32、图25、图26,对本发明的第9实施例进行说明。
先对与前述本发明的第5实施例的不同进行说明。
图32中示出了通信控制装置1003(P0)的内部构成。是与本发明的第8实施例(图32)相同的内容,省略说明。
图25中示出了输入输出总线1008(线路2)周边的通信构成。与本发明的第5实施例(图23)相同,省略说明。
图26中示出了本发明的输出动作的时间图。与本发明的第5实施例的不同在于时刻tq11中的时间戳判断与生成。
时间戳判断与生成与本发明的第8实施例相同。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输出更新指令,经控制总线1002(线路1)与输入输出总线1005(线路2)传送给输出装置,并停止/许可输出缓存器的数据更新,将在输出设备中输出的时刻与所输出的数据(读回)写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输出数据与时间戳关联起来。
通过图32、图33、图24,对本发明的第10实施例进行说明。
先对与前述本发明的第6实施例的不同进行说明。
图32中示出了通信控制装置1003(P0)的内部构成。是与本发明的第8实施例(图32)相同的内容,省略说明。
图33中示出了输入输出总线1008(线路2)周边的通信构成。与图28的不同之处在于时间戳设定信息1485。时间戳设定信息1485由时间戳有效14853构成。
图29中示出了本发明的输入动作的时间图。与本发明的第6实施例的不同在于时刻ti4中的时间戳判断与生成方法。
时间戳判断与生成与本发明的第8实施例相同。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输入触发指令经控制总线1002(线路1)与输入输出总线1005(线路2)传送到输入装置,并停止/许可输入缓存器的数据更新,将在输入设备中输入的数据及其时刻写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输入数据与时间戳关联起来。
通过图32、图34、图31,对本发明的第11实施例进行说明。
先对与前述本发明的第7实施例的不同进行说明。
图32中示出了通信控制装置1003(P0)的内部构成。是与本发明的第8实施例(图32)相同的内容,省略说明。
图34中示出了输入输出总线1008(线路2)周边的通信构成。与图28的不同处是时间戳设定信息1485。时间戳设定信息1485由时间戳有效14853构成。
图31中示出了本发明的输出动作的时序图。与本发明的第7实施例的不同在于时刻tq11中的时间戳判断与生成。
时间戳判断与生成与本发明的第8实施例相同。
通过以上的动作顺序,将中央存储运算装置1001(CPU)的输出更新指令,经由控制总线1002(线路1)与输入输出总线1008(线路2)传送到输出装置,并停止/许可输出缓存器的数据更新,将在输出设备中输出的时刻与所输出的数据(读回)写入到时间戳存储器1387中,由此中央存储运算装置1001(CPU)能够将输出数据与时间戳关联起来。