Software-based time-reversal detection
By generating and updating dates, the controller effectively detects time rollovers, solving the problem of incorrect time and date caused by misjudgment in existing technologies. This ensures that machine components receive the correct information and improves the reliability of machine operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-19
- Publication Date
- 2026-03-31
AI Technical Summary
Existing technologies are prone to misjudgment when detecting time reversals, causing machine components to receive incorrect time and date information, which affects the normal operation of the machine.
The controller receives weekly and second data to generate a first date, uses the offset value to generate a second date, and obtains the network date when the second date is earlier than the baseline date. The baseline date and offset value are then updated to ensure that the correct system date is provided.
Effective detection of time reversal ensures that machine components receive the correct time and date information, avoids misjudgments, and improves the reliability of normal machine operation.
Smart Images

Figure CN115335779B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to controllers for machines, for example, to controllers configured to detect time flips. Background Technology
[0002] The machine may include a controller to provide instructions and / or information to machine components such as engines, safety systems, productivity tracking systems, maintenance alarm systems, etc. For example, the machine may include a controller with a Global Navigation Satellite System (GNSS) receiver (e.g., a Global Positioning System (GPS) receiver, a Galileo receiver, a GLOSASS receiver, a BeiDou receiver, etc.), satellite radio equipment, cellular radio equipment, etc., and the controller may provide time and / or date information to the safety system. The safety system can use the time and / or date information to determine whether an operator is permitted to enter the machine, start the engine, etc. The safety system may, for example, be configured to allow only the operator and / or specific operators from a group of operators to enter the machine based on the current time, the date of the week, etc.
[0003] The controller may include a GPS receiver that obtains week and second information from GPS satellites, and the controller may determine the time and / or date based on the week and second information. GPS satellites may provide week information as the week number starting from a given date that begins at zero. However, based on the GPS protocol, GPS satellites can only provide week information using ten binary digits. Therefore, after 1024 weeks, GPS satellites provide zero for the week information, which can be referred to as a "flip". Such a flip can occur in any system that tracks time information using an incrementing counter, where the counter has a limited data space (e.g., a set number of binary digits, etc.) for transmission, storage, etc.
[0004] After a rollover occurs, the controller may provide incorrect time and / or date information to machine components such as the engine, safety systems, productivity tracking systems, and maintenance alarm systems. For example, the controller may provide incorrect time and / or date information to the safety system, and the safety system may prevent operators from accessing the machine, starting the engine, etc., based on the incorrect time and / or date information.
[0005] An attempt to detect time rollover is disclosed in Japanese Patent Publication No. JP6421728 ('728 Publication), granted to Denso and published on November 14, 2018. Specifically, '728 Publication discloses an in-vehicle device that sets the date and time of the previous GPS reception, the date and time backed up during the previous operation, and a set date and time as the initial date and time, and determines whether a rollover has occurred based on the initial date and time and GPS navigation messages. If a rollover has occurred, the in-vehicle device generates the GPS reception date and time based on the navigation messages by considering the time period corresponding to the rollover.
[0006] While the vehicle-mounted device disclosed in '728 can detect a rollover and update the date and time based on the rollover, it may also detect a rollover even when no rollover has occurred. For example, formatting errors or transmission errors in GPS navigation messages may cause the vehicle-mounted device to detect a rollover, and it can generate an updated date and time and update the backup of the previous GPS reception date and time, thus causing the vehicle-mounted device to repeatedly detect a rollover when receiving GPS navigation messages.
[0007] The method disclosed herein solves one or more of the problems described above and / or other problems in the art. Summary of the Invention
[0008] According to some implementations, a method may include: receiving time data including week data and second data by a controller for a machine; processing the time data by the controller to generate a first date; generating a second date by the controller based on the first date and an offset value; obtaining a network date by the controller when the second date is earlier than a baseline date; assigning the network date as the baseline date by the controller; processing the network date and the first date by the controller to determine an updated offset value; storing the updated offset value as the offset value by the controller; and providing a system date based on the network date to an application by the controller when the second date is earlier than the baseline date, wherein the application determines whether to lock the door of the machine based on the system date; and providing the system date to the application by the controller when the second date is not earlier than the baseline date, wherein the system date corresponds to the second date.
[0009] According to some implementations, a method may include: receiving time data including week data and second data by a device; processing the time data by the device to generate a first date; generating a second date by the device based on the first date and an offset value; obtaining a network date by the device when the second date is earlier than a baseline date; assigning the network date as the baseline date by the device; processing the network date and the first date by the device to determine an updated offset value; storing the updated offset value as the offset value by the device; and determining a system date by the device based on the network date.
[0010] According to some implementations, a method may include: receiving time data, including week data and second data, from a Global Navigation Satellite System (GNSS) satellite by a device; processing the time data by the device to generate a first date; generating a second date by the device based on the first date and an offset value; obtaining a network date from at least one of a network time protocol or a satellite system when the second date is earlier than a baseline date; assigning the network date as the baseline date by the device; processing the network date and the first date by the device to determine an updated offset value; storing the updated offset value as the offset value by the device; and determining a system date by the device based on the network date. Attached Figure Description
[0011] Figure 1 This is a diagram of an exemplary implementation of the time-flip detection described herein.
[0012] Figure 2 This is a diagram of an exemplary implementation of the time-flip detection described herein.
[0013] Figure 3 This is a diagram of an exemplary implementation of the time-flip detection described herein.
[0014] Figure 4 This is a diagram of an exemplary implementation of the time-flip detection described herein.
[0015] Figure 5 This is a diagram of an exemplary implementation of the time-flip detection described herein.
[0016] Figure 6 This is a diagram of an exemplary implementation of the time-flip detection described herein.
[0017] Figure 7 This is a flowchart of an exemplary process for detecting time reversal and updating the baseline date.
[0018] Figure 8 This is a flowchart of an exemplary process for detecting time reversal and updating the baseline date.
[0019] Figure 9yes Figure 1-6 A diagram of exemplary components of one or more devices.
[0020] Figure 10 This is a flowchart of an exemplary process for time-reversal detection. Detailed Implementation
[0021] This disclosure relates to a process for detecting time flips, for example, using a controller. The process and / or controller are generally applicable to any machine that utilizes time data (e.g., from a GNSS receiver, etc.). For example, a controller can detect when a time flip has occurred by comparing a GPS receiver date to a baseline date (e.g., stored by the controller when it was last turned on) and determining that a time flip has occurred when the GPS receiver date is earlier than the baseline date. The controller can obtain a network date from the asset-connected satellites and / or network based on the determination that a time flip has occurred (e.g., to confirm that a time flip has occurred). The controller can determine whether the GPS receiver date and / or network date are valid (e.g., have an appropriate format, etc.) to prevent invalid dates from triggering the detection of a time flip. The controller can update the baseline date based on the network date, and the controller can update an offset value based on the network date. The controller can use the offset value to modify the GPS receiver date to account for the detected time flip. The following description of the accompanying drawings and exemplary embodiments provides further illustration and description of the method and / or controller.
[0022] Figure 1-6 This is a diagram of an exemplary implementation 100 of the time-reversal detection described herein. For example, as... Figure 1-6 As shown, exemplary implementation 100 includes a machine 102, a controller 104, a GPS receiver 106, a GPS satellite 108, an asset-connecting satellite 110, and a network 112. Although exemplary implementation 100 includes a GPS receiver 106 and a GPS satellite 108, other implementations may include other types of GNSS receivers and GNSS satellites (e.g., Galileo, GLONASS, BeiDou, etc.). Figure 1-6 The date is displayed using the US format MM / DD / YYYY.
[0023] like Figure 1 As shown, machine 102 may include controller 104. For example, controller 104 may be an embedded controller for providing instructions and / or information to machine components such as engines, safety systems, productivity tracking systems, maintenance alarm systems, etc. Controller 104 may include and / or be communicatively connected to GPS receiver 106. Figure 1As shown, controller 104 may (e.g., in non-volatile memory, etc.) store tables including GPS receiver date, system date, baseline date, offset value, and modified GPS receiver date, each of which will be further described herein.
[0024] like Figure 1 As shown, GPS satellite 108 can provide GPS receiver 106 with time data, indicated by reference numeral 130, which includes week data and second data. For example, an operator can turn on machine 102, controller 104, etc., and GPS receiver 106 can begin receiving signals including week data and second data from GPS satellite 108. Figure 1 As shown, week data can have a value of 1, and second data can have a value of 115200. Also... Figure 1 As shown, when the operator turns on machine 102, controller 104, etc., the system date is unknown.
[0025] like Figure 1 As shown by reference numeral 132 in the accompanying drawings, controller 104 can generate the GPS receiver date (e.g., by processing time data). For example, GPS receiver 106 can generate a message from the controller based on week data and second data, the message including the GPS receiver date. The GPS receiver date can be generated by adding the week number from the week data and the second number from the second data to the start date and time. For example, GPS uses 12:00 AM on January 6, 1980 (01 / 06 / 1980) as the start date and time.
[0026] GPS receiver 106 can be configured to generate a GPS receiver date based on week data, second data, and an offset to account for any flips that may have occurred before GPS receiver 106 was manufactured (e.g., the first GPS flip occurred at 12:00 AM on August 22, 1999, the second GPS flip occurred at 12:00 AM on April 7, 2019, etc.). For example, GPS receiver 106 can be configured to generate a GPS receiver date of 8:00 AM on August 30, 1999 by adding the week number in the week data, the second number in the second data, and an offset of 1024 weeks (to account for the first GPS flip) to 12:00 AM on January 6, 1980.
[0027] use Figure 1For example, GPS receiver 106 can add an offset of 1024 weeks to 12:00 AM on January 6, 1980, to account for the first GPS flip and obtain 12:00 AM on August 22, 1999. GPS receiver 106 can add one week to 12:00 AM on August 22, 1999, to account for one week in the week data and obtain 12:00 AM on August 29, 1999. GPS receiver can add 115200 seconds to 12:00 AM on August 29, 1999, to account for seconds in the second data and obtain the GPS receiver date on August 30, 1999.
[0028] like Figure 1 As shown by reference numeral 134 in the accompanying drawing, the controller 104 can modify the GPS receiver date using an offset value. Figure 1 As shown, the offset value can initially be zero. The offset value can include a value to account for any flips that may have occurred since the GPS receiver 106 was manufactured. For example, if the GPS receiver 106 was manufactured before a flip, and the controller 104 was manufactured after the flip, the controller 104 can be configured to initially store a value to account for the flip that occurred between the manufacture of the GPS receiver 106 and the controller 104. Therefore, when the controller 104 modifies the GPS receiver date with the offset value, the modified GPS receiver date can be corrected to account for the flip. Based on the GPS receiver date of August 30, 1999, and... Figure 1 The zero offset value shown allows controller 104 to generate a modified GPS receiver date of August 30, 1999.
[0029] like Figure 1 As shown by reference numeral 136 in the accompanying drawings, controller 104 can compare the modified GPS receiver date with a baseline date. The baseline date can initially be the manufacturing date of controller 104, a date after the flip and before the manufacturing date of controller 104, the date controller 104 and / or machine 102 were last turned on, etc. Figure 1 As shown, the baseline date could be April 3, 2019, which could correspond to the date the controller 104 was last turned on.
[0030] Controller 104 can process the modified GPS receiver date and the baseline date to determine whether the modified GPS receiver date is earlier than the baseline date. For example, controller 104 can process the modified GPS receiver date of August 30, 1999, and the baseline date of April 3, 2019, to determine whether the modified GPS receiver date is earlier than the baseline date.
[0031] Based on the determination that the modified GPS receiver date is earlier than the baseline date, controller 104 can determine that a flip has occurred. For example, the baseline date of April 3, 2019, could correspond to the date when controller 104 was last turned on. The second GPS flip occurred at 12:00 AM on April 7, 2019. Figure 1 As shown, the operator can turn on controller 104 at 8:00 AM (UTC) on April 15, 2019. Based on the determination that the modified GPS receiver date of August 30, 1999, is earlier than the baseline date of April 3, 2019, controller 104 can determine that a second flip has occurred.
[0032] like Figure 2 As shown by reference numeral 138 in the accompanying drawings, controller 104 can obtain the network date from asset-connected satellite 110 and / or network 112. For example, controller 104 may obtain the network date based on determining that a modified GPS receiver date is earlier than a baseline date. Asset-connected satellite 110 may be a component of an asset tracking system used by an entity associated with machine 102 and / or controller 104 (e.g., owner, operator, manufacturer, etc.) to track, monitor, control, etc., machine 102 and / or controller 104.
[0033] Network 112 may include cellular networks (e.g., Long Term Evolution (LTE) networks, Code Division Multiple Access (CDMA) networks, 3G networks, 4G networks, 5G networks, another type of next-generation network, etc.), Public Land Mobile Networks (PLMNs), Local Area Networks (LANs), Wide Area Networks (WANs), Metropolitan Area Networks (MANs), telephone networks (e.g., Public Switched Telephone Networks (PSTNs), Private Networks, Ad Hoc Networks, Intranets, the Internet, fiber-based networks, cloud computing networks, etc.), and / or combinations of these or other types of networks. For example, network 112 may include a wireless network for the workplace in which machine 102 is operating, wherein the wireless network is maintained by an entity associated with machine 102, and network 112 may include a network time protocol from which controller 104 obtains network dates.
[0034] like Figure 2As shown by reference numeral 140 in the accompanying drawings, controller 104 can process modified GPS receiver dates and network dates. Controller 104 can process modified GPS receiver dates and network dates to determine whether the modified GPS receiver dates and network dates are valid. For example, controller 104 can determine whether the modified GPS receiver dates and network dates have the correct formatting pattern (e.g., month-day-year format, etc.), contain valid date data (e.g., not just zeros, etc.), etc. By determining the validity of the modified GPS receiver dates and network dates before determining the system date, updating the baseline date, updating the offset value, etc., controller 104 can prevent invalid GPS receiver dates and / or network dates from affecting the system date, baseline date, offset value, etc. In this way, controller 104 can provide correct time and / or date information to other components, systems, applications, etc.
[0035] like Figure 2 As shown by reference numeral 142 in the accompanying drawings, controller 104 can store the network date as a baseline date. For example, controller 104 can store the network date as a baseline date based on determining that the modified GPS receiver date and network date are valid. Figure 2 As shown, the network date can be April 15, 2019, and the controller 104 can store the network date April 15, 2019 in a table as the baseline date.
[0036] The controller 104 can determine and store a baseline date based on the network date and a time zone offset, wherein the time zone offset takes into account the time zone difference between the network date and the UTC time provided by GPS satellites. For example, the controller 104 can use the time zone offset to convert the network date to UTC time and store the converted UTC network date as the baseline date.
[0037] like Figure 3 As shown by reference numeral 144 in the accompanying drawings, controller 104 can update the offset value. For example, controller 104 can update the offset value based on determining that the modified GPS receiver date and network date are valid. Controller 104 can increment the offset value by a number equivalent to the time between two flips. For example, and as... Figure 3 As shown, controller 104 can update the offset value by adding 1024 to the offset value, where 1024 corresponds to the number of cycles between GPS flips.
[0038] Controller 104 can determine the phase count. For example, the first phase could be the time period between the start date and time of 12:00 AM on January 6, 1980, and the first GPS flip at 12:00 AM on August 22, 1999, and the second phase could be the time period between the first GPS flip at 12:00 AM on August 22, 1999, and the second GPS flip that occurred at 12:00 AM on April 7, 2019. The phase count can correspond to the number of phases between the start date and time and the system date and time. For example, based on the system date of 8:00 AM on April 15, 2019, controller 104 can determine the phase count to be 2. Additionally or alternatively, controller 104 can determine the phase count by determining the difference between the system date and the start date, dividing the difference by 1024 to obtain a quotient, and determining that the phase count corresponds to the quotient.
[0039] like Figure 3 As shown by reference numeral 146 in the accompanying drawings, controller 104 can determine the system date. For example, controller 104 can determine the system date based on determining that the modified GPS receiver date and network date are valid. Figure 3 As shown, controller 104 can determine that the system date corresponds to the network date of April 15, 2019.
[0040] The controller 104 can provide the system date to other components of the machine, such as the engine, safety system, productivity tracking system, maintenance alarm system, etc. For example, the controller 104 can provide the system date to the safety system, and the safety system can allow the operator to perform one or more functions based on the system date, such as starting the engine, opening other parts of the machine, etc.
[0041] In another example, controller 104 can provide the system date to a productivity tracking system. The productivity tracking system can then provide this information to an employee management system based on the system date. For example, the productivity tracking system can send information about an operator's actions on machine 102, including the system date, via network 112, another network, etc.
[0042] In another example, controller 104 can provide the system date to a maintenance alarm system. The maintenance alarm system can provide information, alarms, etc., to operators, maintenance management systems, etc., based on the system date. For example, the maintenance alarm system can determine that one or more parts of a machine need to be replaced based on the system date, and can provide an alarm to the operator and (e.g., via network 112, another network, etc.) send information about the one or more parts of the machine that need to be replaced.
[0043] In this way, controller 104 can determine whether a flip has occurred based on the baseline date and the modified GPS receiver date, obtain the network date to confirm that a flip has occurred, update the baseline date, update the offset value, and still provide the correct system date to the components of machine 102 despite the flip.
[0044] like Figure 4 As shown, the operator can turn on machine 102, controller 104, etc., at a later date and time, such as 8:00 AM on November 11, 2019. As indicated by reference numeral 148, GPS satellite 108 can provide time data, including week and second data, to GPS receiver 106. For example, when the operator turns on machine 102, controller 104, etc., GPS receiver 106 can begin receiving signals including week and second data from GPS satellite 108. Figure 4 As shown, week data can have a value of 31, and second data can have a value of 115200. Also... Figure 4 As shown, when the operator turns on machine 102, controller 104, etc., the system date is unknown.
[0045] like Figure 4 As shown by reference numeral 150 in the accompanying drawings, the controller 104 can be connected in a manner similar to... Figure 1 The GPS receiver date is generated in the manner described above (e.g., by processing time data). For example, GPS receiver 106 can be configured to generate the GPS receiver date by adding the week number in the week data, the second number in the second data, and an offset of 1024 weeks (to account for the first GPS flip) to 12:00 AM on January 6, 1980, thereby obtaining the GPS receiver date of 8:00 AM on March 27, 2000.
[0046] like Figure 4 As shown by reference numeral 152 in the accompanying drawings, the controller 104 can be coupled with Figure 1 The GPS receiver date is modified using an offset value in a similar manner. For example, based on the GPS receiver date of March 27, 2000 and an offset value of 1024, the controller 104 can generate a modified GPS receiver date of November 11, 2019.
[0047] like Figure 4 As shown by reference numeral 154 in the accompanying drawings, the controller 104 can be coupled with Figure 1The modified GPS receiver date and the baseline date are compared in a similar manner. Controller 104 can process the modified GPS receiver date and the baseline date to determine whether the modified GPS receiver date is earlier than the baseline date. For example, controller 104 can process the modified GPS receiver date of November 11, 2019, and the baseline date of April 15, 2019, to determine that the modified GPS receiver date is not earlier than the baseline date. Based on the determination that the modified GPS receiver date is not earlier than the baseline date, controller 104 can determine that no flip has occurred.
[0048] like Figure 5 As shown by reference numeral 156 in the accompanying drawings, controller 104 can determine the difference between the modified GPS receiver date and the baseline date. For example, controller 104 can determine the difference between the modified GPS receiver date and the baseline date based on the determination that the modified GPS receiver date is not earlier than the baseline date.
[0049] like Figure 5 As shown by reference numeral 158 in the accompanying drawing, controller 104 can determine whether the difference meets a threshold. Controller 104 can determine whether the difference between the modified GPS receiver date and the baseline date meets the threshold based on the difference being greater than a certain time period (e.g., days, weeks, months, years, etc.). For example, if the difference is greater than six months, controller 104 can determine that the difference meets the threshold. Figure 5 The controller 104 can determine that the difference meets a threshold by using the modified GPS receiver date of November 11, 2019, and the baseline date of April 15, 2019, as shown.
[0050] like Figure 6 As shown by reference numeral 160 in the accompanying drawings, controller 104 can obtain the network date from asset-connected satellite 110 and / or network 112. For example, controller 104 can obtain the network date based on determining that the difference between the modified GPS receiver date and the baseline date meets a threshold.
[0051] like Figure 6 As shown by reference numeral 162 in the accompanying drawings, the controller 104 can be coupled with Figure 2 The same approach is used to handle modifications to the GPS receiver date and network date. For example, controller 104 can process the modified GPS receiver date and network date to determine whether the modified GPS receiver date and network date are valid.
[0052] like Figure 6 As shown by reference numeral 164 in the accompanying drawings, controller 104 can store the network date as a baseline date. For example, controller 104 can store the network date as a baseline date based on determining that a modified GPS receiver date and network date are valid. Figure 6As shown, the network date can be November 11, 2019, and the controller 104 can store the network date November 11, 2019 in a table as the baseline date.
[0053] like Figure 6 As shown by reference numeral 166 in the accompanying drawings, controller 104 can determine the system date. For example, controller 104 can determine the system date based on determining that the modified GPS receiver date and network date are valid. Figure 6 As shown, controller 104 can determine that the system date corresponds to the network date of November 11, 2019. Controller 104 can do this by combining with... Figure 3 The system date is provided to other components of the machine, such as the engine, safety system, productivity tracking system, maintenance alarm system, etc., in a similar manner.
[0054] In this way, controller 104 can determine whether the difference between the modified GPS receiver date and the baseline date meets a threshold (which can indicate that the baseline date should be updated), obtain the network date, update the baseline date, and provide the correct system date to the components of machine 102.
[0055] As mentioned above, providing Figure 1-6 As an example. Other examples can be combined with it. Figure 1-6 The descriptions are different.
[0056] Figure 7-8 This is a flowchart of an exemplary process 700 for time-reversal detection and baseline date updating. Controller 104 can execute... Figure 7-8 The flowchart shows one or more steps. For example, controller 104 (e.g., using GPS receiver 106) can obtain GPS date (box 705) (e.g., in a similar manner to...). Figure 1 The attached reference numerals 130 and / or 132, Figure 4 (as indicated by reference numerals 148 and / or 150, etc.). Controller 104 can modify the GPS date (box 710) using an offset value (e.g., in a manner similar to combining...). Figure 1 Appendix numeral 134 Figure 4 (as described by reference numeral 152, etc.). Controller 104 can determine whether the modified GPS date is less than the baseline date (box 715) (e.g., in a manner similar to combining...). Figure 1 Appendix label 136 Figure 4 (as described in the attached reference numeral 154, etc.). If the modified GPS date is less than the baseline date, the controller 104 can set a rebaseline flag (box 720) (e.g., a flag that triggers the controller 104 to perform a rebaseline method, etc.).
[0057] If the modified GPS date is not less than the baseline date, controller 104 can determine the difference between the modified GPS date and the baseline date (box 725) (e.g., in a manner similar to combining). Figure 5 (as described by reference numeral 156, etc.). Controller 104 can determine whether the difference meets a threshold (box 730) (e.g., in a manner similar to combining...). Figure 5 (as described in reference numeral 158, etc.). If the difference meets a threshold, controller 104 can set a rebaseline flag (box 720). If the difference does not meet the threshold, controller 104 can provide a system date (box 735) (e.g., provided to a component, system, application, etc.). For example, controller 104 can be configured in a manner similar to... Figure 3 The method described provides the system date (box 735).
[0058] like Figure 8 As shown, controller 104 can determine whether to set the rebaseline flag (box 740). If the rebaseline flag is not set, controller 104 can stop (complete). If the rebaseline flag is set, controller 104 can obtain the network date (box 745) (e.g., in a similar manner to combining...). Figure 2 Appendix label 138 Figure 6 (as described in the attached figure 160, etc.).
[0059] Controller 104 can determine whether the modified GPS date is valid (box 750) (e.g., in a similar manner to...). Figure 2 Appendix numeral 140 Figure 6 (as described in the attached reference numeral 162, etc.). If the modified GPS date is invalid, the controller 104 can stop (complete). If the modified GPS date is valid, the controller can determine whether the network date is valid (box 755) (e.g., in a manner similar to combining...). Figure 2 Appendix numeral 140 Figure 6 (as described in the attached figure, reference numeral 162, etc.). If the network date is invalid, the controller 104 can stop (complete).
[0060] If the network date is valid, controller 104 can store the network date as the baseline date (box 760) (e.g., in a manner similar to combining...). Figure 2 Appendix reference numeral 142 Figure 6 (as described by reference numeral 164, etc.). Controller 104 can determine the stage count (box 765) (e.g., based on network date, system date, start date, etc.). For example, controller 104 can be configured in a manner similar to combining... Figure 3The stage count is determined in the manner described (box 765). Controller 104 can store updated offset values (box 770) (e.g., based on stage counts, etc.). For example, controller 104 can be configured in a manner similar to combining... Figure 3 The updated offset value is stored in the manner described by reference numeral 144 (box 770). After storing the network date as the baseline date, determining the phase count, and / or storing the updated offset value, the controller 104 may clear the rebaseline flag (box 775).
[0061] As mentioned above, providing Figure 7-8 As an example. Other examples can be combined with it. Figure 7-8 The descriptions are different.
[0062] Figure 9 This is a diagram illustrating exemplary components of device 900. Device 900 may correspond to controller 104 and / or GPS receiver 106. Controller 104 and / or GPS receiver 106 may include one or more devices 900 and / or one or more components of device 900. Figure 9 As shown, the device 900 may include a bus 910, a processor 920, a memory 930, a storage unit 940, an input unit 950, an output unit 960, and a communication interface 970.
[0063] Bus 910 may include components that enable communication between multiple components of device 900. Processor 920 is implemented in hardware, firmware, and / or a combination of hardware and software. Processor 920 may be a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or another type of processing unit. Processor 920 may include one or more processors that can be programmed to perform functions. Memory 930 includes random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic storage, and / or optical storage) that stores information and / or instructions used by processor 920.
[0064] Storage component 940 stores information and / or software related to the operation and use of device 900. For example, storage component 940 may include hard disks (e.g., magnetic disks, optical disks, and / or magneto-optical disks), solid-state drives (SSDs), compact discs (CDs), digital versatile discs (DVDs), floppy disks, cassette tapes, magnetic tapes, and / or other types of non-transitory computer-readable media, and corresponding drives.
[0065] Input component 950 may include components that allow device 900 to receive information, such as through user input (e.g., a touchscreen display, keyboard, keypad, mouse, button, switch, and / or microphone). Alternatively, input component 950 may include components for determining location (e.g., a Global Positioning System (GPS) component) and / or sensors (e.g., an accelerometer, gyroscope, actuator, another type of position or environmental sensor, etc.). Output component 960 includes components that provide output information from device 900 (e.g., through a display, speaker, haptic feedback component, audio or visual indicator, etc.).
[0066] The communication interface 970 includes transceiver components (e.g., transceiver, separate receiver, separate transmitter, etc.) that enable the device 900 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 970 may allow the device 900 to receive information from another device and / or provide information to another device. For example, the communication interface 970 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a wireless local area network (WLAN) interface, a cellular network (CNN) interface, etc.
[0067] Apparatus 900 can perform one or more of the processes described herein. Apparatus 900 can perform these processes based on software instructions stored in a non-transitory computer-readable medium, such as memory 930 and / or storage unit 940, executed by processor 920. As used herein, the term "computer-readable medium" refers to a non-transitory memory device. A memory device includes memory space within a single physical memory device or memory space distributed among multiple physical memory devices.
[0068] Software instructions can be read from another computer-readable medium or from another device into memory 930 and / or storage unit 940 via communication interface 970. When executed, the software instructions stored in memory 930 and / or storage unit 940 cause processor 920 to perform one or more processes described herein. Alternatively or additionally, hardware circuitry may be used in place of or in combination with the software instructions to perform one or more processes described herein. Therefore, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.
[0069] Provided as an example Figure 9 The number and arrangement of the components are shown. In fact, with... Figure 9 Compared to the components shown, device 900 may include additional components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of device 900 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 900.
[0070] Figure 10 This is a flowchart of an exemplary process 1000 for time-reversal detection. Figure 10 One or more process boxes can be executed by a controller (e.g., controller 104). Figure 10 One or more process frames may be executed by another device or a group of devices that are separate from or include the controller (e.g., a GPS receiver (e.g., GPS receiver 106) etc.).
[0071] like Figure 10 As shown, process 1000 may include receiving time data including week data and second data (block 1010). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may receive time data including week data and second data. The controller may be a controller for a machine, and the machine may include at least one of a bulldozer, excavator, haul truck, paving machine, or compactor. Receiving time data may include receiving the time and date from a GNSS satellite.
[0072] like Figure 10 As further shown, process 1000 may include processing time data to generate a first date (block 1020). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may process time data to generate the first date.
[0073] like Figure 10 As further shown, process 1000 may include generating a second date based on a first date and an offset value (box 1030). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may generate a second date based on a first date and an offset value.
[0074] like Figure 10 As further shown, process 1000 may include obtaining the network date when the second date is earlier than the baseline date (box 1040). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may obtain the network date when the second date is earlier than the baseline date. Obtaining the network date may include obtaining the network date from at least one of a network time protocol or a satellite system.
[0075] like Figure 10As further shown, process 1000 may include assigning a network date as a baseline date (box 1050). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may assign a network date as a baseline date.
[0076] like Figure 10 As further shown, process 1000 may include processing the network date and the first date to determine the updated offset value (box 1060). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may process the network date and the first date to determine the updated offset value. Processing the network date and the first date to determine the updated offset value may include determining the difference between the first date and the network date, and dividing the difference between the first date and the network date by an integer.
[0077] like Figure 10 As further shown, process 1000 may include storing the updated offset value as an offset value (block 1070). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may store the updated offset value as an offset value.
[0078] like Figure 10 As further shown, process 1000 may include determining the system date based on the network date (block 1080). For example, as described above, a controller (e.g., using processor 920, memory 930, storage unit 940, input unit 950, output unit 960, communication interface 970, etc.) may determine the system date based on the network date. Determining the system date may include determining that the system date corresponds to the network date.
[0079] Process 1000 may include providing the application with a system date when the second date is earlier than the baseline date. Process 1000 may also include providing the application with a network-date-based system date when the second date is earlier than the baseline date, wherein the application determines whether to lock the machine's door based on the system date.
[0080] Process 1000 may include providing a system date to the application when the second date is not earlier than a baseline date, wherein the system date corresponds to the second date. Process 1000 may include, when the second date is not earlier than a baseline date, processing the second date and the baseline date to determine whether the difference between the second date and the baseline date meets a threshold or does not meet the threshold, obtaining a network date based on whether the difference between the second date and the baseline date meets the threshold, and storing the network date as the baseline date.
[0081] Process 1000 may include determining a stage count based on the difference between a network date and a first date, and storing a stage count. Process 1000 may include periodically processing received time data to generate another date, generating a modified date based on an offset value and the other date, obtaining another network date, and processing the other network date and the modified date to determine whether the modified date corresponds to the other network date or not.
[0082] although Figure 10 An exemplary block diagram of process 1000 is shown, but in some implementations, it is different from... Figure 10 Compared to the boxes depicted, process 1000 may include additional boxes, fewer boxes, different boxes, or boxes arranged differently. Additionally or alternatively, two or more boxes in process 1000 may be executed in parallel.
[0083] Industrial applicability
[0084] The controller 104 of machine 102 can be configured to provide instructions and / or information to machine components, such as engines, safety systems, productivity tracking systems, maintenance alarm systems, etc. For example, controller 104 can be configured to provide system date and / or time to components of machine 102 when an operator opens machine 102, controller 104, etc. Machine components can use the system date to perform functions, such as enabling the engine to start, locking and unlocking doors on machine 102, providing information about operator actions on machine 102 to an employee management system, providing maintenance information to the operator and / or maintenance management system, etc.
[0085] Because machine 102 may not be used for extended periods (e.g., days, weeks, months, years, etc.), machine 102 may not include a power source (e.g., a battery, etc.) to power the clock in controller 104. When turned on, the system date may be unknown to controller 104. Controller 104 can obtain time data from GPS satellites 108 using GPS receiver 106. GPS receiver 106 can provide the controller 104 with a GPS receiver date based on the time data, and controller 104 can determine the system date based on the GPS receiver date.
[0086] However, due to GPS flipping, controller 104 may determine an incorrect system date based on the GPS receiver date. Controller 104 may provide an incorrect system date to parts of the machine, and these parts may malfunction (e.g., the engine may not start, doors may be locked and / or unlocked at the wrong time and / or on the wrong date, maintenance alarms may not be generated, etc.).
[0087] Therefore, controller 104 can detect GPS flips based on a baseline date. Based on the detected GPS flip, controller 104 can obtain the network date from asset-connected satellite 110 or network 112 to confirm that a GPS flip has occurred. By obtaining the network date after determining that a flip has occurred, controller 104 can save computing resources (e.g., processing resources, memory resources, power resources, communication resources, etc.) and / or network resources that would otherwise be consumed by obtaining the network date each time machine 102, controller 104, etc., is turned on.
[0088] Controller 104 can update the baseline date and offset value based on the network date (e.g., stored in non-volatile memory). Controller 104 can modify the GPS receiver date based on the offset value to determine the correct system date in the future. By modifying the GPS receiver date using the offset value, controller 104 can save computing resources (e.g., processing resources, memory resources, power resources, communication resources, etc.) and / or network resources that would otherwise be consumed by obtaining the network date each time machine 102, controller 104, etc., are turned on.
[0089] Before determining the system date, updating the baseline date, updating the offset value, etc., the controller 104 can determine whether the GPS receiver date and network date are valid. By determining the validity of the GPS receiver date and network date before determining the system date, updating the baseline date, updating the offset value, etc., the controller 104 can prevent invalid GPS receiver dates and / or network dates from affecting the system date, baseline date, offset value, etc.
[0090] Controller 104 can determine the difference between a baseline date and a GPS receiver date modified with an offset value, and can determine whether the difference meets a threshold. Based on determining that the difference meets the threshold, controller 104 can obtain the network date and update the baseline date based on the network date. In this way, controller 104 can periodically update the baseline date to improve the accuracy of GPS flip detection and the determined system date. By obtaining the network date after determining that the baseline date meets the threshold and should be updated, controller 104 can save computing resources (e.g., processing resources, memory resources, power resources, communication resources, etc.) and / or network resources that would otherwise be consumed by obtaining the network date each time machine 102, controller 104, etc., are turned on. In this way, controller 104 can provide correct time and / or date information to other components, systems, applications, etc.
[0091] The term "machine" can refer to any machine that performs operations associated with industries such as mining, construction, agriculture, transportation, or any other sector. As examples, the machine can be a vehicle, backhoe loader, cold planer, wheel loader, compactor, log stacker, forestry machinery, harvester, combine harvester, excavator, industrial loader, boom loader, material handling machine, grader, pipelaying machine, road reclaimer, skid steer loader, timber harvester, telescopic boom forklift, tractor, bulldozer, tractor scraper, train, locomotive, railcar, rail transport vehicle, generator set, or other above-ground, underground, or marine equipment. Furthermore, one or more implements can be connected to the machine and driven from a controller.
[0092] As used herein, the articles “a” and “one” are intended to include one or more items and are used interchangeably with “one or more”. Furthermore, as used herein, the terms “have,” “possess,” “contain,” etc., are intended to be open-ended terms. Additionally, the phrase “based on” is intended to mean “at least partially based on.”
[0093] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. Modifications and variations may be made in light of the foregoing disclosure or may be obtained from practice of the embodiments. The specification is intended to be considered exemplary only, and the true scope of this disclosure is defined by the following claims and their equivalents. Even if specific combinations of features are set forth in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various embodiments. Although each dependent claim listed below may be directly subordinated to only one claim, the disclosure of various embodiments includes each dependent claim in combination with each other claim in the claim set.
Claims
1. A method of determining a system date, comprising: receiving, by a device, time data comprising week data and second data; processing, by the device, the time data to generate a first date; generating, by the device, a second date based on the first date and an offset value; obtaining, by the device, a network date when the second date is earlier than a baseline date; assigning, by the device, the network date as the baseline date; processing, by the device, the network date and the first date to determine an updated offset value; storing, by the device, the updated offset value as the offset value; and determining, by the device, a system date based on the network date. Receiving the time data comprises receiving the time data from a global navigation satellite system (GNSS) satellite (108).
2. The method of claim 1, wherein, Obtaining the network date comprises:
3. The method of claim 1, wherein, obtaining the network date from at least one of a network time protocol or a satellite system (110). Processing the network date and the first date to determine the updated offset value comprises:
4. The method of claim 1, wherein, determining a difference between the first date and the network date; and dividing the difference between the first date and the network date by an integer. Determining the system date comprises:
5. The method of claim 1, wherein, determining that the system date corresponds to the network date.
6. The method of claim 1, further comprising: providing the system date to an application when the second date is earlier than the baseline date.
7. The method of claim 1, further comprising: providing the system date to an application when the second date is not earlier than the baseline date, wherein the system date corresponds to the second date.
8. The method of claim 1, further comprising: when the second date is not earlier than the baseline date, processing the second date and the baseline date to determine that a difference between the second date and the baseline date satisfies a threshold or that the difference between the second date and the baseline date does not satisfy the threshold; obtaining the network date based on the difference between the second date and the baseline date satisfying the threshold; and storing the network date as the baseline date.
9. A controller (104) for a machine (102), comprising: one or more memories (930); and one or more processors (920) communicatively coupled to the one or more memories (930) to: receive time data comprising week data and second data; process the time data to generate a first date; generate a second date based on the first date and an offset value; obtain a network date when the second date is earlier than a baseline date; assign the network date as the baseline date; process the network date and the first date to determine an updated offset value; store the updated offset value as the offset value; provide a system date based on the network date to an application when the second date is earlier than the baseline date, wherein the application determines whether a door of the machine (102) is to be locked based on the system date; and providing the system date to the application when the second date is not earlier than the baseline date, wherein the system date corresponds to the second date.
10. The controller (104) of claim 9, wherein, The machine (102) includes at least one of a bulldozer, an excavator, a haul truck, a paver, or a compactor.
Citation Information
Patent Citations
Optical head
JP1989021728A
Techniques for improved clock offset measuring
CN102597793A
Electronic Device And Date And Time Information Obtaining Method
CN104749947A