Pocket - MikaylaFischler/cc-mek-scada GitHub Wiki
Pocket Computer
[!WARNING] The pocket application is currently in an alpha state, so its documentation is sparse. No setup information for it is currently available on the setup page, but the configuration process is the same as the other devices.
Main Applications
There are numerous sub-applications present within the pocket application, providing access to the functionality of the coordinator, but with much more. Some apps are dependent on being connected to the supervisor and/or coordinator while others (like the guide app) can be launched without having set anything up. This is important for the guide app, as it will provide instructions for setup.
Units App
This app provides access to the unit-specific information. This encompasses the information present on the coordinator's unit monitors and adds additional details from the unit diagrams on the coordinator's main view screen. Within the tabs in this app, you can find more detailed status information about the multiblocks belonging to the selected unit, along with a helpful diagnostics display listing the current status and any actions to fix problems.
Facility App
Control App
Process App
Waste App
Devices App
Guide App
About App
Debug/Testing Applications
[!IMPORTANT] In order to use any debug/testing application controls (generally, indicators will still update without authentication), HMAC message authentication must be enabled on your system. This is intended to protect your system from the meddling of outsiders with pocket computers.
Alarm Testing Tool
This tool provides the ability to simulate audio alarms. Indicators on the coordinator displays will not show these simulated alarms, and no actions will be taken as a result of them. Specific tones can be played, or specific alarms can be played. Layering alarms will still be subject to the preemption rules of alarm tones, but layering tones manually will not (careful what you wish for, be ready to press the stop button).
[!IMPORTANT] In order to set tones or alarms using this interface, the system must be in a safe idle state. This means all units must have their reactor PLCs connected, their reactors have to be stopped, the RPS cannot be tripped, and all of the unit alarms must be inactive.
-- check if the reactor is connected, is stopped, the RPS is not tripped, and no alarms are active
---@nodiscard
function public.is_safe_idle()
-- can't be disconnected
if self.plc_i == nil then return false end
-- reactor must be stopped and RPS can't be tripped
if self.plc_i.get_status().status or self.plc_i.get_db().rps_tripped then return false end
-- alarms must be inactive and not tripping
for _, alarm in pairs(self.alarms) do
if not (alarm.state == AISTATE.INACTIVE or alarm.state == AISTATE.RING_BACK) then return false end
end
return true
end
Alarm Testing Interface
Each of the 8 tones can manually be enabled in the "Tones" list via the TEST 1
through TEST 8
buttons, then stopped with the STOP
button (or the test button can be un-pressed). "States" indicates the state of each of the 8 tones.
"Alarms" allows enabling particular alarms, which is described more in the above section. They can be stopped with the STOP !!
button.