Bobojy00/moonbit_factory_graph/src/types does not have a README file

    AlarmSeverity

    pub(all) enum AlarmSeverity {
    Notice
    Minor
    Major
    Emergency
    } derive(Compare, Eq,
    Debug
    )

    AlarmSeverity::to_string

    fn AlarmSeverity::to_string(self : AlarmSeverity) -> String

    ControlProtocol

    pub(all) enum ControlProtocol {
    OPC_UA
    Modbus_TCP
    Modbus_RTU
    Profinet
    EtherNet_IP
    EtherCAT
    MQTT
    CANopen
    IO_Link
    DiscreteWiring
    } derive(Compare, Eq,
    Debug
    )

    ControlProtocol::to_string

    fn ControlProtocol::to_string(self : ControlProtocol) -> String

    EdgeMetadata

    pub(all) struct EdgeMetadata {
    id : String
    source_id : String
    target_id : String
    flow_type : FlowType
    bandwidth_units_per_hour : Double
    transport_delay_sec : Double
    distance_meters : Double
    energy_loss_kw : Double
    safety_level : SafetyLevel
    protocol : ControlProtocol
    medium : TransferMedium
    energy_type : EnergyType
    is_bidirectional : Bool
    is_active : Bool
    redundancy_priority : Int
    description : String
    } derive(Eq,
    Debug
    )

    EdgeMetadata::new

    fn EdgeMetadata::new(id : String, source_id : String, target_id : String, flow_type : FlowType, bandwidth_units_per_hour? : Double, transport_delay_sec? : Double, distance_meters? : Double, energy_loss_kw? : Double, safety_level? : SafetyLevel, protocol? : ControlProtocol, medium? : TransferMedium, energy_type? : EnergyType, is_bidirectional? : Bool, is_active? : Bool, redundancy_priority? : Int, description? : String) -> EdgeMetadata

    EnergyType

    pub(all) enum EnergyType {
    AC_380V_3Phase
    AC_220V_SinglePhase
    DC_24V
    DC_48V
    Pneumatic_6Bar
    Hydraulic_160Bar
    CoolingWater
    NitrogenGas
    } derive(Compare, Eq,
    Debug
    )

    impl Show for EnergyType

    EnergyType::to_string

    fn EnergyType::to_string(self : EnergyType) -> String

    FactoryConfig

    pub(all) struct FactoryConfig {
    plant_name : String
    site_location : String
    version : String
    takt_time_target_sec : Double
    planned_shifts_per_day : Int
    shift_duration_hours : Double
    target_oee : Double
    default_currency : String
    } derive(Eq,
    Debug
    )

    FactoryConfig::default

    fn FactoryConfig::default() -> FactoryConfig

    FlowType

    pub(all) enum FlowType {
    MaterialFlow
    ControlFlow
    EnergyFlow
    SafetyInterlock
    PneumaticFlow
    CoolantFlow
    DataTelemetry
    } derive(Compare, Eq,
    Debug
    )

    impl Show for FlowType

    FlowType::from_string

    fn FlowType::from_string(s : String) -> FlowType

    FlowType::to_string

    fn FlowType::to_string(self : FlowType) -> String

    NodeMetadata

    pub(all) struct NodeMetadata {
    id : String
    name : String
    zone : String
    subzone : String
    node_type : NodeType
    cycle_time_sec : Double
    nominal_power_kw : Double
    mtbf_hours : Double
    mttr_hours : Double
    capacity : Double
    initial_wip : Double
    max_wip : Double
    is_bottleneck_candidate : Bool
    status : OperatingStatus
    safety_zone_id : String
    description : String
    } derive(Eq,
    Debug
    )

    NodeMetadata::availability

    fn NodeMetadata::availability(self : NodeMetadata) -> Double

    NodeMetadata::hourly_throughput_limit

    fn NodeMetadata::hourly_throughput_limit(self : NodeMetadata) -> Double

    NodeMetadata::new

    fn NodeMetadata::new(id : String, name : String, node_type : NodeType, zone? : String, subzone? : String, cycle_time_sec? : Double, nominal_power_kw? : Double, mtbf_hours? : Double, mttr_hours? : Double, capacity? : Double, initial_wip? : Double, max_wip? : Double, is_bottleneck_candidate? : Bool, status? : OperatingStatus, safety_zone_id? : String, description? : String) -> NodeMetadata

    NodeType

    pub(all) enum NodeType {
    Workstation
    Machine
    Conveyor
    Buffer
    Sensor
    PowerSource
    SafetyGate
    AGVTrack
    Diverter
    Inspection
    StorageRack
    RobotArm
    PneumaticPump
    Chiller
    PLCController
    } derive(Compare, Eq,
    Debug
    )

    impl Show for NodeType

    NodeType::from_string

    fn NodeType::from_string(s : String) -> NodeType

    NodeType::to_string

    fn NodeType::to_string(self : NodeType) -> String

    OperatingStatus

    pub(all) enum OperatingStatus {
    Online
    Degraded
    Offline
    Maintenance
    EmergencyStop
    Standby
    Calibrating
    } derive(Compare, Eq,
    Debug
    )

    OperatingStatus::from_string

    fn OperatingStatus::from_string(s : String) -> OperatingStatus

    OperatingStatus::is_operational

    fn OperatingStatus::is_operational(self : OperatingStatus) -> Bool

    OperatingStatus::to_string

    fn OperatingStatus::to_string(self : OperatingStatus) -> String

    PlantAlarm

    pub(all) struct PlantAlarm {
    alarm_id : String
    source_node_id : String
    severity : AlarmSeverity
    timestamp_sec : Int
    message : String
    is_acknowledged : Bool
    tripped_nodes : Array[String]
    } derive(Eq,
    Debug
    )

    PlantAlarm::new

    fn PlantAlarm::new(alarm_id : String, source_node_id : String, severity : AlarmSeverity, timestamp_sec : Int, message : String, is_acknowledged? : Bool, tripped_nodes? : Array[String]) -> PlantAlarm

    PlantZone

    pub(all) struct PlantZone {
    id : String
    name : String
    workshop : String
    description : String
    max_operators : Int
    safety_zone_id : String
    is_cleanroom : Bool
    } derive(Eq,
    Debug
    )

    PlantZone::new

    fn PlantZone::new(id : String, name : String, workshop? : String, description? : String, max_operators? : Int, safety_zone_id? : String, is_cleanroom? : Bool) -> PlantZone

    SafetyLevel

    pub(all) enum SafetyLevel {
    SIL1
    SIL2
    SIL3
    SIL4
    PL_a
    PL_b
    PL_c
    PL_d
    PL_e
    Standard
    } derive(Compare, Eq,
    Debug
    )

    impl Show for SafetyLevel

    SafetyLevel::to_string

    fn SafetyLevel::to_string(self : SafetyLevel) -> String

    TelemetryPoint

    pub(all) struct TelemetryPoint {
    timestamp_sec : Int
    node_id : String
    metric_name : String
    value : Double
    unit : String
    is_normal : Bool
    } derive(Eq,
    Debug
    )

    TelemetryPoint::new

    fn TelemetryPoint::new(timestamp_sec : Int, node_id : String, metric_name : String, value : Double, unit : String, is_normal? : Bool) -> TelemetryPoint

    TransferMedium

    pub(all) enum TransferMedium {
    BeltConveyor
    RollerConveyor
    OverheadMonorail
    AGV
    RoboticPickAndPlace
    PneumaticTube
    GravityChute
    ManualTransfer
    Pipe
    } derive(Compare, Eq,
    Debug
    )

    TransferMedium::to_string

    fn TransferMedium::to_string(self : TransferMedium) -> String

    ValidationIssue

    pub(all) struct ValidationIssue {
    rule_id : String
    severity : ValidationSeverity
    target_id : String
    message : String
    suggested_fix : String
    } derive(Eq,
    Debug
    )

    ValidationIssue::new

    fn ValidationIssue::new(rule_id : String, severity : ValidationSeverity, target_id : String, message : String, suggested_fix? : String) -> ValidationIssue

    ValidationSeverity

    pub(all) enum ValidationSeverity {
    Info
    Warning
    Error
    Critical
    } derive(Compare, Eq,
    Debug
    )

    ValidationSeverity::to_string

    fn ValidationSeverity::to_string(self : ValidationSeverity) -> String

    format_double

    fn format_double(val : Double, precision : Int) -> String

    json_escape_string

    fn json_escape_string(s : String) -> String