Aller au contenu

Connexion

Connexion

Ce schéma décrit le processus d’établissement d’une connexion. Si l'équipement n'est pas déja connecté _CNX, l'IA peut demander une connexion à l'équipement par la variable _CNX_CMD {true}.

Le processus de connexion est décrite ci-dessous. _State permets à l'IA de monitorer la séquence jusqu'à établissement complète de la connexion. _CNX informe l'IA que l'équipement est connecté.

    sequenceDiagram
        autonumber
        participant A as IA Cliente
        participant B as BUSY
        participant C as DISCONNECTION
        participant D as CONNECTION
        participant E as EQUIPMENT_DISCONNECTION
        participant F as EQUIPMENT_CONNECTION
        A->>A: _CNX = false
        A->>B: _CNX_CMD => true
        B-->>A : _State = 2
        B->>B: connection in progress
        alt check physical connection
            B->>C: physical connection failed
            C-->>A: _State = 14
            B->>D: physical connection succesfull
            D-->>A: _State = 15
        end
        alt check logical connection
            D->>E: logical connection failed
            E-->>A: _State = 41
            E->>C: physical disconnection
            C-->>A: _State = 14
            D->>F: logical connection succesfull
            F-->>A: _State = 42
            par equipment connected

                F-->>A: _CNX = true
                F-->>A: _CNX_OUT = true
            end
        end

Lecture des temps-réels

Ce schéma décrit le processus d'une demande de lecture des temps-réels. L'équipement doit préalablement être connecté _CNX, l'IA peut déclencher une lecture des temps-réels par la variable _IOCTRL {16}.

_IOCTRL_STATE {2}, {73} ou {74} permets à l'IA de monitorer l'accomplissement de la requête.

    sequenceDiagram
    autonumber
    participant A as IA Cliente
    participant B as BUSY
    participant C as REALTIME_DATA_UNCOMPLETE
    participant D as REALTIME_DATA_COMPLETE

    A->>A: _CNX = true
    A->>B: _IOCTRL => 16
    B-->>A: _IOCTRL_STATE = 2
    B->>B: in progress

    alt check real time
        B->>C: realtime data failed
        C-->>A: _IOCTRL_STATE = 74
        B->>D: realtime data succes
        D-->>A: _IOCTRL_STATE = 73
    end

Lecture des historiques

Ce schéma décrit le processus d'une demande de lecture des historiques. L'équipement doit préalablement être connecté _CNX, l'IA peut déclencher une lecture des historiques par la variable _IOCTRL {15}.

_IOCTRL_STATE {2}, {71} ou {72} permets à l'IA de monitorer l'accomplissement de la requête.

    sequenceDiagram
    autonumber
    participant A as IA Cliente
    participant B as BUSY
    participant C as HISTORICAL_DATA_UNCOMPLETE
    participant D as HISTORICAL_DATA_COMPLETE

    A->>A: _CNX = true
    A->>B: _IOCTRL => 15
    B-->>A: _IOCTRL_STATE = 2
    B->>B: in progress

    alt check historical
        B->>C: historical data failed
        C-->>A: _IOCTRL_STATE = 72
        B->>D: historical data succes
        D-->>A: _IOCTRL_STATE = 71
    end

Lecture des historiques et des temps-réels

    sequenceDiagram
    autonumber
    participant A as IA Cliente
    participant B as BUSY
    participant C as HISTORICAL_DATA_UNCOMPLETE
    participant D as HISTORCIAL_DATA_COMPLETE
    participant E as REALTIME_DATA_UNCOMPLETE
    participant F as REALTIME_DATA_COMPLETE

    A->>A: _CNX = true
    A->>B: _IOCTRL => 17
    B-->>A: _IOCTRL_STATE = 2
    B->>B: in progress


    alt check historical
       B->>C: historical data failed
        C-->>A: _IOCTRL_STATE = 72
        B->>D: historical data succes
        D-->>A: _IOCTRL_STATE = 71
    end

    B->>B: in progress

    alt check real time
        B->>E: realtime data failed
        E-->>A: _IOCTRL_STATE = 72
        B->>F: realtime data succes
        F-->>A: _IOCTRL_STATE = 73
    end

Connexion, lecture historiques, lecture temps-réels, déconnexion

    sequenceDiagram
    autonumber

    participant A as IA Cliente
    participant B as BUSY
    participant C as HISTORICAL_DATA_UNCOMPLETE
    participant D as HISTORCIAL_DATA_COMPLETE
    participant E as REALTIME_DATA_UNCOMPLETE
    participant F as REALTIME_DATA_COMPLETE
    participant G as DISCONNECTION
    participant H as CONNECTION
    participant I as EQUIPMENT_DISCONNECTION
    participant J as EQUIPMENT_CONNECTION

    A->>A: _CNX = false
    A->>B: _IOCTRL => 24
    B->>B: _State = 2

    alt Etablissement de la connexion physique
        B->>G: _State = 14
        Note right of B: Échec de connexion physique
        B->>H: _State = 15
    end
    alt Etablissement de la connexion logique
        H->>I: _State = 41
        Note right of H: Échec de connexion logique

        par
            H->>J: _State = 42
            H-->>J: CNX = true
            H-->>J: CNX_OUT = true
            Note right of I: Equipement Connecté
        end
    end


    J-->>B: _IOCTRL = 17
    B->>B: _IOCTRL_STATE = 2
    alt Demande de lecture des historiques
        B->>C: _IOCTRL_STATE = 72
        C-->>B: Enchainement vers lecture des temps-réels
        Note right of B: Échec
        B->>D: _IOCTRL_STATE = 71
        D-->>B: Enchainement vers lecture des temps-réels
        Note right of C: Succès
    end
    B->>B: _IOCTRL_STATE = 2
    alt Demande de lecture des temps-réels
        B->>E: _IOCTRL_STATE = 74
        Note right of B: Échec
        B->>F: _IOCTRL_STATE = 73
        Note right of B: Succès
    end