|
Mach Modules Documentation
Lua Module API Documentation
|
Go to the source code of this file.
Functions | |
| GrinderCenterlessAuxModule | GetUpperLowerAxisID () |
| Get the axis ID for the currently active upper or lower slide axis. | |
| GrinderCenterlessAuxModule | IsHydraulicsEnabled () |
| Check if the hydraulic system is enabled via OEM parameters. | |
| GrinderCenterlessAuxModule | IsHydraulicsAtPressure () |
| Check if the hydraulic system is currently at operating pressure. | |
| GrinderCenterlessAuxModule | IsGrindWheelEnabled () |
| Check if the grind wheel feature is enabled via OEM parameters. | |
| GrinderCenterlessAuxModule | IsGrindWheelOn () |
| Check if the grind wheel is currently running. | |
| GrinderCenterlessAuxModule | StartGrindWheel () |
| Start the grind wheel and its lube system. | |
| GrinderCenterlessAuxModule | StopGrindWheel () |
| Stop the grind wheel and its lube system. | |
| GrinderCenterlessAuxModule | SetGrindWheelToGrindSpeed () |
| Set the grind wheel to grind speed mode. | |
| GrinderCenterlessAuxModule | SetGrindWheelToDressSpeed () |
| Set the grind wheel to dress speed mode. | |
| GrinderCenterlessAuxModule | IsGrindWheelGrindSpeed () |
| Check if the grind wheel is currently set to grind speed. | |
| GrinderCenterlessAuxModule | IsGrindWheelDressSpeed () |
| Check if the grind wheel is currently set to dress speed. | |
| GrinderCenterlessAuxModule | IsGrindWheelDressing () |
| Check if the grind wheel dressing cycle is currently active. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelEnabled () |
| Check if the regulating wheel feature is enabled via OEM parameters. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelInterlockEnabled () |
| Check if the regulating wheel interlock is enabled. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelOn () |
| Check if the regulating wheel is currently running. | |
| GrinderCenterlessAuxModule | StartRegulatingWheel () |
| Start the regulating wheel and its lube system. | |
| GrinderCenterlessAuxModule | StopRegulatingWheel () |
| Stop the regulating wheel and its lube system. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelDressing () |
| Check if the regulating wheel dressing cycle is currently active. | |
| GrinderCenterlessAuxModule | SetRegulatingWheelToGrindSpeed () |
| Set the regulating wheel to grind speed mode. | |
| GrinderCenterlessAuxModule | SetRegulatingWheelToDressSpeed () |
| Set the regulating wheel to dress speed mode. | |
| GrinderCenterlessAuxModule | ToggleRegulatingWheelToGrindSpeed () |
| Toggle the regulating wheel speed mode toward grind speed. | |
| GrinderCenterlessAuxModule | ToggleRegulatingWheelToDressSpeed () |
| Toggle the regulating wheel speed mode toward dress speed. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelGrindSpeed () |
| Check if the regulating wheel is currently set to grind speed. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelDressSpeed () |
| Check if the regulating wheel is currently set to dress speed. | |
| GrinderCenterlessAuxModule | StartGrindWheelLube () |
| Start the grind wheel lube and wait for pressure confirmation. | |
| GrinderCenterlessAuxModule | StopGrindWheelLube () |
| Stop the grind wheel lube by deactivating the lube output signal. | |
| GrinderCenterlessAuxModule | IsGrindWheelLubeOn () |
| Check if the grind wheel lube pressure input is currently on. | |
| GrinderCenterlessAuxModule | StartRegulatingWheelLube () |
| Start the regulating wheel lube and wait for pressure confirmation. | |
| GrinderCenterlessAuxModule | StopRegulatingWheelLube () |
| Stop the regulating wheel lube by deactivating the lube output signal. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelLubeOn () |
| Check if the regulating wheel lube pressure input is currently on. | |
| GrinderCenterlessAuxModule | UpdateGrindAndRegulatingWheelLube () |
| Monitor grind and regulating wheel lube pressure and stop wheels if pressure is lost. | |
| GrinderCenterlessAuxModule | GrindWheelDiamondCoolant (sig_state) |
| Set the grind wheel diamond coolant output to the specified state. | |
| GrinderCenterlessAuxModule | IsGrindWheelDiamondCoolantOn () |
| Check if the grind wheel diamond coolant output is currently on. | |
| GrinderCenterlessAuxModule | GrindWheelDiamondCoolantToggle () |
| Toggle the grind wheel diamond coolant output to its opposite state. | |
| GrinderCenterlessAuxModule | RegulatingWheelDiamondCoolant (sig_state) |
| Set the regulating wheel diamond coolant output to the specified state. | |
| GrinderCenterlessAuxModule | IsRegulatingWheelDiamondCoolantOn () |
| Check if the regulating wheel diamond coolant output is currently on. | |
| GrinderCenterlessAuxModule | RegulatingWheelDiamondCoolantToggle () |
| Toggle the regulating wheel diamond coolant output to its opposite state. | |
| GrinderCenterlessAuxModule | IsPartLoaderEnabled () |
| Check if the part loader feature is enabled via OEM parameters. | |
| GrinderCenterlessAuxModule | IsPartLoaderOn () |
| Check if the part loader is currently on. | |
| GrinderCenterlessAuxModule | PartLoaderOn () |
| Turn the part loader on by setting parameter 1921 to 1. | |
| GrinderCenterlessAuxModule | PartLoaderOff () |
| Turn the part loader off by setting parameter 1921 to 0. | |
| GrinderCenterlessAuxModule | PartLoaderToggle () |
| Toggle the part loader on or off based on its current state. | |
| GrinderCenterlessAuxModule | GetPartLoaderType () |
| Get the configured part loader type string from OEM parameters. | |
| GrinderCenterlessAuxModule | GetPartLoaderTypeIndex () |
| Get the numeric index corresponding to the configured part loader type. | |
| GrinderCenterlessAuxModule | PartLoaderUnloadAndLoadPart () |
| Command the part loader to unload the current part and load a new part. | |
| GrinderCenterlessAuxModule | PartLoaderLoadPart () |
| Command the part loader to load a new part. | |
| GrinderCenterlessAuxModule | PartLoaderUnloadPart () |
| Command the part loader to unload the current part. | |
| GrinderCenterlessAuxModule | PartLoaderMoveToLoaderPosition () |
| Move the machine axis to the part loader position. | |
| GrinderCenterlessAuxModule | IsPartKickerEnabled () |
| Check if the part kicker feature is enabled via OEM parameters. | |
| GrinderCenterlessAuxModule | GetWheelAttributes () |
| Retrieve the list of wheel attribute OEM parameter names and their corresponding pound variable indices. | |
| GrinderCenterlessAuxModule GetPartLoaderType | ( | ) |
Get the configured part loader type string from OEM parameters.
| GrinderCenterlessAuxModule GetPartLoaderTypeIndex | ( | ) |
Get the numeric index corresponding to the configured part loader type.
Reads the part loader type string via GetPartLoaderType() and maps it to an integer index. Mapping: "I/O" = 0, "PLC Sequence" = 1, "Subroutine" = 2, "Muilti-Inst-Subroutine" = 3. Returns -1 if the type is unrecognized.
| GrinderCenterlessAuxModule GetUpperLowerAxisID | ( | ) |
Get the axis ID for the currently active upper or lower slide axis.
Initializes UPPER_SLIDE_AXIS_ID and LOWER_SLIDE_AXIS_ID to B_AXIS and C_AXIS respectively if they are not already set, and stores them in OEM parameters 1903 and 1904. Reads cached parameter 1900 to determine which slide is active: 0 selects the upper slide axis, 1 selects the lower slide axis. If the parameter value is neither 0 nor 1, resets it to 0. Sets the global AxisID variable accordingly.
| GrinderCenterlessAuxModule GetWheelAttributes | ( | ) |
Retrieve the list of wheel attribute OEM parameter names and their corresponding pound variable indices.
Returns a two-dimensional table mapping wheel attribute OEM parameter names to their associated Mach4 pound variable numbers. The table covers both wheel 1 (9000-series) and wheel 2 (9100-series) attributes, including diameter, width, RPM, SFM, dresser, and safety position parameters. This table is also maintained inside the t.mcs macro for tool changes.
| GrinderCenterlessAuxModule GrindWheelDiamondCoolant | ( | sig_state | ) |
Set the grind wheel diamond coolant output to the specified state.
Sets the "GrindDresserDiamondCoolantOutput" OEM parameter signal to the given boolean state. If the signal is not mapped, the function does nothing. If sig_state is not a boolean, it defaults to false.
| sig_state | (boolean) True to turn the coolant on, false to turn it off |
| GrinderCenterlessAuxModule GrindWheelDiamondCoolantToggle | ( | ) |
Toggle the grind wheel diamond coolant output to its opposite state.
Reads the current state of the grind wheel diamond coolant output via IsGrindWheelDiamondCoolantOn() and passes the inverted value to GrindWheelDiamondCoolant().
| GrinderCenterlessAuxModule IsGrindWheelDiamondCoolantOn | ( | ) |
Check if the grind wheel diamond coolant output is currently on.
Reads the state of the "GrindDresserDiamondCoolantOutput" OEM parameter signal. Returns false if the signal is not mapped.
| GrinderCenterlessAuxModule IsGrindWheelDressing | ( | ) |
Check if the grind wheel dressing cycle is currently active.
Reads pound variables #9081 (cycle type) and #9080 (cycle state) to determine whether a grind wheel dressing cycle is in progress. Returns true if the cycle type is in the range 260-269 and the cycle state is not 0 (idle) or 3 (complete).
| GrinderCenterlessAuxModule IsGrindWheelDressSpeed | ( | ) |
Check if the grind wheel is currently set to dress speed.
Reads pound variable #9054 via mc.mcCntlGetPoundVar(). Returns true if the value is 1, indicating dress speed mode. Returns false for grind speed mode (value == 0).
| GrinderCenterlessAuxModule IsGrindWheelEnabled | ( | ) |
Check if the grind wheel feature is enabled via OEM parameters.
Checks the cache for a previously stored result under the "CenterlessGrinder" / "IsGrindWheelEnabled" key. If not cached, reads the "GrindWheelEnabled_1" OEM parameter string value and caches the result. Returns true if the value is "Yes". Returns false with error information if the parameter read fails.
| GrinderCenterlessAuxModule IsGrindWheelGrindSpeed | ( | ) |
Check if the grind wheel is currently set to grind speed.
Reads pound variable #9054 via mc.mcCntlGetPoundVar(). Returns true if the value is 0, indicating grind speed mode. Returns false for dress speed mode (value == 1).
| GrinderCenterlessAuxModule IsGrindWheelLubeOn | ( | ) |
Check if the grind wheel lube pressure input is currently on.
Reads the grind wheel lube status by checking the "GrindWheelLubeInput_1" OEM parameter signal if mapped. If that signal is not mapped, falls back to checking the "GrindWheelLubeOutput_1" signal. If neither signal is mapped, returns true by default.
| GrinderCenterlessAuxModule IsGrindWheelOn | ( | ) |
Check if the grind wheel is currently running.
If the grind wheel is enabled, reads the "GrindWheelOutput_1" OEM parameter signal to determine whether the grind wheel output is active. Returns false if the grind wheel is not enabled or if the signal read fails.
| GrinderCenterlessAuxModule IsHydraulicsAtPressure | ( | ) |
Check if the hydraulic system is currently at operating pressure.
If hydraulics are not enabled (via IsHydraulicsEnabled()), returns true immediately. If hydraulics are enabled, checks the "HydraulicsPressureInput" OEM parameter signal if it is mapped. Returns true if the signal is high or if the signal is not mapped. Raises an error if the signal read fails.
| GrinderCenterlessAuxModule IsHydraulicsEnabled | ( | ) |
Check if the hydraulic system is enabled via OEM parameters.
Reads the "HydraulicsEnabled" OEM parameter string value. Returns true if the value is "Yes". Returns nil with error information if the parameter read fails.
| GrinderCenterlessAuxModule IsPartKickerEnabled | ( | ) |
Check if the part kicker feature is enabled via OEM parameters.
| (none) |
| GrinderCenterlessAuxModule IsPartLoaderEnabled | ( | ) |
Check if the part loader feature is enabled via OEM parameters.
| GrinderCenterlessAuxModule IsPartLoaderOn | ( | ) |
Check if the part loader is currently on.
Reads cached parameter 1921 and returns true if its value is 1.
| GrinderCenterlessAuxModule IsRegulatingWheelDiamondCoolantOn | ( | ) |
Check if the regulating wheel diamond coolant output is currently on.
Reads the state of the "RegDresserDiamondCoolantOutput" OEM parameter signal. Returns false if the signal is not mapped.
| GrinderCenterlessAuxModule IsRegulatingWheelDressing | ( | ) |
Check if the regulating wheel dressing cycle is currently active.
Reads pound variables #9081 (cycle type) and #9080 (cycle state) to determine whether a regulating wheel dressing cycle is in progress. Returns true if the cycle type is in the range 360-369 and the cycle state is not 0 (idle) or 3 (complete).
| GrinderCenterlessAuxModule IsRegulatingWheelDressSpeed | ( | ) |
Check if the regulating wheel is currently set to dress speed.
Reads pound variable #9154 via mc.mcCntlGetPoundVar(). Returns true if the value is 1, indicating dress speed mode. Returns false for grind speed mode (value == 0).
| GrinderCenterlessAuxModule IsRegulatingWheelEnabled | ( | ) |
Check if the regulating wheel feature is enabled via OEM parameters.
Reads the "RegulatingWheelEnabled_1" OEM parameter string value. Returns true if the value is "Yes". Returns false with error information if the parameter read fails.
| GrinderCenterlessAuxModule IsRegulatingWheelGrindSpeed | ( | ) |
Check if the regulating wheel is currently set to grind speed.
Reads pound variable #9154 via mc.mcCntlGetPoundVar(). Returns true if the value is 0, indicating grind speed mode. Returns false for dress speed mode (value == 1).
| GrinderCenterlessAuxModule IsRegulatingWheelInterlockEnabled | ( | ) |
Check if the regulating wheel interlock is enabled.
Reads cached parameter 1927. Returns true if the value is 0, meaning the interlock is enabled (i.e., stopping the regulating wheel will also stop the grind wheel).
| GrinderCenterlessAuxModule IsRegulatingWheelLubeOn | ( | ) |
Check if the regulating wheel lube pressure input is currently on.
Reads the regulating wheel lube status by checking the "RegulatingWheelLubeInput_1" OEM parameter signal if mapped. If that signal is not mapped, falls back to checking the "RegulatingWheelLubeOutput_1" signal. If neither signal is mapped, returns true by default.
| GrinderCenterlessAuxModule IsRegulatingWheelOn | ( | ) |
Check if the regulating wheel is currently running.
If the regulating wheel is enabled, checks both the "RegulatingWheelInput_1" and "RegulatingWheelOutput_1" OEM parameter signals (if mapped). Returns true if either the output or input signal is active. If the regulating wheel is not enabled, returns false.
| GrinderCenterlessAuxModule PartLoaderLoadPart | ( | ) |
Command the part loader to load a new part.
Executes a part load sequence based on the configured part loader type ("PartLoaderType" OEM parameter). First checks the PartLoaderEmptyInput signal; if the loader is empty, calls PartLoaderUnloadPart(), raises a system alarm, and returns early. For "I/O" type loaders, asserts PartLoaderLoadRequestOutput and waits for confirmation, in-cycle, and load complete input signals using configurable timeouts. Sends PartLoaderLoadCompleteConfirmOutput when done. For "PLC Sequence" type, runs either the unload-and-load or load-only sequence depending on the "PartLoaderUnloadOnEndOfCycle" OEM parameter. "Subroutine" type raises an error as it cannot be handled from the Aux Module. This function should only ever be called from the G-code macro O9540 through an M-code.
| GrinderCenterlessAuxModule PartLoaderMoveToLoaderPosition | ( | ) |
Move the machine axis to the part loader position.
Moves the upper or lower slide axis (determined by aux.GetUpperLowerAxisID()) to the configured part loader position. If the OEM parameter "PartLoaderUserLoadPositionFromScreen" is "Yes", the load position is read from pound variable #500 and used in a G90 G00 move. Otherwise, the position is read from the OEM parameter "PartLoaderMachinePosition" and a G90 G53 G00 machine-coordinate move is issued. If the secondary slide axis is enabled, an additional move to the regulating wheel retract position (#515) is appended. The function does nothing if the part loader is not enabled.
| GrinderCenterlessAuxModule PartLoaderOff | ( | ) |
Turn the part loader off by setting parameter 1921 to 0.
| GrinderCenterlessAuxModule PartLoaderOn | ( | ) |
Turn the part loader on by setting parameter 1921 to 1.
| GrinderCenterlessAuxModule PartLoaderToggle | ( | ) |
Toggle the part loader on or off based on its current state.
If the part loader is currently on (parameter 1921 == 1), turns it off by calling PartLoaderOff(). Otherwise, turns it on by calling PartLoaderOn().
| GrinderCenterlessAuxModule PartLoaderUnloadAndLoadPart | ( | ) |
Command the part loader to unload the current part and load a new part.
Executes a combined unload-then-load sequence based on the configured part loader type ("PartLoaderType" OEM parameter). First checks the PartLoaderEmptyInput signal; if the loader is empty, calls PartLoaderUnloadPart(), raises a system alarm, and returns. Behavior differs based on the "PartLoaderUnloadOnEndOfCycle" OEM parameter:
| GrinderCenterlessAuxModule PartLoaderUnloadPart | ( | ) |
Command the part loader to unload the current part.
Executes a part unload sequence based on the configured part loader type ("PartLoaderType" OEM parameter). For "I/O" type loaders, asserts the PartLoaderUnloadRequestOutput signal and waits for confirmation, in-cycle, and complete input signals with configurable timeouts from "PartLoaderWaitOnRequestTimeout". Sends a PartLoaderUnloadCompleteConfirmOutput signal when finished. For "PLC Sequence" type loaders, runs the sequence number from "PartLoaderUnloadRequestSQN" via mb.RunSequenceWait(). "Subroutine" type raises an error as it cannot be handled from the Aux Module. This function should only ever be called from the G-code macro O9540 through an M-code.
| GrinderCenterlessAuxModule RegulatingWheelDiamondCoolant | ( | sig_state | ) |
Set the regulating wheel diamond coolant output to the specified state.
Sets the "RegDresserDiamondCoolantOutput" OEM parameter signal to the given boolean state. If the signal is not mapped, the function does nothing. If sig_state is not a boolean, it defaults to false.
| sig_state | (boolean) True to turn the coolant on, false to turn it off |
| GrinderCenterlessAuxModule RegulatingWheelDiamondCoolantToggle | ( | ) |
Toggle the regulating wheel diamond coolant output to its opposite state.
Reads the current state of the grind wheel diamond coolant output via IsGrindWheelDiamondCoolantOn() and passes the inverted value to GrindWheelDiamondCoolant().
| GrinderCenterlessAuxModule SetGrindWheelToDressSpeed | ( | ) |
Set the grind wheel to dress speed mode.
Sets pound variable #9054 to 1 via mc.mcCntlSetPoundVar(), indicating dress speed mode for the grind wheel.
| GrinderCenterlessAuxModule SetGrindWheelToGrindSpeed | ( | ) |
Set the grind wheel to grind speed mode.
Sets pound variable #9054 to 0 via mc.mcCntlSetPoundVar(), indicating grind speed mode for the grind wheel.
| GrinderCenterlessAuxModule SetRegulatingWheelToDressSpeed | ( | ) |
Set the regulating wheel to dress speed mode.
Sets pound variable #9154 to 1 via mc.mcCntlSetPoundVar(), indicating dress speed mode for the regulating wheel.
| GrinderCenterlessAuxModule SetRegulatingWheelToGrindSpeed | ( | ) |
Set the regulating wheel to grind speed mode.
Sets pound variable #9154 to 0 via mc.mcCntlSetPoundVar(), indicating grind speed mode for the regulating wheel.
| GrinderCenterlessAuxModule StartGrindWheel | ( | ) |
Start the grind wheel and its lube system.
If the grind wheel is enabled, performs several pre-start checks and actions: First verifies the regulating wheel is running if the regulating wheel interlock is enabled (raises an error if not). Then starts the grind wheel lube via StartGrindWheelLube(). Checks that hydraulics are at pressure if hydraulics are enabled (raises an error if not). Finally, activates the "GrindWheelOutput_1" OEM parameter signal if it is mapped. Raises an error if any step fails.
| GrinderCenterlessAuxModule StartGrindWheelLube | ( | ) |
Start the grind wheel lube and wait for pressure confirmation.
Activates the "GrindWheelLubeOutput_1" OEM parameter signal if it is mapped. If the "GrindWheelLubeInput_1" signal is also mapped, waits for the lube pressure input to go high with a 20-second timeout. In a screen chunk context, displays a PleaseWaitDialog; in an M-code chunk context, blocks using WaitForOEMParamSig(). Raises an error if the signal set or wait fails.
| GrinderCenterlessAuxModule StartRegulatingWheel | ( | ) |
Start the regulating wheel and its lube system.
If the regulating wheel is enabled, first starts the regulating wheel lube via StartRegulatingWheelLube(). Then checks that hydraulics are at pressure if hydraulics are enabled - if not, raises an error. Finally, activates the "RegulatingWheelOutput_1" OEM parameter signal if it is mapped. Raises an error if any step fails.
| GrinderCenterlessAuxModule StartRegulatingWheelLube | ( | ) |
Start the regulating wheel lube and wait for pressure confirmation.
Activates the "RegulatingWheelLubeOutput_1" OEM parameter signal if it is mapped. If the "RegulatingWheelLubeInput_1" signal is also mapped, waits for the lube pressure input to go high with a 20-second timeout. In a screen chunk context, displays a PleaseWaitDialog; in an M-code chunk context, blocks using WaitForOEMParamSig(). Raises an error if the signal set or wait fails.
| GrinderCenterlessAuxModule StopGrindWheel | ( | ) |
Stop the grind wheel and its lube system.
If the grind wheel is enabled, calls StopGrindWheelLube() to deactivate the lube system, then deactivates the "GrindWheelOutput_1" OEM parameter signal if it is mapped. Raises an error if the signal deactivation fails.
| GrinderCenterlessAuxModule StopGrindWheelLube | ( | ) |
Stop the grind wheel lube by deactivating the lube output signal.
Deactivates the "GrindWheelLubeOutput_1" OEM parameter signal if it is mapped. If the signal is not mapped, the function does nothing and returns success.
| GrinderCenterlessAuxModule StopRegulatingWheel | ( | ) |
Stop the regulating wheel and its lube system.
If the regulating wheel interlock is enabled, also stops the grind wheel by calling StopGrindWheel(). Then calls StopRegulatingWheelLube() to deactivate lube. If the regulating wheel is enabled and its output signal is mapped, deactivates the "RegulatingWheelOutput_1" OEM parameter signal.
| GrinderCenterlessAuxModule StopRegulatingWheelLube | ( | ) |
Stop the regulating wheel lube by deactivating the lube output signal.
Deactivates the "RegulatingWheelLubeOutput_1" OEM parameter signal if it is mapped. If the signal is not mapped, the function does nothing and returns success.
| GrinderCenterlessAuxModule ToggleRegulatingWheelToDressSpeed | ( | ) |
Toggle the regulating wheel speed mode toward dress speed.
If the regulating wheel is currently at grind speed (IsRegulatingWheelGrindSpeed()), switches it to dress speed by calling aux.SetRegulatingWheelToDressSpeed(). Otherwise, switches it to grind speed by calling aux.SetRegulatingWheelToGrindSpeed().
| GrinderCenterlessAuxModule ToggleRegulatingWheelToGrindSpeed | ( | ) |
Toggle the regulating wheel speed mode toward grind speed.
If the regulating wheel is currently at dress speed (IsRegulatingWheelDressSpeed()), switches it to grind speed by calling aux.SetRegulatingWheelToGrindSpeed(). Otherwise, switches it to dress speed by calling aux.SetRegulatingWheelToDressSpeed().
| GrinderCenterlessAuxModule UpdateGrindAndRegulatingWheelLube | ( | ) |
Monitor grind and regulating wheel lube pressure and stop wheels if pressure is lost.
Checks whether the grind wheel lube or regulating wheel lube pressure inputs have gone low while their respective wheels are running. If either lube pressure is lost, this function stops the regulating wheel, grind wheel, and wheel head, and optionally calls CycleStop() if the machine is not idle. A system global warning message titled "Lost Spindle Lube Pressure!" is created if one does not already exist. This function is intended to be called periodically from a screen or monitoring loop.