Riveting machine
By recording and analyzing state and time information in the state machine model of industrial machines, diagnostic information is generated and output on the user interface, solving the problem of difficult fault detection in complex industrial machines and improving the efficiency of fault identification and resolution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ATLAS COPCO IAS UK LIMITED
- Filing Date
- 2021-03-03
- Publication Date
- 2026-05-26
AI Technical Summary
Industrial machines are difficult to detect and diagnose during operation, especially in complex riveting systems. Existing technologies struggle to identify the current state of the machine and the cause of the malfunction, making it difficult to detect and resolve malfunctions in a timely manner.
By identifying the current and historical states in the state machine model of industrial machines, recording state time using a global timer, generating diagnostic information and outputting it on the user interface, providing state transition paths and fault indications, and utilizing a circular buffer to store state and time history, diagnostic capabilities are enhanced.
It enables rapid diagnosis and location of industrial machine faults, simplifies the fault identification process, and improves the operator's diagnostic efficiency and system reliability.
Smart Images

Figure CN113351819B_ABST
Abstract
Description
Technical Field
[0001] This application relates to methods and apparatus for operating, diagnosing, and troubleshooting faults in industrial machinery. More specifically, but not exclusively, this application relates to methods and apparatus for diagnosing and troubleshooting faults in riveting systems. Background Technology
[0002] During operation, industrial machines can experience difficult-to-detect faults because the system relies on its inputs and outputs to determine the correct timing of transitions within the machine's operating sequence. Furthermore, the timing or occurrence of these signals can vary over time by imperceptible amounts, ultimately leading to a faulty state. For example, during the transition from one state to another in its operating sequence, an industrial machine can provide corresponding input and output signals. In some cases, when an error occurs during the operation of an industrial machine, the input and output signals provided may not be the expected values, or may not be provided within the expected time, indicating a fault. However, industrial machines are typically large and complex, with many possible states and corresponding faults. For operators of industrial machines, this can make it difficult to determine in which state the machine is currently operating, or in which state a fault has occurred. Therefore, methods and equipment are needed for diagnosing and resolving faults in industrial machines such as riveting systems. Summary of the Invention
[0003] The purpose of one or more embodiments described herein is to eliminate or mitigate at least one of the above-described problems.
[0004] According to a first example described herein, a method for diagnosing faults in an industrial machine is provided. The method includes: identifying a first state associated with the industrial machine; identifying at least one second state associated with the industrial machine based on the first state; for each identified second state, determining a state time associated with the second state; determining a fault indicator condition based on the at least one second state and the corresponding state time, in response to determining that the industrial machine has spent a time period different from a predetermined time period in at least one of the at least one second state; generating diagnostic information in response to determining a fault indicator, the diagnostic information including an indication of one of the at least one second state; and outputting the diagnostic information to a user interface of the industrial machine.
[0005] Therefore, the first aspect allows for the generation of diagnostic information based on information associated with at least one second state of a state machine modeled for the operation of the industrial machine. The at least one second state can be the currently active state of the state machine. Based on the diagnostic information output in the user interface of the industrial machine, the operator can determine in which state the machine is currently operating, or in which state a malfunction has occurred.
[0006] The method may further include maintaining a history of states and associated state times during the operation of the industrial machine, wherein identifying a second state and the state time associated with the second state includes identifying the second state and the associated state time from the history of states and associated state times. The history of states and associated state times may be stored in a circular buffer. The circular buffer may include a pointer to a memory location storing the currently active state of the industrial machine. It should be understood that using a circular buffer can further improve the operating speed of the method related to the first aspect. The history of states and associated state times may also be stored in a buffer of any fixed size.
[0007] The method may further include: in response to determining a fault indicator condition, copying the contents of a predetermined number of data entries from the history of the state and the relevant state time. For example, the predetermined number could be all current entries. In this way, subsequent overwriting of entries (e.g., where entries are stored in a circular buffer or other fixed-size buffer) does not erase information that can be used to diagnose problems within the industrial machine. In practice, it should be understood that for some industrial machines, state transitions may occur very rapidly, such that relevant information may be lost from the state history data shortly after a fault is detected.
[0008] The state time associated with each of at least one second state can be based on the value of a global timer during the transition to the second state, where the industrial machine uses this global timer to synchronize all operations of the industrial machine. Baseing the state time on the value of the global timer allows for cross-checking of the state history based on I / O signals, thus providing another mechanism for diagnosing faults within the industrial machine.
[0009] The user interface may also include instructions for generating a state history of the industrial machine, which includes the current state of the industrial machine, states that will be activated after the current state, states that were activated before the current state, and the state time associated with the current state.
[0010] This method can further include displaying a user interface on the human-machine interface (HMI) of an industrial machine. Industrial machines typically have HMIs that can only display a limited amount of information and can only be refreshed infrequently. The user interface generated according to the techniques described herein is particularly well-suited to the technical limitations typically provided for HMIs in industrial machines.
[0011] The user interface may further include instructions on the transition path that the industrial machine follows to reach the current state.
[0012] The method may further include providing a state-enforcing user interface element in the user interface, wherein selection of the state-enforcing user interface element causes the industrial machine to transition to a predetermined state. For example, the state-enforcing user interface may force the industrial machine to transition to a preset state (e.g., a startup state or an initial state), or it may force the industrial machine to transition to a state selected by the operator. By forcing the industrial machine to transition to a specific state, the industrial machine can perform operations associated with that state.
[0013] This method can further include maintaining the history of the state and associated state time after selecting a state-enforcing user interface element during the operation of the industrial machine. This feature allows for continuous diagnostic operations on the industrial machine even after a forced operator action. In this way, the operator can force the industrial machine to a specific state (e.g., a state suspected to be the root cause of a fault condition) and continue monitoring the operation of the industrial machine.
[0014] Generating diagnostic output may further include processing the second state and state timing information to produce an output indicating the time of state transition. The method may further include providing a time calculation user interface element configured to display the output indicating the time of state transition, the time calculation user interface being configured to allow an operator to select two locations in the output indicating the time of state transition and output the time period between the selected two locations. The time calculation user interface element allows the user to easily determine the time elapsed for a state.
[0015] The method may further include: identifying changes in I / O signals associated with an industrial machine; assigning values indicating changes to status indicators associated with the I / O signals, the assignments being configured to last for a predetermined time period; generating diagnostic information, the diagnostic information including an indication of the current value of the I / O signals and the current value of the status indicators; and outputting diagnostic output based on the diagnostic information in the user interface of the industrial machine.
[0016] According to the second example described herein, a method for diagnosing faults in industrial machinery is provided. The method includes: identifying changes in I / O signals associated with the industrial machinery; assigning values indicating the changes to a status indicator associated with the I / O signals, the assignments being configured to persist for a predetermined time period; generating diagnostic information including an indication of the current value of the I / O signals and the current value of the status indicator; and outputting diagnostic output based on the diagnostic information in a user interface of the industrial machinery. By updating the status indicator with values configured to remain constant over the predetermined time period, changes in the I / O signals can be displayed on human-machine interfaces typically equipped on industrial machines. In particular, status changes can be displayed on a human-machine interface with a relatively slow refresh rate. The diagnostic output can be diagnostic information or output based on diagnostic information.
[0017] Diagnostic information can be generated at each refresh interval of the HMI (Human Machine Interface) of an industrial machine. The predetermined time period can be greater than the refresh rate of the HMI. For example, the predetermined time period can be greater than or equal to two refresh cycles of the HMI.
[0018] The method may further include resetting the status indicator associated with the I / O signal after a predetermined time period has elapsed. Outputting diagnostic information in the user interface of the industrial machine may further include using an indicator with four operating modes to output the diagnostic information: a first mode indicating that the I / O signal is low and no high signal has been received during the predetermined time period; a second mode indicating that the I / O signal is low but a status change has occurred during the predetermined time period; a third mode indicating that the I / O signal is high and a status change has occurred during the predetermined time period; and a fourth mode indicating that the I / O signal is high and has not changed during the predetermined time period.
[0019] An I / O signal can be one of multiple I / O signals, a status indicator associated with an I / O signal can be associated with multiple I / O signals, and diagnostic information can indicate a change in any of the multiple I / O signals.
[0020] The method may further include maintaining a diagnostic signal history buffer for multiple I / O signals, the diagnostic signal history buffer being configured to provide a historical indication of changes to any of the multiple I / O signals.
[0021] The diagnostic signal history buffer may include multiple slots, each slot including an entry for each I / O among multiple I / O signals, and wherein each slot represents the state of multiple I / O signals at different times in the past, and the diagnostic output may be based on the slot of the diagnostic signal history buffer referenced by an index, wherein the index is updated to reference the next slot of the diagnostic signal history buffer at a predetermined frequency.
[0022] The method may further include an indication of attenuating changes in a plurality of I / O signals stored in at least one slot at a predetermined frequency. Attenuating the changes in the plurality of I / O signals stored in the slot may include resetting the values stored in the slot.
[0023] Diagnostic information may include bits for each of a plurality of I / O signals, and each slot of the diagnostic signal history buffer includes bits for each of the plurality of I / O signals. The method may further include: updating a value stored in each slot by logically combining the diagnostic information with a value stored in the slot in response to generating diagnostic information indicating a change in at least one of the plurality of I / O signals; and resetting the value of the currently indicated slot. It should be understood that the currently indicated slot may be reset before or after updating the index to the next slot. The number of slots may be equal to or greater than the number of I / O signals among the plurality of I / O signals.
[0024] The predetermined frequency can be based on the sum of the number of slots in the diagnostic signal history buffer and the refresh cycle of the industrial machine's human-machine interface.
[0025] Assigning a value to the status indicator to indicate a change may further include storing the time associated with the change. Storing the time associated with the change may further include recording the time indicated by a global timer when the change occurs.
[0026] Industrial machines can be riveting machines, adhesive dispensing machines, or flow drilling systems.
[0027] According to the third example described herein, a system for diagnosing faults in industrial machinery is provided. The system may further include a controller and a memory storing computer-readable instructions, the memory being configured to cause the controller to perform the method according to the first or second aspect.
[0028] According to the fourth example described herein, an industrial machine is provided. This industrial machine may include systems described in the above examples or elsewhere herein.
[0029] Having described features above in the context of one exemplary implementation, it will be understood that such features can be applied to other exemplary implementations where appropriate. In fact, any features described above and elsewhere herein can be combined in any operable combination, and such combinations are expressly contemplated in this disclosure.
[0030] To the extent appropriate, the methods described herein can be implemented by suitable computer programs; therefore, a computer program comprising processor-readable instructions arranged to cause the processor to execute such control methods is provided. Such a computer program can be carried on any suitable carrier medium (which may be tangible or intangible). Attached Figure Description
[0031] Embodiments will now be described by way of example only with reference to the accompanying drawings, in which:
[0032] - Figure 1 This is a schematic diagram of a state machine;
[0033] - Figure 2 This is a schematic side view of the riveting system;
[0034] - Figure 3 The diagram schematically illustrates the rivet installation tool 10, rivet band, and rivet band reel that perform sprocket feed for the riveting system.
[0035] - Figure 4A The tape reel is shown schematically, and Figure 4B A rivet mounting tool feed subassembly 300, including a cutter assembly and a rivet sensor, is schematically shown.
[0036] - Figure 5 This is a schematic diagram of the state machine modeling the sprocket feed operation of the rivet installation tool;
[0037] - Figure 6 This is a flowchart illustrating the process used to perform diagnostics on industrial machines;
[0038] - Figure 7 This is a schematic diagram of an example data structure that can be used to record multiple states associated with an industrial machine and the time the industrial machine operates in each of the multiple states.
[0039] - Figure 8 and 8A This is a schematic diagram of an enhanced diagnostic display that can be provided to operators of industrial machines;
[0040] - Figure 9 This is a schematic diagram of a diagnostic system used to generate and provide diagnostic information for, for example... Figure 2 The continuous operation and maintenance of industrial machines using the rivet system shown;
[0041] - Figure 10 It can be made by Figure 9 A graphical representation of the enhanced diagnostic information generated by the diagnostic system;
[0042] - Figure 11 This is a flowchart illustrating an example process that can be executed to maintain the history of I / O signals used to generate diagnostic information; and
[0043] - Figures 12 to 14 This is a schematic diagram of diagnostic outputs that can be provided to operators of industrial machines;
[0044] - Figure 15 This is a schematic diagram of an example data structure that can be used to record multiple changes in I / O signals associated with industrial machines;
[0045] - Figure 16 Stored during the operation of the technology described in this article Figure 15 A diagram illustrating how data changes within a portion of the data structure shown; and
[0046] - Figure 17 and Figure 18 This is a schematic diagram of diagnostic outputs that can be provided to operators of industrial machines. Detailed Implementation
[0047] Reference Figure 1 This illustrates an example state machine that can be used in conjunction with the techniques described herein. Typically, a state machine is a logical construct comprising multiple stages within a sequence of operations, referred to as "states." A state machine will have an initial state ( Figure 1 S0 in the context of the startup logic will be activated when the operation logic is initiated, along with many other states ( Figure 1 S1 to S5 in the equation, these states can be set under the required transition conditions ( Figure 1 The state machine is activated when t1 through t9 in the given timeline is true. A transition is a logical condition consisting of control inputs, comprised of time, input, and output signals. Developers can prioritize trying the best path through the sequence for any given set of operating conditions. The state machine can be in any of a fixed number of states based on the immediately preceding previous state and the current values of its control inputs. During operation, when the conditions constraining the transition are met, the state machine transitions from its initial state or its current state to one or more different states in a specific order.
[0048] Example state machine 100 comprises six states, each represented by values from S0 to S5. Each state is linked together by transitions, such that each transition has a source (start state) and a target (end state). A condition is associated with each of these transitions such that when the condition is evaluated as "true" (i.e., the condition is met), state machine 100 transitions from the source state to the target state associated with said transition, and typically stops evaluating any other transitions to prioritize machine ordering. This can be done, for example, by setting conditions for higher-priority transitions that are not active within each state, or by skipping the logic of evaluating lower-priority transitions once the conditions for higher-priority transitions are met.
[0049] In example state machine 100, state S0 is linked to states S1, S2, and S3 via conditions t1, t2, and t3, respectively, such that when any of these conditions is executed, state machine 100 transitions from S0 to one of states S1, S2, or S3. Typically, state transitions are prioritized, so if two or more transitions are active simultaneously, one takes precedence. States S1 and S2 are linked to state S4 via conditions t5 and t6, respectively, and states S1, S3, and S4 are linked to state S5 via transition conditions t4, t7, and t8, respectively. State S5 is further linked to the default state S0 via transition condition t9.
[0050] After a state transition, state machine 100 will process all entry actions associated with the newly activated state [E] before evaluating the normal logic of the state. State machine 100 will then continue operating in the currently active state, performing any operations specific to that state, until a valid transition(t) condition becomes active. This will result in the execution of any exit actions of the current state [X] before transitioning to the next state or the target state in the sequence. When the state is inactive, no code or transition logic associated with that state will be executed.
[0051] Including the entry action E and / or exit action X in the state ensures that a specific set of actions can be performed on the entry and exit of the state, regardless of the transition path followed by the state machine. This is useful for initializing the data used to activate the new active state and for tidying up any unfinished operations before the state sequence continues.
[0052] When modeling industrial machines, the states of a state machine correspond to the steps the machine takes to perform its operations. Transitions from one state to another occur based on the input signals provided to the machine, time, or a combination of both. For example, one or more state machines can be used in a riveting system to model the operation of motion and feed logic, ensuring that the system performs the required functions in response to appropriate input signals.
[0053] The output of an industrial machine depends on its current active state and the logic operating within that state, where the output typically changes only during transitions between states. In some cases, a malfunction can occur, causing the state machine's inputs to be incorrect, preventing proper transitions. This, in turn, can result in the industrial machine providing output signals that exceed expectations, or fail to provide them within the expected timeframe (or not at all).
[0054] While state machines can allow for the modeling of complex industrial machines such as riveting systems, these state machines can be large and complex, making their operation difficult for users to understand, and consequently, the operation of the industrial machine. Therefore, it is often difficult to identify errors or faults in industrial machines modeled by complex state machines. Thus, there is a need for methods and equipment for diagnosing and resolving faults in industrial machines such as riveting systems, whose operation can be modeled using complex state machines.
[0055] State machines (e.g.) Figure 1 The state machine shown can be used to model the operation of industrial machines. Typically, when using a state machine to model the operation of an industrial machine, the output to be produced when performing the action associated with each state is known in advance. If the output produced by the state machine when performing the action associated with the currently active state of the state machine differs from the expected output, if there is a delay in producing the output, or if no output is produced, it means that there is a functional failure in the industrial machine whose operation is modeled by the state machine.
[0056] In complex industrial machines such as riveting systems, the state machines used to model the operation of these machines can range from, for example, 256 states or more. Therefore, operators may find it difficult to understand the operation of the state machine for troubleshooting purposes. In such cases, it would be useful for operators to have access to information that allows them to diagnose and resolve faults in the industrial machine based on the currently active state of the state machine.
[0057] The techniques described in this paper provide methods and apparatus for diagnosing and resolving faults in industrial machines using state machines that model the operation of the industrial machine based on information associated with the machine's current active state. References Figures 2 to 8 The example arrangement is described in more detail using an example of a riveting system and a sprocket feed operation performed by the riveting system.
[0058] exist Figure 2The diagram shows a rivet mounting tool 10, which includes a rivet mounting actuator 15 mounted on the upper arm of a conventional C-frame 200, located above a rivet forging die 12 supported in the lower arm of the C-frame 200. As is known in the prior art, the tool 10 inserts a rivet into a workpiece W supported on the die 12. The C-frame 200 is mounted on a robot manipulator (not shown), enabling the C-frame 200 to be moved toward and away from the workpiece W as needed by the robot using the tool 10. A feed device (not shown) parallel to the C-frame 200 is designed to supply rivets R from a material source to the mounting tool 10 in a predetermined and controllable manner.
[0059] The mounting tool 10 includes a cylindrical housing that houses a reciprocating plunger, which is translated relative to the housing by hydraulic, pneumatic, or electric drive. The housing has an end nose portion 14 with an annular surface for contact with the workpiece W, where a joint is formed, and the plunger terminates at a punch (not shown) that reciprocates within a channel. Figure 3 (Best visible in the middle), the channel extends through the nose. To insert the rivet into the workpiece W, a plunger is driven, causing the punch to descend in the channel, extending beyond the nose 14 and contacting the rivet already supplied to the end of the channel in the nose 14. A continuously applied force drives the punch through the nose 14, causing the rivet to be inserted into the workpiece W.
[0060] The operation of the rivet feeding system of the rivet installation tool 10 can usually be achieved by means of, such as Figure 1 The state machine shown is a state machine like state machine 100.
[0061] Figure 3 A perspective view of the rivet feeding device tool 300 (also referred to as a rivet insertion tool) and the rivet band 300a is depicted. Rivets are supplied to the rivet feeding device 300 via the rivet band 300a, and rivets 300b are distributed along the rivet band 300a. The rivet band 300a is wound onto the reel carrier 300c in a spool manner and is connected to the nose assembly 300d of the riveting mounting tool 300 (i.e., corresponding to...). Figure 2 The nose portion 14) is supplied from a reel. The nose portion assembly 300d is typically located at one end of the rivet mounting tool and includes a punch (not shown). The punch moves relative to the nose portion assembly 300d, and depending on the position of the punch, the nose portion assembly is in a fixed or retracted position. When the punch extends toward the workpiece, the nose portion assembly is in the fixed position, while when the punch does not extend toward the workpiece, and space is left between the punch and the workpiece for rivet positioning, the nose portion assembly is in the retracted position.
[0062] Figure 4A and4B The feed path of the belt feed riveting tool is shown. Figure 4A A cross-sectional view shows a rivet strip 300a wound on a reel carrier 300c, with the rivet strip, loaded with rivets 300b, passing through a tube 300e. The rivet strip 300a is fed through the tube 300e to the rivet mounting tool 10. The rivet strip 300a is pulled by a sprocket feed actuator 300f (e.g., a pneumatic motor with a sprocket) via the feed subsystem 300 (not visible) of the rivet mounting tool. Figure 4A As shown, tube 300e may optionally include sensor 300g to sense the end of the rivet band. Figure 4B The image shows a perspective view of the feed subsystem of a rivet installation tool 10, which includes a cutter assembly 300h and a rivet sensor 300i.
[0063] The feed motor 300f pulls the rivet band 300a past the nose assembly 300d until the rivet enters the rivet receiving member (not shown), and the rivet is... Figure 4B The sensor 300i shown detects the rivet. Then, the feed motor 300f stops, and the actuator (not shown) of the rivet installation tool 10 (not shown) drives the rivet into the workpiece. The feed motor 300f then moves again until the next rivet is detected, and so on. The sensor 300g also detects when the reel reaches its end, with 30 to 100 rivets remaining, depending on the application, allowing the operator of the rivet installation tool 10 to schedule replacement when the riveting is inactive. Once the tape 300a is fed through the nose assembly 300d, the used tape 300j is wound into the waste receiver on the fixing system, or... Figure 4B The pneumatic belt cutter assembly 300h shown includes a cutter blade (not shown) and cuts to a controllable length. It should be understood that in some rivet installation tools, a spring reel arrangement with a pneumatic reel or a simple reel carrier can also be used to deliver rivets via the reel carrier 300c.
[0064] Figure 5 A schematic diagram of state machine 500 is provided, which is adapted to model the feed control logic that performs the rivet feed operation of the rivet installation tool 10. Initially, when the rivet feed operation of the rivet installation tool is disabled, the feed control logic is in an inactive state and state machine 500 is in the default state "feed off" (S0). When the feed operation of the rivet installation tool 10 is enabled (e.g., by removing any machine stop input and enabling the feed control logic), the exit condition t1 associated with the feed off state S0 is satisfied. When t1 is satisfied, state machine 500 transitions from the feed off state S0 to the "ready" state (S1).
[0065] In the "Ready" state (S1), if any external stop input is detected, condition t2 will be activated, and the system will return to the "Feed Off" state (S0). However, if the machine stop input remains inactive, there is no active rivet feed request, and a cutting request is activated, the condition for exit condition t4 will be met, and system 500 will transition to the "Cutting" state (S3).
[0066] When the active state of state machine 500 is "belt cutting" (S3), belt cutting is initiated, causing the belt cutter blade of belt cutter assembly 300h to cut waste rivet belt 300j. When rivet belt 300j is cut, the exit condition t9 associated with the belt cutting state (S3) is satisfied, causing state machine 500 to transition to the "cutting return" state (S7).
[0067] When the "cutting return" state (S7) is activated, the tape cutter blade retracts, clearing the feed path for the waste tape 300j. After the tape cutter blade retracts, the feed control logic of the rivet mounting tool 10 waits for the tape cutting request signal to be removed, at which point the exit condition t15 is activated, causing state machine 500 to transition to the "ready" state (S1). In the "tape cutting" state (S3) or the "cutting return" state (S7), the system will not respond to any rivet feed requests, thus eliminating the possibility of moving the sprocket tape during the tape cutting process, which will result in higher feed reliability.
[0068] In the "Ready" state (S1), if no stop condition or cut request is activated when the feed control logic receives a "feed request" or "feed next" command signal, then exit condition t3 is activated, and state machine 500 transitions to the "feed active" state (S2). When transitioning from the "Ready" state (S1) to the "feed active" state (S2), the feed pull counter is reset to zero via an exit action.
[0069] Upon entering the "feed active" state (S2), the feed pull counter increments via the entry action, and when the feed control logic is in the "feed active" state (S2), the feed actuator 300f is activated, which pulls the rivet band 300a into the nose 300d. There are four exit conditions associated with the "feed active" state (S2).
[0070] First, if the nose switch sensor 300i becomes active within a predetermined time period (selected based on the tool's movement state (fixed or retracted)), or if the maximum feed pull is reached using the "feed next" command, then the exit condition t7 is activated, and state machine 500 transitions to the "complete" state (S6). For example, if the nose switch sensor 300i becomes active based on the tool's movement for the required duration (typically 0.125 seconds when fixed and 0.1 seconds during retraction), the feed control logic can transition to the "complete" state (S6).
[0071] Secondly, when the feed actuator 300f is active for a predetermined time and the number of feed pull cycles is less than the maximum allowed value, such as 1 second and 3 pulls, while the nose switch sensor 300i is not activated, the exit condition t5 is met, and the feed control logic 500 transitions to the "feed pause" state (S4).
[0072] Third, when the feed actuator 300f is activated within a predetermined time and the number of feed pull cycles reaches the maximum allowed value, such as 1 second and 3 pulls, while the nose switch sensor 300i is not activated, the exit condition t6 is met, and the feed control logic 500 transitions to the "feed fault" state (S5).
[0073] Finally, if both the "feed request" and "feed next" command signals are removed, the exit condition t8 will be satisfied, and the feed control logic will transition to the "ready" state (S1), thereby interrupting any feeds that may be in progress.
[0074] When state machine 500 is in the "feed pause" state (S4), the feed actuator is deactivated, allowing the component of the rivet installation tool 10 performing the rivet feed (300f) to return to its initial position. If the feed control logic is disabled while state machine 500 is in the "feed pause" state (S4), exit condition t10 is satisfied, and state machine 500 transitions to the "feed off" state (S0). If the actuator has been deactivated for a specified period of time, such as 0.25 seconds, exit condition t11 is satisfied, and state machine 500 transitions to the "feed active" state (S2).
[0075] When state machine 500 transitions to the "feed fault" state (S5), a fault code corresponding to the feed problem will be set according to the state of the end of sensor 300g, and state machine 500 will remain in the "feed fault" state (S5) until a fault confirmation signal is received. At this time, transition t12 will be satisfied, and the feed fault code will be reset to zero, and then transition back to the "feed off" state (S0).
[0076] When the current active state of the feed system is "Completed" (S6), the feed system has either fed the rivet below the punch attached to the nose 300d or paused during a "Feed Next" command. In this state, the system waits for the removal of the "Feed Request" and "Feed Next" commands that satisfy exit condition t14, and if the feed system is still enabled, it causes state machine 500 to return to the "Ready" state (S1), or if the feed control logic is disabled, exit condition t13 is satisfied, and state machine 500 returns to the "Feed Off" state (S0).
[0077] from Figure 5 As can be seen, when the cause of a fault is known in advance, a state machine 500 is equipped to handle the fault, such as exceeding the predetermined limit of rivet pulling, and to notify the operator of such a fault. However, if the performance of the rivet installation tool is degraded due to an unknown problem, it is difficult for the operator to identify the fault in the operation of an industrial machine using a state machine before the fault occurs, because the fault could be caused by any action performed by the industrial machine. In this case, in order to identify the fault and diagnose the industrial machine, the operator may have to understand the operation of the industrial machine by carefully examining each transition path in the state machine, which models the operation of the industrial machine and the actions associated with each state in the transition path. For complex industrial machines, such as... Figure 2 and Figure 3 The rivet installation tool 10 shown has a transition path that can be on the order of hundreds, making it difficult for operators to properly diagnose the operation of industrial machines.
[0078] Now refer to Figure 6 Describe a method for diagnosing, such as Figure 3 The method for an industrial machine with a rivet installation tool, as shown, is based on information associated with the current and previously activated states of a state machine, such as... Figure 5 The operation of the industrial machine shown is modeled.
[0079] exist Figure 6 The diagram illustrates the processes used to perform diagnostics on an industrial machine. In step 600, a first state associated with the industrial machine is identified. The identified first state is the current active state of a state machine that models the functionality of the industrial machine. For example, refer to... Figure 5 The state machine 500 shown, if the currently active state is "feed active" state S2, then state S2 will be the first state associated with an industrial machine such as a riveting tool. Once the first state associated with the industrial machine is identified, the process moves from step 600 to step 601, where further processing is performed to obtain information associated with the first state.
[0080] In step 601, processing is performed to identify one or more second states associated with the industrial machine based on the first state. A second state is a state in which the state machine is active at any time before transitioning to the first state. That is, a second state is a state through which the state machine transitions to reach the first state. For example, refer to... Figure 5 If the current active state is "feed active" state S2, then based on the transition path followed by state machine 500 to reach "ready" state S1, the second state can be either "ready" state S1 or "feed paused" state S4.
[0081] State time is associated with each second state. The state time associated with a second state is the point in time when the state machine transitions to that second state. The state time associated with a second state can be obtained using a timer associated with the industrial machine. The timer can be a global timer that synchronizes all operations of the industrial machine. That is, a global timer can be a timer used to measure the time of every aspect of the industrial machine and allows for temporal comparison of operations in different parts of the system.
[0082] After identifying multiple second states and the state time associated with each second state, the process proceeds from step 601 to step 602. In step 602, using a state time threshold for the second state and the state time associated with the second state, it is determined whether the state machine has spent an unexpected amount of time in any of the second states. The state time threshold for the second state indicates the expected time for the industrial machine to perform a set of actions associated with that second state. Thus, if at least one of the second times differs from the expected state time for that second state, this may indicate a fault, or that the performance of the industrial machine is below expected performance. For example, if at least one second time exceeds the state time threshold for that second state, this may indicate a fault, or that the performance of the industrial machine is below expected performance. It should be understood that the time spent by the industrial machine in the second state can be determined as the time period between the state time associated with the second state and the state time associated with the next state to which the industrial machine transitions.
[0083] consider Figure 5The state machine shown determines the complete feed process of the rivet installation tool 10 through a series of states transitioning between the ready state S1 and the completed state S6. If the global time for entering the feed activation state S2 from the ready state S1 is tm1, and the global time for entering the completed state S6 is given by tm2, then the active period of the feed process can be determined as (tm2-tm1). If the time threshold associated with the feed process is th1, and if (tm2-tm1) is greater than th1, then it can be determined that the feed control logic of the rivet installation tool 10 takes more time than previously determined to perform the rivet feed operation, and therefore the system may be faulty. Therefore, it is possible to analyze the... Figure 5 The state machine in the process is associated with the time to identify faults in the operation of the rivet installation tool 10.
[0084] However, as mentioned above, the number of states and the speed at which industrial machines transition between states mean that simply displaying the state transition when it occurs may not be sufficient to allow for timely identification of specific faults. The interfaces typically provided for use with industrial machines exacerbate this problem. For example, to ensure cost-effectiveness, industrial machines are often equipped with displays that have relatively slow refresh rates compared to those used in other computing devices. Figure 6 As part of the process described herein, the second state and its associated state time can also be stored. Optionally, the first state and its associated state time can also be stored. In some embodiments, a circular buffer provides a particularly useful mechanism for storing state time and multiple states, allowing for the diagnostics of industrial machines.
[0085] When diagnosing the operation of the machine, the circular buffer 700 contained within the corresponding state machine structure of the pointer 701 that changes relative to the latest state can be used. Figure 7 Extract the state sequence and state time from the data.
[0086] Table 1-3 below shows the performance of feeds during "normal", "slow", and "poor" feed processes. Figure 5 The time spent in a specific state. As mentioned above, the time for each state transition and the time for the state to become active are recorded. Therefore, the duration of activity of a specific state can be calculated by subtracting the time of entering a specific state from the time of entering the next state. The latest state input time can be subtracted from the current global timer value to determine how long the current state has been active.
[0087]
[0088] Table 1 – Normal Feed
[0089]
[0090] Table 2 – Slow Feed (Multiple Feed Pulls):
[0091]
[0092] Table 3 – Poor Feed (Pause during final feed pull):
[0093] As shown in Table 1, normal feed involves a transition from the ready state S1 to the active state S2. The system spends 0.4 seconds in the active state S2 before transitioning to the completed state S6. Conversely, slow feed (Table 2) involves a first transition to the active state S2, followed by a transition to the paused state S4, and a second transition back to the active state S2 before transitioning to the completed state S6. During the slow feed example, the total time spent in the active state is 1.6 seconds. Finally, in the poor feed example (Table 3), the system enters the active state S2 a total of three times, each time for 1 second, before finally transitioning to the faulty state S5 without completing the feed pull.
[0094] refer to Figure 7 For each state machine requiring enhanced diagnostics, a data structure can be stored, which may contain the following information:
[0095] Step — This value represents the current state.
[0096] Next—this value is set before invoking the state machine's processing function to request a transition from one state to another. This will cause the steps, sequence, and previous variable to be updated, as well as the timer to be reset, and the new state and global transition time to be stored in the history buffer, and the history pointer to be updated. Whenever a transition condition occurs (such as the transition from t1 to t15 in state machine 500), this value is assigned a value based on the control logic to allow the state machine to proceed step by step to the next state of its operation.
[0097] Forced – As described below, the techniques described herein enable an operator to manually reset a state machine to a desired state. When the forced value is not set to “inactive,” the forced value overwrites the next value when a state machine processing function is invoked to force a state transition, after which it is inactive again, and this forced state transition is stored in a state history buffer.
[0098] The previous state value was stored before the state was changed, for future reference, as it is often useful to determine the action in a state based on which state it transitioned from.
[0099] Timer – This value represents the time the current state has been active and increments each time state machine processing logic is executed. This value can be used to ensure the shortest possible time before a state transition, or to trigger time-based events (such as faults).
[0100] The sequence—each time the state value changes, the state value is shifted into the lowest 8 bits of this 32-bit value, and the other data within the 32-bit value are shifted similarly. Therefore, this single variable stores the active current state and the three past states. This is particularly useful for displaying previous states on a user interface display.
[0101] Latest—Each monitored state machine has two circular buffers (by...) Figure 7 The inner and middle rings (represented in the diagram) store state numbers and the number of times a state transition occurs. The latest value is a pointer to these arrays, which stores the most recent state transition and is used to trace back through historical data when needed for analysis.
[0102] The depicted state[] and time[] values provide a cyclic buffer for the current and previous states and their associated times, and also... Figure 7 The diagram is illustrated below. It should be understood that, while conceptually and functionally, the circular buffer provides a buffer for the state and state-time history, and any suitable underlying data structure, such as an array, can be used.
[0103] Figure 7 The circular buffer 700 includes 32 segments for each state and its associated state time. However, it will be understood that the circular buffer can include any number of segments. Each pair of corresponding segments in the circular buffer is capable of storing a state number and its associated state entry time. The circular buffer 700 includes a pointer 701 pointing to a memory location of a segment of the circular buffer 700. Initially, when the industrial machine is not operating, pointer 701 points to segment 0. When the industrial machine begins its operation, the state machine modeling the operation of the industrial machine transitions from a default state to another state depending on the transition or exit conditions performed by the industrial machine as described above. Thereafter, pointer 701 is incremented to point to the next memory segment of the circular buffer 700, and the number of states and the associated state time are written to the segment pointed to by pointer 701 in the circular buffer 700.
[0104] An alternative to the historical structure discussed above is to store the current state number and the time the state was activated in a history buffer when a state transition occurs. This can be used, for example, in systems without a global timer, or in systems where simpler processing, such as those preferring single state activation times, is preferred. Both approaches provide similar information, although synchronizing data across multiple state machines or other diagnostic functions may not be straightforward without a global timer.
[0105] consider Figure 5As shown in the state machine 500, when the state machine 500 transitions from one state to another, the pointer 701 is incremented, and the new state number and the value of the global system timer are written to the segment entry pointed to by the pointer 701.
[0106] After that, Figure 6 At step 601, the determination of the second state and its associated time can be performed by directly decreasing the value of pointer 701. If the value of pointer 701 is less than zero, the process wraps back. Additionally, the second state and its time can be displayed to the operator, allowing the operator to identify second states that have exceeded a time threshold.
[0107] Figure 8 An exemplary diagnostic display 800 is shown, which can be used after the above-mentioned references have been performed. Figure 6 The described process is then provided to the operator. The display 800 includes a simplified logic flowchart 800a, which depicts the relationships between multiple states in the state machine 500. The currently active state can be visually highlighted within the logic flowchart 800a by color changing or other methods, while the initial state can be represented by a double frame surrounding state S0.
[0108] In section 800b of display 800, the current active state, the requested ("next") state following the current active state (which will generally be the same as the current state), the state preceding the current active state, and the state time associated with the current active state are displayed. If the current active state of state machine 500 is state S4, section 800b will display the "step" value as "S4", the "next" value as "S4", "S2", or "S0", the "previous" value as "S2", and the "timer" value as the state time of state S4, depending on whether the state transition is active. In section 800c of display 800, the transition path followed by the state machine to reach the current active state is shown. For example, when the current active state of state machine 500 is state S4, the transition path displayed in section 800c could be S0 (old), S1, S2, and S4 (new).
[0109] The display 800 provides the operator with information about the internal state of the industrial machine and related technical conditions or events. Any changes in the internal state of the state machine are automatically detected and presented to the operator, prompting the operator to interact with the system, such as identifying and resolving faults in the system.
[0110] For example, display 800 provides the operator with information about the currently active state of a state machine that models the operation of an industrial machine. The information also includes the transition paths the state machine follows to reach the current active state, and the state time associated with each state in the transition path. By using display 800, the operator can identify states in the transition paths where the industrial machine operates for longer than expected. In this way, the operator can diagnose faults in the industrial machine by analyzing the actions associated with those states.
[0111] Furthermore, if the industrial machine deadlocks in a specific state, the display 800 also allows the operator to force the machine to transition to a different state. For example, the "Next" entry in segment 800b of the display 800 can be modified to force a state transition, thereby removing a deadlock within the system or triggering an action associated with a specific state. That is, for example, if the system deadlocks in the "feed pause" state S4, the operator can force the state machine to transition to state S2 or state S0. In some cases, the operator can decide which state to force the industrial machine to transition to based on the state machine's logic flowchart 800a. Figure 8 In section 800b, the "Next" entry allows the operator to force a state transition or shift by setting a "Force" state structure variable. It should be understood that this functionality can be provided by another user interface element (e.g., Figure 8 Another user interface shown in the image, or Figure 8 (User interface not shown). The display 800 thus helps the operator identify and resolve malfunctions in the operation of industrial machines.
[0112] Further visualization of state transitions can be provided. If state transitions are processed to provide, for example... Figure 8A The representation 1202 shown facilitates error determination, where the x-axis represents time and the y-axis represents the activation step number. On interfaces designed for use with industrial machines, determining the time between two points on representation 1202 may not be easy. At this point, logic analyzer-style cursor functions 1204a and 1204b can be provided, each movable by the operator along the display 1202. The system can automatically calculate and output the time interval indicated by cursors 1204a and 1204b, making it easier for the operator to determine the time the state machine spends in a specific state.
[0113] Figure 9A computer 900 suitable for performing, viewing, and diagnosing state machines is shown in more detail. The computer 900 can be considered a diagnostic system. It can be seen that the computer 900 includes a CPU 900a configured to read and execute instructions stored in volatile memory 900b, which takes the form of random access memory. The volatile memory 900b stores the instructions executed by the CPU 900a and the data used by those instructions.
[0114] Computer 900 also includes non-volatile memory, such as a hard disk drive or solid-state drive 900c. Computer 900 also includes an I / O interface 900d to which peripheral devices used in conjunction with computer 900 are connected. More specifically, display 900e is configured to display a graphical representation of the state machine or any output from computer 900. Input devices are also connected to I / O interface 900d. Such input devices may include a keyboard 900f and a mouse 900g, or a touchscreen connected to display 900e, which allows the operator to interact with computer 900. Input devices (900f, 900g, and 900e) allow the operator to interact with system 100. I / O interface 900d may additionally connect to one or more sensors of an industrial machine. For example, in the case of an industrial machine that is a riveting system, I / O interface 900d may connect to a sensor with a position sensor, a riveting presence sensor (e.g., sensor 300i), etc.
[0115] The network interface 900h allows the computer 900 to connect to a suitable computer network in order to receive data from other computing devices and transmit data to other computing devices. The CPU 900a, volatile memory 900b, permanent storage (disk / flash memory) 900c, I / O interface 900d, and network interface 900h are connected together via bus 900i.
[0116] It should be understood that Figure 9 The arrangement of components depicted herein is exemplary, and other arrangements may be used within the context of the technology described herein.
[0117] A significant portion of the state machine sequence controlling industrial machines is influenced by the I / O signal states associated with the system's sensors and actuators. While methods for diagnosing industrial machines have been described regarding actions associated with the state machine, it should be understood that the techniques described herein can be used to diagnose state machines based on actions associated with the state machine, I / O signals associated with the industrial machine, or both.
[0118] However, the number of received I / O signals can be large, and each I / O signal may only last for a very short duration. As mentioned above, interfaces typically provided for industrial machines usually have relatively slow refresh rates compared to displays used in other computing devices, and the duration of the signals may be too short to be recognized on the display. Therefore, there is a need for diagnostic tools and methods that will work with existing interfaces and do not require expensive interface hardware replacement.
[0119] To illustrate a problem using standard diagnostic tools, if an industrial machine's sensor provides only a 10-millisecond I / O signal (e.g., a high signal) when it detects a condition of interest, and the machine's display (e.g., display 900e) has a screen refresh rate of 100 milliseconds, then on average, only one-tenth of the sensor's I / O signal might be displayed, followed by a brief (100-millisecond) duration that may be too short to detect. Thus, the operator might miss signals that could provide a warning of a fault, and that warning could have allowed the operator to take remedial action before the fault develops or becomes severe. In some example implementations described herein, the diagnostic system can be configured to monitor the sensor's state history in addition to the signal currently provided by the sensor. The diagnostic system can be configured to provide diagnostic outputs that allow the operator sufficient time to process events that may represent short-duration faults and can be used to assist in the continuous and guided operation and maintenance of the industrial machine.
[0120] Figure 10 This illustration schematically depicts the generation of diagnostic information for I / O signals from sensors or actuators (not shown) of industrial machines by a diagnostic system (e.g., system 900) using standard methods, and examples of the generation of improved diagnostic information for the same I / O signals according to the techniques described herein. Figure 10 In the diagram, time is displayed from left to right on the page. The refresh of the display (e.g., display 900e) is indicated by arrows 1002, where each arrow 1002a-1002g indicates a corresponding refresh of the display. Below the refresh operation is shown I / O signals 1004 received from sensors of the industrial machine. Below I / O signals 1004 is shown a standard diagnostic output 1006 provided by a known method that displays the current state of the signal upon refresh. Below the diagnostic output 1006 is an enhanced diagnostic output 1008 generated according to the techniques described herein, and below the enhanced diagnostic output 1008 are changes in state events 1010a-1010f, which can be correlated with the time t when the change occurs. a -t f They can be optionally recorded in a historical data array for later analysis and display.
[0121] exist Figure 10 During the time period shown, signal 1004 comprises three cycles 1004a-c, during which the signal is high. For example, this signal could indicate the presence of a consumable part (e.g., a rivet) at a monitored location on an industrial machine. It will be understood that although signal 1004 is described as binary, the signal for which diagnostic information is generated can take any other form and can be, for example, continuous, stepped, etc.
[0122] The first high signal cycle 1004a occurs after refresh 1002a but before refresh 1002b. Diagnostic information 1006 indicates the nature of signal 1004 to the operator during the last display refresh operation. During refresh operations 1002a and 1002b, signal 1004 is low, causing diagnostic information 1006 to indicate the presence of a low signal after refresh operation 1002b. Thus, it can be seen that diagnostic information 1006 does not provide the operator with a useful diagnosis regarding high signal 1004a. Given the potentially enormous number of monitored sensors and the rate at which signals are received, it will be recognized that if high signal 1004a foreshadows a fault in the industrial machine, diagnostic information 1006 will not help the operator identify or diagnose that fault.
[0123] The second high signal period 1004b overlaps with the refresh period 1002c. Thus, diagnostic information 1006a is provided to the operator to indicate the high signal 1004b. Diagnostic information 1006a continues until the next refresh 1002d, when signal 1004 goes low, causing diagnostic information 1006 to revert to indicating that signal 1004 is low. The final high signal 1004c is received after refresh 1002d but ends before refresh 1002e. Thus, because a single high output 1006a covers two events, diagnostic information 1006 does not provide information about the high signal 1004c.
[0124] To generate an enhanced diagnostic signal 1008, the diagnostic system is configured to maintain state change information for signal 1004 for a specific duration. When the signal state changes ( Figure 10 (Represented by a diamond shape in the diagram), the status indicator is updated to reflect the status change. The status indicator can be stored in the memory 900b of the diagnostic system 900.
[0125] State change updates will last for a predetermined period of time, typically about 1 to 2 seconds, shown as equal to two refresh cycles, or in... Figure 10 A timeframe of 200 milliseconds is sufficient to allow indications of state changes to be included within the enhanced diagnostic signal 1008. It should be understood that the state indicator can take any suitable form, but for indicators such as... Figure 10The binary signal 1004 shown can be conveniently and efficiently represented as a single bit added to a standard diagnostic bit. It will also be appreciated that the duration of the indication will depend on the nature of the signal received from the I / O device and the refresh rate of the display device.
[0126] For example, refer to Figure 10 and 11 The enhanced diagnostic signal comprises a first part 1008a and a second part 1008b. The first part of the diagnostic signal 1008a indicates the current value (or the value at the previous refresh point) of the status indicator for the I / O signal and can be sampled in the same manner as the standard diagnostic 1006, while the second part 1008b indicates whether the signal 1004 has changed within a certain period of time before the display refresh operation and is sampled together with the standard diagnostic status 1008a. (See reference) Figure 11 This illustrates the process performed by the diagnostic system to maintain the status indicator. It can be seen that this process has two parts, each operating substantially simultaneously to update the status indicator for the I / O device. In step 1102, the diagnostic system determines whether a status change has occurred. It will be understood that, although in Figure 11 The determination is described as a confirmation, but the determination mechanism can be active (e.g., "pull") or passive (e.g., "push"). Processing step 1102 is executed until it is determined that the signal from the I / O device has changed. At this point, the process proceeds to step 1104, and the status indicator is updated to reflect the change. The process returns from step 1104 to step 1102, continuing to monitor changes in the I / O signal. Meanwhile, the process in step 1106 determines whether a predetermined time period has elapsed since the last update of the status indicator (based on the previous time record in step 1104). When the determination is negative, the process remains at step 1106. Upon determining that a predetermined time has elapsed since the last update of the status indicator, the process proceeds to step 1108, in which the status indicator is reset to its default state.
[0127] Now for reference Figure 10 Describe it by example Figure 11 The processing. Before the first high signal 1004a, the status indicator is in the default state, in which case signal 1004 is indicated to be low. This is in Figure 10 The process is described by indicating a low-level enhanced diagnostic signal 1008. Based on the high signal 1004a, it is determined in step 1102 that the signal has changed, and the process proceeds to step 1104, where the status indicator is updated to indicate the reception of the high signal, and the update time is recorded. The process then returns from step 1104 to step 1102.
[0128] For the purposes of this example, it is assumed that between the reception of high signal 1004a and the reception of high signal 1004b, the processing in step 1106 determines that a predetermined time period has not elapsed, such that the processing remains in step 1106. Therefore, at refresh operation 1002b, the predetermined time period has not yet elapsed, such that the status indicator still indicates that a high signal has been received. The enhanced diagnostic signal is configured to indicate the state of the status indicator, such that at refresh operation 1002b, a portion 1008a of the enhanced diagnostic signal 1008 is updated to indicate a high signal. For clarity and to distinguish it from diagnostic signal 1006a, portion 1008a is shown as a single line (instead of a filled box), although it should be understood that... Figure 10 This is merely illustrative and describes the information content of the enhanced diagnostic, rather than displaying that information in any particular way. Like diagnostic signal 1006, enhanced diagnostic signal 1008 also includes a portion 1008b indicating the current value of I / O signal 1004. Thus, when the high signal on I / O signal 1004 ends, the operator can still determine that signal 1004a was received but has passed before the most recent display refresh.
[0129] As described above, the second high signal 1004b is time-synchronized with the refresh operation 1002c, causing the second portion of the enhanced diagnostic signal 1008b to be updated to reflect the current state of the I / O signal 1004 (during refresh). Additionally, process 1102 will determine that signal 1004b has been received, and in step 1104, the status indicator will be updated (or, in this case, the status indicator will remain), and the update time will be recorded.
[0130] For the purposes of this example, it is assumed that between the reception of high signal 1004b and the reception of high signal 1004c, the processing in step 1106 determines that a predetermined time period has not elapsed, such that the processing remains at step 1106. Thus, on the next refresh 1002d, the enhanced diagnostic signal still indicates that a high signal has been received, but now indicates that the I / O signal was low at refresh 1002d.
[0131] For the purposes of this example, assume that between the reception of high signal 1004c and the reception of refresh 1002e, the processing in step 1106 determines that a predetermined time period has elapsed, causing the processing to proceed from step 1106 to 1108, and the status indicator is reset to the default state. Thus, at refresh 1002e, the enhanced diagnostic signal 1008 is updated, causing portions 1008a and 1008b to both indicate low values.
[0132] As can be understood from the above, by recording indications of state changes within a predetermined time period, diagnostic signals can be provided to the operator, which allows the operator to more accurately diagnose the current and past states of I / O signals within the industrial machine, and thus, to diagnose faults or potential faults within the industrial machine more accurately and in a more timely manner.
[0133] Figure 12 An example of a way that can display enhanced diagnostic signals 1008 to the operator of an industrial machine is depicted. Figure 12 Depicting and Figure 10 The same I / O signal 1004 and refresh operation 1002 are depicted, but it is shown how those signals can be displayed on the standard diagnostic indicator 1014 and enhanced diagnostic indicator 1016 on the graphical human-machine interface (HMI). Specifically, the standard diagnostic indicator can be seen operating in one of two modes: "Off" 1014a or "On" 1014b. Therefore, the standard diagnostic indicator is able to represent the information provided by the diagnostic signal 1006. However, in contrast, the enhanced diagnostic indicator can provide four operating modes: "Static Off" mode 1016a, indicating that I / O signal 1004 is low and no high signal has been received in the past predetermined time period; "Change Off" mode 1016b, indicating that I / O signal 1004 is low, but a state change has been activated in the past predetermined time period; "Change On" mode 1016c, indicating that the signal was high during the last refresh and a signal change occurred in the past predetermined time period; and "Static On" mode 1016d, indicating that I / O signal 1004 was high at the last refresh and has not changed in the past predetermined time period. exist Figure 12 In the example, the "change" status is provided by a thicker outer ring around the indicator light, although it should be understood that any method used to display additional diagnostic information can be used, and the on / off status for the last refresh is indicated by the inner color of the indicator light.
[0134] The actual I / O signal 1004 can be reconstructed from diagnostic changes in the status data and provided on the user interface as the reconstructed I / O signal 1012. Specifically, the diagnostic history can be used to display signal changes by drawing multiple lines representing the signal state. This is related to the display start time (t). start ) and display end time (t) end In contrast, the horizontal coordinate of a line corresponds to its relative position at the time of signal change, while the vertical coordinate depends on the state of the signal within that time period. For example, to display... Figure 10 The reconstructed I / O signal 1012 shown can be plotted as 13 lines, where at each time value (t) start t1-t6 and t endThere are 7 horizontal lines between them, the positions of which are defined by the signal state at the beginning of each cycle, and 6 vertical lines representing t. a -t f The status changes at the location are displayed within the functional scope of the existing programmable HMI.
[0135] The lamp 1016 may be provided by, for example, one or more light bulbs (such as LEDs), or may be part of a user interface generated on a display device such as an LCD display device. Similarly, although the above description refers to system 900, it should be understood that... Figure 11 The described processing can be implemented in any convenient manner, including by means of one or more FPGAs or ASICs.
[0136] To minimize the processing load on the system when monitoring a large number of I / O signals, some implementations do not examine data signal by signal, but rather examine groups of signals in parallel, such as... Figure 14 As shown (e.g., a 4-bit value). In some applications, I / O signals can be combined into 8-bit, 16-bit, 32-bit, or larger values, and changes in these combined values (rather than changes in individual signals) can be stored in a history array along with timestamps. Generally, the more bits to monitor, the larger the required history array. For many applications, a 128-element array will be sufficient to record changes to 32 signals.
[0137] To enable quick and efficient retrieval and use of diagnostic data, combined I / O signal values can be stored in a historical ring buffer, such as... Figure 15 As shown. The operation of the I / O signal changing buffer can be combined with state machine data reference. Figure 7 The description is similar. The I / O signal change buffer can store entries for I / O signal data (or combinations of I / O signals as described above) and the times when those changes occur. Whenever an I / O signal value (or a combination of I / O signal values) changes from a previous value, the same global timer as that in the state machine buffer 700 can be used to record the time of the I / O signal change.
[0138] To minimize the computational load required to display diagnostic signals that can be viewed in real time, diagnostic output signals can be stored in a diagnostic history buffer. For example, the diagnostic history buffer can include another first-in-first-out (FIFO) data structure (diagnostic FIFO). The diagnostic FIFO can be updated in parallel with updates to the I / O signal change buffer. A pointer entering the diagnostic FIFO determines the current diagnostic output (i.e., the current "slot" of the output diagnostic FIFO), with the pointer incrementing after a predetermined "diagnostic tick" period (and wrapping around after incrementing through each slot). The diagnostic tick can be determined based on the diagnostic HMI display or refresh cycle (typically, for example, 2 seconds) and the number of slots in the diagnostic FIFO. For example, the diagnostic tick could be the sum of the diagnostic display cycle and the number of slots, such as a 2-second diagnostic update and four FIFO slots, each displaying for 0.5 seconds.
[0139] Refer again Figure 14 In the example shown, a subset of four I / O signals (signals 1-4) is combined into a single diagnostic value, where each I / O signal has its own bit (see reference). Figure 16 (Most clearly shown and described below). Any change to this single diagnostic value within a specific time period is used to modify the data contained in the diagnostic FIFO buffer, and thus modify the diagnostic signal output to the operator. In particular, the single diagnostic signal changes when detected by the binary XOR result of the current and previous I / O values (e.g., as...). Figure 14 As shown), if the value is not zero, it is logically ORed and passed to each slot of the diagnostic FIFO. This ensures that any change made to one of the monitored I / O signals (however fast) can be displayed over a time period of at least three time intervals, even on a slow refresh rate HMI. On each diagnostic tick (i.e., at a predetermined frequency), the data stored in the current slot decays (e.g., the current slot may be cleared), the pointer in the diagnostic FIFO is incremented, and the currently displayed diagnostic is set to the newly indexed slot. This ensures that a single change in state is displayed over a longer time period (and at most four diagnostic ticks are displayed).
[0140] Using this method, diagnostic displays of 32 (or more) signals can be performed using a four-slot diagnostic FIFO array, pointer variables, and a single timer, while placing a relatively light load on the system (in particular, the diagnostic values will be previously generated to determine whether new historical values (and associated times) need to be stored in the I / O change buffer).
[0141] Figure 16This illustrates an example of the changes in the diagnostic signals stored in the diagnostic FIFO for a group of four signals (signals #0-#3) within the time period indicated by the vertical time line on the upper left of the figure. Reference Figure 16 As can be seen, in the first time period (1), no changes occurred to the monitored I / O signals, and the value in each slot of the diagnostic FIFO was "0000". The currently indicated slot is slot zero. In time (2), the change in signal #2 caused the bit corresponding to signal #2 in the combined I / O signal value to be set high. The newly set bit value was ORed to all slots of the diagnostic FIFO. Therefore, the diagnostic output is now "0100". In time (3), a diagnostic tick occurred, causing the currently indicated slot to return to zero, and the pointer was updated to slot 1. The diagnostic output is still "0100".
[0142] At time (4), a diagnostic tick occurs, causing slot 1 to return to zero and the pointer to increment to slot 2. The diagnostic output remains at "0100". At time (5), a change in I / O signal #1 causes the bit corresponding to I / O signal #1 to be set high, and the newly set bit is ORed across all slots of the diagnostic FIFO. Therefore, the values of slots 0 and 1 are "0010", while the values of slots 2 and 3 are "0110". Therefore, the diagnostic output is "0110". At time (6), a change in I / O signal #3 causes the bit corresponding to I / O signal #3 to be set high, and the newly set bit is ORed across each slot of the FIFO. Therefore, slots 0 and 1 store "1010", while slots 2 and 3 store "1110". Therefore, the diagnostic output is "1110".
[0143] At time (7), the diagnostic tick resets the currently pointed-to slot 2 to zero and increments the pointer to slot 3. Therefore, the diagnostic output remains "1110". At time (8), the diagnostic tick resets slot 3 to zero, and the pointer wraps back to slot 0. Therefore, the diagnostic output is now "1010". At time (9), another diagnostic tick resets slot 0 to zero and increments the pointer to slot 1, keeping the diagnostic output at "1010". At time 10, the diagnostic tick resets slot 1 to zero and increments the pointer to slot 2. The diagnostic output (actually the value in all slots of the diagnostic FIFO) is now "0000".
[0144] By using historical change data stored for various state machines and I / O within the system being diagnosed, the operation of the machine can be monitored to determine where changes have occurred during the process, by comparing it with data extracted when the system is running at optimal performance.
[0145] Reference Figure 13 The aforementioned sprocket feed state machine 500 is displayed together with the feed solenoid output signal and the nose switch input signal. Figure 13The display is generated by various changes in state events, which are stored in the corresponding histories of the sprocket feed state machine, feed solenoid output, and nose switch input signals. Since each data point stores a global time reference value, depending on the amount of available data, signals from various sources within the system can be displayed between any two time indices. For example, in Figure 13 The display shows data changes caused by normal, slow, or malfunctioning feed processes, as the human eye and brain are particularly well-suited to selecting patterns from this type of data display. In some implementations, movable cursor lines 1204a and 1204b are overlaid on the output to select and display time intervals between different operations within the system. The cursor can automatically capture the timing of status or I / O signal changes to make user interaction more efficient.
[0146] In some exemplary configurations, the occurrence of a fault condition can automatically trigger the generation of copies of all relevant state machine and I / O signal data histories, as well as the generation of their corresponding timestamps for each fault condition occurrence. This allows for the capture of the maximum amount of system state for analysis immediately preceding the fault. See again... Figure 13 The data depicted may be obtained from a single source, but because all data in the system is timestamped using synchronized time values, it may show how to reference any other monitored signals or states in the system, enabling visual inspection of any changes in monitored signals or states. Figure 17 In the example shown, I / O history changes can be viewed on a common display along with the state machine histories of multiple different parts of the industrial system. It should also be noted that control and state signals transmitted between the controlled system (in this case, the riveting system) and the control system (e.g., a robot or industrial controller) can also be considered I / O signals and processed using the same methods as internal I / O. This allows for easy viewing of the various state machines and the time interactions between their associated I / O and control signals.
[0147] like Figure 18 As shown, the techniques described herein also enable the overlay of signals from different time periods, making it easier to highlight temporal changes. This allows for easier visualization of variations in complex operational sequences, as well as rapid identification of causes of failures and indication of changes that degrade system operation. This analysis can be performed on the machine using the built-in user interface or by transferring data to a remote diagnostic system with enhanced capabilities. These comparisons can be automatically scheduled to ensure the machine operates at its optimal performance level and to minimize the number of unplanned downtime events.
[0148] Visualizing operational changes over time in parts of the system also allows for easier assessment of the performance of non-critical components, enabling the extension of maintenance (PM) durations or replacement cycles based on actual performance. Most components operating within their nominal performance limits do not require excessive maintenance or other adjustments, which may lead to performance degradation. Conversely, components not reaching their PM levels but showing signs of performance decline within the system may benefit from adjustments or replacements before reaching their original limits, allowing the overall system to return to optimal performance. Once maintenance has been performed on components of the system, the associated signals can be compared to the initial specific performance and the performance level immediately before maintenance. Optimizing the system's maintenance level ensures the entire system operates at the required level with the correct amount of maintenance and also ensures optimal installation life for system sub-components.
[0149] Some illustrative embodiments have now been described, and it is clear that the foregoing is illustrative rather than limiting, and has been given by way of example. In particular, although many of the examples presented herein relate to specific combinations of method actions or system elements, those actions and elements can be combined in other ways to achieve the same objective. The behaviors, elements, and features discussed in connection with one embodiment are not intended to exclude similar roles in other embodiments or multiple embodiments.
[0150] Any reference to an embodiment, element, or action of a system or method mentioned in the singular form herein may also include embodiments that include multiple such elements, and any reference to any embodiment, element, or action mentioned herein may also include embodiments that include only one element. References in either the singular or plural form are not intended to limit the currently disclosed system or method, its components, actions, or elements to a single or multiple constructions. References to any action or element based on any information, action, or element may include embodiments in which the action or element is at least partially based on any information, action, or element.
[0151] Following the technical features in the drawings, detailed description, or any claims are reference numerals, which are included to enhance the comprehensibility of the drawings, detailed description, and claims. Therefore, the presence or absence of reference numerals does not limit the scope of any claim element.
[0152] The foregoing embodiments are illustrative and not limiting of the systems and methods described. Therefore, the scope of the systems and methods described herein is indicated by the appended claims rather than the foregoing description.
Claims
1. A method for diagnosing faults in industrial machinery, comprising: Identify a first state associated with the industrial machine, wherein the first state is the current active state of a state machine that models the function of the industrial machine; Based on the first state, at least one second state is identified that is associated with the industrial machine, wherein the at least one second state is a state in which the state machine is active at any time before the state machine transitions to the first state; For each identified second state, determine the state time associated with the second state; Based on the at least one second state and the corresponding state time, a fault is determined in response to determining that the industrial machine has spent a time period different from a predetermined time period in at least one of the at least one second state; In response to determining the fault, diagnostic information is generated, the diagnostic information including an indication of one of the at least one second state; and The diagnostic information is output to the user interface of the industrial machine.
2. The method of claim 1, wherein, It also includes a history of maintaining states and associated state times during the operation of the industrial machine, wherein identifying a second state and the state time associated with the second state includes identifying the second state and the associated state time from the history of states and associated state times.
3. The method of claim 2, wherein, It also includes the content of a predetermined number of data entries in the history of the state and associated state time in response to determining the fault.
4. The method of claim 1, wherein, The state time associated with each of the at least one second state is based on the value of a global timer at the transition to the second state, wherein the global timer is used by the industrial machine to synchronize all operations of the industrial machine.
5. The method of claim 1, wherein, The user interface also includes an instruction to generate a state history of the industrial machine, the state history including: the current active state of the industrial machine; a state that will be activated after the current active state; a state that was activated before the current active state; and a state time associated with the current active state.
6. The method of claim 5, wherein, This also includes displaying the user interface on the human-machine interface of the industrial machine, or displaying the user interface on a diagnostic system directly or remotely attached to the industrial machine.
7. The method of claim 5, wherein, The user interface includes instructions on the transition path that the industrial machine follows to reach the current active state.
8. The method according to claim 5, characterized in that, It also includes providing a state-enforcing user interface element in the user interface, wherein selection of the state-enforcing user interface element causes the industrial machine to transition to a predetermined state.
9. The method according to claim 8, characterized in that, It also includes maintaining a history of states and associated state times during operation of the industrial machine, wherein identifying a second state and the state time associated with the second state includes identifying the second state and the associated state time from the history of states and associated state times, wherein, during operation of the industrial machine, the history of states and associated state times continues to be maintained after the state-enforcing user interface element is selected.
10. The method according to claim 1, characterized in that, Generate diagnostic output, which includes processing the second state and state timing information to generate an output indicating the timing of the state transition.
11. The method according to claim 10, characterized in that, It also includes a time calculation user interface element configured to display an output indicating the time of a state transition, the time calculation user interface element being configured to allow an operator to select two positions within the output indicating the time of a state transition and output the time period between the two selected positions.
12. The method according to claim 1, characterized in that, Also includes: Identify changes in the I / O signals associated with the industrial machine; Assign a value indicating the change to a status indicator associated with the I / O signal, the assignment being configured to last for a predetermined time period; Generate diagnostic information, which includes an indication of the current value of the I / O signal and the current value of the status indicator; Diagnostic output is generated in the user interface of the industrial machine based on the diagnostic information.
13. The method according to claim 12, characterized in that, The generation of diagnostic information is performed at each refresh interval of the human-machine interface of the industrial machine.
14. The method according to claim 13, characterized in that, The predetermined time period is greater than the refresh rate of the human-machine interface of the industrial machine.
15. The method according to claim 12, characterized in that, Also includes: After the predetermined time period has elapsed, the status indicator associated with the I / O signal is reset.
16. The method according to claim 12, characterized in that, Outputting the diagnostic output in the user interface of the industrial machine includes using an indicator with four operating modes: The first mode indicates that the I / O signal is low and no high signal has been received within a predetermined period of time. The second mode indicates that the I / O signal was low, but a state change occurred within the predetermined past time period. The third mode indicates that the I / O signal is high and a state change has occurred during the predetermined past time period, and The fourth mode indicates that the I / O signal is high and has not changed during the predetermined past time period.
17. The method according to claim 12, characterized in that, The I / O signal is one of a plurality of I / O signals, the status indicator associated with the I / O signal is associated with the plurality of I / O signals, and the diagnostic information indicates a change in any of the plurality of I / O signals.
18. The method according to claim 17, characterized in that, It also includes maintaining a diagnostic signal history buffer for the plurality of I / O signals, the diagnostic signal history buffer being configured to provide a history indication of changes for any of the plurality of I / O signals.
19. The method according to claim 18, characterized in that, The diagnostic signal history buffer includes multiple slots, each slot including an entry for each of the multiple I / O signals, and wherein each of the slots represents the state of the multiple I / O signals at different times in the past; and The diagnostic output is based on a slot of the diagnostic signal history buffer referenced by an index, wherein the index is updated to reference the next slot of the diagnostic signal history buffer at a predetermined frequency.
20. The method according to claim 19, characterized in that, It also includes an indication of the variation of the plurality of I / O signals stored in at least one of the slots at the predetermined frequency.
21. The method according to claim 20, characterized in that, Indicating the decay of changes in the plurality of I / O signals stored in at least one of the slots includes resetting the values stored in at least one of the slots.
22. The method according to claim 21, characterized in that, The diagnostic information includes bits for each of the plurality of I / O signals, and each slot of the diagnostic signal history buffer includes bits for each of the plurality of I / O signals, and the method further includes: In response to generating diagnostic information indicating a change in at least one of the plurality of I / O signals, the value stored in each slot is updated by logically combining the diagnostic information with the value stored in the slot; and Reset the value stored in the slot.
23. The method according to any one of claims 19 to 22, characterized in that, The predetermined frequency is based on the sum of the number of slots in the diagnostic signal history buffer and the refresh cycle of the industrial machine's human-machine interface.
24. The method according to claim 12, characterized in that, Assigning values indicating changes to status indicators associated with the I / O signals also includes storing the time associated with the changes.
25. The method according to claim 24, characterized in that, Storing the time associated with the change includes recording the time indicated by a global timer when the change occurs.
26. The method according to claim 1, characterized in that, The industrial machines mentioned are riveting machines, adhesive dispensing machines, or flow drilling systems.
27. A system for diagnosing faults in industrial machinery, comprising a controller and a memory storing computer-readable instructions, the memory being configured to cause the controller to perform the method of any one of claims 1 to 26.
28. An industrial machine comprising the system of claim 27.