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 = TiaStateMachineType: TiaStateMachine
Etat reçu par le Manager.
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 | nullAutomate de travail.
Type: Plc | null
LockedHmi
TiaService.prototype.LockedHmi = Hmi | nullIHM 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 )})
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 )})
📄 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 = stringIdentifiant unique de l'automate, attribué automatiquement par Manager.
Name
Plc.prototype.Name = stringNom de l'automate.
PlcType
Plc.prototype.PlcType = PlcTypeType de l'automate.
Article
Plc.prototype.Article = stringIdentifiant 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 = stringIdentifiant unique de l'hmi, attribuée automatiquement par Manager.
Name
Hmi.prototype.Name = stringNom de l'hmi.
Article
Hmi.prototype.Article = stringIdentifiant d'article matériel de l'automate.
Screen
Informations matérielles sur l'hmi
Hmi.prototype.Screen = UnifiedScreentype 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 = stringNom du modèle.
Inches
UnifiedScreen.Inches = numberTaille en pouces de l'écran.
Width
UnifiedScreen.Width = numberLargeur de l'écran.
Height
UnifiedScreen.Height = numberHauteur de l'écran.
TiaStateMachine
Machine à état de TiaService.
GetTiaData
TiaStateMachine.prototype.GetTiaData = () => voidDemande l'obtention des dernières données de projet de Tia.
TiaStateMachine.GetCultures
TiaStateMachine.prototype.GetCultures = () => voidDemande l'obtention des informations de culture du projet.
TiaStateMachine.GetGraphics
TiaStateMachine.prototype.GetGraphics = () => voidDemande l'obtention des dernières graphiques multilingues.
TiaStateMachine.State
TiaStateMachine.prototype.State = TiaStateUtilisez cet énumérateur plutôt que
instanceof d'une classe qui hérite de TiaStateMachine.| Statut | Description |
|---|---|
TiaOffline | Etat initial, aucune instance de Tia relié |
TiaOnline | Liaison à une instance de Tia, aucun projet chargé |
Project | Projet chargé |
LockedPlc | Automate de travail choisi |
LockedHmi | Hmi de travail choisie |
LockedPlcAndHmi | Automate 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.