SYSTEM
Voir également
Exemple
Spécificités
Modifie ou lit l'heure du système hôte, modifie le mode graphique et permet d'exécuter certaines commandes système.
Support WebVue partiel. Voir le tableau avec la liste des modes ci-dessous. Les modes non supportés renvoient un code d'erreur si exécutés dans ce contexte.
Pour fonctionner correctement, les modes SETDATE, SETTIME et SETDATETIME exigent que le logiciel PcVue soit exécuté avec des privilèges utilisateur élevés - En particulier, avec la permission SE_SYSTEMTIME_NAME. Depuis Windows Vista et Server 2008, ces privilèges ne sont plus donnés par défaut à un utilisateur, et ne doivent pas l'être pour des questions de sécurité.
Ces modes sont obsolètes et sont conservés pour compatibilité uniquement. Il est recommandé de mettre en place une horloge globale, et la distribution des mise à jour d'horloge via des mécanismes tels que NTP ou SNTP au niveau de l'infrastructure réseau.
|
Mode |
Mnémonique |
Syntaxe |
Support WebVue |
| 1 | SETDATE | 1 | Non |
| 2 | SETTIME | 2 | Non |
| 3 | GETDATE | 3 | Oui |
| 4 | GETTIME | 3 | Oui |
| 5 | SETREGION | 4 | Non |
| 6 | SETSYSREGION | 4 | Non |
| 7 | GETREGION | 7 | Non |
| 8 | GETSYSREGION | 7 | Non |
| 10 | SYSTEM | 5 | Non |
| 11 | LOGIN | 6 | Non |
| 12 | LOGOUT | 7 | Non |
| 13 | SETDATETIME | 8 | Non |
| 14 | LANGUAGE | 7 | Oui |
| 15 | USER | 9, 10 | Oui |
| 16 | EXIT | 7 | Non |
| 18 | CHANGEPASSWORD | 16 | Non |
| 19 | PRINTER | 15 | Non |
| 20 | REPAINT | 7 | Non |
| 23 | MKDIR | 12 | Non |
| 24 | RMDIR | 12 | Non |
| 25 | OPERATORMODE | 14 | Non |
| 26 | GETDRIVETYPE | 13 | Non |
| 27 | GETDISKSIZE | 13 | Non |
| 28 | GETDISKFREESPACE | 13 | Non |
| 29 | GETDIRECTORYSIZE | 13 | Non |
| 34 | LOADCOLORS | 17 | Oui |
| 35 | GETDISKSIZE_EX | 18 | Non |
| 36 | GETDISKFREESPACE_EX | 18 | Non |
Syntaxe 1
IntVal = SYSTEM(Mode, Day, Month, Year);
Type de retour : INTEGER
|
Argument |
Définition |
|
Day |
Jour du mois. Type INTEGER, valeur 1 à 31. |
|
Month |
Numéro du mois. Type INTEGER, valeur 1 à 12. |
|
Year |
Numéro de l'année. Type INTEGER, valeur 1980 à 2099. |
Exécution
|
Mode |
Mnémonique |
Action |
|
1 |
SETDATE |
Modifie la date interne du système. Retour : 1 si OK, 0 sinon. |
Syntaxe 2
IntVal = SYSTEM(Mode, Hour, Minute, Second);
Type de retour : INTEGER
|
Argument |
Définition |
|
Hour |
Nombre d'heures. Type INTEGER, valeur 0 à 23. |
|
Minute |
Nombre de minutes. Type INTEGER, valeur 0 à 59. |
|
Second |
Nombre de secondes. Type INTEGER, valeur 0 à 59. |
Exécution
|
Mode |
Mnémonique |
Action |
|
2 |
SETTIME |
Modifie l'heure interne du système. Retour : 1 si OK, 0 sinon. |
Pour que cette instruction fonctionne correctement, le fuseau horaire du PC doit être GMT0.
Si les instructions de remise à l'heure SETTIME et de changement de date SETDATE doivent être utilisées dans une fonction, utilisez plutôt le mode SETDATETIME.
Syntaxe 3
StrVal= SYSTEM(Mode);
Type de retour : STR
Exécution
|
Mode |
Mnémonique |
Action |
|
3 |
GETDATE |
Renvoie la date système au format jj/mm/aaaa. Si exécuté dans le contexte d'une session WebVue, la date renvoyée est celle de la machine hébergeant le back end web. |
|
4 |
GETTIME |
Renvoie l'heure système dans le format hhmms. Si exécuté dans le contexte d'une session WebVue, l'heure renvoyée est celle de la machine hébergeant le back end web. |
Syntaxe 4
IntVal = SYSTEM(Mode, Region);
Type de retour : INTEGER
Exécution
|
Mode |
Mnémonique |
Action |
|
5 |
SETREGION |
Sélectionnez la région à utiliser : Un seul écran 1 par défaut. Deux écrans 1 écran de gauche. Trois écrans 1 écran de gauche. Quatre écrans 1 écran de gauche. |
|
6 |
SETSYSREGION |
Sélectionnez le nombre de régions sur le système, en définissant Région. 1 : 1 seul écran (par défaut).2 : 2 écrans en paysage horizontal. |
|
Retour : -1 en cas d'erreur. |
Cette instruction est utilisée pour indiquer au logiciel qu'il fonctionne sur un système multi-écrans. Après cela, toute fenêtre qui sera ouverte apparaîtra dans la région sélectionnée.
Syntaxe 5
IntVal = SYSTEM(Mode, Command);
Type de retour : INTEGER.
|
Argument |
Définition |
|
Command |
Une chaîne contenant une commande du système d'exploitation (max 255 caractères). |
Exécution
|
Mode |
Mnémonique |
Action |
|
10 |
SYSTEM |
Exécute une ligne de commande du système d'exploitation résidant. Cette instruction est conçue pour les commandes résidentes du système d'exploitation. Elle ne peut pas être utilisée pour lancer d'autres applications. Retour : Toujours 1, sauf si exécuté dans le contexte d'une session WebVue auquel cas l'instruction n'est pas traitée et renvoie 0. |
Syntaxe 6
IntVal = SYSTEM(Mode, Username, Password[, WithPopupBox]);
Type de retour : INTEGER.
|
Argument |
Définition |
|
Username |
Nom de l'utilisateur. Type STR. |
|
Password |
Mot de passe de l'utilisateur. Type STR. |
| WithPopupBox |
Un flag indiquant si un message doit être affiché à l'utilisateur si le login échoue. Optionnel. Type INTEGER 0 - Ne pas afficher de message si le login échoue (par défaut). 1 - Afficher un message si le login échoue. |
Exécution
|
Mode |
Mnémonique |
Action |
|
11 |
LOGIN |
Renvoie le nom de l'utilisateur pour la session courante. Retour : 1 si OK, 0 sinon. |
Syntaxe 7
IntVal = SYSTEM(Mode);
Type de retour : INTEGER
Exécution
|
Mode |
Mnémonique |
Action |
|
7 |
GETREGION |
Récupère la région courante. Voir Syntaxe 4 pour plus d'explication. Retour : -1 en cas d'erreur. |
|
8 |
GETSYSREGION |
Récupère le système de région couramment utilisé. Voir Syntaxe 4 pour plus d'explication. Retour: -1 en cas d'erreur. |
|
12 |
LOGOUT |
Déconnecte l'utilisateur courant. Retour : 1 si OK, 0 sinon. |
|
14 |
LANGUAGE |
Renvoie le numéro de la langue pour la session courante. Retour : 1 ou 2 si OK, 0 en cas d'erreur. |
|
16 |
EXIT |
Sortie du logiciel PcVue. La sortie est effectuée sans autre confirmation de l'utilisateur, sauf s'il y a des modifications de synoptique non sauvegardées. Retour : 1 si sortie va être exécutée, 0 si la sortie est refusée, par exemple si des boîtes de dialogue sont ouvertes. Par exemple si des boîtes de dialogue sont ouvertes. |
|
20 |
REPAINT |
Rafraîchit l'écran. Retour : 1 si OK, 0 sinon. |
Syntaxe 8
IntVal = SYSTEM(Mode, Date, Time);
Type de retour : INTEGER
|
Argument |
Définition |
|
Date |
Une chaîne format DD/MM/YY. Type STR. |
|
Time |
Une chaîne format HHMMSS. Type STR. |
Exécution
|
Mode |
Mnémonique |
Action |
|
13 |
SETDATETIME |
Modifier la date et l'heure du système. Retour : 1 si OK, 0 sinon. |
Ce mode ne peut pas être utilisé dans les animations de type Envoi Macro.
Syntaxe 9
StrVal = SYSTEM(Mode, Rights);
Type de retour : STR
|
Argument |
Définition |
|
Rights |
Toujours 0. |
Exécution
|
Mode |
Mnémonique |
Action |
|
15 |
USER |
Renvoie le nom de l'utilisateur pour la session courante. Si aucun utilisateur n'est authentifié dans le contexte d'exécution de cette instruction (DefUser), alors une chaîne de caractères contenant uniquement un espace est retournée. |
Syntaxe 10
IntVal = SYSTEM(Mode, Rights);
Type de retour : INTEGER
|
Argument |
Définition |
|
Rights
|
Valeur des droits associés à l'utilisateur courant. Type INTEGER. Pour une liste des poids Administration, Système et Recette, droits d'impression fenêtre. Voir la rubrique Poids des Droits d'Accès.
Accès au système. 10 Impression fenêtre. ___________________________________________
Pour la conduite, le suivi, l'acquittement d'alarme et les calques : le poids binaire correspond directement au niveau. Par exemple, un retour de 9 (binaire 1001) correspond aux niveaux 0 et 3.
2 Droits de conduite. 8 Masquage (0 à 29). ___________________________________________
9 Non utilisé. |
Exécution
|
Mode |
Mnémonique |
Action |
|
15 |
USER |
Renvoie la valeur des droits associés à l'utilisateur pour la session courante. Les droits sont retournés comme poids binaires en INTEGER. |
Pour plus d'informations, voir le chapitre sur les Droits d'accès dans l'aide de Configuration du logiciel PcVue.
Syntaxe 12
IntVal = SYSTEM(Mode, Folder);
Type de retour : INTEGER
|
Argument |
Définition |
|
Folder |
Nom du répertoire. Par exemple "C\\NEWDIR". Type STR. |
Exécution
|
Mode |
Mnémonique |
Action |
|
23 |
MKDIR |
Création d'un répertoire. |
|
24 |
RMDIR |
Suppression d'un répertoire. |
|
|
|
Retour : 1 si OK, 0 sinon. |
Syntaxe 13
IntVal = SYSTEM(Mode, DiskInfo);
Type de retour : INTEGER
|
Argument |
Définition |
|
DiskInfo |
DiskInfo est le nom du disque ou du répertoire. Vous devez inclure un deux-point après le nom du disque (par exemple "C:") et deux anti-slashes pour spécifier le répertoire (par exemple "C:\\temp"). Type STR. |
Exécution
|
Mode |
Mnémonique |
Action |
|
26 |
GETDRIVETYPE |
Renvoie le type de disque configuré dans le BIOS. Type de retour : INTEGER. |
|
27 |
GETDISKSIZE |
Renvoie la taille du disque en Ko. Type de retour : LONG. |
|
28 |
GETDISKFREESPACE |
Renvoie l'espace libre du disque en Ko. Type de retour : LONG. |
|
29 |
GETDIRECTORYSIZE |
Renvoie la taille du répertoire spécifié en Ko. Type de retour : LONG. |
|
|
|
Retour : 1 si OK, 0 sinon. |
L'utilisation des modes GETDISKSIZE et GETDISKFREESPACE est déconseillée. Le type de retour LONG ne permet plus de gérer la taille typique d'un espace de stockage exprimé en kilo-octets. Il est recommandé d'utiliser les modes GETDISKSIZE_EX et GETDISKFREESPACE_EX à la place (type de retour LONGLONG).
Les modes GETDISKSIZE et GETDISKFREESPACE ne sont conservés qu'à des fins de compatibilité.
Syntaxe 14
IntVal = SYSTEM(Mode, Flag[, Global[, SetSendList]]);
Type de retour : INTEGER
|
Argument |
Définition |
|
Flag |
Flag, soit 0 ou 1 :
|
| Global |
Lorsque Flag est positionné à 1 :
|
| SetSendList |
|
Exécution
|
Mode |
Mnémonique |
Action |
|
25 |
OPERATORMODE |
Autorise la consignation de variables positionnées par un programme et qui doit être attribué à un utilisateur. Retour : 1 si OK, 0 sinon. |
Les instructions SYSTEM ("OPERATORMODE, 0, 0) et SYSTEM (OPERATORMODE, 0, 1) ont le même effet : la consignation est désactivée dans toutes les fonctions SCADA Basic.
Syntaxe 15
IntVal = SYSTEM(Mode, PrinterNb, Enable);
Type de retour : INTEGER
|
Argument |
Définition |
| PrinterNb | Numéro d'imprimante pour impression ligne. |
|
Enable |
Un flag pour positionner le status du spooler d'imprimante: 0 spooling is enabled. |
Exécution
|
Mode |
Mnémonique |
Action |
|
19 |
PRINTER |
Positionne le spooler de l'imprimante PrinterNb dans le status Enable. Retour : 1 si OK, 0 sinon. |
Syntaxe 16
IntVal = SYSTEM(Mode, UserName, Password , NewPassword);
Type de retour : INTEGER.
|
Argument |
Définition |
| UserName | Nom de l'utilisateur. Type STR. |
| Password | Mot de passe actuel. Type STR. |
| NewPassword | Nouveau mot de passe. Type STR. |
Exécution
|
Mode |
Mnémonique |
Action |
|
18 |
CHANGEPASSWORD |
Modifie le mot de passe de l'utilisateur. |
|
|
|
Retour : 1 si OK, 0 sinon.
|
La cause possible de l'échec est :
- Le nom d'utilisateur et l'ancien mot de passe ne correspondent pas,
- Le nouveau mot de passe est vide,
- Le nouveau mot de passe est le même que l'ancien ou ne respecte pas la politique de robustesse en vigueur.
Syntaxe 17
IntVal = SYSTEM(Mode, FileName);
Type de retour : INTEGER.
|
Argument |
Définition |
| FileName |
Le nom du fichier palette de couleurs à charger. Type STR. Il peut inclure un chemin absolu ou être relatif au dossier TP du projet. Le fichier doit avoir le même format que C\Palcol.dat. |
Exécution
|
Mode |
Mnémonique |
Action |
|
34 |
LOADCOLORS |
Charge une nouvelle palette de couleurs, et remplace la palette courante. Retour : 1 si OK, 0 sinon. |
La nouvelle palette de couleurs est appliquée à toutes les sessions utilisateur.
Syntaxe 18
LgLgVal = SYSTEM(Mode, DiskInfo[,Unit]);
Type de retour : LONGLONG
|
Argument |
Définition |
|
DiskInfo |
Le nom d'un espace de stockage ou d'un dossier. Vous devez inclure un deux-points après un nom de partition (par exemple "C:") et deux barres obliques arrière lorsque vous spécifiez un dossier (par exemple "C:\\temp" ou "\\\\MyFileServer\\MyFolder"). Type STR. |
|
Unit |
L'unité avec laquelle vous voulez que la valeur retournée soit exprimée. Type STR. |
Exécution
|
Mode |
Mnémonique |
Action |
|
35 |
GETDISKSIZE_EX |
Retourne la taille de Unit |
|
36 |
GETDISKFREESPACE_EX |
Retourne l'espace de stockage libre sur Unit. |
Exemple
Pour un exemple, sélectionnez le lien Exemple ci-dessus.