WAVEFORM TRAINING OF MONITORING DEVICES

A device and system for training condition monitoring systems are provided. In one embodiment, the device can include a plurality of connections arranged to communicatively couple the device to one or more condition monitoring systems. The device can also include a computing system including a power generator arranged to retrieve power from the one or more condition monitoring systems to power the device, at least one data processor and a memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations including: receiving, from the one or more condition monitoring systems, data characterizing a sensor type of a plurality of sensor types to be coupled to the one or more condition monitoring systems, determining a simulated waveform characteristic of the sensor type, and transmitting the simulated waveform to the one or more condition monitoring systems to simulate an output from the sensor type.

FIELD

The present application relates to systems and methods for training monitoring devices utilizing simulated waveforms.

BACKGROUND

Certain equipment and facilities, such as power generation equipment and facilities, oil and gas equipment and facilities, aircraft equipment and facilities, manufacturing equipment and facilities, and the like, include monitoring systems and processes. For example, power generation plants can include monitoring of turbine systems and processes for maintaining operations of turbine systems. Oil and gas operations can include monitoring of carbonaceous fuel retrieval systems and pipeline networks. Aircraft systems can include monitoring of airplanes and maintenance hangars useful in maintaining air quality and providing data for maintenance support. During equipment operations, the equipment can degrade, encounter undesired conditions such as corrosion, wear and tear, and the like potentially affecting overall equipment effectiveness. Monitoring systems, such as asset condition monitoring systems, can be used to detect undesired equipment conditions. The efficiency of the monitoring systems can depend on the accuracy of calibration and quality of training of the monitoring systems, tailored to the corresponding equipment.

SUMMARY

In general, devices, systems and methods are provided for training condition monitoring systems utilizing simulated waveforms. In some embodiments, the device can include a plurality of connections arranged to communicatively couple the device to one or more condition monitoring systems and a computing system including a power generator arranged to retrieve power from the one or more condition monitoring systems to power the device, at least one data processor and a memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations. The operations performed by the processor can include receiving, from the one or more condition monitoring systems, data characterizing a sensor type of a plurality of sensor types to be coupled to the one or more condition monitoring systems, determining a simulated waveform characteristic of the sensor type and transmitting the simulated waveform to the one or more condition monitoring systems to simulate an output from the sensor type.

In some embodiments, the device can include a digital to analog converter arranged to convert the simulated waveform determined by the processor from a digital signal to an analog signal to be transmitted to the one or more condition monitoring systems.

In some embodiments, the plurality of sensor types can include at least one of a temperature sensor, a current sensor, a voltage sensor, a pressure sensor, a displacement sensor, a velocity sensor, an acceleration sensor, a flow sensors or any combination thereof, arranged to monitor an operation of a component of an industrial environment. In some embodiments, the simulated waveform may be characteristic of an output from the sensor type.

In some embodiments, the memory may be further arranged to store data characterizing a plurality of simulated waveforms characteristic of the plurality of sensor types and the processor may be arranged to determine the simulated waveform based on the data characterizing the plurality of simulated waveforms stored on the memory.

In some embodiments, the simulated waveform can include one or more features characteristic of data recorded the sensor type monitoring the operation of the component.

In some embodiments, the device can include an input arranged to couple the device to a second computing system arranged to program the computing system.

In some embodiments, the device can include a graphical user interface display arranged to display one or more operations performed by the device.

In some embodiments, the one or more condition monitoring systems can include a plurality of condition monitoring systems, connected to the device in parallel, and the processor arranged to transmit the simulated waveform to the plurality of condition monitoring systems.

In some embodiments, the device can include a second plurality of connections arranged to communicatively couple the device to one or more second devices, similar to the device.

In another aspect a system for training condition monitoring systems utilizing simulated waveforms is provided. In some embodiments, the system can include a plurality of devices communicatively coupled to one another in a point-to-point topography and arranged to monitor one or more condition monitoring systems. Each device of the plurality can include a plurality of first connections arranged to communicatively couple the device to the one or more condition monitoring systems, a power generator arranged to retrieve power from the one or more condition monitoring systems to operate the device and a computing system including at least one data processor and a memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations. The operations performed by the at least one processor can include receiving, from the condition monitoring system, data characterizing a sensor type of a plurality of sensor types to be coupled to the one or more condition monitoring systems, determining a simulated waveform characteristic of the sensor type and transmitting the simulated waveform to the one or more condition monitoring systems to simulate an output from the sensor type.

In some embodiments, the plurality of devices may be arranged to perform a startup function to determine a master device and one or more slave devices of the plurality of devices and the at least one processor of the master device may be further arranged to determine a schedule for the transmission of the plurality of simulated waveforms from the plurality of devices to the one or more condition monitoring systems.

In some embodiments, the at least one processor of the master device may be further arranged to transmit the schedule to the one or more slave devices and the master device and each of the one or more slave devices may be arranged to transmit their simulated waveform to the one or more condition monitoring systems based on the schedule.

In some embodiments, the schedule of the plurality of transmitted simulated waveforms can be arranged to mimic a series of waveforms that would typically by provided to the one or more condition monitoring systems by the plurality of sensor types monitoring an industrial asset.

In some embodiments, each of the plurality of devices can include a graphical user interface display arranged to display one or more operations performed by the device and the at least one processor of the master device can be further arranged to perform operations including determining that one or more slave devices has been removed from the system and providing a notification to the graphical user interface display indicating that the one or more slave devices has been removed from the system.

In some embodiments, each of the plurality of devices can include a graphical user interface display arranged to display one or more operations performed by the device and the at least one processor of the master device may be further arranged to perform operations including determining that one or more slave devices has been added to the system and providing a notification to the graphical user interface display indicating that the one or more slave devices has been added from the system.

In some embodiments, the at least one processor of the master device can be further arranged to perform operations including determining that a second master device has been added to the system upstream of the master device and notifying upstream devices and downstream devices of the one or more slave devices that the second master device has been added to the system.

In some embodiments, the at least one processor of the second master device can further be arranged to determine an updated schedule for the transmission of the plurality of simulated waveforms from the plurality of devices to the one or more condition monitoring systems.

In some embodiments, the master device may be removed from the system and the at least one processor of a first slave device of the one or more slave devices can be arranged to perform operations including determining that the master device has been removed from the system and repeating the step of performing the startup function to determine a new master device and one or more slave devices of the plurality of devices.

In some embodiments each of the plurality of devices can include a graphical user interface display arranged to display one or more operations performed by the device and the at least one processor of the master device can be further arranged to perform operations including determining that there may be too many slave devices in the system and providing a notification to the graphical user interface display indicating that there may be too many slave devices in the system.

It is noted that the drawings are not necessarily to scale. The drawings are intended to depict only typical aspects of the subject matter disclosed herein, and therefore should not be considered as limiting the scope of the disclosure.

DETAILED DESCRIPTION

The present application relates to training monitoring devices utilizing simulated waveforms. In particular, the present application relates to a computing system (e.g., a waveform generator) that transmits simulated waveforms to condition monitoring systems for training the condition monitoring systems. The waveform generator is coupled to a power generator configured to retrieve power from the condition monitoring systems during a transmission of the simulated waveforms.

Training of condition monitoring systems is an important step in an industrial environment, where a number of machines that may be operating together need to be monitored to ensure correct performance of tasks, which can be related to mass producing a product, processing certain chemicals, and the like. Generally, each of the machines in the industrial environment may include a number of sensors attached thereto to monitor various conditions within a respective machine. For example, in a motor, one sensor may measure a rotational speed of the motor's shaft, while another sensor may measure an internal temperature of the motor. In any case, the data received by the sensors may be provided as inputs into a condition monitoring system, such that the received data may be presented to users in a coherent and comprehensible manner. The received data may then be processed or analyzed by the condition monitoring system using various types of data processing or analysis tools or the like. As such, if the condition monitoring system processes the received data, the condition monitoring system may present the received data in a manner that may be interpreted or analyzed by a user.

The condition monitoring system can accurately processes the data if the condition monitoring system is correctly trained (with the correct waveform) to process the waveform types that can be produced by a machine it is connected to. In some implementations, the machines are updated or modified, resulting into a modification of the output waveforms. To correctly process updated waveforms, the condition monitoring systems need to be retrained. In some implementations, a condition monitoring system can be disconnected from a machine and reconnected to a different type of machine that generates a different type of waveforms. To correctly process a different type of waveforms, the condition monitoring systems also need to be retrained. Retraining condition monitoring system is traditionally performed at a condition monitoring system manufacturer site or at a central service site, remote from the industrial environment including the machines that need to be monitored. Therefore, it is beneficial to increase the maneuverability of a training system to enable (re)training at the machine (within the industrial environment) and to increase the accuracy of condition monitoring systems by retraining them with updated waveforms, as updates or changes appear in the machine. The training system described herein can be configured to enable (re)training of the condition monitoring systems at the machine, by generating power supply from the connection with the condition monitoring system, making the training system independent from external power supplies. In some embodiments, the training system described herein can be designed to have a length smaller than approximately 5 inch (15 mm), to increase the maneuverability of the training system, making it easy to be transported and attached to the condition monitoring systems at the machine.

Various devices and methods are provided for using a training system to generate simulated waveforms tailored for training condition monitoring systems. The training systems and devices can be directly connected to condition monitoring systems, located at machine site, to train the condition monitoring systems based on a selection of a machine type and machine version. In some implementations, a training device can include a computing device including three boards, such as three printed wiring assemblies (PWAs). One board of the training device can be used for initial programming of the training device. A second board of the training device can be configured for generating simulated waveforms and for routing the simulated waveforms. A third board of the training device can be used to generate board power, board to board communication, and the digital to analog converter. An advantage of having three boards in the training device is to only use the programmer connector for initial configuration setup of the training device and then remove the programmer connector (allowing program update to occur over the USB). After the initial setup of the training device, the two remaining boards can be connected together, fitting within the back of a condition monitoring system. Additional details with regard to how the training device may dynamically train the condition monitoring system is described with reference toFIGS.1A-5.

By way of introduction,FIGS.1A and1Billustrate a block diagram of an industrial monitor training system100in which various types of machine monitors of industrial processes may be trained. The industrial monitor training system100can include a training device102, a condition monitoring system104, an industrial plant106, and a database108. The training device102can be configured to generate simulated waveforms for training the condition monitoring system104. The training device102can include a computing system105which can further include three boards: a programing board110, a waveform generator112, and a power generator114. The programing board110, the waveform generator112, and the power generator114can include printed wiring assemblies configured to perform functions of the training device. The programing board110can be used for initial programming of the waveform generator112of the training device102, the initial training including execution of an initial configuration setup of the waveform generator112. The programing board110can be used for debugging and reprogramming the waveform generator112. In some embodiments, the programing board110can be removed (detached or snapped off) after the initial programming of the training device102. The waveform generator112can include one or more processors configured to generate simulated waveforms characteristic to the industrial plant106and for routing the simulated waveforms to the condition monitoring system104. The training device102can include a plurality of connections109configured to communicatively couple the device to the condition monitoring system104, as discussed in greater detail below. In some embodiments, a program of the waveform generator112can be updated over a second connection111. In some embodiments, the second connection111can be a Universal Serial Bus (USB), a Bluetooth connection, or the like. The power generator114can be used to generate power for the components of the training device102(the programing board110and the waveform generator112) though board to board communication and by using a digital to analog converter (not shown). In some embodiments, the waveform generator112can function solely on power retrieved from the condition monitoring system104by the power generator114. The waveform generator112can be configured to convert the power from −24V to +4.6V. After the initial setup of the training device102, the two remaining boards (the programing board110and the waveform generator112) can be connected together and coupled to the condition monitoring system104. An example of coupling between the training device102and condition monitoring system104is illustrated byFIGS.1A and1B.

In some embodiments, industrial monitor training system100can include a plurality of training devices102configured to train the condition monitoring systems104. Accordingly, in some embodiments, the training device102can further include a plurality of third connections113a,113bconfigured to communicatively couple the training device102to one or more similar training devices in order to perform an arbitration/synchronization procedure, as discussed in greater detail below. In some embodiments, the training device102can further include a graphical user interface (GUI)115. The GUI115can be configured to display information regarding the operation of the training device, as discussed in greater detail below.

The condition monitoring system104may receive simulated waveforms from the training device102and can also receive data from various components (e.g., machines) that may be part of an industrial environment. For example, the condition monitoring system104may monitor components used in an industrial plant106. The industrial plant106may include any type of industrial environment where different components or machines may be used to complete one or more industrial processes. As such, the industrial plant106may correspond to an oil refinery, a manufacturing facility, a turbomachine system, a power generation system, a gasification system, a chemical production system, a gas turbine system, a stream turbine system, a combined cycle system, a power plant, or the like. The condition monitoring system104includes a dynamic GUI120that may enable a user to perform various types of data processing or analysis using tools provided by the condition monitoring system104or by separate data processing or analysis products. For instance, the user may generate a graph plotting a statistical trend of the data received from a particular sensor118over time. In one embodiment, after the statistical trend graph has been generated, the user may dynamically control the data being analyzed by the tool by selecting a different sensor118visualization displayed in the dynamic GUI120.

The components in the industrial plant106may include one or more machines116or components such as a motor, a gas turbine, a heat exchanger, centrifugal pumps, centrifugal compressors, fans, reciprocating compressors, generators, steam turbines, wind turbines, piping, axial compressors, screw compressors, gears, turbo-expanders, blowers, agitators, mixers, pulp refiners, ball mills, crushers, pulverizers, extruders, pelletizers, cooling towers, and the like. Each machine116may include one or more sensors118that may monitor various aspects of a respective machine116. The sensors118may include temperature sensors, current sensors, voltage sensors, pressure sensors, displacement sensors, velocity sensors, acceleration sensors, flow sensors, clearance sensors, flame sensors, gas composition sensors, vibration sensors, and any other type of sensor that may provide information with respect to the operation of the respective machine116.

Generally, the data acquired by the sensors118may be received by the condition monitoring system104via a direct link (i.e., hardwired), a network link, or a portable memory device (e.g., Universal Serial Bus memory drive). In one embodiment, the condition monitoring system104may include a dynamic graphical user interface (GUI)120that may generate visualizations that represent the machines116and the sensors118being monitored by the condition monitoring system104. As such, users of the condition monitoring system104may monitor the health or status of machines116in the industrial plant106via the dynamic GUI120. Further, the condition monitoring system104may be used to measure one or more mechanical devices of larger mechanical systems (e.g., steam turbine systems, hydraulic turbine systems, wind turbine systems, reactors, gasifiers, gas treatment systems, industrial automation systems, or other suitable mechanical systems).

In addition to the simulated waveforms generated by the training device102and the data acquired by the sensors118, the condition monitoring system104may receive data from a database108. The database108may be stored within the condition monitoring system104, or can be external to the condition monitoring system104, being stored in a server, in a cloud-computing device, or the like. The database108may include historical data related to the simulated waveforms used for training corresponding to the machine116, the data acquired by the sensors118, calculated data associated with the machine116, calculated data associated with sensor118, results from previous data processing or analysis functions performed on data associated with a machine116or sensor118, or other contextual data related to the industrial plant106. For example, the database108may include data related to the historical training conditions of the condition monitoring system104corresponding to the operating conditions (e.g., when operating at full capacity) of the industrial plant106such as a plant historian or the like. AlthoughFIGS.1A and1Bhave been described with respect to the industrial plant106, it should be noted that the systems and techniques described herein may be applied to other systems outside of the industrial environment. As such, the systems and techniques described herein should not be limited to industrial environments and the like.

Referring now toFIGS.2A-2F, a schematic illustration of examples of portions of the training device200,250,270,280,290are depicted.FIG.2Aillustrates an example of a waveform generator200of a training device (e.g., the waveform generator112of the training device102described with reference toFIGS.1A and1B) is generally depicted. The waveform generator200includes a physical connection202, a control unit204, multiplexers206A,206B,206C, an analog switch207, a transceiver208, ports210A,210B, a high voltage digital potentiometer212, a display214, an electrically erasable programmable read-only memory (EEPROM)216, converters218A,218B, a reference signal generator220, and a USB drive222. It should be noted that, in some embodiments, the USB drive222can be a Bluetooth connection, or the like.

The physical connection202can include a connection to a condition monitoring system (e.g., the condition monitoring system104described with reference toFIGS.1A and1B). The physical connection202can be configured to provide power supply through a connection with an external system (e.g., the condition monitoring system). For example, the power used by the waveform generator200of the training device is designed to be either powered from the USB222or from the physical connection202configured to retrieve the power from the condition monitoring system. When the waveform generator200is powered solely by the USB port222, the waveform generator200may not be able to generate −24V signals. When the waveform generator200is powered though the physical connection202, the waveform generator200can converts −24V to +4.6V to power all sub systems of the waveform generator200.

The control unit204can include a microcontroller (computing system)224and communication components: USB stack226, input/output (I/O) ports228, current output digital-to-analog converter (IDAC)230, direct memory access232, inter-integrated circuit (i2C) bus234, universally unique identifiers236, hardware (UDB) or lookup table (LUT)238, triple modular redundancy (TMR)240, interrupt service routine (ISR)242, and successive-approximation (SAR) ADC244. The communication components may be wireless or wired communication components that may facilitate communication between the microcontroller224and other components of the training device, the condition monitoring system, the machines, the sensors, the database, other control or monitoring systems, and the like. The microcontroller224includes a processor, a memory, and a storage. The processor may be any type of computer processor or microprocessor capable of executing computer-executable code. The28and the storage may be any suitable articles of manufacture that can serve as media to store processor-executable code, data, or the like. These articles of manufacture may represent non-transitory computer-readable media (i.e., any suitable form of memory or storage) that may store the processor-executable code used by the processor to, among other things, generate simulated waveforms for training condition monitoring system. The control unit204can be dynamically linked to the display214to enable visualization of data processing.

The multiplexers206A,206B,206C can include (4:1and1:4) data selectors having enable input pins set high making the address pins always active. The analog switch207can include a resistor stuffing option for line level source selection. The analog switch207can include a 0 ohm resistors that can be used to either route out the internal digital to analog converter signal received from the control unit204within the microcontroller224or external high bit resolution digital-to-digital to analog converter signal.

The transceiver208can include a 125 MHz Quad multipoint—low-voltage differential signal (LVDS) transceiver. The transceiver208can be configured to enable communication of the training device without overlapping signals, by detecting and preventing collision, as described with reference toFIG.3. The transceiver208can be optimized for low dynamic power consumption. The transceiver208can be connected to the ports210A,210B. The ports210A,210B can include an upper port210A and a lower port210B.

The high voltage digital potentiometer212can be used in a waveform generator200when using a 2-wire (A and B) pin connection to properly set the constant current circuitry for proper biasing. The display214can include an SSD1306display including a display grid with A,B,C,D, E columns and 1 . . . 8 rows. A default position of the display can be “A1” (column A, rowl) with the letter orientation being displayed in the grid reference letters/numbers. At boot up the display should display the following information (reading from1to8, or top to bottom): name of training device, a firmware revision, a serial number of the training device stored on the EEPROM216. The display provides feedback the user including functions of the training device. As such, it is recommended that that the screen displays the following attributes start from row1with texts going from A to E. Line1can report back what card was sense at boot. For a SAR reading of 0x000 to 0x09 it can display “PAV”. For a SAR reading of 0x270 to −0x260 it can read “PAS.” For a SAR reading of 0xE00 to 0xE10 it can read “PAA.” For a SAR reading of oxFC0 to 0xFE0 it can read “PAE.” For a SAR reading of 0xFF0 to 0xFFF it can read “KPH.” Line2can report how a channel of one of the multiplexers206A,206B,206C has been configured for channel1. If the channel1has no output signal it can read “OFF.” If the signal is going into the SIG pin it can read “SIG1.” If the signal is going into the A/+ pin it can read “A+1.” If the signal is going into the B/− pin DC coupled it can read “B-DC1.” If the signal is going into the B/− pin AC coupled it can read “B-AC1.” Line3can denote the type of signal that is being inputted into channel1. If the signal is a sine wave it can read “sine.” If the signal is 1× of the running frequency and not a sine wave it can read “1×.” If the signal is 2× of the running frequency and not a sine wave it can read “2×.” If the signal is 2× of the running frequency and not a sine wave it can read “nx.” If the signal is a multi-event wheel “MEW.” If the signal is arbitrary it can read “ARB. If the signal is user defined “xxxxx” where XXXXX is an ascii definition in the external EEPROM per a MEMORY table. If the channel is off it can read “.” Line4includes more attributes of channel1signal and is optional and is defined by the firmware. Line4can include the frequency “xKhz” where x is the frequency, the ADC count average for read the A/+ if the MUX has not been set to something else, and “FILEx” where x is the file number it is running from the ARB waveform from line3. Line5can report how channel mux has been configured for channel2. If the channel2has not output signal it can read “OFF.” If the signal is going into the SIG pin it can read “SIG2.” If the signal is going into the A/+ pin it can read “A+2”. If the signal is going into the B/− pin DC coupled it can read “B-DC2.” If the signal is going into the B/− pin AC coupled it can read “B-AC2.” Line6can denote the type of signal that is being inputted into channel2. If the signal is a sine wave it can read “sine.” If the signal is 1× of the running frequency and not a sine wave it can read “1×.” If the signal is 2× of the running frequency and not a sine wave it can read “2×.” If the signal is nx of the running frequency and not a sine wave it can read “nx.” If the signal is a multi-event wheel it can read “MEW.” If the signal is arbitrary it can read “ARB.” If the signal is user defined “xxxxx” where XXXXX is an ascii definition in the external EEPROM per the MEMORY table. If the channel is off it can read “.” Line7can include more attributes of channel2signal and is optional and can be defined by the firmware, such as for the frequency “xKhz” where x is the frequency, the ADC count average for read the A/+ if the MUX has not been set to something else, and “FILEx” where x is the file number it is running from the ARB waveform from line3. Line8can indicate to the user more about what the training device is doing. If it still in arbitration mode it can read “STDBY,” If it sense no one else and is a standalone devince it can read “---,” If it is a slave in arbitration mode it can read “SYNC,” If it is the arbitrator it can read “MASTR” this could also be done by inverting the display. If it is connected to the USB “USB” or other functionalities of the training device.

The EEPROM216can be used for asset information and other wave form generation. The EEPROM216can include a memory structure including PSoC EEPROM and an external EEPROM as indicated in the table below.

The converters218A,218B can include an inverting buck boost circuit218A and a voltage output digital-to-analog converter (vDAC)218B. The inverting buck boost circuit218A (e.g., analog device) can be used to generate+4.6V used in all the sub system of the waveform generator200. The diodes can be oversized as the inverting buck boost circuit218A needs to handle a delta voltage of −30V statically and about −50V over transient switching at boot. The inverting buck boost circuit218A can include a 3-pin Microcontroller Power Supply Supervisor that is used in conjunction of a PMOSFET to ensure that the analog device does not see the external load until the transients switching is completed. The inverting buck boost circuit218A can be connected to the reference signal generator220. The reference signal generator220can include a 3.3V reference that is used for the DAC circuit to create a more precise output voltage. The vDAC218B can include a 12 bit voltage output digital-to-analog converter. The vDAC218B can be configured to facilitate different frequencies with a common clock. The vDAC218B can be a 12 bit string DAC (TI DAC121S101) that can have the following transfer function from bits to Voltage out. It is important to note that there is an additional inverting op amp stage that will generate the negative voltage needed for the conditioning monitoring system.

The USB drive222can include a diode on the power pin to direct the power to the control unit204and to prevent reverse voltage flowing into the wrong device.

As illustrated inFIG.2B, the control unit204includes i2C bus234configured for program setup252, where the first 7 bits are used to indicate the address of a waveform generator component and the 8thbit is used for either reading or writing to the address of a waveform generator component, as illustrated in the following example table.

A (32 kB) SRAM254can be used to process the program setup252. The SRAM254provides output to DMA232, The DMA232provides means by which peripherals run without intervention of the CPU and run near main clock speeds, according to the external clock pulse256and external frame pulse258. Generating signals (simulated waveforms) according to timing operations of the iDAC230, based on the timer266, enables synchronized board to board communication. A validity of the synchronicity can be checked260and collision can be detected to generate a status register264.

Referring now toFIG.2C, a schematic illustration of an example of a collision detection270is provided. The transceiver208(quad MLVDS type2) can be configured to detect a potential collision of simultaneous waveform signal transmission being configured for driving/receiving clock or data signals to/from multiple multipoint systems (conditioning monitoring system and waveform generator). The transceiver208can be configured to both read (Rx pin) and transmit (Tx pin) every bit and see if there was a collision. For example, if the bit pattern 0xAA was written out and 0xAF was read back than there was a collision. In addition to sensing a collision, the transceiver208can either idle logic high or in the invalid region depending on how the fail-safe enable pins are set. To ensure how the system can behave, the fall-safe enable pin could be set so that the idle state of the training device can be high and is a key to starting the arbitration of the training device. In some implementations, if the transceiver208detects a potential conflict (e.g. bus collisions, contention, resource collisions, resource starvation, protocol violations, etc.), the transceiver208can re-schedule (re-time, re-order, etc.) transmission of the simulated waveform signals to avoid such conflicts. In some implementations, a sticky status register264can provide a sticky version of the particular channel's status register, polling the signal received from the transceiver208and a 60 MHz clock274.

Referring now toFIG.2D, a schematic illustration of an example of synchronization validity check280is provided. The synchronization validity check module260can be configured to help facilitate synchronization of signals having different frequencies with a common clock using signal division with counters and AND/OR gates. The synchronization validity check module260can ensure proper timing and no miss counts/or time synchronization issues within the training device system. As depicted, the synchronization validity check module260can receive signals from the external frame pulse256and the external clock pulse258. The synchronization validity check module260can process the received signals using a 4-bit counter and an x-bit counter. In some implementations, the sticky status register264can provide a sticky version of the particular channel's status register, polling the signal received from the synchronization validity check module260and the 60 MHz clock274.

FIG.2Eillustrates the integration of the collision detection with the synchronization validity check290. In some implementations, the sticky status register264can assign bit0to transmission/reception collision, bit1to idle, bit2to frame or system collision, bit3and4can be unused in bus topology, bit5can show synchronization errors and bit6and7can be unused in bus topology.

FIG.2Fillustrates the integration of the collision detection with the point to point arbitration check292. In some implementations, the sticky status register264can use multiple bits to tell the program if the arbiter is in NI PORT A or 0 (set to 0) or Arbiter is in NI PORT B or 1 (set to 1).

FIGS.3A and3Billustrate examples of topologies300,310that can be used for training multiple condition monitoring systems using a single training device304. The bus network topologies300illustrated inFIG.3Ashow connections between multi-channel condition monitoring systems302A . . .302D that can be connected to the training device304, which can generate the simulated waveform for all condition monitoring systems302A . . .302D in parallel. A technical advantage of using bus network topologies300for training multiple condition monitoring systems3302A . . .302D is that a lower power supply is needed and faster arbitration can be triggered. The bus network topologies300can be implemented using a 2-channel transceiver, as discussed with reference toFIGS.2A-2F. The bus network topologies300illustrated inFIG.3Aonly show 2 channel devices, but the same topological principal can also be applied to 4 channel devices.

The point to point network topologies310illustrated inFIG.3Bshow connections between multi-channel condition monitoring systems302A . . .302D that can be connected to the training device304, which can generate the simulated waveform for all condition monitoring systems302A . . .302D in parallel. Some technical advantage of using point to point network topologies310for training multiple condition monitoring systems302A . . .302D include an easy connection scheme, lower power supply needed, and high node limit. The point to point network topologies310can be implemented using a 2-channel transceiver, as discussed with reference toFIGS.2A-2F. The point to point network topologies310illustrated inFIG.3Bonly show 2 channel devices, but the same topological principal can also be applied to 4 channel devices.

FIGS.4A and4Billustrate examples of arbitration for bus network and point to point network, respectively.FIG.4Aillustrates a bus arbitration method400, which can be applied to training devices configured to generate simulated waveforms for training condition monitoring systems. The i2C bus of the training device (e.g., i2C bus234described with reference toFIGS.2A and2B) is provided with a bus arbitration unit, the bus arbitration unit is provided with a status register (e.g., sticky status register264described with reference toFIGS.2A-2F). The status register can be defined with a BUSY zone bit, a WAIT zone bit and an ERROR zone bit, wherein the BUSY zone bit is used for indicating an i2C bus occupation state, the WAIT zone bit is used for indicating an i2C bus waiting release state, and the ERROR zone bit is used for indicating an i2C bus fault state. The bus arbitration method400of the i2C bus is initiated by setting the frame high (402). The set frame is used to start the collision timer (404). The collision timer can be equal to idle time or can be less. Idle timer is based on the clock pin not frame. If the collision timer is less than the idle time, the collision timer can be long enough for an initial boot and it does not create an undefined state. If the idle time is much shorter than the collision time than only the idle time is considered. The collision timer is used to initialize arbitration mode (406). The initialization of arbitration mode can stop the DMA, reinitialize the pointers, clear and initialize the counters, and clear out all status register bits. The arbitration mode can be set to wait for collision timeout (408). This timeout notifies the bus that components need to enter arbitration mode and the frame of the transceiver (type2MLVDS) can float low. After timeout is reached, a waveform signal frame is released (410). It is determined whether bus frame is low, which can be treated as a flag that the network is ready for an arbiter (412). If bus frame is high it can be set to low. If the bus frame is low, random timer is started (414). The pulse frame is checked (416) and if no frame pulse, the bus network waits for random timeout (418). If frame pulse is detected, arbiter timer is started (420). If timeout is done, second pulse frame is checked (422) and if no frame pulse, the bus network waits for random arbiter timeout (424). If frame pulse is detected, idle timers are started (426) and initialization as node is executed (428) to start bus network as node (430). Pulse frame is set (432), for example by resetting collision timer timeout, which is based off the frame pin. It is determined whether collisions are detected (434). If collisions are detected, the frame is set high and the receiver pins are disabled to save power (402). If no collisions are detected, the start node timeout is less than idle bus timeout and a time is defined for all nodes to initialize themselves (436). The bus network is initialized as arbiter (438), by setting up the clocks and the transceiver (e.g.,2channel MLVDS IC would consume less power). Wait for timeout of the node setup (440). Collision timer is started (442). The collision timer can be continuously reset on a clock pin of the system. After collision timer is started, the bus network can be activated as arbiter (444).

FIG.4Billustrates a point to point arbitration method450, which can be applied to training devices configured to generate simulated waveforms for training condition monitoring systems. The point to point arbitration method450can be initiated by setting the frame high on both transceiver ports of the training device (451). The set frame is used to start the collision timer (452). Arbitration mode is initialized (453). Collision timeout is waited (454). Port frames are released (455). It is determined whether the port frame is low (456). For low port frame, random timer seeded by UID is started (457). Pulse frame is checked (458). The training device waits for random timeout (459). Arbiter timer is started (460). Second pulse frame is checked (461). Second pulse frame is checked (461). If no frame pulse, the training device waits for arbiter timeout (462). If arbiter timeout is done, the point to point arbitration method450returns to setting the frame high on both transceiver ports of the training device (451). If frame pulse, start port A idle, port A collision is verified and timers are repeated for port B (463). Set other port frames to high (464). Port A is initialized as a node (465). The port A is set as a node (466). Wait for port B repeat timeout (467). Release port B frames (468). Check if both port frames are low (469).Check pulse frame for port B (470). Determine if collisions are detected for port B (471). The training device is set to pause operations for a set time (472). After set time for waiting, the node setup is started (473). Start idle timer for port B (474). The system is configured to wait for frame pulse from port A (475). Ports A and B are set equal to each other (476). Start B port as repeat node (477). Pulse frame is checked (478). Collisions are detected (479). If no collisions, the point to point arbitration method450returns to setting the frame high on both transceiver ports of the training device (451). If collisions are detected node setup timer is started (480). Arbiter is initiated (481). Wait for node setup to timeout (482). Start collision timer (483). Start both ports as arbiter (484). Restart circle timer (485). Detects when circle counts went over last 3 cycles (486). Report circle error USB CMD or power cycle to restart (488). After circle timeout, the point to point arbitration method450returns to setting the frame high on both transceiver ports of the training device (451).

In operation, using either the bus or point to point arbitration methods descried above, any training device (e.g., training device304) in a chain of training devices that are configured to each generate synchronized, simulated waveforms for training condition monitoring systems, can arbitrate a master, and lock phase/synchronization between the devices in the chain.FIG.5is a diagram illustrating a system500of training devices (A1-An) coupled together. The description provided below will discuss how master arbitration can be resolved for the system500, using the arbitration methods described above, how lock synchronization in a new system500can be executed, and how new training devices can be added to an existing system500(or other grouped networks).

FIG.5is a diagram illustrating a plurality of training devices coupled together to form a communicating network of training devices. As shown inFIG.5, each training device (A1 . . . An) of the system500can include an input port510and an output port520. In some embodiments, the input/output ports510,520can be included in the connections113a,113bofFIG.1A. In some embodiments, the input/output ports510,520can be powered by the power generator of the training device. The output port520of one training device (e.g., device A1) can be configured to connect to the input port510of another device (e.g., device A2) via a connection (line)530. In some embodiments, the connection530can comprise a clock connection and a frame connection. The clock connection can be configured to connect a clock-in pin512at each input port510and a clock-out pin522at each output port520. Similarly, the frame connection can be configured to connect a frame-in pin514at each input port510and a frame-out pin524at each output port520. The connection530formed between each training device (A1 . . . An) can provide the devices with the capability to achieve both master arbitration and device synchronization, depending on the mode of operation the system is in, as described below.

In some embodiments, the frame-out pin524can be configured to drive the line to either a logic high state or logic low state. The frame-in pin514can be a high impedance pin, and thus unable to drive its input to the logic high state or the logic low state. The frame-in pin514can include a pull up resistor to place its input to a known state when there is no up-stream device driving its input to a logic high or low state (e.g., in the case of device A1 ofFIG.5).

In some embodiments, the clock connection can also include a collision connection configured to connect a collision sense (collision-in) pin526to a collision assert (collision-out) pin516. In this case, the clock-out pin522can set the output logic low, but require an external pull up resistor to pull the line to a logic high (also known as an open drain configuration, as shown inFIG.5). This can allow a collision-in pin526to sense a downstream device pulling the line to a logic Low state even though the clock-out pin522has released the line530(allowing the pull up resistor to pull the bus high). For example, in the case of device A1, the downstream device (A2) can sense the upstream device (A1) clock-out state through the A2 clock-in pin512. If the downstream device (A2) senses a fault or issue within itself or a downstream device (e.g., A3), it can pull the clock interface to a logic-low state through the A2 collision out pin516.

When the system is in a master arbitration mode, the system500of training devices A1-An can be configured to perform form a startup function along with one or more functions including a removal of slave function, a removal of master function, an adding slave function, an adding master function, a combining multiple chains function and a chain length exceeded function. In some embodiments, after performing any of the functions listed above, the system500can be configured return to the startup function. Additionally, once the system has completed the startup function and/or the one or more other functions, the system can be configured to transition into a synchronization mode, as described below.

FIG.6is a flow chart600illustrating a method of performing master arbitration in a system (e.g., system500) of training devices and further performing time synchronization within the system. The method ofFIG.6will be described in greater detail below, with references made to the system500ofFIG.5. In some embodiments, the method can be an algorithm that is carried out for each training device by the computing system of that training device. As described above, the connection530between devices (including the frame connection and the clock connection) can be used for master arbitration and synchronization of the system500. Other functionalities performed by the devices A1-An, including waveform generation, can be communicated between devices A1-An using an external data interface, as described above (e.g., via transceiver208ofFIG.2A).

During the startup function, at602, each device A1-An can be configured to set their collision-out pin516of each input510and the frame-out pin524of each output520to a logic low state. This can allow the system500to determine a master. Responsive to602, a master can be identified, at604, or a time out can occur, at606. In the event that a time out occurs, each device can be configured to return to602and begin the master identification process again until a master is identified. For example, at602, the most upstream device A1 can be configured to determine that it is the master of the system500, as device A1 has nothing connected to its input510. In this case, the frame-in pin514will be logic high due to the pull up resistor. Similarly, device An, at the end of the chain, can be configured to determine that it is the end of the chain, as there is no downstream collision-out pin516driving the collision-in pin526of An low. Accordingly, the collision-in pin526of An will float to logic high due to the external pull up resistor. Once the master is identified, the master can be configured to send out a pulse on its frame out pin, at608. Responsive to the pulse being sent out at608, the slave adjacent to the master can either acknowledge the pulse, or not. If the adjacent slave acknowledges the pulse, they can be configured to transmit a response, at610, on their collision-out pin, back to the master. If there is no acknowledgement, represented by612, a time out can occur, at616, and the master can be configured to repeat the process of608a predetermined number of times before determining that there are no slaves in the system. Upon determining that there are no slaves in the system, master arbitration can be complete and the master can begin operating as described above.

Responsive to the adjacent slave acknowledging the pulse, and transmitting the response, at610, the master can wait a first predetermined amount of time, at614, before sending a pulse to the adjacent slave, at618, notifying the adjacent slave that it is the second device in the system chain. Responsive to the transmission by the master at618, the adjacent slave can either acknowledge the pulse, or not. If the adjacent slave acknowledges the pulse, they can be configured to transmit a response, at620, on their collision-out pin, back to the master. Responsive to receiving the adjacent slave's acknowledgement, at620, the master can be configured to set its frame-out pin to the logic high state at624, and the adjacent slave can be configured to hold its collision out pin at the logic low state, at628. If there is no acknowledgement, represented by622, after a second predetermined amount of time, at626, the master can be configured to set its clock out pin to the logic-low state and return to602. In some embodiments, by the master setting its clock out pin to the logic-low state and returning to602, the master can determine that a slave has been removed from the chain and initiate the slave removal function, as discussed in greater detail below. In the event that there are multiple slaves in the system (e.g., A2, A3, An), each slave can repeat the process above of transmitting a pulse to its subsequent slave, notifying the subsequent slave that it is the nth device in the system chain. Responsive to each slave transmission, each subsequent slave can either acknowledge the pulse, or not. If the subsequent slave acknowledges the pulse, they can be configured to transmit a response, on their collision-out pin, back to the upstream slave. This process can be repeated for all slaves in the chain in order to determine the number of slaves in the chain. During this process, the master can be configured to wait a third predetermined time, at630, for the downstream slaves to report back the number of slaves in the chain. In the event that the downstream slaves report back within the third predetermined time, the master can determine that the master arbitration is complete and the master can begin the time synchronization function, at634, as described in greater detail below. In the event that the downstream slaves do not report back within the third predetermined time, the master can determine, at632, that the chain is too long, and can return to602to perform the chain too long function, as described in greater detail below.

During the slave removal function, the master determined (A1) can be configured to query the other devices A2-An in the chain through an external data interface, described above. During this query, if a device does not report back to A1, A1 can be configured to determine that a break in communication has occurred at the location of the device that did not report back to A1.

During normal operation, as described above in reference to608, the master can be configured to transmit its frame signals to the slaves A2-An at a predetermined frequency. Accordingly, during a master removal function, any of the slave devices A2-An can be configured to time the frequency at which frames are received from the master, A1. If a frame is not received within the predetermined frequency, any of the devices A2-An can be configured to determine that a time-out has occurred. Once one slave A2-An determines that a time-out has occurred, the slaves can be configured to remove A1 as the master and return to602to determine a new master.

During a slave added to chain function, when a salve is added to the chain, the slave added can be configured to set its collision-out pin516and frame-out pin524to the logic low state. For example, if a device An is added to the chain, and connected to A3, the addition of An can notify the slave upstream device A3, through the collision-out pin of A3, that a fault or new device has been added. Responsive to this notification, slave A3 can be configured to set its frame-out pin524and collision-out pin516to the logic low state, which can notify all other slaves and the master that the new device An has been added to the chain. Once the slave added to chain function is complete, the system can be configured to return to602to determine if master arbitration is complete and the system is ready to be time synchronized.

During a master added to chain function, when a new master is added to the chain, the old master can be configured to detect the new master in a variety of ways. For example, in a case where the old master is device A2, when a new master A1 is added to the chain, the old master A2 can be configured to detect the new master A1 responsive to the frame-in pin514of the old master A2 going to the low state. In some embodiments, when the new master A1 is added to the chain, the old master A2 can be configured to detect the new master A1 responsive to receiving clock pulses transmitted into clock-in pin512of the old master A1. Responsive to determining that a new master A1 has been added to the chain, the old master A2 can be configured to change its collision-out pin516to the low state and its frame-out pin524to the low state. This can notify both upstream devices and downstream devices that a new master A1 has been added.

Accordingly, responsive to completing the master added to chain function, the system can be configured to return to602to determine if master arbitration is complete and the system is ready to be time synchronized.

In some embodiments, the combining multiple chains function can operate similarly to the master added to chain function described above. For example, during the combining multiple chains function, a downstream chain can be added to an upstream chain. In this case, a downstream chain master can be configured to receive clock and frame pulses on its input510being transmitted from an upstream slave of the upstream chain. In this case, similarly to as described above, once the downstream chain master has detected the upstream chain, the downstream chain master can be configured to change its frame-out pin524and collision-out pin516to the low state. Responsive to this, the downstream chain and the new chain system can be configured to return to the startup function.

In some cases, when multiple devices are added to a system chain, or multiple system chains are linked, the system chain can become too long. In some embodiments, the maximum system chain length can be determined based on the third predetermined time, described above. The system can be configured to determine if the chain is too long during a chain too long function. If the system chain is too long, all slaves in the chain will eventually reach a time out, which will be transmitted to the master and presented in the GUI thereof (e.g., GUI115ofFIG.1) to notify a user that the chain is too long.

As described above, once any of the functions described above are completed, the system can be configured to return to602to determine if master arbitration is complete and the system is ready to be time synchronized. Once master arbitration is complete, the devices of the system can be configured to begin the synchronization function at634. It should also be noted that once the master has been arbitrated and the system chain is functioning properly, the master can be configured to query all downstream devices through the external data interface in order to determine the total number of devices in the system chain.

Once the master has been arbitrated and the system chain is functioning properly, the devices A1-An can be configured to transition into the time synchronize mode to synchronize the inputs and outputs of each device to more accurately mimic a series of outputs that would typically by provided to a monitoring system(s) from a plurality of sensors configured to monitor an industrial asset. In the synchronization mode, the master (e.g., A1) can begin the time synchronization by transmitting its clock down to all downstream devices A2-An. After a predetermined number of clock cycles, a frame pulse can be transmitted down to all downstream devices to indicate a phase relationship to the clock pulses. This allows all devices in the chain to know where in time a periodic event should occur along with a self-check if the frame did not occur when expected. In some embodiments, if a device in the system detects that its phase is out of sync with the frame pulse not occurring within a certain time (which can occur, for example, when a master is removed from the system), the system can be configured to transition back into the master arbitration mode to perform the one or more functions described above.

The functionality described in above can provide the training device(s) in a system (e.g., system500) with playback functionality on complex waveforms/monitored machine trains (such as LNG machines) into a condition monitoring system for enhanced diagnostics or modeling of complex industrial machinery. Further, the functionality described inFIGS.5-6can provide the training device(s) with an ability to perform periodic diagnostic or safety checks on the condition monitoring system to validate that the monitoring system is still working and/or resolve any undetected failures that are not caught by the monitored machinery (i.e. catastrophic failures resulting in a lost of an asset).

FIG.7is a block diagram700illustrating another embodiment of a computing system710suitable for use in implementing the computerized components of the training device described herein, such as the training device102. In broad overview, the computing system710includes at least one processor750for performing actions in accordance with instructions, and one or more memory devices760and/or770for storing instructions and data. The illustrated example computing system710includes one or more processors750in communication, via a bus715, with memory770and with at least one network interface controller720with a network interface725for connecting to one or more condition monitoring systems730. The one or more processors750are also in communication, via the bus715, with each other and with any other devices780(e.g., a GUI). The processor750illustrated incorporates, or is directly connected to, cache memory760. Generally, a processor will execute instructions received from memory.

In more detail, the processor750can be any logic circuitry that processes instructions, e.g., instructions fetched from the memory770or cache760. In many embodiments, the processor750is an embedded processor, a microprocessor unit or special purpose processor. The computing system710can be based on any processor, e.g., suitable digital signal processor (DSP), or set of processors, capable of operating as described herein. In some embodiments, the processor750can be a single core or multi-core processor. In some embodiments, the processor750can be composed of multiple processors.

The memory770can be any device suitable for storing computer readable data. The memory770can be a device with fixed storage or a device for reading removable storage media. Examples include all forms of non-volatile memory, media and memory devices, semiconductor memory devices (e.g., EPROM, EEPROM, SDRAM, flash memory devices, and all types of solid state memory), magnetic disks, and magneto optical disks. A computing device710can have any number of memory devices770.

The cache memory760is generally a form of high-speed computer memory placed in close proximity to the processor750for fast read/write times. In some implementations, the cache memory760is part of, or on the same chip as, the processor750.

The network interface controller720manages data exchanges via the network interface725. The network interface controller720handles the physical, media access control, and data link layers of the Open Systems Interconnect (OSI) model for network communication. In some implementations, some of the network interface controller's tasks are handled by the processor750. In some implementations, the network interface controller720is part of the processor750. In some implementations, a computing device710has multiple network interface controllers720. In some implementations, the network interface725is a connection point for a physical network link, e.g., a USB connector. In some implementations, the network interface controller720supports wireless network connections via network interface port725. The computing device710can be configured to generate waveforms to transmit to the condition monitoring system(s)730, as described herein.

In some embodiments, the computing device can be configured to connect to other computing devices740, via the network interface port725. The other computing device740can include a computer, smart phone, or other device configured to transmit waveform data, and other calibration data to the computing device710. In some embodiments, the other computing device can be a remote controller, or a remote display device configured to communicate and operate the training device remotely. Further, in some embodiments, the other computing device730can include another computing device710of another training device, which can be linked to the computing system710to form a linked chain system, as described herein.

Certain exemplary implementations have been described to provide an overall understanding of the principles of the structure, function, manufacture, and use of the systems, devices, and methods disclosed herein. One or more examples of these implementations have been illustrated in the accompanying drawings. Those skilled in the art will understand that the systems, devices, and methods specifically described herein and illustrated in the accompanying drawings are non-limiting exemplary implementations and that the scope of the present invention is defined solely by the claims. The features illustrated or described in connection with one exemplary implementation may be combined with the features of other implementations. Such modifications and variations are intended to be included within the scope of the present invention. Further, in the present disclosure, like-named components of the implementations generally have similar features, and thus within a particular implementation each feature of each like-named component is not necessarily fully elaborated upon.

One skilled in the art will appreciate further features and advantages of the invention based on the above-described implementations. Accordingly, the present application is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated by reference in their entirety.