Tia

Le service TiaService est le premier centre névralgique de Fever, c'est lui qui indique si le Manager est lié à une Instance de TiaPortal.
Il contient une machine à état qui se met à jour en fonction du changement de statut du manager.

Importation

      

import {inject} from "inversify";
import "reflect-metadata";
import TiaService from "@adclz/fevermainlib/services/tia";
 
export default class MyClass {
private TiaService: TiaService
 
constructor(@inject(TiaService) TiaService: TiaService) {
this.TiaService = TiaService
}
}
 

📜 Champs

TiaStateMachine

TiaService.prototype.TiaStateMachine = TiaStateMachine

Type: TiaStateMachine

Etat reçu par le Manager.

Ce champ représente la machine à état qui définis le comportement global du service.

PlcList

TiaService.prototype.PlcList = Array<Plc>

Liste de tous les automates compatibles.

Type: Array<Plc>

HmiList

TiaService.prototype.HmiList = Array<Hmi>

Liste de tous les ihm compatibles.

Type: Array<Hmi>

LockedPlc

TiaService.prototype.LockedPlc = Plc | null

Automate de travail.

Type: Plc | null

LockedHmi

TiaService.prototype.LockedHmi = Hmi | null

IHM de travail.

Type: Hmi | null

Mediateur

📢 Notification

OnNewTiaState

Indique un changement d'état de TiaState.

      

import {OnNewTiaState} from "@adclz/fevermainlib/services/tia";
 
InjectedMediator.Notification(OnNewTiaState).Subscribe("MyClassId", NotificationData => {
console.log(NotificationData)
(parameter) NotificationData: TiaStateMachine
})
 

OnTiaDataUpdated

Indique un changement d'état de chargement des données de MainFolder.

      

import {OnTiaDataUpdated} from "@adclz/fevermainlib/services/tia";
 
InjectedMediator.Notification(OnTiaDataUpdated).Subscribe("MyClassId", DataStatus => {
console.log(DataStatus)
(parameter) DataStatus: DataStatus
})
 

📄 Définitions

Plc

enum PlcType {
    S71200,
    S71500
}

class Plc extends Device {
    public readonly Uid: string
    public readonly Name: string
    public readonly PlcType: PlcType
    public readonly Article: string
}

Uid

Plc.prototype.Uid = string

Identifiant unique de l'automate, attribué automatiquement par Manager.

Name

Plc.prototype.Name = string

Nom de l'automate.

PlcType

Plc.prototype.PlcType = PlcType

Type de l'automate.

Article

Plc.prototype.Article = string

Identifiant d'article matériel de l'automate.

Hmi

interface Connection {
    Name: string,
    Partner: string
}

class Hmi extends Device {
    public readonly Uid: string
    public readonly Name: string
    public readonly Article: string
    public readonly Screen: UnifiedScreen
    public readonly Conections: Connection[]
}

Uid

Hmi.prototype.Uid = string

Identifiant unique de l'hmi, attribuée automatiquement par Manager.

Name

Hmi.prototype.Name = string

Nom de l'hmi.

Article

Hmi.prototype.Article = string

Identifiant d'article matériel de l'automate.

Screen

Informations matérielles sur l'hmi

Hmi.prototype.Screen = UnifiedScreen
type Model = 'MTP700' | 'MTP1000' | 'MTP1200' | 'MTP1500' | 'MTP1900' | 'MTP2200'

interface UnifiedScreen {
    Model: Model,
    Inches: number,
    Width: number,
    Height: number
}

const MTP700: UnifiedScreen = { Model: 'MTP700', Inches: 7, Width: 800, Height: 480 }
const MTP1000: UnifiedScreen = { Model: 'MTP1000', Inches: 10.1, Width: 1280, Height: 800 }
const MTP1200: UnifiedScreen = { Model: 'MTP1200', Inches: 12.1, Width: 1280, Height: 800 }
const MTP1500: UnifiedScreen = { Model: 'MTP1500', Inches: 15.6, Width: 1366, Height: 768 }
const MTP1900: UnifiedScreen = { Model: 'MTP1900', Inches: 18.5, Width: 1920, Height: 1080 }
const MTP2200: UnifiedScreen = { Model: 'MTP2200', Inches: 21.5, Width: 1920, Height: 1080 }
Model
UnifiedScreen.Model = string

Nom du modèle.

Inches
UnifiedScreen.Inches = number

Taille en pouces de l'écran.

Width
UnifiedScreen.Width = number

Largeur de l'écran.

Height
UnifiedScreen.Height = number

Hauteur de l'écran.

TiaStateMachine

Machine à état de TiaService.

GetTiaData

TiaStateMachine.prototype.GetTiaData = () => void

Demande l'obtention des dernières données de projet de Tia.

Cette méthode est appellée automatiquement par TiaStateMachine.

GetCultures

TiaStateMachine.prototype.GetCultures = () => void

Demande l'obtention des informations de culture du projet.

Cette méthode est appellée automatiquement par TiaStateMachine.

GetGraphics

TiaStateMachine.prototype.GetGraphics = () => void

Demande l'obtention des dernières graphiques multilingues.

Cette méthode est appellée automatiquement par TiaStateMachine.

State

TiaStateMachine.prototype.State = TiaState
TiaState représente l'état actuel de la machine à état.
Utilisez cet énumérateur plutôt que instanceof d'une classe qui hérite de TiaStateMachine.
StatutDescription
TiaOfflineEtat initial, aucune instance de Tia relié
TiaOnlineLiaison à une instance de Tia, aucun projet chargé
ProjectProjet chargé
LockedPlcAutomate de travail choisi
LockedHmiHmi de travail choisie
LockedPlcAndHmiAutomate et Hmi de travail choisis
 enum TiaState {
    TiaOffline,
    TiaOnline,
    Project,
    LockedPlc,
    LockedHmi,
    LockedPlcAndHmi,
}

DataStatus

Indicateur de mise à jour.

type DataStatus = { Updated: boolean, Message?: string }

DataStatus vous permet de savoir si une mise des données viens de de produire.

  • Si Updated est à true
    Les données viennent d'être mises à jour avec succès.
  • Si Updated est à false
    Les données n'ont pas encore été mises à jour.
  • Si Updated est à false et Message est défini
    Les données n'ont pas pu être mise à jour et Message contient la raison de de l'échec.