Fault diagnosis system
By using the method of mutual diagnosis of two processors in the fault diagnosis system, the problem of misdiagnosis during single processor diagnosis is solved, and the accuracy of fault diagnosis is improved.
Patent Information
- Application Number
- JP2023168355
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-04-09
AI Technical Summary
In the prior art, a single processor is used to diagnose its own faults, which is prone to misdiagnosis problems, affecting the accuracy of fault diagnosis.
Two processors are used to diagnose each other, one of which diagnoses the fault of the other processor, and the other processor also diagnoses the fault of the first processor.
Through mutual diagnosis of dual processors, the accuracy of processor fault diagnosis is improved and the occurrence of misdiagnosis is reduced.
Smart Images

Figure 2025058433000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a fault diagnosis system. [Background technology]
[0002] There is a technique for a single processor to diagnose a fault in itself in a field device such as a pressure transmitter. For example, there is a technique in which the single processor operates by software having an arithmetic process and a diagnostic process, and the arithmetic process and the diagnostic process each have the same arithmetic expression for the same input value, and the single processor determines that a fault has occurred in the processor itself when the arithmetic process result differs from the arithmetic process result. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2005-309913 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, if a single processor diagnoses the failure of the processor itself when a failure has occurred in the first place, a misdiagnosis may occur.
[0005] Therefore, this disclosure proposes a technique that can improve the accuracy of diagnosing processor faults. [Means for solving the problem]
[0006] The fault diagnosis system disclosed herein has a first processor and a second processor, wherein the second processor performs a first diagnosis which is a fault diagnosis for the first processor, and the first processor performs a second diagnosis which is a fault diagnosis for the second processor. Effect of the Invention
[0007] According to the present disclosure, the accuracy of diagnosing processor faults can be improved. [Brief description of the drawings]
[0008] [Figure 1] FIG. 2 is a diagram illustrating a configuration example of a field device according to a first embodiment of the present disclosure. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of first software and second software according to the first embodiment of the present disclosure. [Diagram 3] FIG. 11 is a diagram illustrating a configuration example of a field device system according to a second embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following embodiments, the same components or processes are denoted by the same reference numerals, and redundant description may be omitted.
[0010] [Example 1] <Field device configuration> FIG. 1 is a diagram showing a configuration example of a field device according to a first embodiment of the present disclosure. In FIG. 1, a field device 10 includes a sensor 20 and a fault diagnosis system 1A. The fault diagnosis system 1A includes a first processor 41, a second processor 42, and a third processor 43. The first processor 41 includes a first storage unit 30A. The first storage unit 30A stores first software 31. The second processor 42 includes a second storage unit 30B. The second storage unit 30B stores second software 32. The first processor 41 and the second processor 42 can communicate with each other using inter-processor communication. Data (hereinafter sometimes referred to as "sensor data") indicating a value detected by the sensor 20 (hereinafter sometimes referred to as "sensor detection value") is input from the sensor 20 to the first processor 41.
[0011] Examples of the field device 10 include a pressure transmitter, a temperature transmitter, and a multivariable transmitter. Examples of the first storage unit 30A and the second storage unit 30B include memories. Examples of the first processor 41, the second processor 42, and the third processor 43 include an MPU (Micro Processing Unit), a CPU (Central Processing Unit), and the like.
[0012] <Configuration of the first software and the second software> FIG. 2 is a diagram illustrating an example of the configuration of the first software and the second software according to the first embodiment of the present disclosure.
[0013] As shown in FIG. 2, the first software 31 is executed by a first processor 41, and the second software 32 is executed by a second processor .
[0014] The first software 31 has a first arithmetic processing and a second diagnostic processing, and causes the first processor 41 to execute the first arithmetic processing and the second diagnostic processing. The first processor 41 outputs a first arithmetic result which is the arithmetic result of the first arithmetic processing, and a second diagnostic result which is the diagnostic result of the second diagnostic processing.
[0015] The second software 32 has a first diagnostic process and a second arithmetic process, and causes the second processor 42 to execute the first diagnostic process and the second arithmetic process. The second processor 42 outputs a first diagnostic result, which is a diagnostic result of the first diagnostic process, and a second arithmetic result, which is a arithmetic result of the second arithmetic process. The third processor 43 outputs a final diagnostic result and a final arithmetic result based on the first diagnostic result and the second diagnostic result.
[0016] <Fault diagnosis> In the following, fault diagnosis for each of the first processor 41 and the second processor 42 will be described with reference to fault diagnosis examples 1 to 4. One example of a fault occurring in each of the first processor 41 and the second processor 42 is a memory error in the internal memory of each of the first processor 41 and the second processor 42. If a sudden or permanent memory error occurs in the internal memory of the first processor 41 or the second processor 42, an abnormality may occur in the instruction code in the first software 31 or the second software 32, and an error may occur in the first calculation result or the second calculation result. Therefore, in the field device 10, the presence or absence of a fault (hereinafter, may be collectively referred to as a "processor fault") occurring in each of the first processor 41 and the second processor 42 is determined as in the following fault diagnosis examples 1 to 4.
[0017] In the following fault diagnosis examples 1 to 4, the case where the sensor detection value indicated by the sensor data is "p" will be described as an example. The sensor detection value p is converted into a numerical value in a format that is easy for the operator of the field device 10 to visually confirm by performing the first arithmetic processing and the second arithmetic processing. For example, the sensor detection value p is converted into "s", which is a value as a final calculation result, according to the arithmetic expression 0-1. In addition, in the following fault diagnosis examples 1 to 4, the arithmetic expression 0-1 is divided into two arithmetic expressions, arithmetic expression 0-2 which is the first half of the arithmetic expression 0-1, and arithmetic expression 0-3 which is the second half of the arithmetic expression 0-1, and the arithmetic expression 0-2 is used in the first arithmetic processing and the arithmetic expression 0-3 is used in the second arithmetic processing will be described as an example. p, q, and s in the arithmetic expressions 0-1, 0-2, and 0-3 are predetermined coefficients, respectively. Y=((q / p)·(s / q))X=s …0-1 Y=(q / p)X …0-2 Y=(s / q)X …0-3
[0018] <Fault diagnosis example 1> In fault diagnosis example 1, the first calculation process has an arithmetic expression 1-1, the first diagnosis process has an arithmetic expression 1-2, the second calculation process has an arithmetic expression 1-3, and the second diagnosis process has an arithmetic expression 1-4. The arithmetic expressions 1-1 and 1-2 are the same arithmetic expression, and the arithmetic expressions 1-3 and 1-4 are the same arithmetic expression. p, q, and s in the arithmetic expressions 1-1, 1-2, 1-3, and 1-4 are each a predetermined coefficient. Y=(q / p)X …1-1 Y=(q / p)X …1-2 Y=(s / q)X …1-3 Y=(s / q)X …1-4
[0019] Below, a case where no processor failure occurs and a case where a processor failure occurs will be separately explained.
[0020] <When no processor failure occurs in failure diagnosis example 1> First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0021] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in the arithmetic formula 1-1 as shown in equation (A1), performs an arithmetic operation according to the arithmetic formula 1-1, and sets the value "q" obtained by the arithmetic operation according to the arithmetic formula 1-1 to the variable a2. The value obtained by the arithmetic operation according to the arithmetic formula 1-1 corresponds to the result of the arithmetic operation of the first half of the arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of the arithmetic formula 0-1. Y=(q / p)X=(q / p)p=q …(A1)
[0022] Next, the first processor 41 transfers the variable a2, to which the value q has been set, to the second processor 42.
[0023] Next, as a first diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic expression 1-2 as shown in equation (A2), performs a calculation according to the arithmetic expression 1-2, and sets the value "q" obtained by the calculation according to the arithmetic expression 1-2 to the variable a3. Y=(q / p)X=(q / p)p=q …(A2)
[0024] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a3. Here, since the value of the variable a2 and the value of the variable a3 are both "q", the second processor 42 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the first diagnostic result.
[0025] Next, the second processor 42 sets the variable b1 to "q", which is the value set in the variable a3.
[0026] Next, as a second calculation process, the second processor 42 sets the variable b1 to X in the calculation formula 1-3, performs a calculation according to the calculation formula 1-3, and sets the value "s" obtained by the calculation according to the calculation formula 1-3 to the variable b2, as shown in equation (A3). Y=(s / q)X=(s / q)q=s …(A3)
[0027] Next, the second processor 42 transfers to the first processor 41 the variable b1 to which the value q has been set and the variable b2 to which the value s has been set.
[0028] Next, as a second diagnostic process, the first processor 41 sets the variable b1 to X in the arithmetic expression 1-4, as shown in equation (A4), performs a calculation according to the arithmetic expression 1-4, and sets the value "s" obtained by the calculation according to the arithmetic expression 1-4 to the variable b3. Y=(s / q)X=(s / q)q=s …(A4)
[0029] Next, as a second diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in variable b2 with the value set in variable b3. Here, since the values of variables b2 and b3 are both the same, "s", the first processor 41 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as the second diagnostic result. The first processor 41 also outputs "s", which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0030] Then, since both the first diagnosis result and the second diagnosis result indicate "normal", the third processor 43 outputs information indicating that no failure has occurred in either the first processor 41 or the second processor 42 and that the field device 10 is operating normally as the final diagnosis result, and also outputs the final calculation result of the value s. The final diagnosis result and the final calculation result outputted from the third processor 43 are displayed on, for example, an LCD connected to the third processor 43.
[0031] <When a processor failure occurs in failure diagnosis example 1> Here, an example will be described in which coefficient q in arithmetic formula 1-1 changes to coefficient n due to a memory error occurring in the internal memory of first processor 41. In other words, an example will be described in which the above arithmetic formula 1-1 changes to the following arithmetic formula 1-1' due to a processor failure. Y=(n / p)X …1-1'
[0032] First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0033] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in arithmetic formula 1-1', performs an arithmetic operation according to arithmetic formula 1-1', and sets the value "n" obtained by the arithmetic operation according to arithmetic formula 1-1' to variable a2, as shown in equation (A5). The value obtained by the arithmetic operation according to arithmetic formula 1-1' corresponds to the result of the arithmetic operation of the first half of arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of arithmetic formula 0-1. Y=(n / p)X=(n / p)p=n …(A5)
[0034] Next, the first processor 41 transfers the variable a2, to which the value n has been set, to the second processor 42.
[0035] Next, as a first diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic expression 1-2 as shown in equation (A6), performs a calculation according to the arithmetic expression 1-2, and sets the value "q" obtained by the calculation according to the arithmetic expression 1-2 to the variable a3. Y=(q / p)X=(q / p)p=q …(A6)
[0036] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a3. Here, the value of the variable a2 is "n" while the value of the variable a3 is "q," and therefore the values of the variables a2 and a3 are different, so the second processor 42 determines that a processor failure has occurred and outputs information indicating that the processor is "abnormal" to the third processor 43 as the first diagnostic result.
[0037] Next, the second processor 42 sets the variable b1 to "q", which is the value set in the variable a3.
[0038] Next, as a second calculation process, the second processor 42 sets the variable b1 to X in the calculation formula 1-3, performs a calculation according to the calculation formula 1-3, and sets the value "s" obtained by the calculation according to the calculation formula 1-3 to the variable b2, as shown in equation (A7). Y=(s / q)X=(s / q)q=s …(A7)
[0039] Next, the second processor 42 transfers to the first processor 41 the variable b1 to which the value q has been set and the variable b2 to which the value s has been set.
[0040] Next, as a second diagnostic process, the first processor 41 sets the variable b1 to X in the arithmetic expression 1-4, performs a calculation according to the arithmetic expression 1-4, and sets the value "s" obtained by the calculation according to the arithmetic expression 1-4 to the variable b3, as shown in equation (A8). Y=(s / q)X=(s / q)q=s …(A8)
[0041] Next, as a second diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in variable b2 with the value set in variable b3. Here, since the values of variables b2 and b3 are both the same, "s", the first processor 41 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as the second diagnostic result. The first processor 41 also outputs "s", which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0042] Then, because the first diagnostic result indicates “abnormal” and the second diagnostic result indicates “normal”, the third processor 43 outputs information indicating that a fault has occurred in one or both of the first processor 41 and the second processor 42 and that the field device 10 is not operating normally as the final diagnostic result, but does not output the final calculation result of the value s.
[0043] <Fault diagnosis example 2> In fault diagnosis example 2, the first calculation process has an arithmetic formula 2-1, the first diagnosis process has an arithmetic formula 2-2, the second calculation process has an arithmetic formula 2-3, and the second diagnosis process has an arithmetic formula 2-4. The arithmetic formulas 2-1 and 2-2 are equivalent arithmetic formulas with different formula structures, and the arithmetic formulas 2-3 and 2-4 are equivalent arithmetic formulas with different formula structures. p, q, and s in the arithmetic formulas 2-1, 2-2, 2-3, and 2-4 are each a predetermined coefficient. Y=(q / p)X …2-1 Y=(qX) / p …2-2 Y=(s / q)X …2-3 Y=(sX) / q …2-4
[0044] Below, a case where no processor failure occurs and a case where a processor failure occurs will be separately explained.
[0045] <When no processor failure occurs in failure diagnosis example 2> First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0046] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in the arithmetic formula 2-1, performs an arithmetic operation according to the arithmetic formula 2-1, and sets the value obtained by the arithmetic operation according to the arithmetic formula 2-1 to the variable a2, as shown in equation (B1). The value obtained by the arithmetic operation according to the arithmetic formula 2-1 corresponds to the result of the arithmetic operation of the first half of the arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of the arithmetic formula 0-1. Y=(q / p)X=(q / p)p=q …(B1)
[0047] Next, the first processor 41 transfers the variable a2, to which the value q has been set, to the second processor 42.
[0048] Next, as a first diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic equation 2-2, as shown in equation (B2), performs a calculation according to the arithmetic equation 2-2, and sets the value "q" obtained by the calculation according to the arithmetic equation 2-2 to the variable a3. Y=(qX) / p=(qp) / p=q …(B2)
[0049] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a3. Here, since the value of the variable a2 and the value of the variable a3 are both "q", the second processor 42 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the first diagnostic result.
[0050] Next, the second processor 42 sets the variable b1 to "q", which is the value set in the variable a3.
[0051] Next, as a second calculation process, the second processor 42 sets the variable b1 to X in the calculation formula 2-3, performs a calculation according to the calculation formula 2-3, and sets the value "s" obtained by the calculation according to the calculation formula 2-3 to the variable b2, as shown in equation (B3). Y=(s / q)X=(s / q)q=s …(B3)
[0052] Next, the second processor 42 transfers to the first processor 41 the variable b1 to which the value q has been set and the variable b2 to which the value s has been set.
[0053] Next, as a second diagnostic process, the first processor 41 sets the variable b1 to X in the arithmetic expression 2-4, as shown in equation (B4), performs a calculation according to the arithmetic expression 2-4, and sets the value "s" obtained by the calculation according to the arithmetic expression 2-4 to the variable b3. Y=(sX) / q=(sq) / q=s …(B4)
[0054] Next, as a second diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in variable b2 with the value set in variable b3. Here, since the values of variables b2 and b3 are both the same, "s", the first processor 41 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as the second diagnostic result. The first processor 41 also outputs "s", which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0055] Then, since both the first diagnosis result and the second diagnosis result indicate "normal", the third processor 43 outputs information indicating that no failure has occurred in either the first processor 41 or the second processor 42 and that the field device 10 is operating normally as the final diagnosis result, and also outputs the final calculation result of the value s. The final diagnosis result and the final calculation result outputted from the third processor 43 are displayed on, for example, an LCD connected to the third processor 43.
[0056] <When a processor failure occurs in failure diagnosis example 2> Here, an example will be described in which an abnormality occurs in the program counter of the first processor 41, causing the above arithmetic expression 2-4 to be skipped without being executed.
[0057] First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0058] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in the arithmetic formula 2-1, performs an arithmetic operation according to the arithmetic formula 2-1, and sets the value obtained by the arithmetic operation according to the arithmetic formula 2-1 to the variable a2, as shown in equation (B5). The value obtained by the arithmetic operation according to the arithmetic formula 2-1 corresponds to the result of the arithmetic operation of the first half of the arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of the arithmetic formula 0-1. Y=(q / p)X=(q / p)p=q …(B5)
[0059] Next, the first processor 41 transfers the variable a2, to which the value q has been set, to the second processor 42.
[0060] Next, as a first diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic equation 2-2, as shown in equation (B6), performs a calculation according to the arithmetic equation 2-2, and sets the value "q" obtained by the calculation according to the arithmetic equation 2-2 to the variable a3. Y=(qX) / p=(qp) / p=q …(B6)
[0061] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a3. Here, since the value of the variable a2 and the value of the variable a3 are both "q", the second processor 42 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the first diagnostic result.
[0062] Next, the second processor 42 sets the variable b1 to "q", which is the value set in the variable a3.
[0063] Next, as a second calculation process, the second processor 42 sets the variable b1 to X in the calculation formula 2-3, performs a calculation according to the calculation formula 2-3, and sets the value "s" obtained by the calculation according to the calculation formula 2-3 to the variable b2, as shown in equation (B7). Y=(s / q)X=(s / q)q=s …(B7)
[0064] Next, the second processor 42 transfers to the first processor 41 the variable b1 to which the value q has been set and the variable b2 to which the value s has been set.
[0065] Next, in the first processor 41, since the arithmetic expression 2-4 in the second diagnostic processing is skipped without being executed, the first processor 41 sets the value of the variable b1, ie, "q", to the variable b3 as it is.
[0066] Next, as a second diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in variable b2 with the value set in variable b3. Here, since the value of variable b2 is "s" while the value of variable b3 is "q" and the values of variables b2 and b3 are different, the first processor 41 determines that a processor failure has occurred and outputs information indicating that the processor is "abnormal" to the third processor 43 as the second diagnostic result. The first processor 41 also outputs "s", which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0067] Then, because the first diagnostic result indicates “normal” and the second diagnostic result indicates “abnormal,” the third processor 43 outputs information indicating that a fault has occurred in one or both of the first processor 41 and the second processor 42 and that the field device 10 is not operating normally as the final diagnostic result, but does not output the final calculation result of the value s.
[0068] <Fault diagnosis example 3> In fault diagnosis example 3, the first calculation process has an arithmetic formula 3-1, the first diagnosis process has an arithmetic formula 3-2, the second calculation process has an arithmetic formula 3-3, and the second diagnosis process has an arithmetic formula 3-4. The arithmetic formulas 3-1 and 3-2 are mutually inverse arithmetic formulas, and the arithmetic formulas 3-3 and 3-4 are mutually inverse arithmetic formulas. p, q, and s in the arithmetic formulas 3-1, 3-2, 3-3, and 3-4 are each a predetermined coefficient. Y=(q / p)X …3-1 X=(p / q)Y …3-2 Y=(s / q)X …3-3 X=(q / s)Y …3-4
[0069] Below, a case where no processor failure occurs and a case where a processor failure occurs will be separately explained.
[0070] <When no processor failure occurs in failure diagnosis example 3> First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0071] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in the arithmetic formula 3-1, performs an arithmetic operation according to the arithmetic formula 3-1, and sets the value "q" obtained by the arithmetic operation according to the arithmetic formula 3-1 to the variable a2, as shown in formula (C1). The value obtained by the arithmetic operation according to the arithmetic formula 3-1 corresponds to the result of the arithmetic operation of the first half of the arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of the arithmetic formula 0-1. Y=(q / p)X=(q / p)p=q …(C1)
[0072] Next, the first processor 41 transfers the variable a2, to which the value q has been set, to the second processor 42.
[0073] The first processor 41 may transfer the variable a1, in which the sensor detection value p is set, to the second processor 42 at the same time as the variable a2, in which the value q is set.
[0074] Next, as a first diagnostic process, the second processor 42 sets the variable a2 to Y in the arithmetic equation 3-2, performs a calculation according to the arithmetic equation 3-2, and sets the value "p" obtained by the calculation according to the arithmetic equation 3-2 to the variable a3, as shown in equation (C2). X=(p / q)Y=(p / q)q=p …(C2)
[0075] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a1 with the value set in the variable a3. Here, since the value of the variable a1 and the value of the variable a3 are both "p", the second processor 42 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the first diagnostic result.
[0076] Next, the second processor 42 sets the variable b1 to “q”, which is the value set in the variable a2, and transfers the variable b1 with the value q set thereto to the first processor 41.
[0077] Next, as a second calculation process, the second processor 42 sets the variable b1 to X in the calculation formula 3-3, performs a calculation according to the calculation formula 3-3, sets the value “s” obtained by the calculation according to the calculation formula 3-3 to the variable b2, and transfers the variable b2 with the value s set to the first processor 41, as shown in equation (C3). Y=(s / q)X=(s / q)q=s …(C3)
[0078] The second processor 42 may transfer the variable b1, to which the value q has been set, to the first processor 41 at the same time as the variable b2, to which the value s has been set.
[0079] Next, as a second diagnostic process, the first processor 41 sets the variable b2 to Y in the arithmetic equation 3-4, performs a calculation according to the arithmetic equation 3-4, and sets the value "q" obtained by the calculation according to the arithmetic equation 3-4 to the variable b3, as shown in equation (C4). X=(q / s)Y=(q / s)s=q …(C4)
[0080] Next, as a second diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in variable b1 with the value set in variable b3. Here, since the values of variables b1 and b3 are both "q", the first processor 41 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the second diagnostic result. In addition, the first processor 41 outputs "s", which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0081] Then, since both the first diagnosis result and the second diagnosis result indicate "normal", the third processor 43 outputs information indicating that no failure has occurred in either the first processor 41 or the second processor 42 and that the field device 10 is operating normally as the final diagnosis result, and also outputs the final calculation result of the value s. The final diagnosis result and the final calculation result outputted from the third processor 43 are displayed on, for example, an LCD connected to the third processor 43.
[0082] <When a processor failure occurs in failure diagnosis example 3> Here, a case will be described as an example in which an abnormality occurs in the program counter of the second processor 42, causing the above arithmetic expression 3-3 to be skipped without being executed.
[0083] First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0084] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in the arithmetic formula 3-1, performs an arithmetic operation according to the arithmetic formula 3-1, and sets the value obtained by the arithmetic operation according to the arithmetic formula 3-1 to the variable a2, as shown in formula (C5). The value obtained by the arithmetic operation according to the arithmetic formula 3-1 corresponds to the result of the arithmetic operation of the first half of the arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of the arithmetic formula 0-1. Y=(q / p)X=(q / p)p=q …(C5)
[0085] Next, the first processor 41 transfers the variable a2, to which the value q has been set, to the second processor 42.
[0086] Next, as a first diagnostic process, the second processor 42 sets the variable a2 to Y in the arithmetic equation 3-2, performs a calculation according to the arithmetic equation 3-2, and sets the value "p" obtained by the calculation according to the arithmetic equation 3-2 to the variable a3, as shown in equation (C6). X=(p / q)Y=(p / q)q=p …(C6)
[0087] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a1 with the value set in the variable a3. Here, since the value of the variable a1 and the value of the variable a3 are both "p", the second processor 42 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the first diagnostic result.
[0088] Next, the second processor 42 sets the variable b1 to "q", which is the value set in the variable a2.
[0089] Next, in the second processor 42, arithmetic expression 3-3 in the second arithmetic process is skipped without being executed, and therefore the second processor 42 sets the value of variable b1, ie, "q", to variable b2 as is.
[0090] Next, the second processor 42 transfers to the first processor 41 the variable b1 to which the value q has been set, and the variable b2 to which the value q has been set.
[0091] Next, as the second diagnosis process, the first processor 41 sets the variable b2 to Y in the arithmetic expression 3-4 as shown in formula (C7), performs a calculation according to the arithmetic expression 3-4, and calculates the value "q 2 / s" is set to variable b3. X=(q / s)Y=(q / s)q=q 2 / s …(C7)
[0092] Next, as a second diagnostic process, the first processor 41 compares the value set in the variable b1 with the value set in the variable b3 to determine whether or not a processor failure has occurred. 2 / s" and the value of variable b1 and the value of variable b3 are different, the first processor 41 determines that a processor failure has occurred and outputs information indicating that the processor is "abnormal" to the third processor 43 as the second diagnosis result. In addition, the first processor 41 outputs "q", which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0093] Then, because the first diagnostic result indicates “normal” and the second diagnostic result indicates “abnormal,” the third processor 43 outputs information indicating that a fault has occurred in one or both of the first processor 41 and the second processor 42 and that the field device 10 is not operating normally as the final diagnostic result, but does not output the final calculation result of the value q.
[0094] <Fault diagnosis example 4> In the fault diagnosis example 4, in each of the fault diagnosis examples 1, 2, and 3, it is further verified whether or not the diagnosis process for the processor fault (hereinafter, sometimes referred to as the "fault diagnosis process") is performed normally. For example, in the fault diagnosis example 4, it is verified whether or not the fault diagnosis process is performed normally using the arithmetic formula 4-1 and the arithmetic formula 4-2. The arithmetic formula 4-1 is based on the assumption that an abnormality occurs in the program counters of each of the first processor 41 and the second processor 42, causing an abnormality in which an input is directly output without performing an arithmetic process. Moreover, the arithmetic formula 4-2 is based on the assumption that an erroneous calculation is performed due to a memory error occurring in the internal memory of each of the first processor 41 and the second processor 42. In the fault diagnosis example 4, an erroneous calculation is intentionally performed using the arithmetic formula 4-1 and the arithmetic formula 4-2, and when the calculation results of the arithmetic formulas 4-1 and 4-2 are not the same as the calculation results of the arithmetic formulas 1-1 and 1-3, it is determined that the fault diagnosis process is performed normally. Y=X …4-1 Y=X+1 …4-2
[0095] Below, taking the above fault diagnosis example 1 as an example, we will explain the case where the fault diagnosis process is performed normally because no processor failure has occurred, and the case where the fault diagnosis process is not performed normally because a processor failure has occurred (i.e., there is an abnormality in the fault diagnosis process). Note that fault diagnosis example 4 can be implemented in combination with any of fault diagnosis examples 1, 2, and 3.
[0096] <If the fault diagnosis process is performed normally because no processor failure has occurred> First, the first processor 41 sets the sensor detection value p to a variable a1, and transfers the variable a1 in which the sensor detection value p is set to the second processor .
[0097] Next, as a first arithmetic process, the first processor 41 sets the variable a1 to X in the arithmetic formula 1-1, performs an arithmetic operation according to the arithmetic formula 1-1, and sets the value obtained by the arithmetic operation according to the arithmetic formula 1-1 to the variable a2, as shown in equation (D1). The value obtained by the arithmetic operation according to the arithmetic formula 1-1 corresponds to the result of the arithmetic operation of the first half of the arithmetic formula 0-1, that is, the intermediate result of the arithmetic operation of the arithmetic formula 0-1. Y=(q / p)X=(q / p)p=q …(D1)
[0098] Next, the first processor 41 transfers the variable a2, to which the value q has been set, to the second processor 42.
[0099] Next, as a first diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic expression 1-2 as shown in equation (D2), performs a calculation according to the arithmetic expression 1-2, and sets the value "q" obtained by the calculation according to the arithmetic expression 1-2 to the variable a31. Y=(q / p)X=(q / p)p=q …(D2)
[0100] Next, as a first diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a31. Here, since the value of the variable a2 and the value of the variable a31 are both "q", the second processor 42 determines that no processor failure has occurred, and outputs information indicating that the processor is "normal" to the third processor 43 as the first diagnostic result.
[0101] Next, as a second diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic formula 4-1, as shown in equation (D3), performs a calculation according to the arithmetic formula 4-1, and sets the value "p" obtained by the calculation according to the arithmetic formula 4-1 to the variable a32. Y = X = p … (D3)
[0102] Next, as a second diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a32. Here, the value of the variable a2 is "q" while the value of the variable a32 is "p," and therefore the values of the variables a2 and a32 are different, so the second processor 42 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as the second diagnostic result.
[0103] In addition, as a third diagnostic process, the second processor 42 sets the variable a1 to X in the arithmetic expression 4-2, as shown in equation (D4), performs a calculation according to the arithmetic expression 4-2, and sets the value obtained by the calculation according to the arithmetic expression 4-2, "p+1", to the variable a33. Y = X + 1 = p + 1 … (D4)
[0104] Next, as a third diagnostic process, the second processor 42 determines whether or not a processor failure has occurred by comparing the value set in the variable a2 with the value set in the variable a33. Here, the value of the variable a2 is "q" while the value of the variable a33 is "p+1", and therefore the values of the variables a2 and a33 are different, so the second processor 42 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as a third diagnostic result.
[0105] Next, the second processor 42 sets the variable b1 to "q", which is the value set in the variable a31.
[0106] Next, as a second calculation process, the second processor 42 sets the variable b1 to X in the calculation formula 1-3, performs a calculation according to the calculation formula 1-3, and sets the value "s" obtained by the calculation according to the calculation formula 1-3 to the variable b2, as shown in equation (D5). Y=(s / q)X=(s / q)q=s …(D5)
[0107] Next, the second processor 42 transfers to the first processor 41 the variable b1 to which the value q has been set and the variable b2 to which the value s has been set.
[0108] Next, as a fourth diagnostic process, the first processor 41 sets the variable b1 to X in the arithmetic expression 1-4, as shown in equation (D6), performs a calculation according to the arithmetic expression 1-4, and sets the value "s" obtained by the calculation according to the arithmetic expression 1-4 to the variable b31. Y=(s / q)X=(s / q)q=s …(D6)
[0109] Next, as a fourth diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in variable b2 with the value set in variable b31. Here, since the values of variables b2 and b31 are both the same, "s," the first processor 41 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as the fourth diagnostic result. The first processor 41 also outputs "s," which is the value set in variable b2, to the third processor 43 as the final calculation result.
[0110] Next, as a fifth diagnostic process, the first processor 41 sets the variable b1 to X in the arithmetic formula 4-1, as shown in equation (D7), performs a calculation according to the arithmetic formula 4-1, and sets the value "q" obtained by the calculation according to the arithmetic formula 4-1 to the variable b32. Y=X=q …(D7)
[0111] Next, as a fifth diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in the variable b2 with the value set in the variable b32. Here, the value of the variable b2 is "s" while the value of the variable b32 is "q," and therefore the values of the variables b2 and b32 are different, so the first processor 41 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as a fifth diagnostic result.
[0112] In addition, as a sixth diagnostic process, the first processor 41 sets the variable b1 to X in the arithmetic expression 4-2, performs a calculation according to the arithmetic expression 4-2, as shown in equation (D8), and sets the value obtained by the calculation according to the arithmetic expression 4-2, “q+1”, to the variable b33. Y=X+1=q+1 …(D8)
[0113] Next, as a sixth diagnostic process, the first processor 41 determines whether or not a processor failure has occurred by comparing the value set in the variable b2 with the value set in the variable b33. Here, the value of the variable b2 is "s" while the value of the variable b33 is "q+1", and therefore the values of the variables b2 and b33 are different, so the first processor 41 determines that no processor failure has occurred and outputs information indicating that the processor is "normal" to the third processor 43 as a sixth diagnostic result.
[0114] Then, since the first diagnostic result, the second diagnostic result, the third diagnostic result, the fourth diagnostic result, the fifth diagnostic result and the sixth diagnostic result all indicate "normal", the third processor 43 outputs information indicating that no failure has occurred in either the first processor 41 or the second processor 42 and that the field device 10 is operating normally as the final diagnostic result, and also outputs the final calculation result of the value s. The final diagnostic result and the final calculation result outputted from the third processor 43 are displayed on, for example, an LCD connected to the third processor 43.
[0115] <When fault diagnosis processing is not performed normally due to a processor failure> The following describes the differences from the above-mentioned "case where the fault diagnosis process is being performed normally because no processor fault has occurred."
[0116] That is, it is assumed here that an abnormality occurs in the comparison process between the variables a2 and a32 performed in the above-mentioned second diagnostic process, causing the second processor 42 to determine that the values of the variables a2 and a32 are the same despite the fact that they are different. In this case, the second processor 42 determines that a processor failure has occurred, and outputs information indicating that the processor is "abnormal" to the third processor 43 as the second diagnostic result.
[0117] Also, here, it is assumed that an abnormality occurs in the comparison process between the variable a2 and the variable a33 performed in the above-mentioned third diagnostic process, and the second processor 42 determines that the value of the variable a2 and the value of the variable a33 are the same despite the fact that they are different. In this case, the second processor 42 determines that a processor failure has occurred, and outputs information indicating that the processor is "abnormal" to the third processor 43 as the third diagnostic result.
[0118] Then, since there is at least one diagnostic result indicating “abnormality” among the first diagnostic result, the second diagnostic result, the third diagnostic result, the fourth diagnostic result, the fifth diagnostic result, and the sixth diagnostic result, the third processor 43 outputs information indicating that a fault has occurred in one or both of the first processor 41 and the second processor 42 and that the field device 10 is not operating normally as the final diagnostic result, but does not output the final calculation result of the value s.
[0119] The above describes fault diagnosis examples 1 to 4. Note that it is also possible to combine and carry out a plurality of diagnosis examples among fault diagnosis examples 1, 2, and 3. Also, the function of the third processor 43 can be implemented as hardware using a logic circuit.
[0120] The first embodiment has been described above.
[0121] [Example 2] <Field device system configuration> 3 is a diagram illustrating a configuration example of a field device system according to a second embodiment of the present disclosure. In FIG. 3, a field device system 100 includes a first field device 10A, a second field device 10B, a computer 50, and a fault diagnosis system 1B.
[0122] The first field device 10A includes a sensor 20, a first storage unit 30A, and a first processor 41. The first storage unit 30A stores first software 31.
[0123] The second field device 10B includes a second storage unit 30B and a second processor 42. The second storage unit 30B stores second software 32.
[0124] The fault diagnosis system 1B includes a first processor 41, a second processor 42, and a computer 50.
[0125] The first field device 10A is connected to the second field device 10B and the computer 50 via a network. In addition, the second field device 10B is connected to the first field device 10A and the computer 50 via a network. Therefore, the first processor 41 can communicate with the second processor 42 and the computer 50 mutually, and the second processor 42 can communicate with the first processor 41 and the computer 50 mutually.
[0126] In the field device system 100 having the above configuration, the first processor 41 shown in Fig. 3 performs the same process as the first processor 41 in the first embodiment, and the second processor 42 shown in Fig. 3 performs the same process as the second processor 42 in the first embodiment. In addition, the computer 50 shown in Fig. 3 performs the same process as the third processor 43 in the first embodiment.
[0127] The second embodiment has been described above.
[0128] As described above, the fault diagnosis system (fault diagnosis systems 1A and 1B of the embodiments) of the present disclosure includes a first processor (first processor 41 of the embodiments) and a second processor (second processor 42 of the embodiments). The second processor performs a first diagnosis, which is a fault diagnosis for the first processor, and the first processor performs a second diagnosis, which is a fault diagnosis for the second processor.
[0129] For example, the first processor and the second processor convert a sensor detection value, which is a value detected by a sensor, according to a predetermined arithmetic expression. The predetermined arithmetic expression has a first arithmetic expression that is a first part of the arithmetic expression and a second arithmetic expression that is a second part of the arithmetic expression. The first processor calculates an intermediate calculation result in the predetermined arithmetic expression using the sensor detection value and the first arithmetic expression. The second processor calculates a final calculation result in the predetermined arithmetic expression using the intermediate calculation result and the second arithmetic expression.
[0130] Also, for example, the second processor performs the first diagnosis using an arithmetic expression that is the same as the first arithmetic expression, and the first processor performs the second diagnosis using an arithmetic expression that is the same as the second arithmetic expression.
[0131] Also, for example, the second processor performs a first diagnosis using an equivalent arithmetic expression having a different structure from the first arithmetic expression, and the first processor performs a second diagnosis using an equivalent arithmetic expression having a different structure from the second arithmetic expression.
[0132] Also, for example, the second processor performs the first diagnosis using an equation that is an inverse of the first equation, and the first processor performs the second diagnosis using an equation that is an inverse of the second equation.
[0133] Here, the probability that multiple processors fail simultaneously is lower than the probability that a single processor fails. Therefore, by having the first processor and the second processor mutually diagnose processor failures as described above, the accuracy of processor failure diagnosis can be improved.
[0134] Moreover, the second processor further diagnoses whether or not the processing of the first diagnosis is being performed normally, and the first processor further diagnoses whether or not the processing of the second diagnosis is being performed normally.
[0135] This can further improve the accuracy of processor fault diagnosis.
[0136] In addition, some examples of combinations in the techniques of the present disclosure are described below.
[0137] (1) A fault diagnosis system comprising a first processor and a second processor, wherein the second processor performs a first diagnosis which is a fault diagnosis for the first processor, and the first processor performs a second diagnosis which is a fault diagnosis for the second processor.
[0138] (2) The first processor and the second processor convert a sensor detection value, which is a value detected by a sensor, according to a predetermined arithmetic equation, the predetermined arithmetic equation having a first arithmetic equation which is a first part of the arithmetic equation and a second arithmetic equation which is a second part of the arithmetic equation, the first processor calculates an intermediate calculation result in the predetermined arithmetic equation using the sensor detection value and the first arithmetic equation, and the second processor calculates a final calculation result in the predetermined arithmetic equation using the intermediate calculation result and the second arithmetic equation.
[0139] (3) A fault diagnosis system as described in (2), wherein the second processor performs the first diagnosis using an arithmetic expression identical to the first arithmetic expression, and the first processor performs the second diagnosis using an arithmetic expression identical to the second arithmetic expression.
[0140] (4) A fault diagnosis system as described in (2) or (3), wherein the second processor performs the first diagnosis using an equivalent arithmetic expression having a different structure from the first arithmetic expression, and the first processor performs the second diagnosis using an equivalent arithmetic expression having a different structure from the second arithmetic expression.
[0141] (5) A fault diagnosis system described in any one of (2) to (4), wherein the second processor performs the first diagnosis using an inverse equation to the first equation, and the first processor performs the second diagnosis using an inverse equation to the second equation.
[0142] (6) A fault diagnosis system described in any one of (3) to (5), wherein the second processor further diagnoses whether the first diagnosis processing is being performed normally, and the first processor further diagnoses whether the second diagnosis processing is being performed normally.
[0143] (7) A fault diagnosis method, in which a second processor performs a first diagnosis which is a fault diagnosis on a first processor, and the first processor performs a second diagnosis which is a fault diagnosis on the second processor. [Explanation of symbols]
[0144] 10 Field Devices 20 Sensors 30A First storage section 30B Second storage section 31 Daiichi Software 32 Second Software 1A Fault diagnosis system 41 First Processor 42 Second Processor 43 Third Processor
Claims
1. A first processor and a second processor, the second processor performs a first diagnosis, which is a fault diagnosis for the first processor; the first processor performs a second diagnosis, which is a fault diagnosis for the second processor; Fault diagnosis system.
2. The first processor and the second processor convert a sensor detection value, which is a value detected by a sensor, in accordance with a predetermined arithmetic expression; the predetermined arithmetic expression includes a first arithmetic expression that is a first part of the arithmetic expression and a second arithmetic expression that is a second part of the arithmetic expression, The first processor calculates an intermediate result of the predetermined arithmetic expression by using the sensor detection value and the first arithmetic expression; the second processor calculates a final calculation result in the predetermined calculation formula by using the intermediate calculation result and the second calculation formula; The fault diagnosis system according to claim 1 .
3. the second processor performs the first diagnosis using an arithmetic expression that is the same as the first arithmetic expression; the first processor performs the second diagnosis using an arithmetic expression that is the same as the second arithmetic expression; The fault diagnosis system according to claim 2 .
4. the second processor performs the first diagnosis using an equivalent arithmetic expression having a different structure from the first arithmetic expression; the first processor performs the second diagnosis using an equivalent arithmetic expression having a different structure from the second arithmetic expression; The fault diagnosis system according to claim 2 .
5. the second processor performs the first diagnosis using an inverse equation to the first equation; the first processor performs the second diagnosis using an inverse equation to the second equation; The fault diagnosis system according to claim 2 .
6. The second processor further diagnoses whether the first diagnostic process is performed normally, The first processor further diagnoses whether the second diagnosis process is performed normally. A fault diagnosis system according to any one of claims 3 to 5.
Citation Information
Patent Citations
Multi-variable transmitter and arithmetic processing method therefor
JP2005190461A
Transmitter and its duplexing method
JP2005309913A
High-security control device
JP2009086938A
Controller of rotary machine and driving device for vehicle
JP2023064795A